Undergraduate Computer Science courses


Pre-enrolment Information

Quick links to course descriptions

CS 100s 
100  105  106  115  116  135  136  137  138  145  146 
CS 200s 
200  230  231  234  240  240E  241  241E  245E  245  246E  246  247  251 
CS 300s 
330  335  338  341  343  348  349  350  360  365  370  371  383  398  399 
CS 400s 
430  431  432  436  442  444  445  446  447  448  449  450  451  452  454 
456  457  458  462  466  467  475  476  480  482  484  485  486  487  488 
489  490  492  493  494  497  499T  499R 

Terms offered

If you want to know when a course will be next offered, select the desired course from the following drop down menu and press the submit button. Note that this query only covers terms: Fall 2017, Winter 2018, Spring 2018, Fall 2018, Winter 2019

Course:

Course information links for selected courses

In using the course information, please be aware of the following limitations. Courses are displayed by our best guess of anticipated offerings, though circumstances may change in such a way that actual offerings differ. Access indicates courses that are available to at least some students in a given category; please check the course descriptions for detailed information about prerequisites and access. Senior students might also wish to check graduate course offerings for other options.

Note: We have started to rewrite the "course descriptions" in a new format. We hope that the new format will provide more useful information. It will take some time to rewrite them all. In the meantime, you can easily tell the difference—old-format descriptions start with a header "Objectives", while the new-format ones start with the header "General Description".


In order to view the list of courses filtered by term of offering, accessibility or level, select from the appropriate list and press submit.

Anticipated offerings: Access: Level:


CourseTitleAdditional Information
CS 100 Online/DE Introduction to Computer Usage Course Description Webpage Calendar entry
CS 105 Introduction to Computer Programming 1 New Description Webpage Calendar entry
CS 106 Introduction to Computer Programming 2 New Description Webpage Calendar entry
CS 115 Introduction to Computer Science 1 New Description Webpage Calendar entry
CS 116 Introduction to Computer Science 2 New Description Webpage Calendar entry
CS 135 Designing Functional Programs Course Description Webpage Calendar entry
CS 136 Elementary Algorithm Design and Data Abstraction Course Description Webpage Calendar entry
CS 137 Programming Principles Course Description Webpage Calendar entry
CS 138 Introduction to Data Abstraction and Implementation Course Description Webpage Calendar entry
CS 145 Design, Abstraction and Implementation New Description Webpage Calendar entry
CS 146 Elementary Algorithm Design and Data Abstraction (advanced version) New Description Webpage Calendar entry
CS 200 Concepts for Advanced Computer Usage New Description Webpage Calendar entry
CS 230 Introduction to Computers and Computer Systems New Description Webpage Calendar entry
CS 231 Algorithmic Problem Solving Course Description Webpage Calendar entry
CS 234 Data Types and Structures New Description Webpage Calendar entry
CS 240 Data Structures and Data Management New Description Webpage Calendar entry
CS 240E Data Structures and Data Management (Enriched) Course Description Webpage Calendar entry
CS 241 Foundations of Sequential Programs New Description Webpage Calendar entry
CS 241E Foundations of Sequential Programs (Enriched) Course Description Webpage Calendar entry
CS 245E Logic and Computation (Enriched) Course Description Webpage Calendar entry
CS 245 Logic and Computation New Description Webpage Calendar entry
CS 246 Object-Oriented Software Development New Description Webpage Calendar entry
CS 246E Object-Oriented Software Development (Enriched) Course Description Webpage Calendar entry
CS 247 Software Abstraction and Specification New Description Webpage Calendar entry
CS 251 Computer Organization and Design New Description Webpage Calendar entry
CS 330 Management Information Systems New Description Webpage Calendar entry
CS 335 Computational Methods in Business and Finance New Description Webpage Calendar entry
CS 338 Computer Applications in Business Course Description Webpage Calendar entry
CS 341 Algorithms Course Description Webpage Calendar entry YouTube
CS 343 Concurrent and Parallel Programming New Description Webpage Calendar entry YouTube
CS 348 Introduction to Database Management New Description Webpage Calendar entry YouTube
CS 349 User Interfaces New Description Webpage Calendar entry YouTube
CS 350 Operating Systems New Description Webpage Calendar entry
CS 360 Introduction to the Theory of Computing New Description Webpage Calendar entry YouTube
CS 365 Models of Computation New Description Webpage Calendar entry YouTube
CS 370 Numerical Computation New Description Webpage Calendar entry YouTube
CS 371 Introduction to Computational Mathematics New Description Webpage Calendar entry YouTube
CS 383 Computational Digital Art Studio Course Description Webpage Calendar entry
CS 399 Readings in Computer Science New Description Webpage Calendar entry
CS 430 Applications Software Engineering Course Description Webpage Calendar entry
CS 431 Data-Intensive Distributed Computing Course Description Webpage Calendar entry
CS 432 Business Systems Analysis Course Description Webpage Calendar entry
CS 436 Distributed Computer Systems New Description Webpage Calendar entry
CS 442 Principles of Programming Languages New Description Webpage Calendar entry YouTube
CS 444 Compiler Construction New Description Webpage Calendar entry YouTube
CS 445 Software Requirements Specification and Analysis New Description Webpage Calendar entry YouTube
CS 446 Software Design and Architectures Course Description Webpage Calendar entry YouTube
CS 447 Software Testing Course Description Webpage Calendar entry
CS 448 Database Systems Implementation Course Description Webpage Calendar entry YouTube
CS 449 Human Computer Interaction New Description Webpage Calendar entry YouTube
CS 450 Computer Architecture New Description Webpage Calendar entry YouTube
CS 451 Data-Intensive Distributed Computing Course Description Webpage Calendar entry
CS 452 Real-Time Programming New Description Webpage Calendar entry YouTube
CS 454 Distributed Systems Course Description Webpage Calendar entry
CS 456 Computer Networks Course Description Webpage Calendar entry YouTube
CS 457 System Performance Evaluation Course Description Webpage Calendar entry YouTube
CS 458 Computer Security and Privacy New Description Webpage Calendar entry YouTube
CS 462 Formal Languages and Parsing New Description Webpage Calendar entry YouTube
CS 466 Algorithm Design and Analysis Course Description Webpage Calendar entry YouTube
CS 467 Introduction to Quantum Information Processing New Description Webpage Calendar entry YouTube
CS 475 Computational Linear Algebra New Description Webpage Calendar entry YouTube
CS 476 Numeric Computation for Financial Modeling New Description Webpage Calendar entry YouTube
CS 480 Introduction to Machine Learning New Description Webpage Calendar entry
CS 482 Computational Techniques in Biological Sequence Analysis New Description Webpage Calendar entry
CS 484 Introduction to Computational Vision Course Description Webpage Calendar entry
CS 485 Machine Learning New Description Webpage Calendar entry
CS 486 Introduction to Artificial Intelligence New Description Webpage Calendar entry YouTube
CS 487 Introduction to Symbolic Computation Course Description Webpage Calendar entry YouTube
CS 488 Introduction to Computer Graphics New Description Webpage Calendar entry YouTube
CS 489 Topics in Computer Science New Description Webpage Calendar entry
CS 490 Information Systems Management New Description Webpage Calendar entry
CS 492 The Social Implications of Computing New Description Webpage Calendar entry YouTube
CS 493 CS Capstone Project 1 New Description Webpage Calendar entry
CS 494 CS Capstone Project 2 New Description Webpage Calendar entry
CS 497 Multidisciplinary Studies in Computer Science New Description Webpage Calendar entry
CS 499R Readings in Computer Science New Description Webpage Calendar entry
CS 499T Honours Thesis New Description Webpage Calendar entry

Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-webmaster@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics


Valid HTML 4.01!Valid CSS! Last modified: Monday, 29-May-2017 12:19:09 EDT


Menu:ShowHide