Y3S1 Courses Information (UofT)
Overview of my Fall 2024 (Year 3 Sem 1) courses at University of Toronto
Here’s the list of courses I did during my exchange at University of Toronto!
- CSC465H1: Formal Methods in Software Design
- CSC373H1: Algorithm Design, Analysis & Complexity
- CSC324H1: Principles of Programming Languages
- PSY100H1: Introductory Psychology
Originally, I had taken CSC420H1: Introduction to Image Understanding, which was the computer vision equivalent module there, but me and my buddy decided to drop it to focus on other courses, and have a more relaxed time on exchange!
btw, UofT uses Canvas, but they call it “Quercus”, a northern red oak native to Canada.
Here’s a quick rundown of the courses we took!
CSC465: Formal Methods in Software Design
This course is taught by Prof. Eric Hehner, who has been teaching the course for the last 20+ years or so (if I remember what he told us correctly). It was an honour to take the course under him. The whole course is online, and he encourages those who want, to take the course in their own time! Here is the course website, do feel free to take a look! He has kindly uploaded all his lecture recordings, slides, transcripts, textbook, exercises, solutions and the like online, and anyone who wants to learn the content, can.
We had our classes conducted in UC179 University College, which was this beautiful Romaneseque Revival-style building here:
It was the only course where I had a class in that building, which I’m grateful for.
The content was a lot of predicate (boolean) logic, theory, formal specifications, formal proofs, logical reasoning, etc. etc. The whole course is available online, here’s the textbook, so you can see if you want to. Since Prof. Hehner himself wrote the book, it follows the course to a tee (or the other way around?). Although I ended up scoring an A for the module, I definitely did not have an easy time doing so. This course will definitely have a special place in my heart.
CSC373: Algorithm Design, Analysis & Complexity
This course covered standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms,NP-completeness: polynomial time reductions, examples of various NP-complete problems, self-reducibility. Additional topics also included approximation and randomized algorithms.
It was much much more forgiving than NUS’ CS3230. Take it if you can!
CSC324: Principles of Programming Languages
In CSC324, we dabbled in both functional languages Racket (dynamically typed) and Haskell (statically typed), with our assignments and exams both requiring us to code, logic and reason in the respective language semantics.
In particular, we covered topics like syntax and semantics specification, type systems, type inference, exception handling, information hiding, structural recursion, and higher-order functions etc.
Sprinkled with some Monads, Functors etc. I would give it maybe a 6.5/10.
PSY100: Introductory Psychology
A brief introductory survey of psychology as both a biological and social science. Topics will include behavioural neuroscience, learning, perceptual, motivational, cognitive, developmental, personality, abnormal, and social psychology.
I honestly enjoyed my time learning about the Psychology topics! Fun fact was that I rushed out all the CA components because we had to pay $60 for access to the textbook / platform (MindTap?) after the free trial, so I just spent two days finishing all the exercises in a sprint.
Additionally, lectures by Prof. Ashley Waggoner Denton were held in the Convocation Hall!
I enjoyed spending time learning about psychology topics from the neurons and mechanisms in the brain, and memory functioning, to learning, cognition and psychological disorders. Really fun! The final exam was 100 MCQ though. Fun.
End
Before I knew it, it was already winter and we were preparing for our finals there at UofT. I had a great time overall during my exchange there, and I am truly grateful I got to have a taster of what university courses were like at a different university, especially one so far from my own!
I wrote this post in case it be come useful or interesting to future UofT exchangers from NUS (or NTU, or any other university). Feel free to contact me if you need to!