BCIT's Computer Systems Technology (CST) two-year diploma program combines computer systems theory with hands-on practical experience in software development. You'll learn software engineering and programming from industry professionals, and gain experience working on real projects, from concept to deployment. In second year, specialty options add depth and further hone your skills.
The CST diploma is a widely-recognized credential that is highly regarded by employers. Graduates emerge with the well-rounded skills essential for a career analyzing, designing, and developing software solutions.
The CST diploma program is right for you if:
As a CST graduate, you'll be able to:
Note: The CST program curriculum has been revised effective for the Sept 2018 intake.
Students that began the program prior to Sept 2018, refer to this Program Matrix [PDF].
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.
The CST Diploma is a two-year full-time program.
The first year of CST introduces the core skills and theory used in all areas of software development. Web development, programming, scripting, and computer architecture are all introduced. First year culminates in students working as part of a team to build an application of their own design.
The second year is comprised of:
Students have a choice of option courses, however, there is limited space in each option, and first year grades are considered for option approval.Note: availability of options is subject to change, and some options are not offered every term.
Artificial Intelligence and Machine Learning
The Artificial Intelligence and Machine Learning option focuses on the design and development of software to process, visualize, analyze and model data sets for the purposes of decision making and prediction. Students will develop an understanding of the fundamentals underpinning artificial intelligence and machine learning applications. Topics include search, games, constraint satisfaction problems, knowledge and reasoning, regression, classification, clustering, dimensionality reduction and kernel methods. Practical work will focus on analyzing real-world data sets, developing artificial intelligence and machine learning systems, as well as evaluating the performance of the systems for various domains.
The Client/Server option offers specialized courses covering the subject areas of client/server computing, distributed computing, and mobile computing. Topics include architecture, modeling and structural issues, inter-process communications, and strategies to ensure performance, reliability, scalability, availability, interoperability, and security in such systems. Using the latest software development environments and engineering tools, students develop systems and services involving network programming, database programming, web development and operating systems.
Students in the Cloud Computing option will obtain hands-on experience using a wide variety of resources and services available on the world’s leading cloud computing platforms. Students will learn to create and maintain complex virtual computing environments. Students will also learn how to utilize automated software deployment, continuous integration, continuous delivery and continuous monitoring tools in cloud computing environments according to DevOps (development and operations) practices. The option culminates in students designing and developing software natively for cloud computing platforms. This type of development involves creating microservices and containers designed for serverless architectures. Please note: students in the Cloud Computing option will be posting their work on servers outside of Canada. Students will be required to sign a Student Consent Statement acknowledging this fact.
The Database option focuses on traditional relational and advanced database technologies, data analytics as well as big data storage and the use of data mining techniques from the fields of artificial intelligence and machine intelligence to gain insights into the data. It also covers modelling, data cleansing and integration, implementation, and access of data warehouse for corporate and financial data, as well as conducting business intelligence using OLAP analysis. In addition, students will learn how to work with cloud databases, develop data driven applications, provide web services for data consumption from web or mobile applications. The option builds on the students’ basic understanding of relational database management systems and SQL, and covers the use of advanced SQL features, data visualization, data analytics and data mining packages in R and Python, and how to manage big data using the Hadoop ecosystem.
Data Communications and Internetworking
The Data Communications and Internetworking option specializes in network architecture design, software development, and network security skills. Courses in the option place a heavy emphasis on practical software development skills such as design, coding, debugging, and testing. Topics covered include protocol design and implementation; low-level systems programming on the Linux, Android, and Windows platforms; network application software development using the TCP/IP protocol suite; wireless protocol design; and the design and implementation of device-level communications applications. Devices used include Embedded Linux boards, Android devices, Radio Frequency Identification Devices (RFID), Wireless modems, and GPS devices. Practical work is focused around the analysis, application design, and implementation of the TCP/IP protocol suite. The environment is very team-oriented and "real world".
The Digital Processing option focuses on the development of digital image, video, and audio systems especially as it relates to gaming. Emphasis is placed on development of tools for new media applications. Topics include image processing, fundamentals of audio and video streams, 3D gaming environments using DirectX, and performance improvement with concurrent programming and MMX/SSE. Various techniques are studied for making filters (Finite Impulse Filters, Infinite Impulse Filters, Gausian smoothing, First-Order and 2nd-order edge-detection), morphing and warping techniques, compression (JPEG, MPEG, Wavelets), mirrors, and picking in 3D worlds. Advanced projects are usually drawn from IEEE papers such as template matching, face recognition, image stitching, and others. Team projects in game development on phones/tablets and the PC are encouraged.
The Information Systems option specializes in developing web-based and mobile applications required by medium and large businesses. Students develop large applications with state-of-the-art tools and application servers, and learn to administer Linux and Windows Servers. Topics include system architecture, performance, scalability, and security in distributed systems. Technologies covered include both Enterprise Java (including Java Server Faces, Java Persistence Architecture, Enterprise Java Beans) and Microsoft's .NET (including ASP.NET, C#, Web services).
More than two thirds of Canadian tech firms have only 1-4 employees. These small firms need to be nimble to grow and compete in this thriving sector. For students who hope to build their own start-up company, or expect to work in one, this option will help them learn the wide range of skills needed to start and grow a company. Students will work on creating a business from the ground up, including ideation, market validation, legal requirements, business plan, pitching, and creating a Minimum Viable Product (MVP).
The Technical Programming option covers advanced techniques in design and software development. Topics include code techniques used for desktop, web and distributed applications (client-server and three-tier architectures), concurrent programming (multi-threading, synchronization and interprocess communication), design principles of human-computer interaction, and project management. Students gain practical knowledge of low-level aspects of systems and programming constructs (e.g. concurrency control, memory management, and thread/process scheduling). They analyze the users' needs by applying practical usability strategies and design and construct efficient computer applications with an emphasis on proper design, robust code, documentation, optimization and testing. Students acquire valuable real-world experience through a large-group software development project in term four. All students in the set work together towards the same goal. The project is intended to give students the opportunity to experience the challenges and responsibilities of a real-life project. The languages used in this option are C/C++/C# and the technologies utilized are the .NET Framework, ASP.NET, ADO.NET, WPF and WCF.
Web and Mobile
During the second year, students work directly with external industry sponsors on computing or IT-related projects via the Industry Sponsored Student Project (ISSP), applying their newly-learned skills, and acquiring real-world experience. Students work in teams with an industry sponsor, proceeding through the development life-cycle to develop an IT or software solution. All students participate in two projects.
Computer Systems Technology Diploma graduates have a wide variety of career options in the IT industry. Many start their careers as an entry-level software developer, application programmer, software tester, or network or database administrator. Later they can progress to positions such as systems analyst, IT project managers, team leads, software architects, information security analyst, and senior consultant.
Some students take the IT entrepreneurial path by starting their own business. Companies founded by our grads include Burton Software/Icicle Technologies, CAMS Software/Prospero, Skybox Labs and PlentyofFish.
Our graduates work in companies including:
Graduates of the Computer Systems Technology program can also pursue a Bachelor of Technology in Computer Systems at BCIT.
Program Head, CST Diploma
Aaron Hunter, Instructor
Albert Wei, Instructor
Aman Abdulla, Option Head - Data Communications & Network Security
Amir Amintabar, Instructor
Arron Ferguson, Instructor
Benjamin Yu, Option Head - Database
Bill Klug, Option Head - Cloud Computing
Borna Noureddin, Instructor
Bruce Link, Option Head - Information Systems
Carly Wong-Orr, Instructor
Chi En Huang, Option Head - Artificial Intelligence and Machine Learning
Christopher Thompson, Instructor
D'Arcy Smith, Option Head - Web & Mobile (iOS)
Dennis Richards, Option Head - Digital Processing
Farnaz Dargahi, Instructor
Jason Harrison, Option Head - Web & Mobile (PhP)
Jim Parry, Instructor
Keith Tang, Instructor
Medhat Elmasry, Option Head - Web & Mobile (.NET)
Michal Aibin, Instructor
Mirela Gutica, Option Head - Technical Programming
Rob Neilson, Instructor
Tejinder Randhawa, Option Head - Client/Server
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.