uwloo

CS 116Introduction to Computer Science 2

Units
0.50
Faculty
Mathematics
Subject
Computer Science

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. S27

Ran in 7 of the last 7 terms. Winter 2027: scheduled, 6 lecture sections. Spring 2027: schedule not out yet.

This course builds on the techniques and patterns learned in CS 115 while making the transition to use of an imperative language. Generative and structural recursion. Mutation (assignment) and its role in an imperative language. Primitive types and basic I/O. Sequencing, selection, looping. Function definition and use. File and console I/O. Issues in computer science.

Prerequisites

  • Must have completed at least 1 of the following:
    • CS115 - Introduction to Computer Science 1 (0.50)
    • CS135 - Designing Functional Programs (0.50)
    • CS145 - Designing Functional Programs (Advanced Level) (0.50)

Antirequisites

  • Complete all of the following
    • Not completed nor concurrently enrolled in any of the following:
      • CS114 - Principles of Computing for Science (0.50)
      • CS136 - Elementary Algorithm Design and Data Abstraction (0.50)
      • CS137 - Programming Principles (0.50)
      • CS138 - Introduction to Data Abstraction and Implementation (0.50)
      • CS146 - Elementary Algorithm Design and Data Abstraction (Advanced Level) (0.50)
      • MSE240 - Algorithms and Data Structures (0.50)
      • NE111 - Introduction to Programming for Engineers (0.25)
    • Not completed any of the following:

Leads to

Fall 2026 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 0016168169 / 200Online or by arrangement

Winter 2027 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 00157540 / 100TTh 10:00–11:20
LEC 00257550 / 100TTh 11:30–12:50
LEC 00359080 / 100TTh 11:30–12:50
LEC 00459090 / 100TTh 13:00–14:20
LEC 00557560 / 100TTh 14:30–15:50
LEC 7012173468 / 9999Online or by arrangement
TST 10161740 / 500Feb 1 19:00–20:50
Mar 1 19:00–20:50
Mar 15 19:00–20:50
Mar 25 19:00–20:50

Resources

Around the web

Found by uwloo’s link finder, which checks that each page names CS 116.

Suggest a resource.

Reviewed on UW Flow

80% liked it75% easy88% useful

From 412 ratings and 83 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.

  • 6

    Jan 2023 · didn’t like it · 6 found this helpfulOn UW FlowRemove this

  • Good course, much more useful than 115.

    Jul 2014 · liked it · 4 found this helpfulOn UW FlowRemove this

  • 又臭又长

    Dec 2024 · didn’t like it · 2 found this helpfulOn UW FlowRemove this

  • It's a horrible course. I wouldn't suggest anyone take this course in an online format as the professors just provide us with the content and we need to make us teach ourselves. I had not taken Computer Science in my high school and thought that coming here can clear my concepts, but they didn't teach anything and made us learn everything by ourselves. I strongly recommend everyone don't take this course.

    Apr 2021 · didn’t like it · 2 found this helpfulOn UW FlowRemove this

  • Horrible course. The assignments are thrown on students as if there are no other courses to pay attention to. In a period of 4 months, 9 assignments at least 6 of them asked to code GAMES. Online term, makes it all the more difficult because the modules do not even cover 1/3rd of what is asked on the assignments. This course is designed to fail.

    Nov 2020 · didn’t like it · 2 found this helpfulOn UW FlowRemove this

Discussed on r/uwaterloo

999 posts and comments in 709 threads mention CS 116, April 2011 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

Failed a CS course, feeling lost. 18 points, 6 comments

u/RealMrG005e: “Cs135/racket is just a big pile of shit(forgive me), it’s an awkward language. Getting a low mark doesn’t mean anything. Racket is completely different from python and c. You can still do well in next term cs116/136. I got 70ish in 135 and a high 90 in 136.”

View on RedditRemove this

46 percent in cs115 6 points, 7 comments

“I got a 46, is there any way they could round up to 50? Has anyone every been Able too? I need to pass this course and I had passing grades until before the exam, where I struggled due some …”

u/iamanaybaid555: “46 is a default mark you get if you didn’t meet the exam requirement. I don’t think it’s reflective of the actual mark you got.”

u/CSplays: “You probably wouldn’t want to do that anyway. But, cs 115 is a requirement cs116”

View on RedditRemove this

CS 135 to 136 transition 2 points, 3 comments

“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”

View on RedditRemove this

Feeling lost and embarrassed 29 points, 14 comments

“I’m a CS major with 0 prior programming experience, only getting in because of my love for math. I decided to drop CS135 to 115 after struggling in order to grasp the concepts at a slower pace. …”

u/mmimetamorphosis: “it isn't the end of the world, there's literally a recommended course sequence for students who take CS115 and CS116 and you still graduate on time. …”

u/Informal-Layer2241: “… i took cs 115, then cs 116, then cs 136 over the summer. to be honest, im super happy it worked out this way. 116 allowed me to learn python, and i liked the way the lessons were structured. it was nice having a bit of time to get my feet under me. …”

View on RedditRemove this

Where can I find more practice questions for CS135? And for next term should I switch to CS116 if I’m not doing CS? 5 points, 1 comment

u/Any-Masterpiece-2774: “Basically the title, I’m currently in Math and Business Administration major (the one degree one), is it necessary for me to take CS136 since I already felt a little pressure from CS135?”

u/f50_thousand_miles: “not necessary to take cs 136 as a mathbus student, all the required courses just need cs 116 as pre req. source: am mathbus major last time I took it, there were a lot of past exams posted on the website and it was pretty helpful”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar