CPSC 121: Models of Computation

Posted on December 31, 2019

Course Format

The course involves a “flipped classroom” where you do pre-readings before class and solve worksheets during class. There are also assignments that usually span 1.5 - 3 weeks (I can’t quite remember). There is also a lab portion where you get to use some circuits. This is the extent of a computer science student’s interaction with circuit’s though. Lastly, there are weekly tutorials where you go through problems on a worksheet and then watch the TA explain the correct solution.

Importance of Course

This course is the second required course you need must take to apply to the computer science major at UBC. At its core, CPSC 121 is an introductory proof and logic course with circuits thrown in for good measure. Most high school students have never been exposed to the content in CPSC 121 - in CPSC 121 you must think about the why vs. the how. I usually never use office hours, but for this course I did! The assignments can be challenging, but it also feels really good to churn out a proof by induction; don’t procrastinate the assignments. My advice is to keep on top of your textbook readings and use those office hours. Learning about proofs, logic and circuits can throw you into a new way of thinking that is typically not taught in high school, which is important for computer science.

My Thoughts

This course is more theoretical than CPSC 110, and I enjoyed the theoretical nature of it. Proofs are hard to think about, but the more you practise the better you get with proofs.