Distributed Systems

ECE419, Winter 2026
University of Toronto
Instructor: Ashvin Goel

    Distributed Systems

ECE419 Course FAQ

Q: I really like this course. What are other software/hardware courses that complement this course?

A: Here are some related ECE and CS courses. Feel free to let us know if you think other courses are related.

  1. Computer Systems Programming [ECE454]: Teaches how to write more efficient programs by describing what is going on "under the hood" of a computer system.

  2. Computer Architecture [ECE552]: Dives deeper into instruction-level parallelism, data-level parallelism, thread-level parallelism, and memory hierarchy.

  3. Computer Security [ECE568]: Describes the principles of building secure systems, including identifying security vulnerabilities and defending against exploits.

  4. Computer Internetworking [ECE461]: Explains the architectures and protocols of the Internet. Shows how to configure Internet-based network environments. Note that ECE361 is no longer a prerequisite for this course.

  5. Compilers & Interpreters [ECE467H1]: Focuses on the front-end of compiler design, including lexical analysis, parsing, semantic analysis, and intermediate code generation.

  6. Compiler optimization [CSCD70]: Discusses the theoretical and practical aspects of building optimizing compilers that effectively exploit modern architectures.

  7. Advanced Operating Systems [CSC469]: Explores the design of modern operating systems and large concurrent systems.

  8. Parallel Programming [CSC367]: Similar to ECE454, but includes vector processing and parallel computing architectures.

  9. Database System Technology [CSC443]: Discuses database systems in depth, including the transaction processing aspects of distributed systems.