CS 137Programming Principles
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 3 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
Review of fundamental programming concepts and their application. Procedures and parameter passing. Arrays and structures. Recursion. Sorting. Pointers and simple dynamic structures. Space and time analysis of designs. Design methodologies.
Prerequisites
- Enrolled in H-Software Engineering
Antirequisites
None listed.
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LEC 001 | 6156 | 129 / 145 | TTh 10:00–11:20 TTh 10:00–11:20 Oct 1 08:30–09:50 Nov 5 08:30–09:50 Nov 19 08:30–09:50 Oct 27 12:30–14:20 |
| LAB 201 | 6200 | 129 / 145 | Sep 15 12:30–14:20 |
| TUT 101 | 6456 | 129 / 145 | T 12:30–14:20 T 12:30–14:20 |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 137.
- CS 137 - Programming Principles Course website · student.cs.uwaterloo.ca Remove
- Carmen's CS 137 Resources Page Course website · cs.uwaterloo.ca · from Carmen Bruni’s site Remove
- Big-O Algorithm Complexity Cheat Sheet (Know Thy Complexities!) @ericdrowell Cheat sheet · bigocheatsheet.com · from UWaterloo Links (SE) Remove
- Python Tutor code visualizer: Visualize code in Python, JavaScript, C, C++, and Java Other · pythontutor.com · from UWaterloo Links (SE) Remove
Reviewed on UW Flow
95% liked it82% easy93% useful
From 397 ratings and 81 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
The course is easy, but the exams were not. For F2014 taught by Clarke, the exams were very much programming contest style.
Jan 2016 · liked it · 2 found this helpfulOn UW FlowRemove this
Easy and interesting course. It's your basic introduction to the C programming language with a bit of interesting stuff like pointers, linked lists and implementing root-finding methods like fixed-point iteration and the bisection method. Textbook was not necessary - lecture and tutorial notes provided enough preparation for the midterm and final. Very manageable course even for people who are new to programming.
Dec 2015 · liked it · 2 found this helpfulOn UW FlowRemove this
Fundamentals of C. It was pretty fun and engaging. It can be hard at times but takes a bit to get used to C.
Nov 2018 · liked it · 1 found this helpfulOn UW FlowRemove this
Given the spread of programming experience among kids entering SE, this course can't really be labeled as easy or difficult. It really depends on your high school experience, work experience and side projects. I know kids in my class who probably could've got high 90s on the final without even taking the course. However, for me personally, with very limited programming experience upon entering the program, this course was one of my more challenging ones. A few tips; do NOT skip assignments, even though they're worth 1% of your final grade each. While they aren't worth a lot, it's really important to become familiar with, and apply the concepts learned in class, and the assignments are great…
Dec 2016 · liked it · 1 found this helpfulOn UW FlowRemove this
It starts off as an "intro to programming" course but it speeds right into some more interesting stuff. Know your pointers.
May 2016 · liked it · 1 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
114 posts and comments in 91 threads mention CS 137, May 2012 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.
Fall 2024
really struggling in math137 9 points, 12 comments
“i'm doing really well in math135 and cs135 but doing so poorly in math137. everything's been in the 60s and low 70s and i don't know why. …”
u/Aggravating-Source85: “Same I’m doing pretty well in Math135 and cs135 and 137 just shits on me”
Spring 2024
First-year math courses selection 1 point, 8 comments
u/mrman277353: “… just selected all the courses a cs first term student would have so: math 135, math 137 and cs 137. …”
Computer Science vs Software engineering 5 points, 7 comments
“Apart from the cohort system, what benefits does SE provide over comp sci? got accepted into both and I cant choose between the two”
u/KINGBLUE2739046: “CS137 and CS138 (SE Intro CS courses) are way better than CS135 and CS136. SE101 also neat. Also you can drop into CS after first year. …”
Fall 2023
Pass or Fail? 42 points, 11 comments
“even though my final grade is 58, the course syllabus states that in order to pass you need to pass the weighted average of mid-term and final. …”
u/Water0Melon: “Cs137?”
Chances of getting into SE (realistically) 1 point, 16 comments
u/KINGBLUE2739046: “Ok well you’re not getting in with zero coding experience. They require you to be decent at coding. Reason being that you’ll be destroyed from head to toe by CS137 and CS138 if you’re coming in raw.”
Advice to learn coding 5 points, 8 comments
“To all comp sci students, or any profound coders out there, I am wondering how did you first start learning how to code? …”
u/Freddysilver: “I took cs 115, 116 and 137 but later started doing LinkedIn learning modules which is free and found it extremely useful.”
What's your streaking record(longest time with 100) for a course? What course was it? 1 point, 5 comments
“Sorry for bad English”
u/squatandbench: “4 months I guess, got a final grade of 100 in a couple courses”
u/squatandbench: “CS 137, ECE 124, and ECE 140 for example”
Spring 2023
Credit Transfer for A-Level 1 point, 3 comments
u/serenelmuss314: “… I am a Math first year and would be taking Math 137, 138 , CS 137, one communication and one econs class. I guess the former 3 are the 'pre-reqs' and therefore can't be credit-transferred - please correct me if I am wrong. …”
Winter 2023
CS 137 Knowledge Reqs 3 points, 3 comments
u/Trollermaner: “I wanted to know how much programming knowledge you need to know for CS 137 (SE). &x200B; Thank you!”
Waterloo Software Engineering 13 points, 12 comments
“So I got into waterloo se today. I honestly think I'm underqualified (when it comes to coding experience). …”
u/SerMacster: “Your first two terms will only have CS137 and CS138 from the programming courses. They don't expect you to have experience, but I guess some familiarity would help. Theses courses cover C/C++. …”
Admissions / High School Megathread (Fall 2023) 21 points, 71 comments
“This megathread is for prospective frosh and current high school students interested in Waterloo! PSA for new students Ask your questions down below! …”
u/Sweaty-Dot-2092: “How do I study for Math135/137 and CS135/137. I wanted to prepare a bit for the upcoming fall this summer so that I can achieve a high average. I was curious as to how I should go about preparing and what concepts I should focus on.”
How do Antirequisites Work? 4 points, 9 comments
“Suppose it says under course As description that course B is an antirequisite, but under course Bs description it doesn't say that course A is an antirequisite. …”
u/Muted-Goose-5011: “If you take course B first, you cannot take course A. But if you take A first you can take B”
u/Longjumping_Shoe7072: “… They listed CS 137 as an antirequisite for it but someone from my cohort is taking CS 135 in 1B for God knows what reason despite 137, a 1A course, being an antirequisite. …”
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them