Computing Science
COMP 101 - Computers and their Application
4.00 credits
(4,2,0)
15 wks
An introduction to the basic concepts underlying computer hardware, software, operating systems, networks, applications, and coding, for students with little or no previous experience. Students also explore some of the social and ethical implications arising from the pervasive use of digital information technologies. The goals of this course are to gain a broad understanding of the science of computing, to develop practical skills applied to the use of the Internet and common computer applications, and to become actively engaged with both the promise and challenges of digital technology.
Prerequisites: One of the following: Pre-calculus 11, Foundations of Mathematics 11, Workplace Mathematics 11, History of Mathematics 11, Computer Science 11, BMTH 044, BMTH 048, MATH 097, MATH 123, or Math Placement Test (Precalculus MPT)
Notes:
- COMP 101 is an approved Numeracy course for Cap Core requirements. COMP 101 is an approved Science and Technology course for Cap Core requirements.
- COMP 101 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 101 is an approved Science course.
COMP 106 - Programming with Robots
4.00 credits
(4,2,0)
15 wks
An introduction to the basic concepts of hardware, software, and computer programming using Sparki robots, for students with little or no experience. Students learn to apply fundamental engineering design and programming principles, and are exposed to a variety of topics including robotics and automation, operating systems, and digital communications. The course includes an examination of social issues arising from the application of robotics and automation technologies.
Prerequisites: One of the following: Pre-calculus 11, Foundations of Mathematics 11, Workplace Mathematics 11, Computer Science 11, BMTH 044, BMTH 048, Math Placement Test (Precalculus MPT), MATH 097, MATH 123, or COMP 101 (B-)
Notes:
- COMP 106 is an approved Numeracy course for Cap Core requirements. COMP 106 is an approved Science and Technology course for Cap Core requirements.
- COMP 106 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 106 is an approved Science course.
COMP 107 - Animated 3D Game Programming
4.00 credits
(4,2,0)
15 wks
An introduction to game development and programming in a 3D animation environment. This includes computer program design, implementation and testing in a high-level, object-oriented programming language. The course also exposes students to problem solving, algorithms, event-driven programming, the building of 3D animated games, the use of application programming interfaces (APIs), and graphics.
Prerequisites: Applications of Math 11 or Principles of Math 11 or MATH 091 or BMTH 044 or Math Placement Test
Notes:
- COMP 107 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 107 is an approved Science course.
- Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and some familiarity with microcomputers running MS Windows.
COMP 108 - Software Applications and Their Customization
4.00 credits
(3,2,0)
15 wks
Entry level Computing Science course. This course introduces the student to the basic concepts of information technology and computer applications. The student will learn how to use a microcomputer operating system effectively with emphasis on file management. Upon completion of the course the student should be proficient in using and customizing various software packages including word processor, spreadsheet, presentation software and data base software. The course also covers basic uses of the Internet and issues of security and privacy connected to it. The course serves as a preparation for the International Computer Driving License certification.
Prerequisites: Applications of Math 11 or Principles of Math 11 or MATH 091 or BMTH 044 or BTEC 115 or Math Placement Test (MPT) or permission of the instructor
Notes:
- COMP 108 is an approved Science course.
- Reasonable keyboarding skills and some familiarity with microcomputers running MS Windows.
COMP 115 - Learn to Code
4.00 credits
(3,3,0)
15 wks
An introduction to the principles and practices of writing quality code, for students with little or no prior coding experience. Students learn to apply a suite of fundamental principles and strategies for thinking clearly about problems, managing complexity, and designing creative, structured solutions. Students learn to develop the data structures and algorithms to express their solutions, to evaluate and test their designs, and to code them in a modern, high-level programming language, such as Python.
Prerequisites: One of the following: Pre-calculus 11, Foundations of Mathematics 11, Workplace Mathematics 11, Computer Science 11, BMTH 044, BMTH 048, Math Placement Test (Precalculus MPT), MATH 097, MATH 123, or COMP 101 (B-)
Notes:
- COMP 115 is an approved Numeracy course for Cap Core requirements. COMP 115 is an approved Science and Technology course for Cap Core requirements.
- COMP 115 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 115 is an approved Science course.
COMP 120 - Computer Science for Engineers
4.00 credits
(4,2,0)
15 wks
An introduction to computational techniques applied to Engineering problems. The primary focus of the course is on computer systems, the development of algorithms, and computer program design, implementation, and testing. The course also exposes students to the wider discipline of computer science, with topics including computer hardware and software, representation and manipulation of data, numerical analysis, and device interfaces.
Prerequisites: One of the following: COMP 106 (C+), COMP 115 (C+), Pre-calculus 12 (A), Foundations of Mathematics 12 (A), Computer Science 12 (A), or MATH 105 (C-)
Notes:
- COMP 120 is an approved Numeracy course for Cap Core requirements. COMP 120 is an approved Science and Technology course for Cap Core requirements. COMP 120 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 120 is an approved Science course.
- This course is primarily intended for students in Engineering programs.
COMP 121 - Fundamentals of Programming
4.00 credits
(4,2,0)
15 wks
An introduction to the development of algorithms, computer program design, program implementation and testing in a high-level, object-oriented programming language. The course also exposes students to event-driven programming, the building of graphical user interfaces (GUIs) and the use of application programming interfaces (APIs) and graphics.
Prerequisites: Principles of Math 12 with a minimum B grade, or MATH 105 or MATH 107 as prerequisite or co-requisite or BMTH 054 with a minimum B grade
Notes:
- COMP 121 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 121 is an approved Science course.
- Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to have some familiarity with Windows environment required.
COMP 126 - Principles of Software Design
4.00 credits
(4,2,0)
15 wks
A study of the application of object-oriented programming concepts to the design of software of an intermediate level of difficulty. Advanced object-oriented programming features and techniques are employed. Introduction to data structures, sorting and searching algorithms.
Prerequisites: COMP 121 with a minimum C- grade or COMP 107 with a minimum A grade
Notes:
- COMP 126 is an approved Quantitative/Analytical course for baccalaureate degrees.
- COMP 126 is an approved Science course.
COMP 134 - Programming in Java
1.00 credits
(1,0,1)
15 wks
An introduction to the Java programming language for students with previous programming experience in another high-level language. Topics include the Java language and API, object-oriented design and programming, event-driven programming, and graphical user interfaces.
Prerequisites: COMP 107 with a minimum B- grade or COMP 120 with a minimum C- grade
Notes:
- COMP 134 is an approved Science course.
COMP 135 - Python Essentials
1.00 credits
(1,0,0)
15 wks
This short course introduces students who are proficient in at least one programming language, such as C, R, Java or JavaScript, to the core elements of Python programming. Students learn to write clean code with Python’s built-in data types and control structures, while reinforcing best-practices, like unit testing, and fundamental principles of program design, including decomposition and abstraction. Practical, hands-on projects allow students to develop capacity for problem solving and sharpen their programming and object-oriented programming skills.
Prerequisites: COMP 120 (C-) as a pre- or corequisite
Notes:
- COMP 135 is an approved Numeracy course for Cap Core requirements. COMP 135 is an approved Science and Technology course for Cap Core requirements.
- COMP 135 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 135 is an approved Science course.
COMP 165 - Introduction to Multimedia and the Internet
4.00 credits
(4,2,0)
15 wks
The goal of this course is to introduce students, with little or no previous computer programming or web design experience, to the basic concepts underlying the Internet and computer programming for the web. Students will develop a broad understanding of how the Internet and World Wide Web work, how to create full-featured web sites, and learn the basics of Web programming.
Prerequisites: Applications of Math 11, Principles of Math 11, BMTH 044 or MATH 091; or Math Placement Test (MPT)
Notes:
- COMP 165 is an approved Science course.
- Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to have some familiarity with microcomputers running MS Windows. This course serves as a good science option for students in Arts or Commerce.
COMP 202 - Foundations of Computer Science
3.00 credits
(4,0,1.33)
15 wks
This course provides an overview of the discipline of Computer Science and its fundamental building blocks that unify hardware, software, algorithms and computational theory. It provides the foundation for further studies in computer architecture, operating systems, Net-centric computing, programming languages, compiler design, databases, theory of computation and artificial intelligence.
Prerequisites: COMP 121 with a minimum C- grade
Notes:
- COMP 202 is an approved Science course.
- This course may not be offered every year.
COMP 210 - Data Structures and Abstraction
3.00 credits
(4,0,1.33)
15 wks
A study of frequently used data structures and algorithms for manipulating them. This course emphasizes abstract data types and generic abstraction in object-oriented programming. Topics include lists, stacks, queues, sets, tables, trees and graphs, recursion, searching, sorting and analysis of algorithms.
Prerequisites: COMP 126 and MATH 116 with a minimum C- grade and MATH 124 as a prerequisite or a co-requisite with a minimum C- grade
Notes:
- COMP 210 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 210 is an approved Science course.
- This course may not be offered every year.
COMP 211 - Computer Design and Architecture I
3.00 credits
(4,0,1.33)
15 wks
An introduction to some fundamental concepts of computer design and architecture: data representation and coding, combinational and sequential digital logic, microprocessor operation, memory organizations and addressing schemes, instruction sets, assembly language, and operating system interfaces.
Prerequisites: COMP 126 and COMP 202 with a minimum C- grade; and MATH 116 with a minimum C- grade and MATH 124 as a prerequisite or a co-requisite with a minimum C- grade
Notes:
- COMP 211 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 211 is an approved Science course.
- This course may not be offered every year.
COMP 212 - Computer Design and Architecture II
3.00 credits
(4,0,1.33)
15 wks
A study of the architecture and organization of current microprocessor-based computers, relating the instruction set architecture at the programmer's level of abstraction to the digital logic implementation at the hardware designer's level of abstraction.
Prerequisites: COMP 211 with a minimum C- grade
Notes:
- COMP 212 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 212 is an approved Science course.
- This course may not be offered every year.
COMP 213 - Introduction to Software Engineering
4.00 credits
(4,0,1.33)
15 wks
An introduction to the concepts and practice of software engineering: systems analysis, user interface design, debugging, profiling, and testing methods, operating system interface, support tools and scripting languages, project management, user and system documentation.
Prerequisites: COMP 210 with a minimum C- grade
Notes:
- COMP 213 is an approved Science course.
- This course may not be offered every year.
COMP 215 - Introduction to Computational Science
4.00 credits
(3,3,0)
15 wks
Computational Science is considered the “third pillar” of scientific inquiry, alongside theory and physical experimentation. It combines modelling, simulation, scientific visualization, computer programming, data structures and algorithms to offer insights into a wide range of problems. Students are introduced to the concepts, principles, approaches, technologies, and practices of computational science. Students learn to construct computational models in a high-level programming language, like Python, and develop practical simulation and computational experimentation skills. The course focuses on the application of these techniques in a wide range of domains across the physical and social sciences; and includes an introduction to complexity science, systems thinking, and dynamic systems.
Prerequisites: COMP 115 (A-) or COMP 135 (A-); OR COMP 115 (C+) and one of the following: MATH 116 (C-), MATH 108 (C-), or MATH 124 (C-)
Notes:
- COMP 215 is an approved Science and Technology course for Cap Core requirements.
- COMP 215 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 215 is an approved Science course.
COMP 220 - Data Structures and Algorithms for Engineers
4.00 credits
(4,2,0)
15 wks
This course continues the development of methods for general modular program design from COMP 120. An emphasis is placed on specific algorithms and data structures which are applicable to a range of problems and techniques for analyzing algorithms and data structures in relation to program design.
Prerequisites: COMP 120 with a minimum C- grade and MATH 116 with a minimum C- grade
Notes:
- COMP 220 is an approved Quantitative/Analytical course for baccalaureate degrees.
- COMP 220 is an approved Science course.
COMP 301 - Computing Technologies in a Digital Culture
3.00 credits
(4,0,0)
15 wks
This course provides an exposé of current and emerging digital technologies and their impacts on individuals and society. Students learn some of the underlying principles and inner workings of digital technology. They link this understanding to the ramifications of digital technology on a range of economic, legal, environmental, and ethical issues, such as privacy and freedom of expression, security and crime, the nature of work and money, pollution and resource use, and intellectual property rights. Students learn to think critically about technologies, and to argue effectively about their potential impacts.
Prerequisites: 45 credits of 100-level or higher coursework including one of the following: COMP 101, COMP 115, or MOPA 209
Notes:
- COMP 301 is an approved Science and Technology course for Cap Core requirements.
- COMP 301 is an approved Science course.
COMP 320 - Database Technologies and Applications
4.00 credits
(3,3,0)
15 wks
Students are introduced to the principles, concepts, approaches, technologies, and practices of data modelling and database design using relational, non-relational, and filesystem-based data management systems. Students learn practical query languages and to develop programs that interact with various data management systems. The course focusses on the practical application of these technologies and techniques in a range of domains, including science, business, and computing; and includes an introduction to big data, data governance, and data security.
Prerequisites: 45 credits of 100-level or higher coursework and COMP 215
Notes:
- COMP 320 is an approved Science and Technology course for Cap Core requirements.
- COMP 320 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 320 is an approved Science course.
COMP 330 - Data Wrangling: Scripting for Automated Data Processing
4.00 credits
(3,3,0)
15 wks
Students are introduced to the principles, concepts, approaches, technologies, and practices of automated data acquisition, cleaning, transformation, merging, matching, storage, and analysis. Students learn to apply scripting languages to pattern matching, data pipelines, and other data wrangling techniques. The course focusses on practical uses for these technologies and techniques in a range of domains, including science, business, and computing; and includes an introduction to operating systems, command line shells, filesystems, and file formats.
Prerequisites: 45 credits of 100-level or higher coursework and one of COMP 115 (A-) or COMP 215
Notes:
- COMP 330 is an approved Science and Technology course for Cap Core requirements.
- COMP 330 is an approved Quantitative/Analytical course for baccalaureate degrees. COMP 330 is an approved Science course.