Bachelor of Computer Science (Honours)

About the Program

The Bachelor of Computer Science (Honours) (BCS) degree is a four year program, including three co-op work terms, which will prepare graduates for a number of progressive job opportunities as high quality software developers.
Building upon the recognized foundations of computer science, students will obtain applied and integrated knowledge and skills in software quality, reliability and security, emphasizing: testing methodologies, software project management techniques and a strong awareness of security/privacy issues. Readiness for practice will be developed in a multidisciplinary curriculum focused around experiential learning activities that will encompass knowledge of computer science theory and its application. The program will be innovative in its use of technology to investigate issues, organize and manage inquiry, aid collaboration, and communicate information. Students will be challenged to examine multiple techniques in software design, development and testing; mastering professional practices that positively impact the quality of the software under development.
Featuring a multidisciplinary curriculum founded on computer science theory and its application, this degree offers experiential learning activities designed to produce career-ready graduates. With an eye to the future, the degree will introduce students to the latest emerging fields: Big Data Analysis, Cybersecurity, Cloud Computing, and the Internet of Things.

Program Information

Length: Four-year Academic Co-operative Bachelor's degree program
Delivery Sequence: Waterloo - September/2020 - Fall | Winter | Fall | Winter | Spring/Summer | Fall | Winter | Spring/Summer | Fall | Winter | Spring/Summer
Location: Waterloo
Start: September
First-Year Capacity: 35

Bachelor's Degrees in Applied Areas of Study

Conestoga's Bachelor's degrees:

Admission Requirements

Note re: Admission Requirements

Admission Procedures

Program Requirements

Tuition & Fees

Domestic fees are currently unavailable; please check back at a later time.

Financial Assistance

The Ontario Student Assistance Program (OSAP) is a needs-based program designed to help Ontario students cover the cost of post-secondary education. Funded by the federal and provincial governments, OSAP is intended to promote equality of opportunity for post-secondary studies through direct financial assistance for educational costs and living expenses. These interest-free loans are intended to supplement your financial resources and those of your family. The majority of students apply for loan assistance via the OSAP website. Students can also print the application booklet through the OSAP website.

For more information, please visit Financial Services/Awards.

Co-op Information

Graduate Opportunities

Graduates will be ready for careers in the areas of computer science, software engineering, software development, information systems analysis/consulting, software quality assurance, test engineering, cloud engineering, big data analytics, IoT, and cybersecurity. BCS graduates will also have the opportunity to further their education in graduate studies in the area of computer science and software engineering.

For more details on related occupations, job market information and career opportunities, see the Government of Canada website: https://www.jobbank.gc.ca/home

Pathways & Credit Transfer

Conestoga pathways enable students to build on their academic achievements in order to earn a degree or additional credential. Pathways are formed through agreements between Conestoga programs or partner institutions.

Often applicants have earned credits from another college or university that may allow a student to be granted advanced standing or exemption. Learn more about credit transfer opportunities at Conestoga.

Prior Learning Assessment and Recognition (PLAR)

Conestoga recognizes prior learning of skills, knowledge or competencies that have been acquired through employment, formal and informal education, non-formal learning or other life experiences. Prior learning must be measurable at the required academic level and meet Conestoga standards of achievement for current courses. Challenge exams and portfolio development are the primary methods of assessment. Other methods of assessment may be available depending upon the nature of the course objectives. Successful completion of the assessment results in an official course credit that will be recorded on the student's Conestoga transcript. PLAR cannot be used by registered Conestoga students for the clearance of academic deficiencies, to improve grades or to obtain admission into a program.

Learn more about PLAR.

Program Courses

Course Details (1514C)
Course Code Course Title and Description
Level 1
CSCN71000 Software Engineering Fundamentals

Description: Students will be introduced to common software design and documentation standards, including requirements gathering and specifications, design/testing documentation and specifications, implementation, and testing of software to meet those specifications. A focus of this course is the construction of defect-free software artifacts that meet customer needs as described in the software system's specifications.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN71010 Computer Systems Architecture Fundamentals

Description: Students will be introduced to computer hardware and systems architecture, with emphasis on how software interacts with systems hardware. Knowledge of underlying computer hardware architectures is critical to the development of software that meets performance requirements, which is an important aspect of software quality. This knowledge is also necessary to support the evaluation of software toolkits, programming languages, and algorithmic techniques, and to facilitate efficient problem determination and troubleshooting of software artifacts. Topics will include machine / assembly language, input and output from a computer system, and obstacles to performance constraints such as CPU clock speeds, caches, memory, input/output devices, and related topics.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN71020 Project I: Software Implementation and Unit Testing

