Computer Systems
COMP 1850 - Introduction to Web Development and Design
Learn the fundamental principles and techniques to design and develop effective Web sites. As the foundation for several advanced web courses in the BCIT School of Computing, this hands-on course provides an introduction to basic and advanced web technologies (HTTP, HTML, CSS). Students are shown how to hand code web pages according to W3C standards using HTML, style text and content with CSS, and manage files and Web sites using FTP software. Labs and exercises include an introduction to JavaScript and PHP for adding dynamic features with client-side and server-side scripting as a foundation for advanced web technologies courses. In addition, the course will provide an introduction to web interface design concepts, information architecture, and basic interactivity using web forms, and students will have an opportunity to explore social media and web analytics as they relate to web design and development. COMP 1850 is required for the Applied Web Development and Web Application Software Development Associate Certificates, as well as the CST Diploma. Successful participants will be prepared to move on to COMP 1911 JavaScript Workshop, or COMP 1920 Server-Side Web Scripting with PHP Level 1, or COMP 1950 Intermediate Web Development and Design, or COMP 1956 Creating Web Graphics with Photoshop, or COMP 2899 XML for Web Designers. By the end of COMP 1850, students will be able to design and build basic Web pages and sites. Prerequisite: COMP 1002, or equivalent knowledge of using a personal computer and file management. (3 Credits)
Spring/Summer 2012
| Apr 09-Jul 09 | 12 Weeks | $410.25 | CRN: 54149 |
|---|
| Apr 09-Jul 09 | Mon | 18:00-21:00 | DTC 484 |
| Instructor: Jeffrey Parker |
| Note: Class is in session April 9 (Easter). No class May 21 (Victoria Day) or July 2 (Canada Day). |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Apr 11-Jun 27 | 12 Weeks | $410.25 | CRN: 56883 |
|---|
| Apr 11-Jun 27 | Wed | 18:30-21:30 | BBY SE12 324 |
| Instructor: Lynda Williams |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Apr 12-Jul 05 | 12 Weeks | $410.25 | CRN: 55110 |
|---|
| Apr 12-Jul 05 | Thu | 18:30-21:30 | BBY SE12 324 |
| Instructor: David Tanchak |
| Note: No class April 19. |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Apr 12-Jun 28 | 12 Weeks | $410.25 | CRN: 56882 |
|---|
| Apr 12-Jun 28 | Thu | 18:00-21:00 | DTC 310 |
| Instructor: Benjamin Yu |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Apr 21-Jul 14 | 12 Weeks | $410.25 | CRN: 54150 |
|---|
| Apr 21-Jul 14 | Sat | 09:00-12:00 | DTC 484 |
| Instructor: Jeffrey Parker |
| Note: No class May 19 (Victoria Day. Class is session June 30 (Canada Day). The start and end dates have changed from April 14 – July 7 to April 21 – July 14. |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Jun 04-Jun 15 | 2 Weeks | $410.25 | CRN: 56881 |
|---|
| Jun 04-Jun 15 | Mon-Fri | 08:30-12:00 | DTC 484 |
| Instructor: Jeffrey Parker |
| Note: This course runs from Monday to Friday for 10 days. Students in this class will have access to a lab in the afternoon for additional practice time. This is an intensive delivery format. Students must attend all classes. |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

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
This course isn't currently offered. Please check back next term or contact the appropriate Program Assistant [PDF] to determine when this course will be offered again.
COMP 1950 - Intermediate Web Development and Design
This course follows on from COMP 1850 in more depth and introduces new topics and techniques for developing effective web sites. Students will gain a deeper understanding of HTML and CSS. Additional JavaScript topics prior to COMP 1911 are also covered. Focusing on the most current versions of HTML, CSS and JavaScript, students will learn to combine these to create SEO-friendly content that utilizes stylesheets for presentation and JavaScript for behaviour. Topics will include: Current and emerging trends in HTML, detailed use of CSS for layout and presentation, introduction to JavaScript frameworks such as jQuery, leveraging Server Side Includes (SSI) for re-usable code, creating templates for Content Management System. COMP 1950 is a required course for the Applied Web Development Associate Certificate and is an elective in Web Application Software Development, as well as the CST Diploma. Students receive hands-on exposure to industry-standard web development methodology and will be able to design and build intermediate level websites. Prerequisites: COMP 1850 or equivalent HTML and CSS knowledge. (3 Credits)
Spring/Summer 2012
| Apr 12-Jun 28 | 12 Weeks | $410.25 | CRN: 55126 |
|---|
| Apr 12-Jun 28 | Thu | 18:30-21:30 | DTC 371 |
| Instructor: Alistair Calder |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Jun 18-Jun 29 | 2 Weeks | $410.25 | CRN: 61056 |
|---|
| Jun 18-Jun 29 | Mon-Fri | 08:30-12:00 | DTC 371 |
| Note: This class runs from Monday - Friday for 10 days. Students will have access to the lab in the afternoons for additional practice time. This is an intensive delivery format. Students must attend all classes. The start and end dates have been changed from July 9 – July 20 to June 18 – June 29. |

COMP 2011 - AJAX Workshop
AJAX (Asynchronous JavaScript And XML) is a combination of existing technologies that allows Web pages to work seamlessly with server-side scripts and data. This intensive, hands-on workshop continues on from COMP 1911 and introduces AJAX. Students learn to use AJAX to asynchronously load portions of a Web page instead of submitting forms. The end result is quicker, lower-bandwidth-usage, and more seamless interaction with the user. AJAX uses JavaScript, HTML, CSS, DOM and a server-side scripting language such as PHP. Upon successful completion, participants will have learned to make JavaScript and DOM methods interact with server resources including text files, XML, and PHP and be better prepared to move on to COMP 1920, Server-side Web Scripting with PHP and COMP 2899, XML for Web Designers. Prerequisite: COMP 1911 or equivalent knowledge of JavaScript.
This course isn't currently offered. Please check back next term or contact the appropriate Program Assistant [PDF] to determine when this course will be offered again.
COMP 2870 - ASP.Net with C#
This hands-on course is designed for those who already understand an Object Oriented Programming language (Java, C++, or C#). Presented in a fast paced delivery, the main focus is best practices for building web applications with ASP.NET using the Microsoft .NET Framework. Existing OO Programmers are introduced to the Microsoft .NET framework, and given an overview of the C# language. If you require more in-depth C# programming skills, please consider COMP 2614 - .NET Windows Application Development in C#. Topics include; VisualStudio.NET, LINQ, HTTP state management, HTML server controls, ASP.NET Server controls, data access with ADO.NET, LINQ to SQL, AJAX, Web Services, and security. Upon successful completion, participants will be able to use ASP.NET to create web applications, implement Forms authentication and be prepared to move on to COMP 3870, Advanced ASP.NET with C#. Pre-requisites: COMP 2613, or COMP 2614, or COMP 2617 or equivalent experience writing code executable in an object oriented language. (3 Credits)
Spring/Summer 2012
| Apr 16-Jul 16 | 12 Weeks | $489.00 | CRN: 52379 |
|---|
| Apr 16-Jul 16 | Mon | 18:00-21:00 | DTC 371 |
| Instructor: Krishna Kothumbaka |
| Note: No class May 21 (Victoria Day) or July 2 (Canada Day). |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

COMP 2899 - XML for Developers
This hands-on course will introduce students to Extensible Markup Language (XML) and how to incorporate XML into web-based applications. XML is a standard for structuring, and storing web information. Topics include XML syntax, DTD and XML Schema validation, namespaces, XSLT, XPath, and web technologies such as RSS, 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 completion of course includes how to develop XML formats and be able to apply XML technologies to various web based applications. Prerequisite: COMP 1850 or equivalent HTML experience. (3 Credits)
Spring/Summer 2012
| Apr 09-Jun 25 | 12 Weeks | $410.25 | CRN: 54154 |
|---|
| Apr 09-Jun 25 | Mon | 18:30-21:30 | BBY SE12 321 |
| Instructor: Arron Ferguson |
| Note: Class in session on May 21 (Victoria Day). |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

COMP 2920 - Server-side Web Scripting with PHP Level 2
This hands-on course continues from COMP 1920 and teaches students how to write reusable classes and object-oriented scripts. The main focus is on advanced database programming techniques (using MySQL as well as other database management systems), session handling, and security issues. Topics include : Open-source PHP libraries (e.g. PEAR) and extensions (e.g. PECL) are used to add complex functionality to sites including encryption, compression, rss feeds, templating, hashing, and multiple file format creation (.doc, .pdf, .rtf, .zip, .xls). Students work together in groups to build scripts and libraries for membership signups and shopping-carts for online database transactions. Participants learn the PHP command line interface (no Web server required),and compare PHP to other scripting languages such as Perl. Prerequisites: COMP 1920 (3 Credits)
Spring/Summer 2012
| Apr 10-Jun 26 | 12 Weeks | $408.25 | CRN: 55542 |
|---|
| Apr 10-Jun 26 | Tue | 18:30-21:30 | BBY SE12 320 |
| Instructor: Jason Harrison |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

COMP 3870 - Advanced ASP.NET with C#
This hands-on course is built on top of COMP 2870 and is focused on advanced concepts used to develop and maintain ASP.NET applications. Students who already understand ASP.NET and C#.NET will gain a deeper understanding of the latest .NET 4.0 technologies for web development through labs and exercises. Topics include: jQuery, Entity Framework, Web Parts, Custom Server Controls, Personalization, Caching, ASP.NET AJAX, WCF, Silverlight, RIA Services and ASP.NET MVC. By the end of this course, successful participants will be able to create and deploy scalable web applications and also be prepared to move on to COMP 3971 Silverlight Development with ASP.NET. Prerequisites: COMP 2870 (3 Credits)
Spring/Summer 2012
| May 07-Aug 13 | 12 Weeks | $500.01 | CRN: 55311 |
|---|
| May 07-Aug 13 | Mon | 18:30-21:30 | BBY SE12 322 |
| Note: No class May 21 (Victoria Day), July 2 (Canada Day) and August 6 (BC Day). |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

COMP 3912 - iOS Application Development for iPhone and iPad
This hands-on course has replaced COMP 3906 and COMP 4906, it is designed for experienced object oriented programmers who already know how to write significant code in an OO language. Student will be required to provide any one of their own iPhone/iPad/iTouch devices, plus an Intel based MacBook with OS X Snow Leopard or higher. BCIT students who do not currently have an Intel based MacBook are entitled to obtain one from Apple Canada at a student discount. This updated course includes more topics, greater depth plus an online component using D2L. The main focus of this course is to learn to design and develop apps for the iOS platform to Apple standards. Students will design an application and write code on their own Intel based Mac and run their application on their own iOS device (iPhone/iPad/iPod Touch). Starting with an intensive overview of the Objective-c language, followed by an introduction to the iOS platform, special attention will be placed on the user interface components of current popular iPhone and iPad applications and games. Topics include; Objective-c, Xcode 4, Cocoa Touch API, memory management, user input and gesture recognition, data persistence including Core Data, SQLite, NSUserDefaults and Plists. Working with audio, video and the accelerometer will also be discussed. The BCIT School of Computing is a member of the Apple iPhone Developer University program, providing access to Apple resources for the development and testing of iOS applications. In addition to working on a number of simple in class applications during the course, students will also be required to work in teams and participate in the online component. Upon completion, successful participants will be able to specify, design and build a significant iOS application for iPhone or iPad. Prerequisite: COMP 2613 or COMP 2614 or COMP 2617 or equivalent ability to write executable code in an Object Oriented Programming such as Java, C#, or C++. (4 Credits)
Spring/Summer 2012
| Apr 12-Jun 28 | 12 Weeks | $489.66 | CRN: 61115 |
|---|
| Apr 12-Jun 28 | Thu | 18:30-21:30 | BBY SE6 105 |
| Instructor: Richard Hart |
| Note: Course is 48 hours - 36 hours in class and 12 hours online. |
| Note: For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

| Apr 21-Jul 21 | 12 Weeks | $489.66 | CRN: 61114 |
|---|
| Apr 21-Jul 21 | Sat | 09:00-12:00 | DTC 270 |
| Instructor: Richard Hart |
| Note: Course is 48 hours - 36 hours in class and 12 hours online. No class May 19 (Victoria Day) or June 30 (Canada Day). Start and end date has changed from April 14-July 14 to April 21-July 21. |
| Note: This course is in progress. For more information on the availability of this course, please contact the appropriate Program Assistant [PDF]. |

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
This course isn't currently offered. Please check back next term or contact the appropriate Program Assistant [PDF] to determine when this course will be offered again.
COMP 4661 - MySQL Database Server Design and Administration
The MySQL database server is the world's most popular open source database product. This high level hands-on course is focused on the current version of MySQL Server and its administration, continuing on from COMP 1630. It is designed for those who already understand relational database design, data modeling, normalization and SQL programming. This course provides an in-depth understanding of designing and implementing configuring the current version of MySQL. It also helps to prepare for some of the MySQL certifications. Topics include: MySQL architecture, storage engines, client programs, DDL and DML for MySQL (CREATE, SELECT, INSERT, UPDATE, JOIN etc), importing/exporting data, replication and optimization. Students learn to write and optimize complex MySQL queries, perform backups and restore databases. Upon successful completion, participants will be able to install, design and create multiple databases and user accounts with permissions on a MySQL Server. Prerequisite: COMP1630 or equivalent knowledge of data modeling, normalization and SQL programming. (3 Credits)
Spring/Summer 2012
| Jul 03-Aug 09 | 6 Weeks | $410.25 | CRN: 61074 |
|---|
| Jul 03-Aug 09 | Tue/Thu | 18:00-21:00 | DTC 300 |
