Link to the University of Waterloo home page
2023-2024

The Undergraduate Calendar

 

 

Computer Science

Plan Requirements

Joint Bachelor of Computer Science

Students in this academic plan must fulfil all the requirements of Table 1 and the following specific requirements:

  • One of
    • CS 115 Introduction to Computer Science 1
    • CS 135 Designing Functional Programs
    • CS 145 Designing Functional Programs (Advanced Level)
  • One of
    • CS 136 Elementary Algorithm Design and Data Abstraction
    • CS 146 Elementary Algorithm Design and Data Abstraction (Advanced Level)
  • One of
  • One of
  • One of
  • One of
    • MATH 136 Linear Algebra 1 for Honours Mathematics
    • MATH 146 Linear Algebra 1 (Advanced Level)
  • One of
    • MATH 239 Introduction to Combinatorics
    • MATH 249 Introduction to Combinatorics (Advanced Level)
  • One of
  • One of
  • All of
    • CS 136L Tools and Techniques for Software Development
    • CS 240 Data Structures and Data Management or CS 240E Data Structures and Data Management (Enriched)
    • CS 241 Foundations of Sequential Programs or CS 241E Foundations of Sequential Programs (Enriched)
    • CS 245 Logic and Computation or CS 245E Logic and Computation (Enriched)
    • CS 246 Object-Oriented Software Development or CS 246E Object-Oriented Software Development (Enriched)
    • CS 251 Computer Organization and Design or CS 251E Computer Organization and Design (Enriched)
    • CS 341 Algorithms
    • CS 350 Operating Systems
  • One additional course chosen from CS 340-CS 398, CS 440-CS 489.
  • Two additional courses chosen from CS 440-CS 489, CS 499T.
  • 5.0 non-math units, which must satisfy the same restrictions as specified for the Bachelor of Computer Science.

Office of the Registrar
University of Waterloo
Ira G. Needles Hall
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519-888-4567