Description: Delivery of high quality software requires developers to deploy appropriate testing strategies. Through project-based learning, students will gain software testing experience through the creation of unit tests for sample software which will lead to the development of an expansive test project. During the semester, these concepts will support learning outcomes in other courses in the program, while also developing communications skills by creating and presenting reports on test projects. During the final project phase, students will add new functional program code to the provided system, while developing a comprehensive test suite.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

ENGL71200 Scientific and Technical Communications

Description: Documents that are written for scientific or technical purposes are written in a very precise and specific way that does not permit variations in interpretation. This course will prepare students to communicate scientific and technical information concisely and accurately using appropriate formats and graphic support. Students will study technical communication theory/ practice and apply the knowledge to creating, critiquing, and presenting technical documents. An oral presentation will emphasize the clear and concise communication of technical details and the use of appropriate visual support for technical information.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

MATH71010 Linear Algebra and Discrete Mathematics

Description: In this course, students will acquire critical thinking and abstraction skills to build mathematical models of abstract concepts in order to solve real-world problems. Students will also improve their understanding of recursion through the analysis of sequences and recurrence relations. Topics in this course include: methods of solving a set of linear equations; matrix algebra and matrix determinants; linear transformations; sequences, series and their applications; spatial vectors; numerical integration and its applications; eigenvalues and eigenvectors; set theory; combinatorics; and logic
Hours: 56
Credits: 4
Pre-Requisites:
CoRequisites:

PROG71985 Programming Principles

Description: This course introduces software design and implementation using the C language. Topics include: algorithm design, modular code design, programming style, functions, arrays, pointers strings, data structures, and file I/O. An emphasis will be placed on proper design to produce reliable, robust and maintainable software.
Hours: 56
Credits: 4
Pre-Requisites:
CoRequisites:

Level 2
CSCN71030 Project II: Team Based Software Development

Description: Rarely will software be developed by an individual. In industry, software is designed, implemented and tested in team environments. By simulating real-world practices, this course will leverage awareness of group dynamics to engage students in team-based testing exercises, extending testing strategies from previous course work. Through a project-based approach, students will collaboratively develop, employ and report on the effectiveness of software testing strategies. Software projects developed and tested in this course reinforce the learnings from previous and concurrent courses in the program. Communications skills will be enhanced by reporting on benchmark outcomes to team leaders and management.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG71020 Object Oriented Programming

Description: Students acquire the knowledge of building high quality, robust, well designed software applications using object oriented design principles through an industry-standard programming language. Students apply modern, iterative development techniques to build progressively complex, interactive applications using modern software development environments and frameworks.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG71030 User Experience Design

Description: Usability is an important characteristic of software quality. This course provides the student with the design theory involved in creating effective, high-quality user experiences that meet user requirements, taking into account human psychology, human behavior, and the particular needs of users with accessibility goals. Within this context, students will examine the best methods for human / machine interaction that fulfill user requirements as part of a complete end-to-end user experience. Techniques for design, implementation, and evaluation will be covered. Emphasis will be placed on design of quality user experiences (UX) and accessibility.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG71040 Operating Systems and Security Fundamentals

Description: This course provides an in-depth study of the organization of operating systems. Topics covered include operating system services, process scheduling, process synchronization, multi-process computation, deadlock avoidance, and file system organization and integrity. In addition, the course will focus on specific operating system capabilities such as secure, high reliability support features for application-level software.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG72365 Data Structures and Algorithms

Description: This course emphasizes problem solving and software design that make use of efficient and effective data organization. Essential advanced data structures are discussed, analysed, and implemented. Algorithms for sorting, searching, and other applications are studied and implemented. Efficiencies and costs of selected algorithms are evaluated. Object oriented programming is introduced.
Hours: 56
Credits: 4
Pre-Requisites: PROG71985
CoRequisites:

SOC71500 Group Dynamics

Description: This course will focus on comprehensive theoretical understanding of group process, personal skill development and application through intensive team work. These skills are of critical importance in both professional and social settings. Through guided exploration and application of theoretical paradigms and practical strategies, students will achieve the necessary skills to succeed in and lead effective teams. The course consists in an intensive experiential approach – learning by doing – enabling participants to become effective, practiced team members with experience applying skills necessary for leadership, analysis and evaluation, problem solving, and conflict management. Individual and team activities enhance participants' skills to work with a variety of personalities in diverse situations, and to effectively assume various professional roles within a team.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Level 3
CEPR71050 Co-op and Career Preparation

