Computer Engineering and Law degrees, year by year — with honest notes on each.
ECE 150
Basics of programming in C++. Awesome course — learned a ton. Final project: a Pong game built on an Onion Omega microcontroller with ultrasonic sensors.
ECE 190
Teaches what it means to be an engineer — safety, responsibilities, project management, entrepreneurship, and joining the engineering society.
CHE 102
Electrochemistry, unit conversion, chemical reactions, and phase theory. Not an easy course, but an engaging professor made it bearable.
ECE 105
Dynamics, circular motion, work, energy, momentum, harmonic motion, and rolling motion. Notoriously one of the course designed to weed students out.
MATH 115
Advanced linear algebra — matrices, vector spaces, complex numbers. Concepts I still apply when building image recognition engines and ML algorithms.
MATH 119
Fast-paced calculus covering Taylor polynomials, Newton's method, interpolation, and advanced integrals. Very challenging for Ontario high-school students.
ECE 140
Introduction to circuits: Ohm's and Kirchhoff's laws, nodal/mesh analysis, op-amps, time response, and sinusoidal steady-state. Really enjoyed this one.
ECE 124
A real computer engineering course — hardware design, boolean algebra, timing analysis, number systems, and assembly language to build arithmetic components like adders.
ECE 106
Interesting content but poorly paced and brutal exams. Somehow finished with a 70% after completing only 1/3 of the final.
ECE 108
Surprisingly interesting. Boolean logic, proof theory, model theory, set theory, and combinatorics. Great for training abstract thinking.
ECE 119
Taylor series, partial derivatives, linear approximation, and vectors. Taught by the amazing Professor Brenda.
ECE 240
Advanced circuits: op-amps, diodes, MOS, bipolar amplifier biasing, and transistors. One of the hardest courses taken — brutal exam questions under tight time pressure.
ECE 250
Essential course covering time complexity, sorting, searching, and dynamic problem solving. Hashing, search trees, heaps, graphs, NP-completeness, Dijkstra, Bellman-Ford.
ECE 222
One of the best courses at the school (Prof. Gebotys). Memory units, I/O, Assembly/VHDL labs, and ALUs. Programmed real state machines.
ECE 290
Intellectual property (patents, copyrights), tort law, labour relations, environmental law. This course is what inspired me to pursue patent law after graduation.
ECE 204
Computational methods, error propagation, root-finding, interpolation, and numerical integration. Prof. Harder is excellent; the content itself is dry.
ECE 205
ODEs, harmonic oscillator, Laplace transform, Fourier series, and PDEs. Fun course, tough assignments.
ECE 207
Discrete/continuous signals, Fourier series and transforms, time/frequency-domain analysis. Largely theoretical for a computer engineer, but foundational.
ECE 252
C programming, processes, threads, system calls, semaphores, mutexes, deadlock detection, and file system management.
ECE 224
Prof. BillBishop is amazing. Bus systems, memory, peripheral interfaces, data transfers, synchronisation, and error detection/correction.
ECE 298
Designed and built an X-Y Controller end-to-end: PCB design in Diptrace, manufacturing, soldering, and C programming to spin DC motors. Outstanding hands-on experience.
ECE 208
Continuation of ECE 108 — automata theory, regular expressions, NP completeness, and proof systems. Oddly satisfying problem-solving.
ENGL 109
Four essays over the term plus small assignments. I wrote about my journey to India — a surprisingly reflective exercise.
ECE 380
Continuous and periodic signals, frequency-domain analysis, Fourier series and transforms for control system design.
ECE 351
Compiler design using C: lexing, parsing, semantic analysis, code generation, and optimisation.
ECE 327
Hardware memory systems, peripherals, interfaces, and synchronisation with timing diagrams.
ECON 140W
Interest rates, economic health indicators, and how banks work. A great elective to become more financially literate — something I was already passionate about.
ECE 306
Probabilistic reasoning, distributions, and statistical inference — foundational for machine learning and data analysis work.
SCI 238
How to measure stellar distances, the origins of the universe, the solar system, exoplanet search methods, and the theoretical possibility of wormhole travel.
ECE 495
Image recognition, edge detection, logistic regression, neural networks, object detection, probabilistic modelling, and trajectory planning. Poorly organised but great content and TAs.
ECE 405
Quantum measurements, matrix notation, wave mechanics, time dilation, and applications in cryptography and computation. Final presentation on ultra-precise clocks for GPS.
ECE 350
One of the hardest courses taken — developed Kernel components for an Altera processor. Threads, memory management, scheduling, caching, and file systems.
ECE 390
Economic analysis, environmental and social impact of engineering projects. Final project: video presentation and report on the Sarnia Photovoltaic Power Plant.
MSCI 331
Optimization for non-linear problems. Final project: identify a real-world optimization problem and present a solution.
GENE 403
Final Year design project. Designed WeldView — an AR solution for welding precision improvement.
ECE 457A
Game theory, algorithmic problem solving, and neural networks. An incredibly interesting course with real-world applications.
MUSIC 140
Four quizzes covering music history from the 1940s to 1980s. Incredible how history shaped the development and influence of music. The professor really knows his stuff.
ENGL 108A
History of DC comics, their origins and cultural influence. Ten quizzes and two essay assignments. A rewarding and surprisingly deep English course.
GENE 404
Concluded the WeldView AR project — presented final design and shared findings with the faculty mentor.
CLAS 104
Greek mythology from world origins through the major gods and heroes. Well-organised and taught by a passionate instructor.
ECE 452
High-level app architecture and services design. Multiple quizzes and a group project building a meal-planner Android app.
ECE 499
Research project with Prof. Otman Basir. Used Ant Colony Method and Genetic Algorithms to find optimal vehicle speeds — minimising fuel consumption and travel time for all road participants.
Windsor Law
Overall Reflections — Grading & Student Life
Earning a high GPA at Windsor Law is challenging because most classes are strictly curved to a 72–76% average. Poorly written or highly debatable multiple-choice questions often function more as a mechanism to spread out grades than to truly test knowledge. Many professors also seem reluctant to award perfect scores on written work, even for excellent answers, before the curve is applied.
Beyond academics, making good friends early creates a healthier, more supportive study environment. Law school burnout is very real but becomes manageable if you make a conscious effort to enjoy the experience. Talk to your seniors — they understand exactly what you're going through. At Windsor Law, I found most students were genuinely helpful and supportive, which made the program far more enjoyable.
Constitutional Law
Covered the Canadian Constitution, division of powers, and landmark constitutional cases. Professor Richard Moon (now retired) taught the material in a story-like manner — like sitting with a wise grandpa sharing fascinating stories. Easily one of the most engaging teaching styles I experienced in law school.
Criminal Law
Examined foundational criminal cases — assault, murder, prostitution-related offences — with a strong emphasis on how bias shapes guilt determinations and how the system pursues justice. Meaningful discussion on the treatment of Black, Indigenous, and South Asian accused. Taught by Professor David Tanovich, widely regarded as one of the university's top professors. Easily the best course I took across all three years — surprising, given that criminal law wasn't an area I was particularly interested in beforehand.
Property Law
Began with first principles — labour theory, the settler expansionist mindset — then traced property law's evolution in Canada, with significant focus on Crown title versus Aboriginal rights and adverse possession. A clear lesson from this course: law school often means learning to apply the law the way your professor sees fit, rather than purely exercising independent critical thinking.
Contract Law
Covered the key elements of a valid contract with plenty of case law illustrating arguments from both sides. Professor Waters was pleasant but frequently read directly from a prepared script without elaborating. Practice problems were too basic to prepare for his multiple-choice exams, which were often surprisingly subjective.
Legal Research
Practical course covering essential research tools including Westlaw, CanLII, and Lexis+. Moot practice and factum drafting were especially useful. One frustration: instead of being shown a model 100% factum, we were given an 80% example with marked mistakes and told to figure out excellence on our own — inadequate for a foundational course.
Indigenous Legal Orders
Taught by Professor Beverly Jacobs from a powerful first-person perspective. Covered the harsh actions taken by the British Empire to eliminate or assimilate Indigenous peoples, the formation and violation of treaties, and why Indigenous legal values have proven so difficult to incorporate into the Canadian legal system.
Access to Justice
Taught by Professor Overholt, this course examined barriers that prevent marginalized communities from accessing justice — whether due to systemic failures or lack of adequate representation. I particularly enjoyed the section on AI and the Law. For my paper, I took a more optimistic stance on AI's potential in the legal field, contrasting with the more pessimistic views of many classmates.
Coming Soon
Add your 2L Fall courses here by duplicating a course card block above.
Coming Soon
Add your 2L Winter courses here by duplicating a course card block above.
Coming Soon
Add your 3L Fall courses here by duplicating a course card block above.
Coming Soon
Add your 3L Winter courses here by duplicating a course card block above.