Basics of programming in C++
Awesome course I learned a ton!
- Pointers
- Memory allocation and garbage cleaning
- Object orientated programming
- Polymorphism
Final Project
- Onion Omega microcontroller
- Created a pong game with ultra sonic sensors
Amazing course that teaches you what it means to be an engineer.
- Eng Safety
- Eng Responsibilities
- Project Management
- Business / Entrepreneurship
- Entering Engineering Society
Basically an engineering requirement. Basics in electrochemistry, unit conversion, chemical reactions, and phase theory. This is not an easy course! I did not enjoy the content that much but our professor was really engaging.
Basically an engineering requirement designed to fail 1/3 of the class since Uwaterloo takes too many students to support in the first year. The course covers dynamics, circular motion, work, energy, momentum, harmonic motion, and rolling motion. I hated every minute of this course.
Advanced topics that are derived from high school linear algebra courses.
- Linear equations
- Matrices
- Vector Spaces
- Complex Numbers
It was a tough and enriching course. Concepts that I still use today when creating image recognition engines. Or working with ML algorithmns
A very fast paced course that students outside of Ontario find easy ( I am an Ontario student).
- Interpolation, Taylor Polynomials, Various methods like newtons method
- Advanced Integrals
This course was very challenging because of how quickly we covered topics.
Introduction and advance topics of designing circuits. Professor Ramadan was I really enjoyed this course.
- Finding Voltage, Current, and Capacitance using Ohm's and Kirchhoff's laws
- Nodal analysis, Mesh Analysis
- Circuit Transformation
- Op-Amps
- Time response
- Sinusoidal steady-state
A real computer engineering course! We learned about computer hardware and how to program hardware for optimal solutions. We covered number systems, boolean algebra, and timing analysis. We used assembly language to program various computer arithmetical components such as an adder or a multiplexor.
Basically another engineering requirement filled with bogus content. Yes we learn a ton of interesting things but the pacing is poor, the professors don't teach well, and then they aggressively make our exams impossible to complete. I am sure I scored a 33% on my final (since I could only fill 1/3 of it ) but ended up with at 70%. Any course designed to fail students is a bad one.
Surprisingly interesting course. We learn about proving mathematical statements and how to think outside the box. We covered Boolean logic, syntax and semantics, proof theory, model theory, set theory, and permissions/combinations.
A much more challenging ECE117. This was taught by an amazing professor (Brenda). Taylor series and polynomials, functional partial derivatives, linear approximation, and vectors were covered in this course.
Advance topics of designing circuits. Op Amps, diodes, MOS, bipolar amplifier biasing, and transistors were covered. This was one of the hardest courses I have taken as our Professor Levine was adamant to fail his class by giving us exam questions that were unbearably difficult to complete in a short period of time.
An amazing course that covers the essentials of data structures and algorithms. Prof Ladan covered topics of time complexity, sorting, searching, and dynamic problem solving.
- Hashing
- Search Tree's, Balanced BST's, B-Trees
- Heaps, Priority Queues
- Graphs
- NP- Completeness
- Dijkstra and Bellman Ford
Professor Gebotys strikes again. One of the best courses taught at this school. This course focuses on memory units, I/O operations, Assembly language labs using VDHL, and arithmetic logic units. We programmed state machines such as a relay unit.
An introduction to the engineering profession, standards of safety, code of conducts, legal practices, tort , intellectual property (patents, copyrights, industrial designs), dispute resolution, , Labour Relations and Employment Law, Environmental Law. I enjoyed this course so much that I have considered to enter patent law after graduation.
This course focuses on various computational methods. Number systems, errors and error propagation. Roots of nonlinear equations. Interpolation and numerical integration. Prof Harder helps outside the class and is amazing. I personally did not enjoy the course because it had boring content.
Analysis on ODE's, the harmonic oscillator, the Laplace transform , Fourier series, and PDE's. Fun course hard assignments.
Discrete, continuous and periodic signals, time- and frequency-domain analysis of continuous- and discrete-time linear systems, periodic signals and Fourier series, non-periodic signals and Fourier transforms. A very useless course for a computer engineer as most of the concepts covered are usually solved by a programmed computer.
Using C, this course focuses on programming using processes and threads, utilizing system calls, following concurrency using a semaphore or mutex, user level memory management, deadlock detection, and managing file systems.
Professor BillBishop is amazing. This course covers bus systems of computer hardware, memory systems, peripherals, (parallel, serial, analog) interfaces, data transfers, synchronization with timing diagrams, and error detection/correction.
Wow. Amazing. Fantastic. Not enough words to describe this course. We were privileged enough to be able to create our own embedded systems design project. We created an X-Y Controller.
We covered everything from designing and planning a PCB board using Diptrace, getting our circuit board manufactured, and soldering in various components such as diodes and transistors. Then we used C to program our board to spin 2 different DC motors.
Continuation of ECE 108 from 1B. This course focused on Boolean logic, proof systems, soundness, completeness, deterministic and non-deterministic finite automata, regular expressions, and NP completeness. It was oddly satisfying to solve problems in this course.
Just a school requirement. This course consists of writing 4 essays throughout the term and doing some small assignments. I wrote a story about my journey to India.
Discrete, continuous and periodic signals, time- and frequency-domain analysis of continuous- and discrete-time linear systems, periodic signals and Fourier series, non-periodic signals and Fourier transforms.
Using C, this course focuses on programming using processes and threads, utilizing system calls, following concurrency using a semaphore or mutex, user level memory management, deadlock detection, and managing file systems.
Professor BillBishop is amazing. This course covers bus systems of computer hardware, memory systems, peripherals, (parallel, serial, analog) interfaces, data transfers, synchronization with timing diagrams, and error detection/correction.
I have always had a passion in learning about finance. I already a took microeconomics course in my free time so I wanted to learn about macroeconomics. This was a really good course. It covered topics like interest rates, health of an economy, and how banks work. This is a great elective to become more financially aware.
Continuation of ECE 108 from 1B. This course focused on Boolean logic, proof systems, soundness, completeness, deterministic and non-deterministic finite automata, regular expressions, and NP completeness. It was oddly satisfying to solve
When I was a kid I wanted to become an Astronaut. I loved the idea of space travel, discovering new life, finding mysterious planets, and understanding our origins as humans. This course teaches engineers how to measure far away distances, how the universe came to existence, the various components of the solar system, how we are searching for exo-planets, and the possibility of traveling rapidly using wormholes.
This was a very easy course that taught very difficult concepts. It was poorly organized but the professor and the TA's were amazing. This course covers image recognition with edge detection and filters, logistic regression for optimal estimation, Neural Networks for modeling, image classes, Object detection, system modeling, probabilistic modeling, vehicle modeling, and trajectory modeling.
A very difficult course that covers Quantum measurements, Matrix Notation, Expectation Values, Uncertainty, Wave mechanics, and Time Dilation. The last unit was rushed but covered interesting applications of quantum mechanics in cryptography and computation. We also created a presentation on Ultra precise clocks and their uses for GPS systems.
This was one of the hardest course I have ever taken, primarily because the time required to do the labs is immense. We developed the components of a Kernel for an Altera processor.
We covered all topics of the OS : Threads, Memory Management, Uni and Multi-processor scheduling, Real-Time Systems, Address translation, caching, and File Systems.
This course teaches economical analysis, environmental impact, and social impact of engineering projects. The course was relatively easy but taught me a ton about finance and project planning. We also did a final project that consisted of a video presentation and official report for the Sarnia Photovoltaic Power Plant.
This was very important course that taught the concept of optimization for non-linear problems. Final project was a tough one where we find a real world optimization problem and then present our solution.
The Final Year design project. We designed WeldView, the AR solution for welding precision.
An incredibly interesting course that covers Game Theory, basics of algorithmic problem solving, and wraps up with neural networks.
Fantastic and entertaining. The Professor really knows his stuff. 4 quizzes on music from 1940's to 1980's. Incredible how the history shaped the developtment and influence of music.
A very rewarding English course that covers the history of DC comics, their origins, and cultural influence. There were 10 quizzes, and 2 essay assignments.
Continuing from the previous course, we finally presented our design and shared our findings with out mentor.
This was a facinating course that covered the various greek mythology stories starting with the world origins. Well organized and the instructor was passionate and cute.
A rewarding in depth course that covered the high level design of app developtment and services. Many quizes and one final group project where we made a meal planner android app.
This was a research project I took up with my Adaptive Programing professor, Otman Basir. Using the Ant Colony Method and Genetic Algorithms, I aimed to develop the correct speed cars should travel to reduce fuel consumption and optimize the travel time for all participants of the traffic road system.