Tag Archives: CPSC 121

Course Review: CPSC 121

Models of Computation

 “The laptop that you are using is a lot more powerful than a DFA!”

Text: Discrete Mathematics with Applications 4th Edition by S. Epp (see website for other options)

Prof: Dr George Tsiknis

George Tsiknis is the kindest prof in the world. His amazing accent, and personal warmth really leave an impression. He also has a great sense of humour. Its unfortunate that he had family emergency towards the end. Even though he was really going through a lot, he came to class and made sure we were ready for our final. Great guy. Some of the questions in the slides are worded vaguely, making it difficult to get the I-clickers, but they are only for participation anyway, so its all good.  Really willing to slow down and take questions if you need help, in class. I suppose tutorials and office hours must have been equally beneficial.


I get the sense that the topics on this course are very deep. That said, we skirt at the surface of most of these topics, and as a result, the course is quite straight-forward for the most part.

Key Concepts

Elementary Logic

Proof Strategies

Logic Circuits

Hard Concepts

Algorithm Efficiency: The rigorous definition is quite long-winding. Knowledge of Big-Oh notation from Calculus class could help.

Interpreting Sequential Circuits: I found these really tricky in the lab and on exams. They are kind of puzzle like problems- in that you either get them or you don’t- but you can spend a long time just making sense of what’s going on, even if you understand the fundamentals really well.

Predicate: Conceptually easy, but also easy to make careless mistakes or you can confused in half-way through your own translation.


Fun lab. I kinda freaked out the first few days since I had no clue how to operate a Magic Box or breadboard, but after a while the labs started making sense and I started to enjoy simulating circuits with Logism (which is freely downloadable, btw) or cracking circuit puzzles. Ultimately you simulate a working computer, but it is still a long way a way from the real deal. Pre-labs are not too intense. Most labs are with a partner, so efficient teamwork can get you done a lot faster.


Fun course. Useful in learning basic logic, mathematical proof and simple models of a computer. But I get the feeling that the computer models we use are so simplified that they are ultimately interesting but have appear to have little real world application. I was waiting to connect what we learnt in class with my PC at home but that happened only superficially for me…The surprising immediate application I got out of this class were proof strategies that helped a lot in Math 121.