CS 136LTools and Techniques for Software Development
- Units
- 0.25
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 7 of the last 7 terms. Winter 2027: scheduled. Spring 2027: schedule not out yet.
This course introduces students to tools and techniques useful in the software development lifecycle. Students learn to navigate and leverage commands and utilities in the Linux Command Line Shell. Students gain experience in version control software, writing scripts to automate tasks, and creating effective test cases to identify bugs. Tracing and debugging strategies are discussed. Students also gain experience in using built-in support for version control, testing, debugging, build automation, etc. in integrated development environments (IDEs).
Prerequisites
- Complete 1 of the following
- Must have completed the following:
- CS145 - Designing Functional Programs (Advanced Level) (0.50)
- Earned a minimum grade of 90% in each of the following:
- CS115 - Introduction to Computer Science 1 (0.50)
- Earned a minimum grade of 70% in each of the following:
- CS116 - Introduction to Computer Science 2 (0.50)
- Earned a minimum grade of 60% in at least 1 of the following:
- CS135 - Designing Functional Programs (0.50)
- Must have completed the following:
Corequisites
Antirequisites
None listed.
Leads to
Fall 2026 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LAB 001 | 6553 | 40 / 65 | Th 14:30–15:50 |
| LAB 002 | 6554 | 34 / 65 | Th 11:30–12:50 |
| LAB 003 | 7877 | 18 / 65 | Th 13:00–14:20 |
Winter 2027 sections
| Section | Class | Enrolled | Meets |
|---|---|---|---|
| LAB 001 | 6136 | 0 / 65 | T 09:30–10:20 |
| LAB 002 | 6137 | 0 / 65 | T 10:30–11:20 |
| LAB 003 | 6138 | 0 / 65 | T 11:30–12:20 |
| LAB 004 | 6139 | 0 / 65 | T 12:30–13:20 |
| LAB 005 | 6140 | 0 / 65 | T 13:30–14:20 |
| LAB 006 | 6141 | 0 / 65 | T 14:30–15:20 |
| LAB 007 | 6142 | 0 / 65 | T 15:30–16:20 |
| LAB 008 | 6143 | 0 / 65 | Th 09:30–10:20 |
| LAB 009 | 6144 | 0 / 65 | Th 10:30–11:20 |
| LAB 010 | 6145 | 0 / 65 | Th 11:30–12:20 |
| LAB 011 | 6146 | 0 / 65 | Th 12:30–13:20 |
| LAB 012 | 6193 | 0 / 65 | Th 13:30–14:20 |
| LAB 013 | 6194 | 0 / 65 | Th 14:30–15:20 |
| LAB 014 | 6195 | 0 / 65 | Th 15:30–16:20 |
| LAB 701 | 2385 | 898 / 9999 | Online or by arrangement |
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 136L.
- CS 136L: Home Course website · student.cs.uwaterloo.ca Remove
- Carmen's CS 136L Resources Page Course website · cs.uwaterloo.ca · from Carmen Bruni’s site Remove
Reviewed on UW Flow
73% liked it74% easy88% useful
From 318 ratings and 76 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
You get a lot of people saying this course sucks since it is in edX etc, but personally, it hasn't been too bad. Other than the ****show of lab 3 with the academic integrity violations (and lab 3 in general).... all the other labs were doable in < 2 hours.
What really drives this home is that I find the instructors are genuinely nice. They respond to questions on Piazza fast, and actually *answers* your questions unlike a certain *cough* other corequisite course. Sure, sometimes edX materials or questions are a bit confusing, but they are quick to patch things up. The professors really care that you succeed in this course. Unlike the other *corequisite course*, which I just find both the…Mar 2023 · liked it · 2 found this helpfulOn UW FlowRemove this
The first few labs required a decent amount of time to get through, but the last few were not too bad! Nomair was really caring and enthusiastic, he and all the TAs were always willing to help -- IT WAS AN AMAZING TIME!!! Definitely learned a lot of useful tools :D
Jan 2023 · liked it · 2 found this helpfulOn UW FlowRemove this
I either designed or helped design the majority of this course, and I guarantee it's the most fun and easiest CS course that all CS major students take. Hope you like it! <3
Jul 2022 · liked it · 2 found this helpfulOn UW FlowRemove this
SUPER USEFUL. Take it as seriously as if it were a core course and you will learn a lot. The piazza is great, and the profs - especially Nomair - were very helpful. However, be aware that it is a bit more time-consuming than you d want a "lab" to be
May 2023 · liked it · 1 found this helpfulOn UW FlowRemove this
Mango Tango.
Apr 2023 · liked it · 1 found this helpfulOn UW FlowRemove this
Discussed on r/uwaterloo
135 posts and comments in 88 threads mention CS 136L, September 2021 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
How cooked am I next term 33 points, 27 comments
“https://preview.redd.it/sja2uyioa4ae1.png?width=652&format=png&auto=webp&s=da6f9cb5427cd275561128caa48f6851333be88b I am probably going to regret this. Is this too big of a course load?”
u/Surprised-Egg: “… As far as the other courses go, cs136/cs136l could be really new for you but depending on your programming background/ability you might be able to find it okay. Just start assignments early and get help from office hours and stuff if you're struggling. …”
Overloading 1B Courses 1 point, 6 comments
u/4yan_6: “… This means that if I were to add STAT to my schedule, I would be looking at a total of 3.75 units (cuz of CS136L and PD1). …”
Advice on 1B CS course schedule 5 points, 5 comments
“Here's what my 1B schedule looks like right now Hello! 1st year CS here. I passed all of my courses in 1A, but my average wasn't the best (73%) compared to alot of my friends who consistently got …”
u/CSplays: “You're already taking 5 courses, CS136L is only a half-credit lab course. So if you mean drop to 4, I would drop one of the electives and maybe take it over coop (ENGL 109 tends to be offered online a lot, and is easy to stay on top of). …”
u/Ok_Music_9008: “… Yes i just realized some of my friends are only taking 4 (with CS136L) so I realized I shouldn't take more than that. I'll drop ENGL 119 then. I was wondering can I drop from 138 to 128 later in the term if it's too time consuming? …”
Multiple profs for the same timeslot CS136L 1 point, 1 comment
u/Gold_Lawfulness_9882: “Does it make sense for someone, let's say "Professor X" to be listed as the instructor for two different 10:30 lectures? Am just wondering what that even means. Also, for those who have taken CS136L, would you say the instructor matters or should I not care?”
CS 135 to 136 transition 2 points, 3 comments
u/Objective-Quality963: “Did hella shit on CS 135 (fuck Racket), how much harder or easier is CS 135/136L, is it worth considering dropping down to 116 to boost GPA?”
u/my_copingmechanism: “i did very well in cs135 but was crushed by cs136 😭 plus the labs in cs136l take way too long and aren't even counted towards your gpa. if you didn't do well in cs135 i would not recommend taking cs136, definitely drop down to cs116 instead”
Waterloo courseload 1 point, 8 comments
“Hello everyone I am going into my 1B math term with these courses MATH136 MATH138 CS136 STAT230 ECON101 (Online) Is this too much for me to do in one term, should I consider switching into lower …”
u/mreifslp: “Remember to take CS 136L as well. That being said, this is very standard, it might be a bit harder than 1A due to the extra half course but not by much.”
CS 1B courses 1 point, 3 comments
u/anonim0791: “How doable (with good grades) would be CS 2B: || || |CS 136L, CS 146, MATH 146, MATH 148, STAT 230, ECON 201?| | |”
u/amongus44: “… stat230 pretty easy Econ201 also I believe is rather easy from what other people have said cs136l is a fake course lol just do the thing every week class is optional it won't be easy that's for sure”
How to get co-op 3 points, 8 comments
“I'm a first year math student looking for a swe related co-op for fall 2025. I have minimal coding experience( some C and JavaScript), what should I work on to maximize my chances to get co-op. …”
u/Kassaking777: “… I would suggest learning all concepts covered in CS136 (basic programming with C),CS136L (Linux must know stuff), CS246 (OOP with C++) (only first half for 246, don't waste too much time on "design pattern" for now) + some data structures and algorithm (hashmap, dfs+bfs, you may …”
What courses to choose for 1B CS?? 2 points, 8 comments
u/Physical_Scholar_325: “… Also I think I need to choose CS136L which is only 0.25 credits so how does it work? …”
u/mreifslp: “Yes you take 2.75 credits, so it's 5 courses (3 courses you mentioned + 2 electives) and in addition you take the half course CS 136L”
Advice for 1B course selection 1 point, 4 comments
u/Helpful-Wing4419: “… Since CS 136L is only 0.25 credits, should I add STAT 230 or would that be too much work? …”
Is CS136 and CS136L count as one or two courses? 5 points, 2 comments
u/InuRyu: “Im choosing courses for my 1b rn. if I choose cs136, i also have to choose cs136l. Does that mean I have one elective left to choose or two?”
u/mreifslp: “Two. Usually people in 1B take 5.5 courses and CS 136L counts as a 0.5 course.”
Spring 2024
CS 136/136L course material 3 points, 1 comment
u/icantstudy1999: “Hi, does anyone that have taken the course have a course outline/practice material for CS 136? I wanna get familiar with the course before taking it next term. Could you also share some info about the structure of the course/amount of workload/course organization? …”
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
Calendar versions
Undergraduate Calendar
- 2024–25
- 2025–26
- 2026–27 requisites changed (shown here)
- 2019–20 and earlier on ucalendar