In the 2023-24 academic year, I will be teaching:

  • Computer Organization (CSC258H1F)
  • Operating Systems (CSC369H1S), and
  • Microprocessor Systems (CSC385H1S)

I last taught Computer Organization in the Fall term of 2022 (course website). One thing I am currently experimenting with is automated testing for circuits. For those unaware, the course has lab preparation exercises where students submit circuit designs. And Logisim Evolution, the software used by the course, has a command-line interface for running simulations of those circuit designs. What’s left is creating a sort of framework that can invoke the command-line interface, collect its results, and compare those results against expected values.

I taught Operating Systems in the Winter term of 2023 (course website) and received a lot of feedback on the assignments in the course. So, naturally, that is where I will be focusing my efforts. One thing I’d like to do is make sure that students can compile and test their solutions on their own computers, without requiring an ssh connection to our servers. I’m currently looking into how to set this up through a headless virtual machine that connects to an IDE. If you’ve used the Windows Subsystem for Linux (WSL) with a connection to it through VS Code, you have a good idea of what I’m trying to do (except I’m not using WSL).

I taught Microprocessor Systems in the Winter term of 2022 (course website). This will be the third time I get to teach Microprocessor Systems, but only the second time as a faculty member. It’s also the second time I teach it using our “new” Internet-of-Things discovery boards. The last time this course was offered, in the winter term of 2022, there had to be a lot of last minute changes as we dealt with the “last wave” (famous last words?) of COVID. This time, with fully in-person labs for the duration of the semester, I’m hoping for a different experience!