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