Note: This program's curriculum has changed effective September 2018. Students that began the program prior to September 2018, please refer to the program matrix sent to you with your original acceptance.
Delivery Mode: ONLINE
- This program will be delivered online during COVID-19.
- 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 Bachelor of Technology in Computer Systems degree is designed to increase the breadth and depth of knowledge and practical skills of computer professionals, assisting them in widening their job opportunities or advancing along their career paths. Graduates are awarded a credential that is highly valued by the industry.
The Bachelor of Technology degree in Computer Systems has two components. The first component is made up 42.0 credits of technical courses and major projects. This includes core courses, specialty courses (depth in a specific area) and technical electives (breadth in additional areas). The major projects allow the student to apply specialty knowledge in a real-life project, study, or applied research project. The second component consists 18.0 credits of General Education and Management courses.
The Bachelor of Technology in Computer Systems is offered in a flexible delivery format to serve the needs of working professionals. Candidates can take course loads ranging from a minimum of three courses per year to an equivalent of a full-time program of studies. Most courses are offered in the evening or on weekends. Some are offered online through Web-based courses or during the day (depending on demand). Applicants can apply to the program at any time throughout the year.
The Human Computer Interface (HCI) Option focuses on establishing a set of advanced skills. These encompass the key areas of interface design, interaction design and User Centred Design (UCD), as well as the most recent evolutions in the field currently referred to as User Experience (UX or UE) design. It prepares graduates to understand, plan and design effective user interfaces, which both work well technically while retaining the kind of strong “audience awareness.” This results in “user-friendly”, intuitive and usable user interfaces, which conform with numerous current industry-standard human interface design guidelines. The program includes knowledge and skill development in graphics/multimedia design and aesthetic awareness, as well as essential technical knowledge and a wide variety of current user study techniques and methodologies. The focus of this option encompasses all contemporary delivery platforms (egs: Apple, Google, Windows OSs, etc. and devices) and is designed to give graduates the tools, resources and critical thinking required to succeed with all current new technologies. It also prepares them to apply and evolve this knowledge, keeping pace with emerging and future technologies as they appear.
The Bachelor of Technology in Computer Systems is also offered in a full-time format.
The Bachelor of Technology in Computer Systems is a two year degree completion program, meant to be taken after two years of post-secondary education in computing.
BCIT CST Diploma Graduates may apply directly to the program at bcit.ca/apply without a pre-entry or departmental assessment. CIT Diploma Graduates prior to 2022 are also eligible to apply directly.
COVID-19 Notice to Applicants
Application processingApplications are accepted throughout the year.
This program has a two-step admission process. Applicants must meet all entrance requirements to be accepted.
Step 1: Pre-entry assessment
Applicants must have a pre-assessment with the program area to identify pre-entry courses and have their work experience reviewed and assessed prior to applying. Please contact the Program Assistant at 604-432-8644 or firstname.lastname@example.org to make arrangements.
You can apply once you have completed any necessary pre-entry courses. A completed pre-entry assessment document from the program area must be uploaded with your application.
Note: If you graduated from the BCIT Computer Information Systems (CIT) or Computer Systems Technology (CST) diploma in 2021 or earlier, you are exempt from the pre-entry assessment and work experience requirement.
Step 2: Meet the following entrance requirements
- English: two years of education in English in an English-speaking country with one of the following:
- Post-secondary education: A minimum of 60.0 credits of post-secondary education from a recognized institution, of which 42.0 credits must include:
- 6.0 credits of English or communications
- 6.0 credits of math, including 3.0 credits of discrete math
- 3.0 credits of statistics
- 27.0 credits of computing, including 3.0 credits in each of the following:
- Algorithms and data structures
- Computer architecture
- Data communications and networking
- Object-oriented programming (e.g. Java, C++)
- Operating systems
- Procedural programming (e.g. C, Python)
- Systems analysis and design
- Work Experience: A minimum of 3 months relevant work experience (450 hours). This requirement will be reviewed by the program area during the pre-entry assessment.
Applicants who have completed post-secondary studies outside of Canada, the United States, the United Kingdom, Australia or New Zealand will require a comprehensive evaluation of their credentials by the International Credential Evaluation Service (ICES). Credential evaluation reports from other Canadian services may be considered. These reports must include course-by-course evaluations and GPA calculations.
Apply to program
To submit your application:
- Include proof of meeting all entrance requirements.
- Convert all transcripts and supporting documents to PDF files.
- Have a credit card ready to pay the application fee.
Ongoing Part-time Studies intakes: January, April, and September.
Within two business days of submitting your completed application, BCIT will send a message to your personal and myBCIT e-mail addresses. All correspondence regarding your application will be posted to your online myCommunication account at my.bcit.ca. We'll send you an e-mail when a new message is posted. It's important to watch for these e-mails or regularly check your account online.
You can expect to receive communication concerning the status of your application within four weeks.
Costs & Supplies
Financial assistance may be available for this program. For more information, please contact Student Financial Aid and Awards.
Note: This program’s curriculum has changed effective September 2018. Students that began the program prior to September 2018, please refer to the program matrix sent to you with your original acceptance.
This two year program includes CST Bachelor of Technology core courses, technical courses, and electives, as well as Business Management elective courses and Liberal Education courses.
Once accepted into the part-time program, students register and complete classes on a course-by-course basis. Part-time courses are taught in our Downtown Vancouver Campus, Burnaby Campus, and online on weekday evenings and weekends. Please see the Bachelor of Technology Annual Course Availability page for course availability at each campus and the semester they are taught.
Check current availability of courses for this program.
|1. Required Courses||Credits|
1.1 Core Courses - 15.0 credits
This course offers a comprehensive overview of software engineering issues: software development methodologies, software requirements analysis, functional and non-functional requirements, software architecture, design principles and paradigms, and quality assurance. Students will learn how to apply principles, use the most adequate strategies and tools, and assure quality during the entire software development cycle.
Advanced Algorithms and Data Structures Design and Analysis
The objective of this course is to apply concepts and problem-solving techniques that are used in the design and analysis of efficient algorithms. This course will provide students with exposure and practice to more advanced data structures and algorithmic strategies used in software development. Students will identify real world problems and apply a heuristic approach to solve them. After reviewing basic data structures and algorithms, students will apply advanced analysis techniques and algorithms. Particular emphasis will be placed on efficiency and optimization.
This course offers a comprehensive overview of project management techniques to effectively plan, manage, and control software development projects. Students will learn project management methodologies with an emphasis on software projects and agile methodology. Students will design a project for which they will create a project work breakdown structure; identify risks, inter-operability, and privacy and security issues; establish the necessary roles in the software development team; and apply strategies to control the project schedule and quality.
Artificial Intelligence (AI) is the intelligence expected to be demonstrated by machines and computer programs. This course is designed to provide students with expertise in creating and modifying required AI algorithms and techniques. The first part of the course will focus on classic AI solutions (especially decision making) while the second part will cover some of machine learning (ML) related applications of AI (with an emphasis on learning from examples). The course will consider real world problems that need to be solved with applications of AI and the techniques used to build such applications (e.g. using the techniques to create challenging non player characters (NPC) in games development or password strength classification and intrusion detection in network security). More specifically, students will learn about the searching paradigm in designing intelligent agents and will practice implementing search algorithms. Logical knowledge representation and reasoning (another essential tool for AI experts) will be another topic in this course. Probabilistic reasoning will also be explored to help students learn how to deal with incomplete information and uncertainty. The course will also examine different learning techniques to guide students in creating self-learning models that can improve performance in decision-making over time through practical examples.
Linear Algebra and Applications for Computing
This course covers the basics of linear algebra and related topics, including vector algebra with its application to 3D geometry, matrix algebra with application to solving systems of linear equations, complex numbers/ vectors and discrete Fourier Transforms. Matrix topics will include linear transformations, eigenvalues and eigenvectors, similarity of matrices and applications of these. Concepts such as vector spaces, inner product spaces, and symmetric and orthogonal matrices are also introduced. Computer algorithms for performing various matrix operations and calculations and discrete Fourier Transforms will be explored.
1.2 Specialty Courses - 9.0 credits
Foundations of Human-Computer Interaction
Human-Computer Interaction (HCI) is the field of computing concerned with the design, implementation, and evaluation of interactive technology. In this foundation course students learn and apply HCI heuristics and principles to software development. Students will learn to analyze the context of interaction, identify the users' needs based on a user-centred approach, conduct usability studies, and design, implement and test effective and usable interfaces. Part of this course, students will develop an application related to their interests applying the capabilities of computer technology and the needs of human factors.
This course provides a hands-on introduction to combining different input and output devices for human computer interaction, with a focus on the application of concepts. Lab exercises and assignments are used to help student understand the differences in input modalities and display devices and learn when and how to combine different input devices to create effective 3D user interfaces. Topics include visual representation of data, tactile and gesture input, wearable computing, user body tracking, context-aware computing, and multi-modal and 3D user interfaces.
Adaptive User Interfaces
In this course students will learn advanced techniques aimed to design user interaction. This course introduces the students to adaptive interfaces that provide individualized support and incorporate intelligent agents. Applying heuristics and principles of Human-Computer Interaction (HCI), probabilistic models and machine learning algorithms, students will learn how to design, implement and test adaptive software applications.
1.3 Major Project - 9.0 credits
Major Project Proposal
The objectives of this course are to give students the opportunity to explore in-depth a selected area of computer technology and identify complex real-world problems. Students will select a problem to solve in their Major Project. They will critically analyze the problem, existing challenges and issues, and related literature. Students will prepare a project proposal that includes the project’s objectives, specifications, review of similar systems and related literature, feasibility analysis, and a design of a solution that should be innovative, experimental or exploratory in nature. Students will implement a proof-of-concept prototype to demonstrate the feasibility of their project.
Based on their approved proposal developed in Comp 8037 Major Project Proposal, students will design, implement, and test their major project. This course is directed study under the guidance of a supervisor. Students will follow a software engineering methodology. The outcome of this course is a working project and a final report. Please refer to the Major Projects Guidelines as described on the CST BTech Commons webpage.
1.4 General Education - 6.0 credits
Critical Reading and Writing
This is a course in advanced composition and rhetoric, in which students will develop skills in complex critical analysis and interpretation by analyzing and evaluating materials from a variety of discourses or genres, including visual, online, and print; developing and writing essays, including critiques and research papers; applying and discussing principles of rhetoric and critical theory; examining and using methods of interpretation and analysis from the humanities and social sciences; evaluating the credibility of primary and secondary sources, including as it applies to media literacy, and for the purposes of academic research; situating discourses within their historical context and relevant to rhetorical theories of different periods (for example, Aristotle in the ancient world and Bakhtin in the twentieth century). The course format will include lecture, discussion, and both individual and group activities.
Fosters abilities and values required for ethical decision making at work. Develops skills in logical analysis, a working knowledge of moral principles and theories, and the ability to diagnose and resolve moral disagreements commonly found at work. Examines and applies moral principles to historically famous cases in manufacturing, human resources, management, engineering, health care, and computing.
2.1 Technical Electives: complete 9.0 credits from the following, at least 3.0 credits at 8000 level
Computer Networks and Protocols
This course will cover the advanced elements of Data Communication and Network Architecture. The TCP/IP protocol suite and its application within the Internet architecture will be examined in depth, and in a practical manner. Also covered will be advanced topics such as Wireless Data Communication, and Security Protocols, and Cryptology. Students will be introduced to the Berkeley socket API and the basics of Client/Server programming. Please note that COMP 7005 is offered once a year in the Fall term.
Network Security Administration 1
Introduction to networking and cross platform file sharing using Win32 and Linux tools. Students will learn the basics of NFS, SAMBA, Apache, NIS and DHCP. In depth coverage of TCP/IP and "real world" network traffic analysis using tools such as packet sniffers and tcpdump. Introduction to intrusion detection, attacks and defences.
Wireless and Mobile Applications Development 1
This course focuses on developing and deploying wireless applications on (2.5G or above) cell phones and PDAs. Popular data applications involving text messaging, web-browsing and email access for cell-phones & PDAs will be developed. This is a lab-based course in which students gain hands-on experience by developing the said applications using J2ME and related Java APIs on emulators. Please note that COMP 7031 is offered once a year in the Fall term.
This course offers an in-depth study of Database System Concepts and Architectures including, query processing, query optimization, transaction processing, concurrency control, recovery, parallel databases, distributed databases and access control. Design of storage and file structures including different indexing and hashing organizations are also discussed. ACID (Atomicity, Consistency, Isolation and Durability) property and non-ACID complied database are discussed. Various database languages are discussed including Data Definition Language (DDL) and Data Manipulation Language (DML). Comparative analysis with alternative data models and database systems is conducted. Assignments will reinforce learning through designing and constructing a database from conceptual, to logical model to final physical deployment.
Topics in Computer Programming - Mobile Graphics
This course offers an introduction to the theory and practice of mobile graphics. Emphasis is placed on understanding the principles underlying interactive computer graphics on mobile devices, as well as gaining hands-on experience in programming with OpenGL ES.
Topics in Computer Programming - Cryptology
This course teaches students the art and science of securing data (information). Course components will cover Cryptography with an introduction to Cryptanalysis, with an emphasis on the practical implementation of Cryptographic algorithms and techniques. Topics in Cryptography will include substitution and transposition ciphers, including stream and block ciphers. Applications will include bit-manipulation ciphers, secret and public-key ciphers. Topics in Cryptanalysis will include traditional techniques such as Ciphertext-only, Known-plaintext, and Chosen-plaintext attacks. Students will also be introduced to more modern linear and differential cryptanalysis. Students will be permitted to choose programming languages of their choice in the implementation of algorithms during assignments and final projects.
Topics in Computer Programming - Chatbot
This course teaches students how to create intelligent chatbots. In this hands-on course, students will create chatbots that interact intelligently with people. The use of automated sentiment analysis techniques will be explored students can create chatbots are able to detect a range of human emotional expressions. Students will use a variety of platforms to create and deploy the software.
Topics in Computer Programming – Artificial Intelligence
This course provides an introduction to the various topics in Artificial Intelligence (AI). Topics to be covered include search, games, regression, classification and neural networks. Students will develop an understanding of the fundamentals underpinning AI applications and gain hands-on experience through the development of AI systems. Practical work in course projects focuses on developing components of AI systems as well as analyzing real-world datasets from different domains. The societal implications and ethical considerations in the design of AI systems will also be discussed.
Selected Topics in Computer Systems - Data Mining
There is a wealth of information stored in each organization's operational data store, with an increasing demand to mine that data and use it for competitive advantage. Data Mining/Business Intelligence enables organizations to move from merely good to great by supporting better business decision making. Course participants will gain an understanding of the principles of data mining and the various techniques and algorithms through classroom instructions and by conducting a research paper in data mining / business intelligence technology. Through participation in a group project, students are exposed to hands-on experience of designing and using a data mining tool to consolidate their learning experience. Some of the Data Mining predictive and inference techniques learned in the course can apply to Big Data and Data Science. The course is divided into three main components: (1) Understanding of knowledge discovery, business intelligence, data mining concepts, techniques, selected algorithms and associated applications, as well as overview of the underlying large data storage architecture such as data warehouse and data mart; (2) Participation in a group project in design and building a model using a business intelligence data mining tool; (3) Conduct an individual research paper on a data mining algorithm and/or tool for a business application.
Selected Topics in Computer Systems – Malware Analysis
This course is designed to equip students with Malware analysis skills, which are a critical requirement in the cybersecurity repertoire today. Throughout the course, students will learn to reverse engineer and analyze machine code. Students will be able to identify vulnerabilities in executable code and construct effective defenses against malicious attacks. The course will develop a strong set of skills for reverse-engineering malicious software using a variety of freely available tools. Students will learn to identify and acquire investigative leads from host and network-¬based indicators associated with malicious code and applications.
Advanced Topics Software Engineering
This course will cover fundamental concepts, theory, methodologies, and techniques of DevOps. Students will learn principles of DevOps Software Development Lifecycle, and use various DevOps tools and frameworks designed to support real life deployment.
Network and Security Applications Development
This course is designed to provide students with a solid set of practical skills in the area of network and system-level programming on the Linux platform. The design and implementation of IPv4/IPv6 Client-Server applications is covered in-depth. Issues such as modularity and efficiency in the implementation of protocols will be covered. The emphasis will be very much the design and implementation of high-performance, robust, and scalable network applications. Security and private data transmission techniques over public networks are covered. Client-Server applications are designed and implemented using the Secure Sockets Layer (SSL) API. An in-depth coverage of techniques used to design and develop secure code and robust applications will be provided. Students will also be familiarized with the Bluetooth software development techniques.
Network Security Administration 2
This course builds on the foundations established in Comp 7006 and covers more advanced topics in network security and intrusion detection. In-depth coverage of perimeter protection and firewall designs. Advanced intrusion detection and IDS signature and analysis. Introduction to privacy and Cyberwarfare issues and vulnerabilities. Students will be familiarized with network monitoring and security tools, and use them to perform traffic analysis and network forensics.
Wireless and Mobile Applications Development 2
This course builds upon the foundation of Wireless Mobile Application Development 1. Applications utilizing advanced wireless services such as Multi-Media Messaging and location services; and advanced features of cell-phones such as Bluetooth cards, Infra-red ports, high-resolution displays, game-consoles, GPS (Global Positioning System) and still picture cameras will be developed. Applications with ambient intelligence will be developed using advanced APIs such as MMAPI (Multi-Media API), BTAPI (Bluetooth API), IR (Infrared communication), and 3D graphics related packages. This is a lab-based course in which students gain hands-on experience by developing the said applications using emulators.
Advanced Database Application
This course teaches the design and development of data warehouses. The OLTP and OLAP needs of businesses are analyzed to rationalize the need of data warehouses and corresponding data models. Data warehouse architectures ranging from ROLAP to MOLAP are developed and evaluated. Data models conducive to such needs are studied. Tools to develop in-house data warehouses are identified and practiced along with off-the-shelf data warehouse solutions including cloud based services. Role of competing concepts such as data lakes and big data is evaluated in the context of data warehousing.
Special Topics in Network and Security Development
This course is a study of topics of particular interest to advanced B. Tech students in the area of Network software development and Network security. The focus will be on the research and application of advanced implementation of security tools such as Covert Channels, Stealth Backdoors, Trojans, Packet crafting and sniffing, and security tools proof-of-concept and prototyping. Also covered will be Malware analysis and Reverse Engineering techniques.
Special Topics in Network Design and Implementation
This course is a study of topics of particular interest to advanced B. Tech students in the area of network security. The focus will be on understanding network vulnerabilities and how they can be exploited. Penetration testing frameworks and tools will be covered. The use of Honeynets and wargames in understanding how to mitigate network threats and vulnerabilities will be covered.
Special Topics in Wireless Mobile Applications
This course will cover a broad selection of topics in mobile computing architectures and protocols. Students will learn the principles of Mobile Computing and its enabling technologies, and explore solutions and paradigm shifts. The solutions and paradigm shifts address the issue of limited bandwidth and unreliability of wireless medium while taking advantage of mobility. The focus is on examining strategies and algorithms to achieve design goals such as performance, reliability, scalability, consistency and security in wireless mobile applications. The course will have a project component in which students will develop multimedia applications involving real-time communications as well as data storage for WLAN (Wireless Local Area Networks), WPAN (Wireless Personal Area Networks) or MANET (Mobile Ad-hoc Networks) platforms.
Data Mining and Analytics
This course is focused on incorporating data mining and integrating data analytics frameworks to database systems, data warehouses and big data infrastructures. Approaches for mining correlations, associations and other data patterns are studied. Clustering, classification and regression implementations are integrated with the data systems. Database applications utilizing charts, maps and AR/VR augmented data visualization to support visual analytics are developed.
2.2 Management Electives - 6.0 credits
2.3 General Education Electives - 6.0 creditsView the Computer Systems General Education Requirements [PDF] for a list of pre-approved Management and General electives or to access the General Education elective approval form.
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.
Students are required to complete this program within seven years starting from the date of their first technical degree-level course or the date of acceptance to the bachelor program, whichever comes first. Management electives cannot be older than five years from the date of acceptance to be used toward the degree.
Exception to Section 5 of Policy 5103:
Extensions beyond the maximum time limitation will not be allowed. However, students may request a timeshift. A timeshift moves the program start year to one year later and the program completion year to one year later. With a timeshift, any COMP 7xxx and COMP 8xxx courses taken prior to the new start date will become stale-dated and not apply towards the credential. Students will need to re-take or challenge the expired courses if they wish to use them towards fulfilling program requirements. In the event of a major program change, students who timeshift will be required to follow the new program matrix. Some exemptions of equivalent courses may apply. Student requests for a timeshift shall be reviewed and approved by the Program Head and the Registrar’s Office.Student requests for a timeshift shall be reviewed and approved by the Program Head and the Registrar’s Office.
A minimum passing grade of 60 percent is required for all COMP courses at the 7000 and 8000 level.
Additional program options
|General Education Component||18.0|
Graduating & Jobs
Graduate employment outcomes
The BCIT student outcomes report presents 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 2018-2020 BCIT Outcomes Surveys of 2017-2019 graduates and for Degree 2015-2017 graduates. The reports are organized into three-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.
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.
Programs and courses are subject to change without notice.