Description: This series of modules prepares degree level students for job searching for their co-op work terms and for their future careers. Students will examine the co-operative education policies and procedures and will learn the expectations, rules, and regulations that apply in the workplace concerning social, organizational, ethical, and safety issues while deepening their awareness of self-reflective practices. Students will critically reflect on their skills, attitudes, and expectations and evaluate available opportunities in the workplace. Successful completion of this course is a requirement for co-op eligibility.
Hours: 14
Credits: 1
Pre-Requisites:
CoRequisites:

CSCN72000 Introduction to Database Systems

Description: Today, database systems are ubiquitous in the computing landscape; from enterprise servers to smartphones, persistent storage of application data typically involves a relational database. This course will introduce students to the fundamentals of relational database management systems. Students will apply mathematical foundations, abstraction, critical thinking and design skills in the modelling of data requirements with the goal of achieving specific database system implementations and query processing techniques. Students will acquire a solid foundation in the use of the SQL data sublanguage, a common means of accessing data in a relational database. In addition, students will explore topics including flat file and in-memory database systems, and NoSQL solutions.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72010 Software Quality I: Testing Tools and Methodologies

Description: Quality cannot be added to a software project after the software is built; rather, quality must be built into the product at every phase of development. This course provides an introduction to software quality with an emphasis on testing tools and methodologies so students can better assess software development practices and tools with respect to their impact on software quality. Students will utilize their critical thinking skills to understand risk, risk assessment and measures of software complexity. Students will be exposed to issues surrounding the management of risk and how risk can be communicated to management. Topics in the course include introductions to unit, integration, system, acceptance, regression, functional, and performance testing, defect reporting and causal analysis, and software quality metrics.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72020 Computer Networks

Description: This course will provide students with the knowledge to design, implement and troubleshoot modern computer networks based on TCP/IP. The student will be introduced to broad networking concepts including protocols, topologies, transmission media and security, using hands-on examples of networking issues.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72030 Project III: Software Development Life Cycle

Description: All software development and test practitioners in industry must have strong awareness of the software development life cycle (SDLC) and its impact in software project management. This course will examine the SDLC and project management through the development of a major term project. This project requires students to work in teams on an end-to-end solution requiring design, coding, testing and validation. Communications, data management and critical thinking skills are further emphasized through each team's project management objectives.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SENG71000 Systems Analysis and Design

Description: This course provides an overview of the Systems Development Life Cycle (SDLC) and introduces students to several alternative methodologies of software development encountered in industry. Students will be exposed to the complete workflow surrounding several SDLC methodologies. Students will exercise their critical thinking skills as they undertake the analysis and design phases of different methodologies in relevant case studies using the Unified Modeling Language (UML) as a documentation standard. In addition, students will compare and assess the different SDLC approaches and how these differing approaches impact risk, project management, and software quality.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Level 4
COMP72070 Project IV: Mobile and Networked Environments

Description: Developing software solutions for today's connected and mobile world requires specific considerations that target data processing in mobile and networked environments. Cross platform and security issues across distributed and mobile applications is emphasized. This project requires students to work in teams on an end-to-end solution requiring design, coding, testing and validation. Communications, data management and critical thinking skills are further emphasized through each team's project reporting objectives.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72040 Software Design Techniques

Description: Characteristics of high-quality software designs include performance, reliability, extensibility, robustness, and maintainability. In this course, students will exercise their critical thinking skills to develop, refine, and test software designs, and analyze the inherent trade-offs (e.g. performance and extensibility) that exist with specific design patterns. In addition, students will be introduced to the development of system documentation using the Unified Modelling Language (UML) for the purpose of communicating their design decisions to clients and other software developers. Students will extend their understanding of data and algorithm design through the formal introduction of software design patterns, and techniques that enhance the quality and portability of software over multiple platforms.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72050 Mobile and Networked Systems

Description: Mobile applications are much more complex than more traditional deployment models – such applications are inherently distributed, with greater degrees of complexity, significantly greater performance challenges, and considerably higher risk for both outright data loss and security failures. Students will expand their understanding of computer systems architecture through the examination of networked computing solutions, such as distributed and cloud-based platforms, and service-oriented architectures. Students will also be introduced to mobile application development within these networked computing solutions. Students will be introduced to the trade-offs between native and browser-based mobile applications and the implications of design choices with respect to quality characteristics.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN72060 Software Quality II: User Experience Evaluation

Description: This course builds on the knowledge of software quality fundamentals that students acquired in previous semesters, and expands on that knowledge through practice of test and behavior-driven design techniques and usability testing. Within the course, students will combine their understanding of software testing fundamentals with their background in the study of human behaviour to assess the quality of software designs from the user experience (UX) perspective.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

ENGL73170 Technical Communications and Visual Media

