|
Course
|
Prerequisites |
Notes and Restrictions |
CMPT 100
Introduction to Computing
|
Mathematics A30 or B30 or C30; or Foundations of Mathematics 30; or Pre-Calculus 30
|
After CMPT 100, students can take any of 105, 111, and 275. Students can receive credit for only one of CMPT 100, CMPT 120, CMPT 102, CMPT 175. Students may not take CMPT 100 for credit after taking CMPT 105. Also, students may not take CMPT 100 for credit concurrent with or following CMPT 115 or CMPT 117. Students wishing to major in computer science are advised to take CMPT 111. In addition, students majoring in computer science may not use CMPT 100 as a course in their major, but may count it as a junior elective as long as CMPT 100 is taken before CMPT 115 or CMPT 117.
|
CMPT 102
Introduction to Computing and Programming
|
Mathematics B30 or Foundations of Mathematics 30 or Pre-Calculus 30 |
Students can receive credit for only one of CMPT 100, CMPT 102, CMPT 120, CMPT 175. CMPT 102 may not be taken for credit after completion of CMPT 105 or CMPT 111. Students majoring in computer science may not use CMPT 102 as a course in their major.
|
CMPT 105
Introduction to Computing and Interactive Systems Design
|
|
CMPT 105 can be taken as a science course by non-science majors. Science majors may not receive science credit for this course. CMPT 105 can be taken for credit after the completion of CMPT 100, 102, 120 or 175; but CMPT 100, 102, 120 and 175 cannot be taken for credit after completion of CMPT 105. CMPT 105 cannot be taken for credit after CMPT 111. |
CMPT 106
Design and Construction of Games and Interactive Systems
|
CMPT 105 or CMPT 111.
|
Students cannot take CMPT 106 for credit concurrent with or after CMPT 115.
|
CMPT 111
Introduction to Computer Science and Programming
|
Mathematics B30 or Foundations of Mathematics 30 or Pre-Calculus 30
|
While designed for students majoring in Computer Science, Computing, Bioinformatics, or Software Engineering, it is open to all students seeking a solid introduction to Computing. Students may receive credit for only one of CMPT 111, CMPT 113 or CMPT 116.
|
CMPT 113
Computing Using Excel and VBA
|
Mathematics B30 or Foundations of Mathematics 30 or Pre-Calculus 30
|
Students who have credit for CMPT 111 or CMPT 116 may not receive credit for this course. CMPT 113 cannot be used as a prerequisite for CMPT 117 unless the student has achieved a grade of 75% or higher in CMPT 113 and has permission of the CMPT 117 instructor.
|
CMPT 115
Principles of Computer Science
|
CMPT 106 or 111.
|
Students cannot take CMPT 115 concurrently with CMPT 106. Students can have credit for at most one of CMPT 115 and 117.
|
CMPT 116
Computing I
|
Mathematics B30 or Foundations of Mathematics 30 or Pre-Calculus 30
|
Students who have credit for CMPT 111 or CMPT 113 may not receive credit for CMPT 116.
Restricted to students in Physics and Engineering.
|
CMPT 117
Computing II
|
CMPT 116, or a grade of at least 75% in CMPT 113 and permission of the instructor.
|
Students can have credit for at most one of CMPT 117 and 115.
Restricted to students in College of Arts and Science and College of Engineering.
|
CMPT 120
Digital Document Processing
|
|
CMPT 120 is a course in modern computer skills, but does not lead directly into a computer science major. After CMPT 120, students can take any of CMPT 105 and 111. Students can receive credit for only one of CMPT 100, 102, 120, or 175. Students may not take CMPT 120 for credit after taking CMPT 105. Students may not take CMPT 120 for credit concurrent with or following CMPT 115 or CMPT 117. Students wishing to major in computer science are advised to take CMPT 111. In addition, students majoring in computer science may not use CMPT 120 as a course in the major, but may count it as a junior elective as long as CMPT 120 is taken before CMPT 115 or CMPT 117.
|
CMPT 175
Introduction to Computer Science for Business Students
|
|
After CMPT 175, students can take any of 105, 111, or 275, but the usual course is CMPT 275. Students can receive credit for only one of CMPT 100, CMPT 102, CMPT 120, CMPT 175. Students may not take CMPT 175 for credit after taking CMPT 105. Also, students may not take CMPT 175 for credit concurrent with or following CMPT 115 or CMPT 117. Students wishing to major in computer science are advised to take CMPT 111. In addition, students majoring in computer science may not use CMPT 175 as a course in their major, but may count it as a junior elective as long as CMPT 175 is taken before CMPT 115 or CMPT 117.
Only open to students enrolled in the Edwards School of Business
|
CMPT 214
Programming Principles and Practice
|
CMPT 115 or 117, MATH 110.
|
Students who have credit for CMPT 330 may not take this course for credit.
|
CMPT 215
Introduction to Computer Organization and Architecture
|
CMPT 214.
|
A student cannot receive credit for more than one of CMPT 215 and EE 331.
|
CMPT 260
Mathematical Logic and Computing
|
CMPT 115 or 117, and MATH 110.
|
|
CMPT 270
Developing Object-Oriented Systems
|
CMPT 115 or 117; and 3 credit units of 100-level calculus or STAT 245 or equivalent.
|
Students with credit for CMPT 250 may not take this course for credit.
|
CMPT 275
Organizational Information Systems
|
Any one of CMPT 100, 102, 105, 111, 113, 116, or 175.
|
Students with credit for CMPT 250, 355 or 370 cannot take CMPT 275 for credit. CMPT 275 can only be used as a general elective in a Computer Science or Computing major.
|
CMPT 280
Intermediate Data Structures and Algorithms
|
CMPT 270.
|
Students with credit for CMPT 250 may not take this course for credit.
|
CMPT 281
Website Design and Development
|
CMPT 106.3 or CMPT 111.3
|
CMPT 281 cannot be used towards requirements for a B.Sc. in Computer Science, but may be used as an open elective. CMPT 281 cannot be taken after CMPT 381 or CMPT 370 (but may be taken concurrently).
|
CMPT 298
Special Topics
|
|
|
CMPT 299.6 — 1&2(3L)
Special Topics
|
|
|
CMPT 306
Game Mechanics
|
CMPT 270. MATH 264 or MATH 266 are recommended.
|
|
CMPT 317
Introduction to Artificial Intelligence
|
CMPT 260 and 280.
|
|
CMPT 320
Introduction to Digital Systems Design
|
CMPT 215.
|
CMPT 260 is recommended. Students with credit for EE 232, EE 310, EE 321, EP 321 or CMPT 220 may not take this course for credit. EE 232, EE 310 or EP 321 can be used to meet the requirement for CMPT 320.
|
CMPT 332
Operating Systems Concepts
|
CMPT 280, and CMPT 215 or EE 331.
|
Students with credit for CMPT 422 may not take this course for credit.
|
CMPT 340
Programming Language Paradigms
|
CMPT 214, 260, and 270.
|
One of CMPT 215 or EE 331 recommended.
|
CMPT 350
Web Programming
|
CMPT 280.
|
|
CMPT 352
An Introduction to Information Security
|
CMPT 270 or CMPT 275.
|
|
CMPT 355
Theory and Application of Data Bases
|
CMPT 260 and 270, or CMPT 275.
|
Students with credit for CMPT 374 may not take this course for credit.
|
CMPT 360
Machines and Algorithms
|
CMPT 260 and 280, 6 credit units in 200-level MATH or STAT (excluding MATH 213 and STAT 244).
|
|
CMPT 364
Automata and Formal Languages
|
CMPT 260 and 6 credit units in 200-level MATH or STAT.
|
|
CMPT 370
Intermediate Software Engineering
|
CMPT 214 and 270.
|
|
CMPT 371
Software Management
|
CMPT 370.
CMPT 280.
|
CMPT 280 may be taken as a co-requisite.
|
CMPT 381
Implementation of Graphical User Interfaces
|
CMPT 270
|
|
CMPT 385
Computer Graphics
|
CMPT 270 and (MATH 264 or 266 or EE 216 or CE 318).
|
CMPT 260 recommended. Students with credit for CMPT 460 cannot take this course for credit.
|
CMPT 394
Simulation Principles
|
CMPT 270.
One of STAT 242, 245, or EE 216 (STAT 242 preferred.)
|
Pre-requisites may be taked as co-requisites.
|
CMPT 398
Special Topics
|
|
|
CMPT 399
Special Topics
|
|
|
CMPT 400
Research Topics in Computer Science
|
In the final year of an Honours Program; or a cumulative percentage average of at least 70% in 24 credit units in computer science and written permission of the department.
|
Permission of the department required.
|
CMPT 401
Professional Internship I
|
Professional internship placement with a sponsoring employer.
|
Permission of the department required.
|
CMPT 402
Professional Internship II
|
CMPT 401.
|
|
CMPT 403
Professional Internship III
|
CMPT 402.
|
|
CMPT 404
Professional Internship IV
|
CMPT 403.
|
|
CMPT 405
Project Design and Implementation
|
In the final year of an Honours Program; or a cumulative percentage average of at least 70% in 24 credit units in computer science.
|
Permission of the department required.
|
CMPT 408
Ethics and Computer Science
|
Successful completion of 30 credit units in computer science, including at least 3 credit units at the 400-level of computer science.
|
|
CMPT 412.3
Social Computing and Participative Web 2.0
|
CMPT 350.
|
|
CMPT 417
Knowledge Representation and Reasoning
|
CMPT 317, one of CMPT 340 or 360.
|
May only be offered every second year.
|
CMPT 418
Intelligent Systems
|
STAT 245 and either CMPT 317 or both CMPT 355 and CMPT 340.
|
May only be offered every second year. Check registration guide for offerings.
|
CMPT 432
Advanced Operating Systems Concepts
|
CMPT 332.
|
May only be offered every second year.
|
CMPT 433 System and Network Administration |
CMPT 332, and one of CMPT 352, 432, 434. |
CMPT 352, 432, 434 may be taken concurrently with CMPT 433 (co-requisite). |
CMPT 434
Computer Networks
|
CMPT 332.
|
Students with credit for CMPT 424 may not take this course for credit.
|
CMPT 435
Foundations of Concurrent Programming
|
CMPT 215 and 6cu from: CMPT 332, 340, 360
|
|
CMPT 436
Mobile and Ubiquitous Computing
|
One of CMPT 332, 350 or 370.
|
Students with credit for CMPT 426 may not take this course for credit.
|
CMPT 440
Advanced Topics in Programming Languages
|
CMPT 340.
|
May only be offered every second year.
|
CMPT 442
Compiler Design and Implementation
|
CMPT 360.
|
CMPT 340 recommended.
|
CMPT 455.3 — 3L
Information Modeling and Retrieval
|
CMPT 355.
|
|
CMPT 461
Intractable Problems and Models of Computation
|
CMPT 360 or 364.
|
Students with credit for CMPT 361 may not take this course for credit.
|
CMPT 463
Advanced Algorithms
|
CMPT 360.
|
Students with credit for CMPT 416 may not take this course for credit.
|
CMPT 470
Advanced Software Engineering
|
CMPT 370.
|
|
CMPT 479
Usability Engineering
|
CMPT 371 or permission of instructor.
|
|
CMPT 480
Accessible Computing
|
CMPT 370 or permission of instructor.
|
|
CMPT 481
Human Computer Interaction
|
CMPT 381 or CMPT 370. |
|
CMPT 485
Advanced Computer Graphics
|
CMPT 385 and (CMPT 332 or 340). See Note.
|
Note: Subject to confirmation, new prerequisites will be: 6cu of 300-level CMPT, and one of (MATH 264, MATH 266, EE 216, CE 318) |
CMPT 487
Image Processing and Computer Vision
|
CMPT 385. See Note.
|
May be offered every second year.
Note: Subject to confirmation, new prerequisites will be: One of (MATH 264, MATH 266, EE 216, CE 318) and one of (CMPT 317, CMPT 332, CMPT 340, CMPT 370)
|
CMPT 488
Computational Robotics
|
(MATH 264 or MATH 266) and CMPT 317.
|
|
CMPT 498
Special Topics
|
|
|
CMPT 499
Special Topics
|
|
|