| 1. Required Courses: (18.0 credits) |
Credits |
| |
COMP 2613 |
Java Application Development
This hands-on, intensive intermediate level Java course assumes a prior knowledge of object oriented programming as taught in COMP 1451. Students who have a solid introduction to programming will learn Java application development with the Java Standard Edition SDK using the Java framework core APIs and the Eclipse IDE. Topics include user interfaces, packages, inner classes, file i/o, an overview of database connectivity, networks, and model-view-controller and other design patterns. Lectures and code examples are reinforced with hands-on labs, assignments, and mandatory online work outside of class using D2L. Successful participants will learn to use the Java standard coding style and naming conventions to build and deploy Java applications. By the end of this course students are prepared to move on to COMP 3613 Advanced Java Application Development. Prerequisite: COMP 1451 or equivalent knowledge of object oriented programming.
|
4.0 |
| |
COMP 3613 |
Advanced Java Development
This hands-on course continues from COMP 2613, and prepares students for Java Web Development. It is aimed at experienced Java programmers who want to gain a deeper understanding of programming for Java desktop as well receive an introduction to Java web application development. Students are introduced to Java EE starting with an examination of Servlet API and Servlet life cycle. Topics include: Further examination of JDBC, JavaBean Design, Networking with Sockets, Multithreading, and Security for Encryption. This course together with COMP 2613 helps prepare for the Oracle Certified Professional Java SE Programmer exam. Certification exams are available from third parties, will require more self-study and are not the main goal of this course. Successful participants in this course will be able to design, build and deploy advanced Java desktop applications to industry standards, plus have an overview of Java web applications in order to move on to COMP 4613, Java Web Application Development. Prerequisite: COMP 2613 or ability to write intermediate level Java code.
|
3.0 |
| |
COMP 3831 |
Object Oriented Analysis and Design
Objected Oriented Analysis and Design (OOAD) is the software engineering approach to modeling systems as groups of interacting objects. This advanced course for software analysts, designers and developers follows on from COMP 2830 and is aimed at those who already understand the Software development Life Cycle (SDLC). Through exercises and group work, students first perform Object Oriented Analysis (OOA) to produce a conceptual model of existing information. Starting with a detailed analysis and decomposition of requirements, case studies are used to identify actors and primary use cases for documentation. The next phase is Object Oriented Design (OOD), students learn how to identify classes and build the domain model which is a detailed description of how the system is built. Round trip engineering, reverse engineering and code generation are practised in labs, where the design is converted to functional code. The concepts of phases, iterations, activities and artifacts are emphasized throughout the course. Participants also gain hands-on experience using a case tool, Rational Rose Modeler, to draw most of the Unified Modeling Language (UML) diagrams necessary to support the OOAD activities. Topics include: design patterns, anti-patterns and General Responsibility Assignment Software Patterns (GRASP). Labs include the use of the Unified Process (UP) which is an extensible framework for iterative and incremental software development process, and the basis of all the modern 'Agile methodologies'. Students are introduced to automated software testing to create and execute test scripts in the lab with Rational Robot. This course consists of one face to face meeting each week, group work, an online component and home work outside of class. Successful participants will have gained the ability to analyse, design and construct sophisticated software applications to industry standards. Prerequisite: COMP 2830 and ability to write executable code in an object oriented programming language.
|
4.0 |
| |
COMP 4613 |
Advanced Java Web Development
This hands-on course continues on from COMP 3613, Advanced Java Development and has replaced COMP 3641. Students continue their examination of Java EE in regard to Web Application and Servlet APIs with a focus on web application design, organization and deployment and prepares them to move on to COMP 4655, Java EE Application Development. Topics include: JSP scripting and actions, JSP Expression Language, JavaServer Page Standard Tag Library (JSTL), and JavaServer Faces (JSF) development. Special attention is paid to JSP and JSF development. This course together with COMP 3613 helps prepare for the Oracle Certified Professional Java SE Web Component Developer exam. Certification exams are available from third parties, will require more self-study and are not the main goal of this course. Successful participants in this course will be able to build and deploy Java web applications to industry standards. Prerequisites: COMP 3613
|
4.0 |
| |
COMP 4655 |
Java EE Application Development
This hands-on course focuses on making development web services and enterprise applications easier. It is aimed at experienced Java Web Application Developers, who want to learn how to develop enterprise applications for the Java Platform, Enterprise Edition. Participants must already understand Java Database Connectivity (JDBC), Java Servlets, JavaServer Pages (JSP), JavaServer Pages Standard Tag Library (JSTL), XML and XML schemas. Students begin with an introduction to the Java EE application model which defines the architecture for implementing services as distributed multi-tier applications. Topics include: Web Tier Development, Web Services, Enterprise Beans and the Java Message Service API. The Web tier technology is explored by an overview introduction of Display tag library, an open source suite of custom tags that provides a high-level web presentation patterns along with a review of JavaServer Pages and JavaServer Pages Standard Tag Library. Web services technology with JAX-WS, binding between XML schemas and Java classes using JAXB (Java API for XML Binding), are also discussed. Students work in groups to use the JMS API to create, send, receive and read messages between Java EE applications. Enterprise JavaBeans (EJB) technology is used to develop the business logic of Java EE applications. By the end of this course, successful participants will know how to utilize Java web services and other Java EE technologies such as JMS, JAX-WS and JAXB to design and deploy distributed Java EE applications. Prerequisites: COMP 3641* and (COMP 4621 or COMP 4625) (* may be taken concurrently)
|
3.0 |
| |
| 2. Complete a minimum of 4.0 credits of the following electives: |
Credits |
| |
COMP 1911 |
JavaScript Workshop
JavaScript is a client-side web-browser scripting language that uses browser resources to change the contents of a web page dynamically. This intensive, hands-on workshop continues on from COMP 1850. Students download and install several free, platform-independent tools and learn the theory behind client-side web scripting and interactive sites that use JavaScript to generate and manipulate a page's HTML, CSS, and more. Topics include: object detection, DOM manipulation, timers and animation, event handling, functions (named and anonymous), jQuery introduction, form validation, and manipulating window objects. Upon successful completion, successful participants will be able to write browser-independent code that meets official ECMA standards and be prepared to continue on to COMP 2011 AJAX. Prerequisites: COMP 1850
|
1.0 |
| |
COMP 3610 |
Advanced Java Application Development
This hands-on six week module is a bridging course from COMP 2613 to COMP 4613, for those who have not completed COMP 3613. It is not intended to replace COMP 3613 and is aimed at COMP 3641 students who are working toward the Advanced Java Development Associate. If you have not completed COMP 3641 then proceed directly to COMP 3613 prior to COMP 4613. Topics include Reflection, JavaBean Properties Binding, JDBC Metadata, Scrollable/Updatable ResulsetSets, GUI Table Models, Multi-Threading and Thread Synchronization, Encryption and Class Loading. Upon successful completion, those who have completed COMP 3641 learn the additional topics from COMP 3613 in order to complete the Advanced Java Associate Certificate. Prerequisites: COMP 2613 and COMP 3641
|
1.5 |
| |
COMP 3612 |
Rapid Application Development with Java
Following on from COMP 2613, students who already know how to write Java programs and use Eclipse learn to use industry standard tools and methods for rapid development of Java applications. Java Swing is used though out this course as well as a central source repository. Instructor lead labs provide the middle layer of the application for students to share and use in teams. Topics include: Source Control, Logging with log4j, and Unit Testing with JUnit. Hands-on labs show how to use Eclipse to refactor code, manage enhancements and defects with Bugzilla and use Mylyn. Successful participants will also be able to use Ant and Maven for automation to compile, build, deploy and test Java applications in one step. Prerequisites: COMP 2613
|
1.5 |
| |
COMP 4624 |
Google Web Toolkit for Java Developers
This hands-on introduction to the Google Web Toolkit, GWT follows on from COMP 3641 Java Web Application Development. Students who already understand the Java SE, Eclipse, Java Web Apps and Java Databases, will learn to use the Eclipse-GWT plug-in to construct web user interfaces (UI) with Java APIs. Topics include; decoupling the UI from the backend, sending GWT UI to a backend service and how to handle user authentication. Discussions cover comparisons to Java Swing event handling, widget reuse and common Graphic User Interface, GUI techniques. By the end of this course, successful participants will understand how to build web applications using the GWT. Prerequisite: COMP 3641 and COMP 4620 or equivalent knowledge of Java Web Programming and Java Database.
|
1.0 |
| |
COMP 4625 |
XML for Java Developers
This hands-on course is aimed at Java programmers who have not completed COMP 2899, which has similar topics. Those who have completed COMP 2899 are not required to complete this entire course, please contact the department for more details. On top of the face to face lessons each week, there is a mandatory online component in D2L specifically for Java programmers. This course starts with an introduction to the Extensible Markup Language (XML) and how to incorporate XML into Java web-based applications. Topics include XML syntax, DTD and XML Schema validation, namespaces, XSLT, XPath, and web technologies such as RSS, Java XML parser & validation APIs, Java transforming APIs, Atom and XML-RPC. Labs cover various parser technologies, declarative XML UI languages, data-modelling with XML, and using XML in AJAX-enabled web applications. Successful participants in this course will be able to develop XML formats and be able to apply XML technologies to various web based applications. Prerequisite: COMP 1850 and COMP 4613, or equivalent HTML and Java Web programming language experience.
|
4.0 |
| Note: COMP 3610 is a bridging course for those who have completed COMP 3641 in the previous matrix. Credit will be granted for either COMP 3610 or COMP 3613, but not both. |
| |
| Total Credits: |
22.0 |