Description: This is the second technical communications course designed for students in the applied technical degree programs. It will focus on reports, web pages, and other visual documents, and will build on skills developed in the first course. Students will design and produce digital presentations, analyze complex technical documents for style, content, and visual effectiveness. They will also create user manuals, publishable articles, and analytical reports. Further topics may include: lab reports, project reports, perception and attention, and collaboration.
Hours: 45
Credits: 3
Pre-Requisites: COMM1165 or COMM1350 or ENGL71200 or ENGL72170
CoRequisites:

STAT72000 Probability and Statistics

Description: Risk analysis that supports the eventual release of high quality software solution to a customer requires further depth in the mathematics of probability and statistics. Students will be exposed to how the study of the mathematics of probability and statistics can support informed decision making during the design, implementation, testing and release of software. Examples are formulated from various disciplines, including engineering, scientific and others.
Hours: 56
Credits: 4
Pre-Requisites:
CoRequisites:

Level 5
COOP72050 Co-op Work Term I (Bach Computer Science)

Description: The co-op work term will provide students with college-approved work experience within an information technology environment. Through this course students will be provided an opportunity to: build skills (physical and procedural skills including accuracy, precision, and efficiency); assist in the acquisition of knowledge in and application of knowledge gained in the academic setting (concepts and terminology in a discipline or field of study); develop critical, creative, and dialogical thinking (improved thinking and reasoning processes); cultivate problem solving and decision-making abilities (mental strategies for finding solutions and making choices); explore attitudes, feelings, and perspectives (awareness of attitudes, biases, and other perspectives, ability to collaborate); practice professional judgment (sound judgment and appropriate professional action in complex, context dependent situations); and reflect on experience (self-discovery and personal growth from real-world experience).
Hours: 420
Credits: 14
Pre-Requisites:
CoRequisites:

Level 6
CSCN73000 Parallel Computing Techniques

Description: Modern computer systems often require the implementation of parallelizable algorithms to take best advantage of their underlying computer architectures. This course will introduce the concepts behind machine and network architectures that facilitate parallel computing, and the development and testing of parallel computing algorithms that exploit such architectures. Topics such as data and task parallelism, distributed file systems, synchronization primitives and other concurrency control mechanisms, scale-out multi-machine architectures, and multi-core CPU architectures will be explored. Students will reinforce and enhance testing methodologies through exploration of best practices in the testing of solutions that employ parallel algorithms. In addition, students will be introduced to existing tools that address these problems in specific software development environments.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN73010 Software Quality III: Build and Release

Description: The software industry requires careful management of the build and deployment of large-scale software solutions. Scale creates additional stress in terms of the management of the quality of each new release to the customer. Students will improve their existing skills and awareness of tools and techniques through the study of topics including the selection and use of appropriate tools for large-scale projects, and the management of the build and release phases of a software project. Critical thinking skills are further enhanced through topics such as risk analysis to determine whether software is ready for release, risk management of outsourced software projects, the management of contractors, and strategies to estimate and manage software development costs within a project without sacrificing the quality of releases.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN73030 Project V: Advanced Software Development

Description: In this course, students will research and examine what software development and release management teams in industry do in selecting custom software tools that support enterprise level solutions. Within a team-based project, students will exercise their research and critical thinking skills to identify opportunities for the adoption of tools to solve specific development, management or testing problems. Deliverables from the project include relevant design and product documentation, along with process documentation outlining the operation of the tools/toolchain to support the delivered software prototype published in a manner suitable for enterprise solution teams.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

RSCH73000 Understanding Research

Description: This course will present an overview of social scientific methods. The course will address the major components of the research process, including development of theoretically informed hypotheses, implementation of theoretical concepts, development of data collection instruments, testing of hypotheses through data analysis, and the presentation of research results. The student will develop the skills necessary to read and critically analyze social science research and discuss the ethics of social research.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU73000 Introduction to Software Security

Description: Identify theft, electronic banking and credit card theft, password theft, and the leakage of private information are commonplace occurrences in the Internet age. In this course, students will study a range of security vulnerabilities and approaches to address or minimize them. This course will examine in detail algorithmic and data processing security, with a focus on enhancing software quality and reliability through the study of topics such as encryption techniques, stack, heap, and buffer overrun vulnerabilities, malware and malware detection, and emerging techniques. Practical exercises in penetration testing, will enhance understanding of how software security contributes to reliable, secure software systems.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN73020 Cloud Computing

Description: In this course, students will acquire the knowledge of fundamental concepts in cloud computing and their importance in modern enterprise software systems. Students will participate in demonstrations, presentations, case studies, and hands on exercises exploring cloud architecture, virtualization, data processing, cloud security, cloud management, cloud applications, and examples of major industry standard cloud environments.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO73040 Internet of Things

