Skip to main content


Software developers for a complex world

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.

Program delivery mode: Blended

  • This program will be delivered for the coming semester as a combination of online and on-campus learning. While some of your coursework will take place online, most sessions will be in person.
  • We have put measures in place for your safety and well-being, ensuring that all safety protocols are addressed. Please see the BCIT COVID-19 page for details on the mandatory procedures that have been implemented.
  • Your education is our priority and we will continue to deliver the applied instruction, collaborative experience, and industry connections that you expect from BCIT.

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.


  • Common first year sets the foundation, with the core skills you’ll need as a professional software developer – check out some first year app projects
  • Work on at least two industry projects so you’re ready to work in the real-world
  • Co-operative Education option for broader applied experience (competitive entry)
  • Second year options allow you to further your skills in specialty areas

Who should apply for Computer Systems Technology?

The CST diploma program is right for you if:

  • You’re interested in software development
  • You enjoy problem-solving, often in teams
  • You’re enthusiastic about using technology, computers, and software systems to make things better
  • You’re ready to apply yourself to prepare for a career in the evolving and rapidly expanding Computing and IT sector

What grads can do

As a CST graduate, you’ll be able to:

  • Participate in all aspects of software development and maintenance
  • Contribute and communicate effectively as a member of software project teams
  • Design and code with widely-used programming languages and scripting tools, such as JavaScript, Java, C#, C++, and C
  • Develop and maintain complex software systems that integrate scalable components
  • Apply logical, critical, and creative thinking to synthesize solutions to computing and IT problems
  • Work productively and meet deadlines in a fast-paced, deadline-driven environment
  • Independently learn and adopt new tools, technologies and methods to remain up-to-date and effective

Read more about this CST grad’s journey, or check out some recent student hackathon successes – internationally and nationally with a COVID-19 theme.

Entrance Requirements

The Computer Systems Technology program is offered at both the Burnaby and Downtown campuses. Accepted applicants will be assigned to either the Burnaby or Downtown Campus as part of their admission offer.

Advanced Placement

Costs & Supplies

Learn about the IUGO Entrance Award and other entrance awards, including awards for women and Indigenous students entering computing.


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].

Program Details

graphic of paths from common first year to entering workforceCommon First-Year

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.

Second-Year (with Specialization Options)

The second year is comprised of:

  • common courses which develop and enhance fundamental software development skills (about 60%)
  • option courses to learn advanced techniques in specific computing areas (25%)
  • real-world industry projects (15%)

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.

Specialization Options

  • 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.

  • Client Server

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

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.

  • 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.

  • Digital Processing

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.

  • Information Systems

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 Analytics

The 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 Paradigms

The 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.

  • Technical Programming

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

The Web and Mobile option is aimed at students who want to specialize in developing software applications for Apple iOS devices, as well as websites. Students develop hands-on skills in JavaScript, jQuery, PHP and Laravel, ASP.NET, Java, C# and Objective-C. Working in teams, they apply industry standards, design patterns, and use Agile development with Scrum. Graduates are able to develop and use client-side and server-side code with multiple programming languages to create mobile/responsive websites, plus web and mobile applications for the iPhone.

Industry Sponsored Student Projects (ISSP)

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

Graduating & Jobs

Sector 2020 snapshot

Job opportunities

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 of all types and sizes, including:

  • AirG
  • Clio
  • Electronic Arts
  • Fortinet
  • Global Relay
  • Habañero
  • Hootsuite
  • IBM
  • ICBC
  • IUGO Mobile
  • Lululemon
  • MDA
  • Microsoft
  • Mobify
  • SAP
  • Sophos
  • Telus
  • Vision Critical

Furthering your education

Graduates of the Computer Systems Technology program can also pursue a Bachelor of Technology in Computer Systems at BCIT.

Faculty, Advisors & Staff

Prospective Student Inquiries


Current Student Inquiries


Full-time faculty

Donna Turner

Program Head – Student Success, CST Diploma

Program Head – Student Success, CST Bachelor of Technology

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 and Bachelor programs.

Chi En Huang, Option Head – Artificial Intelligence and Machine Learning, Program Head – Curriculum Leadership, CST Diploma

Aaron Hunter, Instructor

Albert Wei, Option Head – Programming Paradigms

Aman Abdulla, Instructor

Amir Amintabar, Instructor

Arron Ferguson, Instructor

Borna Noureddin, Instructor

Bruce Link, Option Head – Information Systems

Carly Wong-Orr, Instructor

Christopher Thompson, Instructor

D’Arcy Smith, Option Head – Data Communications & Network Security

Dennis Richards, Option Head – Digital Processing

Farnaz Dargahi

Option Head – Cloud Computing

Overview: Holds a PhD in computer engineering and has industry and research experience in distributed software architecture. Teaching practical skills to students for building and operating highly scalable and available cloud-based systems.

Jason Harrison

Option Head: Technical Entrepreneurship (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.

Jeff Yim, Instructor

Maryam Khezrzadeh, Instructor

Maryam Tanha, Instructor

Medhat Elmasry

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.

Michal Aibin, Instructor

Mirela Gutica, Option Head – Technical Programming

Pat McGee

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.

Rahul Kukreja, Instructor

Rob Neilson, Instructor

Seyed Mohammad Javadi, Instructor

Tejinder Randhawa, Option Head – Client/Server

Thomas Magliery, Instructor

Advisory committee

BCIT is well-respected by employers for its ties to industry. In Computing, this connection is formalized through a Program Advisory Committee (PAC) comprised of experts in a range of roles from a cross-section of companies. The department consults regularly to ensure program currency and relevance.

Contact Us

Questions or comments?


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.

  • Privacy Notice: The information you provide will be used to respond your request for BCIT program information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5A 3H2, email: