CPSC 121

Models of Computation

Course Description

Physical and mathematical structures of computation. Boolean algebra and combinations logic circuits; proof techniques; functions and sequential circuits; sets and relations; finite state machines; sequential instruction execution.

Average difficulty
3.85 / 5
Average quality
3.92 / 5
Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]
3
3

I found this course interesting but pretty hard and time consuming
Difficulty:4.5
Quality:4
kr, Jan 14 2024, course taken 2022W2
Iโ€™m a big believer in strong fundamentals and foundations and this course does a decent job of teaching those foundations. Some might not feel the course is practical, but Iโ€™ve used things I learned in this course on the job to prove the correctness of code Iโ€™ve written to myself. Before taking this course, I wouldnโ€™t have been able to do that. Also if you like math/logic you will likely enjoy the proof-related aspects of the course. However, there are some knocks on the course. The labs and lectures feel largely disjoint, and the course kind of feels like a hodgepodge of topics than a cohesive whole.
Difficulty:3.5
Quality:4
ushankab, Dec 17 2023, course taken 2021W1
I didn’t find any of the 100-level year courses that difficult. This course I found slightly more challenging than 110 (along with the descendants of this course (CPSC 221, 320) v. (CPSC 210, 310)).
Difficulty:2
Quality:4
Jen Chen, Jul 20 2023, course taken 2018W1

The course was fairly difficult in terms of concepts and takes a good amount of practice to come to grips with. The topics chosen itself are very interesting and have increased my interest in programming and computing.

I had Patrice as my professor, and his lectures were well done, although I do wish slides were more detailed so that they were more helpful when reviewing (ie. mix in a bit of Geoffrey’s slides).

The labs were very fun to complete and had a good balance of difficulty. The magic box portion was fun to play with and observe what happens, but sometimes kits were missing wires of ICs and would hinder the process a bit. The rest of the lab content when using Logisim was fun and intuitive to use.

Difficulty:5
Quality:4.5
Daniel, Apr 6 2023, course taken 2023W2
Undoubtedly, 121 is an interesting course; however, the class teaching/learning doesn’t directly correlates to the exam difficulty levels.
Difficulty:5
Quality:4
Malkeet Singh, Apr 5 2023, course taken 2023W2
Moves through deep technical content very quickly. Lab content often is independent of lecture content. Requires effort to stay on top of content and not fall behind.
Difficulty:4
Quality:2.5
Adam, Apr 5 2023, course taken 2023W2
The course was logical and no coding was required. Tutorials are super helpful to gain a better understanding on the course material. In labs, we worked in pairs and it was a good experience to meet new people in CS but it was a definitely a time crunch. Make sure to set aside plenty of time for assignments.
Difficulty:1.5
Quality:5
Stephanie Ho, Oct 25 2022, course taken 2021W2
Interesting course that is actually more about logic rather than actual programming. Not too hard, but definitely requires a lot of studying
Difficulty:3.5
Quality:3.5
Leila, Oct 25 2022, course taken 2022W2
Covers extremely important CS and mathematical concepts, but I found the course to be poorly structured compared to other CS courses. Material in labs seemed completely unrelated to lecture. Professors are great though, funny, caring, hold excellent office hours. Course can be quite challenging for those who struggle with logical thinking. Find a good assignment partner!!
Difficulty:5
Quality:4
cinadia, Oct 25 2022, course taken 2021W1
Confusing but fun. Keep doing the work and you will get an A
Difficulty:4.5
Quality:4.5
pilatus14a, Oct 25 2022, course taken 2019W2
Did not like this course personally. A lot of proofs and boolean algebra. Also Hated using LaTeX for the assignments.
Difficulty:3.5
Quality:3
Sss, Nov 3 2022, course taken 2019W2
  • important topics
  • course content can be difficult like the proofs
  • there is a big time investment needed to do work and have solid understanding
Difficulty:4
Quality:3.5
Eugene, Nov 4 2022, course taken 2017W2
The course covers a wide range of material, including propositional logic, proofs, and circuit diagrams. I found the course pace and progression quite reasonable. I especially enjoyed the labs - the content builds up from simple AND gates to simulating an entire CPU. Assignments and tutorials are very useful for building a deeper understanding of the topics!
Difficulty:4
Quality:4.5
proofbyinduction, Nov 17 2022, course taken 2021W2

Historical grade information

Grades information from UBC Grades Database