Description: In this course, students will learn about the design and development of IoT solutions and their importance as an emerging technology. By participating in lectures, discussions, and demonstrations, students will gain knowledge of state-of-the-art IoT components, design considerations and constraints, basic networking for interconnecting devices, and interfacing between devices and the physical world. Through labs and hands-on learning opportunities, students will explore IoT technologies as well as design and develop small and medium-sized IoT solutions using cutting-edge components and IoT devices.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG73010 Introduction to Big Data

Description: We now live in a world with immense amounts of complex data which is subject to rapid change. Analyzing these data sets can reveal trends, patterns, and relationships which can bring insight and present new opportunities to organizations. In this course, students will explore fundamental concepts around big data problems, applications, and challenges. Through hands-on exercises, labs and interactive lectures, students will solve big data problems using industry standard best practices, programming models/languages, tools and techniques. Students will also develop an understanding of big data strategies and their importance in the success of today's organizations.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU73010 Network Security

Description: This course introduces students to the security requirements of modern computer networks. Students will focus on identifying attack vectors that exist in networks and how these attacks can be prevented or mitigated. Students will be taught to think and see a network like an attacker in order to develop solutions for securing the network. Students will work with popular security systems in order to develop the skills required to use these systems in an industrial setting. Students will also be taught to identify and develop a security solution that meets the security requirements of individual companies. This will require analyzing companies for their risk level, their ability to recover from attack, and the time and budget limitations of the company.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Level 7
COOP73050 Co-op Work Term II (Bach Computer Science)

Description: The co-op work term will provide students with college-approved work experience within an information technology environment. Through this course students will be provided an opportunity to: build skills (physical and procedural skills including accuracy, precision, and efficiency); assist in the acquisition of knowledge in and application of knowledge gained in the academic setting (concepts and terminology in a discipline or field of study); develop critical, creative, and dialogical thinking (improved thinking and reasoning processes); cultivate problem solving and decision-making abilities (mental strategies for finding solutions and making choices); explore attitudes, feelings, and perspectives (awareness of attitudes, biases, and other perspectives, ability to collaborate); practice professional judgment (sound judgment and appropriate professional action in complex, context dependent situations); and reflect on experience (self-discovery and personal growth from real-world experience).
Hours: 420
Credits: 14
Pre-Requisites:
CoRequisites:

Level 8
CSCN73040 Software Quality IV: Performance and Analysis

Description: Students will continue to build their awareness of industry practice by examining how to undertake accurate performance testing and to assess how such testing can perturb the performance characteristics of the system under test. This course will include topics such as code and algorithm optimization, instrumentation and measurement techniques, performance measurement toolkits, experiment designs, and performance metrics, which students may apply in the tuning of software solutions or in risk analysis and decision making.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN73060 Project VI: Software Efficiency and Performance

Description: The data processing requirements of modern software continues to expand exponentially, with the need for systems to be as efficient as possible. There is a growing need for high efficiency algorithms and architecture that maximize performance in parallel and non-parallel processing environments. Students will execute a project related to enhancing solution efficiency and performance. Critical thinking and communications skills are enhanced by evaluating and documenting system efficiency.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG73020 Enterprise Application Development

Description: Successful application design for large enterprise systems requires the understanding and capability to plan for, implement and test high levels of component integration, and performance analysis. Students will study different architecture frameworks for the development of large-scale, interdependent enterprise systems. Team-based activities allow students to develop skills and to test their deployments against enterprise requirements, and to work in cross-functional teams.
Hours: 56
Credits: 4
Pre-Requisites:
CoRequisites:

PROG73030 Analysis of Algorithms

Description: This course introduces students to the study of algorithm analysis, effective algorithm design techniques, and approaches to handling situations in which no feasible algorithms are known. In this course, students will utilize their critical thinking skills to test for efficient algorithms to solve variants of fundamental problems in Computer Science that manifest themselves in a variety of application domains. Students will also learn approximation techniques that permit the development of a feasible, though approximate, solution to these problems where an efficient, exact answer cannot be computed in a reasonable amount of time.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Breadth Elective
Student must complete a minimum of 42 Hours
Interdisciplinary Elective Details
Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN73050 Virtualization

Description: With the increasing adoption of virtual and cloud technologies, virtualization plays an important role in modern enterprise systems. In this course, students will acquire the fundamental and advanced knowledge of different visualization techniques and technologies. Through hands-on experience, interactive lectures, demonstrations and labs, students will design and implement virtualized solutions and manage virtual machines and environments.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO73060 Wireless Data Communication in IOT

Description: This course will enable students to understand wireless data communication for IoT environment. In this course, students will explore the concepts, and principles of Wireless data communications, and their importance in the development of IoT environments. Through labs and interactive lectures, students will develop and configure an IoT.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG73040 Big Data Integration and Processing

Description: Emerging technologies such as mobile computing and IoT have drastically increased the generation of new data that requires efficient analysis techniques. In this course, students will explore different techniques of integrating big data as a building block for an efficient analytic system. Through demonstrations, labs and case studies, students will apply design techniques to create big data analytics pipelines and build integrated databases using industry standard tools and techniques.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU73020 Information Security Management

Description: Modern professional organizations require the synthesis of many levels of security measures, including physical and network security, the management of security practices, and adherence to local and international legislation. In this course, students will explore management techniques applied to corporate and organizational security. Students will study the elements, tools, and skills required for securing organizations including risk and asset management, threat modeling, the development of security policies and procedures, auditing, and employee training.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Level 9
COOP74090 Co-op Work Term III (Bach Computer Science)

Description: The co-op work term will provide students with college-approved work experience within an information technology environment. Through this course students will be provided an opportunity to: build skills (physical and procedural skills including accuracy, precision, and efficiency); assist in the acquisition of knowledge in and application of knowledge gained in the academic setting (concepts and terminology in a discipline or field of study); develop critical, creative, and dialogical thinking (improved thinking and reasoning processes); cultivate problem solving and decision-making abilities (mental strategies for finding solutions and making choices); explore attitudes, feelings, and perspectives (awareness of attitudes, biases, and other perspectives, ability to collaborate); practice professional judgment (sound judgment and appropriate professional action in complex, context-dependent situations); and reflect on experience (self-discovery and personal growth from real-world experience).
Hours: 420
Credits: 14
Pre-Requisites:
CoRequisites:

Level 10
CSCN74000 Software Safety and Reliability

Description: No study of software testing, safety and reliability is complete without the examination of the impact of government and industry regulatory requirements for a software solution. Regulatory requirements impose significant restrictions on designers and developers and impact the design and testing of software under build and release. This course will examine issues in testing, safety and reliability through an examination of formal safety standards and compliance testing for regulated industry segments such as financial, automotive, aerospace, and health devices / solutions. Research into ever-evolving jurisdictional specific laws and standards for software accessibility and privacy will further build critical thinking skills and student awareness of how to validate software and make recommendations to address data integrity, security and usability.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

CSCN74050 Capstone Project I

Description: This course is the first half of a two-semester pairing of project courses that incorporates the design, implementation, testing and release of a large scale software project that integrates the technical knowledge and skills learned in previous and the current semesters. Key elements such as critical thinking, research, problem solving, the use of appropriate tools, communications, and project management skills are emphasized as a capstone project is selected, researched, documented, designed and implemented across both capstone courses. Complete formal testing and release and deployment of the solution will take place in the subsequent course. Students will be encouraged to consider applied research applications, entrepreneurial project ideas, or alternatively, work with an industry partner on authentic industry-driven project.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Breadth Elective
Student must complete a minimum of 42 Hours
Interdisciplinary Elective Details
Electives: Breadth Elective
Student must complete a minimum of 42 Hours
Interdisciplinary Elective Details
Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN74010 Application in Cloud Computing

Description: In this course, students will develop cloud computing applications according to business requirements while considering the impact of the underlying cloud framework on the quality of software systems. Through interactive lectures, demonstrations, and hands-on labs, students will build applications while applying design patterns, design guidelines and principles provided by industry standard cloud platforms.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO74020 Real Time Embedded System Programming

Description: In this course, students will explore the principles of embedded and real-time system development in the context of IoT. Students will participate in interactive lectures, demonstrations, case studies and labs developing high quality modern embedded systems by combining hardware, embedded software, web services, and electronic devices to create interactive and interconnected products that solve practical real-life problems.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG74000 Aritficial Intelligence

Description: In this course, students will be introduced to fundamental concepts in modern artificial intelligence (AI) and its applications in computing systems. Student will explore the core topics of knowledge representation, reasoning, problem-solving paradigms, logic and theorem proving. Through hands-on exercises and interactive lectures, students will build intelligent systems and various intelligent agent systems.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU74000 Rootkits and Hacking

Description: There are many types of malicious code and exploits that are enabled by the wider use of the Internet, portable media, mobile devices and embedded systems. These exploits include Trojan horses, worms, viruses, botnets and spyware, as well as less technologically sophisticated types of exploits such as password cracking and the guessing of security questions. In this course, students are encouraged to explore the behavior and motivation of hackers, to study known types of exploits, and to creatively design new kinds of attacks, all in order to develop the skills needed to secure organizations and software systems.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN74020 Storage Systems and Software-defined Data Centres

