Undergraduate Computer Science courses


Pre-enrolment Information

Quick links to course descriptions

CS 100s 
100  115  116  135  136  137  138  145  146 
CS 200s 
200  230  234  240  241  245  246  247  251 
CS 300s 
330  335  338  341  343  348  349  350  360  365  370  371  398  399 
CS 400s 
430  432  436  442  444  445  446  447  448  449  450  452  454  456  457 
458  462  466  467  473  475  476  482  483  484  485  486  487  488  489 
490  492  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: Spring 2012, Fall 2012, Winter 2013, Spring 2013

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 115 Introduction to Computer Science 1 Course Description Webpage Calendar entry
CS 116 Introduction to Computer Science 2 Course 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 Functional Programming and Data Abstraction 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 Course Description Webpage Calendar entry
CS 230 Introduction to Computers and Computer Systems New 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 241 Foundations of Sequential Programs New 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 247 Software Abstraction and Specification Course Description Webpage Calendar entry
CS 251 Computer Organization and Design New Description Webpage Calendar entry
CS 330 Management Information Systems Course 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 Course Description Webpage Calendar entry YouTube
CS 348 Introduction to Database Management Course Description Webpage Calendar entry YouTube
CS 349 User Interfaces Course Description Webpage Calendar entry YouTube
CS 350 Operating Systems Course Description Webpage Calendar entry
CS 360 Introduction to the Theory of Computing Course Description Webpage Calendar entry YouTube
CS 365 Models of Computation Course Description Webpage Calendar entry YouTube
CS 370 Numerical Computation Course Description Webpage Calendar entry YouTube
CS 371 Introduction to Computational Mathematics Course Description Webpage Calendar entry YouTube
CS 399 Readings in Computer Science Course Description Webpage Calendar entry
CS 430 Applications Software Engineering 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 Course Description Webpage Calendar entry YouTube
CS 444 Compiler Construction Course Description Webpage Calendar entry YouTube
CS 445 Software Requirements Specification and Analysis Course 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 Course Description Webpage Calendar entry
CS 452 Real-Time Programming Course Description Webpage Calendar entry YouTube
CS 454 Distributed Systems Course Description Webpage Calendar entry
CS 456 Computer Networks Course Description Webpage Calendar entry
CS 458 Computer Security and Privacy Course Description Webpage Calendar entry
CS 462 Formal Languages and Parsing Course Description Webpage Calendar entry YouTube
CS 466 Algorithm Design and Analysis Course Description Webpage Calendar entry YouTube
CS 467 Introduction to Quantum Information Processing Course Description Webpage Calendar entry YouTube
CS 473 Medical Image Processing Course Description Webpage Calendar entry YouTube
CS 475 Computational Linear Algebra Course Description Webpage Calendar entry YouTube
CS 476 Numeric Computation for Financial Modeling Course Description Webpage Calendar entry YouTube
CS 482 Computational Techniques in Biological Sequence Analysis Course Description Webpage Calendar entry
CS 483 Computational Techniques in Structural Bioinformatics Course Description Webpage Calendar entry
CS 484 Introduction to Computational Vision Course Description Webpage Calendar entry
CS 485 Machine Learning New Description Webpage Calendar entry YouTube
CS 486 Introduction to Artificial Intelligence Course Description Webpage Calendar entry YouTube
CS 487 Introduction to Symbolic Computation Course Description Webpage Calendar entry YouTube
CS 488 Introduction to Computer Graphics Course Description Webpage Calendar entry YouTube
CS 490 Information Systems Management Course Description Webpage Calendar entry
CS 492 The Social Implications of Computing Course Description Webpage Calendar entry YouTube
CS 499R Readings in Computer Science Course Description Webpage Calendar entry
CS 499T Honours Thesis Course 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-uops@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics


Valid HTML 4.01!Valid CSS! Last modified: Monday, 07-May-2012 16:39:07 EDT


Menu:ShowHide