university of guelph

Faiz Mustansar··8 min read

a semester-by-semester breakdown of my computer science journey at the university of guelph.

university is a mix of highs and lows. some courses are easy, others will test your patience. here is my honest breakdown of cs at guelph.

first year

fall 2023

  • cis1300 - programming
    professor: ritu
    easy intro to programming with basic c concepts. assignments were straightforward, and the final exam was manageable.
  • cis1910 - discrete structures i
    professor: pascal
    explored logic and proofs. pascal made quizzes and exams online before he retired. this course is a brain teaser because it tests problem-solving and proof-writing skills.
  • math1160 - linear algebra i
    professor: garvie
    best decision was taking it in the fall with garvie. online multiple-choice quizzes and exams made it very doable. i was supposed to take this in w25, but reddit convinced me to switch.
  • math1200 - calculus i
    professor: demars
    barely passed, so i got no comments. calculus was not my thing, but the professor was great (he got 5/5 on ratemyprof).
  • mcs1000 - introductory marketing
    professor: mckenzie
    super easy elective. simple concepts, and the exams were chill.

winter 2024

  • cis1050 - web design & development
    professor: yan yan
    html, css, and javascript basics. lost marks for spelling, which was annoying, but overall an easy course.
  • cis2500 - intermediate programming
    professor: ritu
    had 98% before my usual exam struggles brought it down. covered advanced c topics like pointers and memory management.
  • cis2910 - discrete structures ii
    professor: colby parsons
    challenging but fun. colby (a waterloo grad) was interactive and even engaged with us on discord.

summer 2024

all bird courses while doing ura.

  • frhd1010 - human development
    professor: susan change
  • mcs2100 - personal financial management
    professor: leslie legge
  • mgmt2150 - intro to canadian business
    professor: mir lotfi
  • nutr1010 - introduction to nutrition
    professor: joan jory

second year

fall 2024

  • cis2030 - microcomputers
    professor: gary grewel
    toughest course so far. low-level programming and assembly were rough. somehow passed, even though i failed the exam.
  • cis2430 - object-oriented programming
    professor: fei song
    had java experience from high school, which helped a lot. really enjoyed this course.
  • cis2520 - data structures
    professor: yan yan
    one of my favorites. the concepts just clicked for me. even made a github repo (200+ views) to help others study for the final.
  • frhd1100 - life: health and well-being
    professor: robin milhausen
    bird course. clutched my gpa with this one.

winter 2025

  • cis2750 - software development & integration
    professor: dennis nikitenko
    used to be a tough course with a high fail rate, but it is easier now.
  • cis3110 - operating systems
    professor: andrew hamilton-wright
    worst course i have taken so far. he used lecture slides with tons of errors as well as assignments from 23 years ago from a different university. ended up dropping it and retaking it in the summer at uottawa. avoid this prof at all costs.ratemyprof · reddit post
  • cis3190 - software for legacy systems
    professor: zhao zhao
    easy, but you will be working with old languages like cobol and ada. tas took a while to grade, but the marking was pretty light.
  • cis3490 - algorithm design & analysis
    professors: joe sawada & daniel garbic
    enjoyed it since it involved real-world applications like finding the shortest path between cities. feels like cis1910 and cis2910 but focused on efficiency.
  • cis3750 - system analysis & design
    professor: daniel gillis
    some people complain, but i think he is fine. just attend lectures and you will be ok. i enjoyed this course because we did not do any coding. it is mainly about software development outside of coding, so you create figma prototypes and present them to volunteers, similar to how it works when you pitch in the real world.

summer 2025

bit of a hectic summer. i am taking a course at both uwaterloo and uottawa, plus five de courses at guelph. i am also working one full-time job (full-stack dev) and one part-time job (software dev) during the summer.

university of waterloo

  • cs349 - user interfaces

university of ottawa

  • csi 3131 - operating systems

university of guelph

  • spmt1020 - sport management today
  • mgmt3300 - project management
  • mgmt3100 - strategies for career success
  • spmt1120 - dynamics of sport fans
  • frhd1020 - couple & family relationships

third year

fall 2025

university of waterloo

  • cs346 - application development
  • cs449 - human-computer interaction

university of guelph

  • cis3150 - theory of computation
  • cis3760 - software engineering
  • cis4150 - software reliability & testing
  • cis3090 - parallel programming
  • cis3130 - system modelling and simulation

yes, seven courses, and that is not it: working part time as a software engineer, teaching assistant for mcs2000 (in person and de, so two courses basically), frontend developer for hackcanada, and a few side projects.

winter 2026

finally secured a proper internship, working at td as a swe intern. that said, i will not be in school for the entire 2026 year and will return to complete my last winter semester, finishing my degree in three years with a gap year.