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.
First year 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 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 focuses on analyzing real-world data sets, developing artificial intelligence and machine learning systems, as well as evaluating the performance of 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.
Cloud Computing option students obtain hands-on experience using a wide variety of resources and services available on the world’s leading cloud computing platforms. Students create and maintain complex virtual computing environments. Students use 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 this option will be posting their work on servers outside of Canada, and thus will be required to sign a Student Consent Statement.
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 AI and machine intelligence. It 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. Students learn how to work with cloud databases, develop data-driven applications, and provide web services for data consumption from web or mobile apps. The option covers the use of advanced SQL features, data visualization, data analytics, 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 emphasize practical 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 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 Digital Processing option focuses on the development of digital image, video, and audio systems, especially as related to gaming. Emphasis is placed on development of tools for new media applications. Topics include image processing, fundamentals of AV streams, 3D gaming environments using DirectX, and performance improvement with concurrent programming and MMX/SSE. Various techniques are studied for making filters, morphing and warping techniques, compression, 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).
Predictive AnalyticsThe Predictive Analytics option focuses on software development in data analysis for enabling organizational insight. Students will apply problem-solving towards data preparation, data modeling, validation, assessment of methods and reporting. Topics include exploratory data analysis, regression, time series studies, dimension reduction, clustering and classification, machine learning, and reporting. Practical work involves development with data sets from a wide range of sectors to reinforce effectiveness of methods within the data analytics development life cycle.
Programming ParadigmsThe Programming Paradigms option focuses on developing software using multiple languages and paradigms. Student will acquire the techniques of several programming paradigms, and learn to choose an optimal paradigm for a particular problem. Topics include functional programming and concurrent programming using the actor model and using communication channels. Practical work will focus on the application of different paradigms to software development, such as web development, the design and implementation of domain-specific languages (DSLs), and the implementation of highly-concurrent and fault-tolerant software.
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 helps them learn the wide range of skills needed to start and grow a company. Students 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. They analyze user needs and design and construct efficient 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. The all-class project gives students the opportunity to experience the challenges and responsibilities of a real-life project.
Web and Mobile
In second year, students work directly with external industry sponsors on 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.Practical work
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. Read more about this alumnus who is creating opportunities for others.
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
Overview: Professional Engineer and Project Management Professional who came to BCIT from industry to teach and to make a difference in the lives of students. As Program Head (Student Success), advises and helps students with academic related concerns about the CST Diploma program.
Co-option Head: Technical Entrepreneurship (CST); Co-option Head: Web & Mobile (CST); Program Head (Full-Stack Web Development
Overview: Web developer and C programmer; entrepreneur. BCIT CST graduate teaching students software development and equipping them for success.
Option Head - Web & Mobile (.NET), CST Diploma
Overview: Instructor, independent IT contractor, and founder of the .NET BC user group in Vancouver. Regular speaker at user group meetings and technology conferences..
Option Head - Predictive Analytics Option
Overview: Before joining BCIT full-time, Pat served as a Technical Engineer with Business Intelligence technologies at SAP. He holds a Master's Degree in Data Science and has written multiple books on software development for McGraw-Hill.
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.