uwlogo CS137 - Programming Principles


CS 137 provides an introduction to fundamental programming principles for first-year Software Engineering students. Topics include: procedures and parameter passing, arrays and structures, recursion, sorting, pointers and simple dynamic structures, space and time analysis of designs, and design methodologies. The course will be taught using the C programming language.

Students should be aware that this course contains the intellectual property of their instructor, ISA, and/or the University of Waterloo. Please ensure you read the intellectual property regulations.


  • Welcome to the CS 137 Course Website! For Fall 2023, all information can be found on LEARN and not this website. Make sure to check LEARN frequently for course updates.
  • You can find also find important information on PIAZZA
  • Course Outline
  • You can contact the course staff as follows:
  • Instructor: Victoria Sakhnini (vsakhnini@uwaterloo.ca)
  • Instructional Support Coordinator: Scott King (sfking@uwaterloo.ca)
  • Instructional Support Assistant: Helen Chen (cs137@uwaterloo.ca)