Java technologies have a huge install base as Java code runs on a variety of platforms including MS Windows PCs, Macs and UNIX.
Advanced Java Development is a second level credential that is built on top of our Applied Software Development (ASD)2.Prior to being approved for this credential, students must be able to write code in multiple object-oriented programming languages, including Java3.
A current understanding of Business Analysis and Systems Design4 with UML, plus the ability to use HTML5 and CSS3 5are also required.
This advanced program is a subset of the Computer Systems Technology, CST/PTS Diploma.6
Graduates of Advanced Java Development will be able to build and deploy Java, web, and Android mobile apps, as well as develop large scale Java enterprise applications.
To determine if the courses you intend to take will be applied towards a credential you must declare your program. This ensures that BCIT is aware of your intent to complete the program as it is currently outlined.
Program declaration enables you to declare a program of study and outline the courses you plan to complete to meet the program requirements. Program declaration also provides the opportunity to apply for transfer credit. Upon approval, a confirmation letter will be mailed to you outlining your program of study.
To declare your program, please submit the Part-time Program Declaration form [PDF]. This form is also available at Student Information and Enrolment Services. Please allow approximately six to eight weeks for processing.
Note: Please complete the ASD, or specifically COMP 2613 and COMP 2831 before declaring your intent to complete this program.
January, April and September
Please see the Part-time Studies Fees page for information on tuition fees and refunds.
Check current availability of courses for this program.
1. Required Courses: (18.5 credits) | Credits | ||
---|---|---|---|
COMP 2053 |
XML for Web Development
XML is a standard for structuring, and storing web information, this new course covers some topics from COMP 2899. It is focused on XML for Web Development for those with an HTML and CSS background. Following on from COMP 1850 this hands-on course will introduce students to Extensible Markup Language (XML). Participants will learn how XML is used within the web and how to integrate XML formats into web page development. Topics include XML syntax, DTD validation, namespaces, XML data modeling, and performing transformations with XSLT and XPath. Upon successful completion of this course, students will have an understanding of the basics of XML for web development and be prepared to move on to more advanced XML courses. Prerequisite: COMP 1850 or equivalent knowledge of HTML5, and CSS3. |
1.5 | |
COMP 3613 |
Introduction to Java Web Application Design
This intermediate level course continues from COMP 2613 and prepares experienced Java application developers to move on to higher level courses in Advanced Java Web Development. Students will receive an introduction to Java web application development and design, plus be introduced to the model view controller (MVC), with an emphasis on the controller for Java web development. Hands-on labs and exercises continue with an introduction to Java EE; starting with an examination of the Servlet API and the Servlet life cycle. Topics include: an introduction to JavaServer Pages and Expression Language (JSP & JSP-EL). Further examination of JDBC, JavaBean Design, Applets, Internationalisation, Multi-threading, and Security for Encryption. Successful participants will be able to build and deploy well designed basic Java Web applications to industry standards. Upon completion, students may register for COMP 4613 - Advanced Java Web Development. Prerequisites: COMP 2613 and COMP 1850 |
3.0 | |
COMP 3617 |
Android and Mobile Applications in Java
This hands-on course introduces Android Application Development on mobile and tablet platforms to experienced Java Application Developers. Continuing on from COMP 2613 the Java programming language is used to develop, debug and deploy Android applications. Labs and assignments explore and use the Android SDK tools - avd, adb, ddms, etc., to configure and troubleshoot Android applications on the emulator(s). Topics include: Designing user interfaces with Views, Fragments, Layouts and Activities. Students learn to manage Android Resources, work with Manifest files, persist data using SQLite DB, create Services, leverage multi-threading constructs and make use of Content Providers. Other topics of discussion include Location Based Services, network connectivity, accessing cloud services, Multimedia APIs and accessing data on the device. Upon completion, students may continue on to advanced Java courses, COMP 3617 is a required course for the Advanced Java Development Associate Certificate. This course is equivalent to COMP 3717 in the Full-time CST Diploma. By the end of this course successful participants will complete a final project which includes using Java to design, build, package and deploy an Android application to a mobile device. Prerequisite: COMP 2613 or equivalent knowledge of Java programming and Multi-threading. |
3.0 | |
COMP 3831 |
Object Oriented Analysis and Design
This advanced OOAD course follows on from COMP 2831 and is aimed at software analysts, designers and developers 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 using case studies to identify actors and primary use cases for documentation. Using Object Oriented Design (OOD) students learn how to identify classes and build the domain model. Round trip engineering, reverse engineering and code generation are practised in labs, where the design is converted to functional code. Topics include: design patterns, anti-patterns and General Responsibility Assignment Software Patterns (GRASP). The concepts of phases, iterations, activities and artifacts are emphasized throughout the course. 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”. 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. Students are introduced to manual and automated software testing. They will learn how to create and execute test scripts using a testing tool. Successful participants will be able to demonstrate the ability to analyse, design and construct sophisticated software applications to industry standards. Prerequisites: COMP 2831 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 COMP3641. 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 2053 |
4.0 | |
COMP 4655 |
Java Enterprise Application Development
Following on from COMP 4613 Advanced Java Web Development, students focus on best practices to develop distributed, multi-tier enterprise applications. Starting with an introduction to the Java EE application model, students progress to SOAP and RESTful web services and JEE messaging APIs to integrate multiple applications. Labs and assignments cover the use of Enterprise JavaBeans (EJB) technology to develop the business logic of Java EE applications. Topics include: Web Tier Development, Web Services, Enterprise Beans and the Java Message Service API. The Web tier technology is explored with an overview of the Display tag library for high-level web presentation patterns. By the end of this course, successful participants will know how to utilise Java web services and other Java EE technologies to design, build and deploy distributed Java EE applications. This is the final course in the Advanced Java Development Associate Certificate, it is only offered once each year in January. Prerequisites: COMP 2053 and COMP 4613 or equivalent knowledge of XML and Advanced Java Web Development. |
3.0 | |
2. Complete a minimum of 6.5 credits of the following electives: | Credits | ||
COMP 1011 |
UX/UI Development
User experience (UX) and user interface (UI) development is part of Human-computer interaction (HCI) Which is the study of how people interact with computers. This hands-on course is aimed at potential IT developers who will create application software, websites and information systems (databases). Starting with usability guidelines and standards, students learn to employ user-centered design methodologies for a variety of IT applications. Labs and exercises focus on accessible design principals, human factors and ergonomics. Students work individually and in teams to acquire a mind-set to understand user capabilities and user limitations. Skills learned in this course will apply to follow-on software, web and information systems development courses including: COMP 1451, COMP 1630 and COMP 1850. Credit for this course may also be used for ACIT 1640 in the Full-time CIT, Computer Information Technology Diploma program in the School of Computing and Academic Studies. Prerequisites: COMP 1002 |
3.0 | |
COMP 1288 |
Information Technology Project Management
This hands-on, introductory course is for information technology students who want to learn how to develop and implement an IT project plan. Project Management (PM) discipline, best practices and decisions apply to various IT sectors including: Web and Software Development, Databases and Networking. Topics include: identifying project stakeholders and defining roles and responsibilities of the team, defining scope, devising risks and quality plans, mapping-out a schedule, determining a budget and defining a communication strategy. Participants use MS Project 2013 and learn techniques to help them deliver IT projects on time, on budget and within the original project scope. Students receive an overview of common PM concepts and MS Project software. They are prepared to move on to COMP 1285 Using MS Project which goes into much greater depth in the use of the Microsoft Project software application. Prerequisite: COMP 1002 or equivalent knowledge of a Windows PC, and file management. |
1.5 | |
COMP 1630 |
Relational Database Design and SQL
This intensive, hands-on course is the prerequisite for all advanced database courses in BCIT Computing programs. COMP 1630 is equivalent to the Full-time CST and CIT Diploma database courses and provides an introduction to relational database design concepts and industry standards. Students learn the tools and processes for data modeling in Relational Database Management Systems (RDBMS) in a Windows PC lab environment. They also focus on the Structured Query Language, SQL to define and manipulate data. Topics include functional dependencies, normalization, database design methodologies, entity relationship modeling and the use of UML as a diagramming notation. Advanced topics include: an introduction to SQL, DDL- data definition language and DML- data manipulation language, views, security, transaction management, triggers and stored procedures. Current trends in database such as replication, object-relational DBMS, data warehousing, OLAP- online analytical processing and database uses web technology are discussed. Students in COMP 1630 are required to attend one face to face meeting each week, participate in group work, and an online component, plus complete reading and assignments outside of class. Upon successful completion, participants will be able to design and implement a database application and be prepared to move on to higher level database courses including: Data Warehouse, Data Quality, MySQL, MS Business Intelligence, MS SQL Server and Oracle. Prerequisite: COMP 1002 or equivalent knowledge of a Windows PC and file management. |
5.0 | |
COMP 2833 |
Agile Development with Scrum
This hands-on course follows on from COMP 2831 and begins with an in-depth understanding of the goals of Agile, followed by hands-on Scrum implementations. Students learn to implement primary agile methods and frameworks. Topics include: Scrum, Extreme Programming, Lean/Kanban, Dynamic Systems Development Method, and Feature-Driven Development. In class exercises cover agile practices including self directed teams, writing of user stories, agile estimating with relative sizing, co-location, metric reporting and test driven development. Participants discover how to implement Scrum and how to scale large multiple team projects, measuring progress at both a micro and macro level to go through release planning. Working in groups all students participate in an actual IT project consisting of building a real product from initiation to a team implementation. They experience Sprint Planning Meetings, daily Scrum Meetings, Sprint Reviews, and Sprint Retrospectives. Students will experience the roles of Scrum Master, Scrum Product Owner, and "The Scrum Team” both in class face to face and online with a dispersed agile development team. They will also be prepared to move on to follow on Agile courses. Successful participants will be able to use agile methods and practices to function within an agile team to successfully deliver a scaleable and secure information systems solution. Prerequisite: COMP 1630 and COMP 2831 or equivalent knowledge of model driven business/systems analysis and systems design. |
4.0 | |
COMP 2909 |
AngularJS
AngularJS is an open source web application framework maintained primarily by Google for rapid development of data-driven web and mobile applications. This hands-on workshop follows on from COMP 1850 and COMP 1911 and is aimed at students who already understand how to build web pages with HMTL, CSS and JavaScript. Students gain experience with dynamic data presentation and management, DOM (Document Object Model) manipulation, unit testing and end-to-end testing. Topics include using the AngularJS library of modules, services, directives as well as building custom AngularJS components. Instructor led labs and exercises focus on how to apply two way data binding between views and REST services. Learning AngularJS will allow you to build responsive rich interactive applications. Successful participants learn to use HTML and JavaScript with AngularJS to create data-driven, single-page web applications for all mainstream browsers. Prerequisite: COMP 1850 and COMP 1911, or equivalent knowledge of HTML5, CSS3 and JavaScript. |
1.5 | |
COMP 2912 |
Node.js Fundamentals
Node.js is an open source server side platform based on V8, Chrome's JavaScript engine from Google. This hands-on workshop follows on from COMP 1911 and COMP 1950. It is aimed at students who already understand how to build web pages with HMTL, CSS and JavaScript. Node.js uses an event driven, non-blocking I/O model making it a lightweight framework for building data intensive real-time applications. The main goal of this workshop is to learn the Node.js programming model and use it build networked web applications Labs and exercises focus on using JavaScript to build networked web applications on Node.js platform. Topics include: Node's asynchronous programming model, express web application framework, accessing data store, using Node Package Manager to install and manage node modules. By the end of this workshop, successful participants learn to use Node.js to build scalable, data intensive networked applications using JavaScript. Prerequisite: COMP 1911 and COMP 1950 or equivalent knowledge of HTML5, CSS3 and JavaScript. |
1.5 | |
Total Credits: | 25.0 |
Check current availability of courses for this program.
Do you have credits from another BC/Yukon post-secondary school? Do you want to know if they transfer to courses here at BCIT? Check out BCIT's Transfer Equivalency Database to find out.
A minimum of 25.0 credits is required from the Required and Electives courses. All of these courses must be completed within a five-year period.
The curriculum may be modified in accordance with market trends in industry.
Prerequisites:
Applied Software Development Associate Certificate (ASD), including COMP 2613 as an elective, or equivalent knowledge such as the CST Diploma or a university degree in Computing.
COMP 1850 - Web Development and Design 1 or equivalent knowledge.
The program core includes XML for Web Application Development, Java Web Applications, Android Mobile Applications in Java, OOAD and Java EE, Enterprise Edition Application Development.
Elective courses include: IT Project Management, Database Design and SQL, Advanced JavaScript and AJAX, AngularJS and Node.js, plus Agile Software Development.
Students approved for a part-time studies program are expected to register and complete courses on a continuous basis.
Where a student has not completed a course from their approved program of study over a period of three consecutive academic terms, then that student will be considered to have abandoned the program.
Throughout the duration of the program, a student is permitted a maximum of five academic terms where they are not required to register and complete a course from their approved program of study. Students who exceed the five-term maximum will be considered to have abandoned the program.
Students who have abandoned their approved program of study and wish to be reinstated will be required to submit a new Program Declaration form for a current credential. BCIT cannot guarantee that courses taken prior to this re-application will be credited towards the current credential.
BCIT Policy 5103 - Student Evaluation [PDF] permits a maximum of three attempts to successfully complete each course within a credential.
The BCIT student outcomes reports present summary findings from the annual survey of former students administered by BC Stats one to two years after graduation. These reports combine the last three years of available results for the 2011-2013 BCIT Outcomes Surveys of 2010-2012 Graduates and for Degree 2009-2011 Graduates. The reports are organized into two-page summaries containing information on graduates' labour market experiences and opinions regarding their education. More detailed information can be accessed at the BC Student Outcomes website.
To view these results, you may need to have the Adobe Acrobat Reader installed in your Web browser.
Upon successful completion of all program requirements, complete an Application for BCIT Credential [PDF] and submit to Student Information and Enrolment Services.
Allow approximately six to eight weeks for processing.
All financial obligations to the Institute must be met prior to issuance of any credential.
Please ensure you have reviewed the detailed information on this site, using the navigation to the right, before submitting the form below.
As well, if you meet any of the following criteria, please follow the links for more information, instead of sending the form:
Sign up to receive updates, invitations to events, and information about BCIT and your program.
We promise not to spam you, we won’t share your personal information, and you can unsubscribe at any time.
Programs and courses are subject to change without notice.
Attend an upcoming information session for this program:
We've changed the way we accept payments.