Description: Data Centres and storage systems play significant roles in the business world and in modern computing systems. This course will introduce students to the fundamental concepts of distributed storage systems as well as traditional and software-defined Data Centres and their functions in modern enterprise systems. Through interactive lectures, labs and demonstrations, students will learn about the architecture, design and management of storage systems and data centres. Students will also learn how the design philosophies and management techniques of software-defined Data Centres relate to organizations' business strategies.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO74080 Wireless Sensor Network

Description: The use of distributed wireless sensor networks has been increased with applications ranging from environmental monitoring, transportation, industrial automation, structural health monitoring, to people and object-tracking in both cooperative and hostile environments. In this course, students will explore fundamentals concepts of Wireless Sensor Networks (WSN), wireless network protocols, and power management in the context of IoT. Students will participate in interactive lectures, labs, and demonstrations investigating problems in WSNs and develop and analyze solutions in WSN systems to tackle these problems.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG74010 Data Visualization

Description: In this course, students will acquire the fundamental knowledge of data visualization and visualization design. Through hands-on exercises and interactive lectures, students will apply different techniques for preparing data for visualization/ analytical purposes. Students will also apply various visualization techniques to different types of data using industry standard tools and software.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU74010 Privacy in Computing

Description: The objective of this course is to introduce students to the need for privacy in computing and the difficulties in adequately providing privacy protection. Students will learn how societal views of privacy have changed over time, and how even today privacy is viewed in many different ways. This will include an examination of privacy legislation in Canada and around the world. A clear distinction will be made between the topics of privacy and security, with discussion of how these two fields interact. Widely accepted privacy principles that should be taken into account when designing privacy solutions will be discussed and debated. Students will study recently published papers and case studies in the field of privacy to discuss the variety of approaches and theories for protecting privacy.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Level 11
CSCN74060 Capstone Project II

Description: This course is the second half of a two semester pairing of project courses that will incorporate the design, implementation, testing and release of a large scale software project that integrates the technical knowledge and skills learned in previous and the current semesters. Student teams will continue the development and implementation of the projects started in the previous Capstone Project I course. The project deliverables will include team-based implementation, formal testing and release and deployment of the solution, project management, critical thinking, and research and communications.
Hours: 70
Credits: 5
Pre-Requisites:
CoRequisites:

Electives: Breadth Elective
Student must complete a minimum of 42 Hours
Interdisciplinary Elective Details
Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN74030 Cybersecurity and Cloud Computing

Description: As more and more organizations begin to use cloud computing and cloud providers, security has become a key issue. In this course, students will explore different aspects of security in cloud computing environments and acquire an understanding of the importance of security and security risk management in cloud based environments. Through case studies, labs, and interactive lectures students will apply different strategies to address various security issues, risks, and challenges in cloud based environments.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO74100 Cybersecurity and the Internet of Things

Description: The growing industry in Internet of Things (IoT) to support critical applications has made security and privacy a central challenge. In this course, students will explore the fundamental aspects of IoT security, attack models of IoT, IoT network security protocols, and privacy preservation schemes. Through interactive lectures, demonstrations, and a number of case studies, students will practice the industry standard analysis methodologies to measure security, privacy, and dependability of IoT systems in different levels and their impact on systems business requirements.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG74020 Applied Data Analytics

Description: In this course, students will explore various data analytics techniques. Through hands on exercises, interactive lectures, and case studies, students will analyze real world problems and apply the data analytics lifecycle in order to resolve big data problems using appropriate techniques and tools. Students will also learn different methods of retrieving and analyzing graph structured data.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU74020 Secure Enterprise Architecture

Description: This course will follow the frameworks laid out in industry leading enterprise architecture standards so that student learn how to effectively map controls against governance best practice, security standards and laws. Once mapped, these controls can be implemented in accordance with standard patterns and then optimized within an organizational environment. Using a combination of lectures, workshops, and case studies, students will understand and appreciate the overarching concerns that factor into every organization's need to balance the riskiness of doing business and the desire to protect their assets to the fullest extent.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

CSCN74040 Cloud Architecture

Description: In this course, students will explore the architecture of cloud platforms and their components. Students will then analyze cloud infrastructure and management mechanisms and their impact on the overall quality of services provided by cloud platforms. Through interactive lectures, demonstrations, and exercises, students will analyze the effect of architectural level decisions and their alignment with the business goals and governance strategies of organizations.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

INFO74120 Mobile Devices Emerging Technologies

Description: The Internet of Things starts with interconnected IoT devices. In this course, students will explore emerging technologies in the area of IoT devices and their role in shaping the IoT systems. Students will participate in interactive lectures, presentations, demonstrations and hands-on exercises, investigating and researching various state-of-the-art technologies and platforms in the area of modern mobile, wearable and sensory devices.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG74030 Data Mining

Description: Data mining is the process of extracting patterns from large data sets by connecting methods from statistics and artificial intelligence with database management. Data mining involves analysis of large masses of data into useful information. Students explore fundamental data mining concepts and techniques. Through case studies, labs and interactive lectures students will apply the key data mining methods of clustering, classification and pattern mining using industry standard tools.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU74030 Forensics and Cyber Incident Management

Description: Managing the response to a cyber-incident and rushing to return service to pre-incident levels while not altering or destroying forensic traces left by the attacker is of great importance to all Internet connected organizations. By understanding both the response process and the methods and tools used in these forensic investigations, students will have key insights into one of the most important aspects of Computer and Information security. Topics for this course will include procedures for managing ongoing incidents, techniques for locating and collecting digital evidence, and the required steps to ensure that similar attacks will fail in the future.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Electives: Program Option
Student must pass 1 Course(s), selected in the Student Portal from available course options
View Program Option Electives

Please note that all courses may not be offered in all semesters. Go to your student portal for full timetabling details under "My Courses".

INFO74130 Data Mining and Business Intelligence

Description: A key area of growth in software development revolves around processing vast amounts of data including data from open, public sources and data collected through the Internet of Things. This course will introduce methodologies and technologies used in the analysis of large amounts of data. Through labs and interactive lectures students explore data visualization, data mining algorithms, analytical processing, and data warehousing techniques using real world scenarios and industry standard tools & techniques.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

PROG74040 Machine Learning

Description: In this course, students will explore the concepts of machine learning and different machine learning techniques and applications. Through case studies, labs, and interactive lectures, students will apply these techniques using industry standard tools to explore, analyze, and leverage real world datasets.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

SECU74040 Applied Cryptography

Description: Instead of focusing on cryptanalysis and other code-creating or code-breaking skills, this course presents the student with the practical requirements of cryptography in modern environments. In this course, analysis of existing designs and implementations of industry-leading cryptographic algorithms will be studied. These algorithms will be studied against performance, security, the number and size of the trade-offs made, and usability criteria, with emphasis on how one would properly use these cryptographic algorithms to ensure the confidentiality and availability of valuable data.
Hours: 42
Credits: 3
Pre-Requisites:
CoRequisites:

Program Outcomes

Software Downloads

  • Students and instructors in a full-time science, technology, engineering or mathematics program are entitled to a number of additional Microsoft software packages through Conestoga's Microsoft Partner Agreement.
  • Your login information will determine what programs you have access to download.

Program Advisory Committees

The College appoints Program Advisory Committee members for diploma, degree, certificate and apprenticeship programs. Committees are composed of employers, practitioners and recent program graduates. College representatives (students, faculty, and administrators) are resource persons. Each committee advises the Board on the development of new programs, the monitoring of existing programs and community acceptance of programs. For a list of the current members, please visit our Program Advisory Committees.

Apply Now

Domestic students should apply online at www.ontariocolleges.ca or by phone at 1-888-892-2228.

ONTARIOCOLLEGES.CA
60 Corporate Court
Guelph, Ontario
Canada N1G 5J3

Detailed steps on the application process may help you to apply.

International students should apply online using the Ontario Colleges.ca International applicant portal. Please note that not all programs are open to international students; check the list of open programs on our International Student Programs web page before applying.
For additional program information, call the Information Centre at 519-748-5220 ext 3656.

Ministry Consent

Conestoga College has been granted a consent by the Minister of Training, Colleges and Universities to offer this applied degree for a seven-year term starting August 22, 2019. Conestoga College shall ensure that all students admitted to the above named program during the period of consent will have the opportunity to complete the program within a reasonable time frame. Application to the Ministry for renewal of the consent to deliver is a prescribed and cyclical requirement for all degree programs at all Ontario colleges.

Disclaimer

The College reserves the right to alter information including requirements and fees and to cancel at any time a program, course, or program major or option; to change the location and/or term in which a program or course is offered; to change the program curriculum as necessary to meet current competencies in the job market or for budgetary reasons; or to withdraw an offer of admission both prior to and after its acceptance by an applicant or student because of insufficient applications or registrations, over-acceptance of offers of admission, budgetary constraints, or for other such reasons. In the event the College exercises such a right, the College’s sole liability will be the return of monies paid by the applicant or student to the College.

Students actively registered in cohort delivered programs who take longer than the designed program length of time to complete their studies are accountable for completing any new or additional courses that may result due to changes in the program of study. Unless otherwise stated, students registered in non-cohort delivered programs must complete the program of study within seven years of being admitted to the program.

Back To Top