Hardest courses in Electrical and Computer Engineering
Plan ahead for courses where students have earned lower grades.
Lowest historical GPA first. At least 100 letter grades over the five years through the
selected term. Grades reflect past outcomes, not workload or a guaranteed result.
Find your fit
47 courses
Ranked courses have at least 100 recorded letter grades.
Covers DC and AC circuit analysis, including nodal/mesh methods, Thevenin/Norton equivalents, op-amp circuits, transient response, phasors, and power characterization.
Machine Organization and Programming introduces computer system structures and C programming, focusing on low-level performance impacts like virtual memory, caching, and assembly.
Introduction to cryptography covering secure transmission of digital information, distinguishing perfect from computational security, and introducing technical aspects.
The flipped format required studying before class, and the material demanded a mix of memorization and application that could stack up quickly if you fell behind.
Introduction to Optimization covers mathematical optimization from a modeling and solution perspective, focusing on formulating discrete and continuous optimization problems and equilibrium models.
Past student reviews · Michael Ferris, Laurent Lessard
Homework assignments were difficult and time-consuming, with one student noting they would ruin their social life, while another found them helpful for learning.
Digital System Design and Synthesis covers HDLs like Verilog/VHDL, automated synthesis, advanced design principles, timing-oriented synthesis, IC layout relations, and design for reuse.
Past student reviews · Anthony Gregerson, Michael Morrow
The semester project was reported to be a significant amount of work that challenged students, requiring them to avoid procrastination. One student noted the project would challenge them significantly but was ultimately worth the effort.
Electronic Circuits I covers modeling, characterization, and application of semiconductor devices and integrated circuits, focusing on diodes, transistors, and op-amps for linear amplifier design.
Online quizzes were due twice weekly before lectures, covering material not yet taught. Students reported that homework and tests required self-study from the textbook because in-class examples were trivial or absent.
Microelectronic Devices covers semiconductor characteristics, physical mechanisms, and circuit modeling of solid-state electronic and photonic devices, plus microelectronic processing principles.
Homework assignments were challenging and time-consuming, requiring significant effort. Students found the class became much easier when they actively collaborated with their group and attended discussion sessions.
Introduction to microprocessor architecture, operation, and application. Covers programming, address decoding, system timing, I/O, interrupts, DMA, and RAM interfacing for microcontrollers.
The class is described as heavy on coding and self-directed learning, often involving lengthy datasheets and in-exam coding. Significant effort is expected for homework and the final project.
Introduction to Artificial Neural Networks covering theory and applications including MLPs, CNNs, RNNs, SVMs, and genetic algorithms for control, pattern recognition, and object detection.
The course had a huge workload with many homeworks, exercises, and a group project. The first half was very difficult without a strong background in Linear Algebra or Calc 3.
Covers energy storage/conversion, force/emf production, and coupled circuit analysis for systems with electrical and mechanical inputs, applied to motors, generators, and transducers.
Students noted that homework was the primary basis for learning and was very similar to exams. Some found the homework difficult even with lectures, requiring significant independent work outside of class.
An introduction to the physical principles underlying solid-state electronic and photonic devices, including elements of quantum mechanics, crystal structure, semiconductor band theory, carrier statistics, and band diagrams. Offers examples of modern semiconductor structures. Prior experience with MATLAB [such asE C E 203] is strongly encouraged but not required.
State Space Systems Analysis covers matrix methods for solving state-variable differential equations, focusing on stability, controllability, observability, and controller design.
Matrix Methods in Machine Learning covers linear algebraic foundations including SVD, regression, and regularization applied to classification, clustering, and neural networks.
Exams were described as fairly straightforward if students completed the review assignment and period exercises. Preparing adequately for class was considered sufficient for success.
The course demanded substantial effort outside of class time, as classwork alone did not provide a deep feel for the code or mechanics. One student suggested that mastering Linux and ROS before enrolling would have made the material easier to manage.
Computers in Medicine covers microprocessor-based medical instrumentation, emphasizing real-time ECG analysis through labs and projects involving biomedical digital signal processing algorithms.
The course was described as extremely hard, particularly for undergraduates, with one student noting it made their brain hurt. TAs and the professor went the extra mile to break down difficult concepts.
Covers sampling, reconstruction, DFT spectral analysis, FFT, z-transforms, FIR/IIR filter design, signal flow graphs, and filter implementation in digital signal processing.
Software Engineering covers designing and modifying large software systems, focusing on processes, architectures, design patterns, and testing, with a substantial team-based programming project.
Covers probabilistic, algebraic, and geometric data models, mathematical analysis of learning algorithms and optimization methods, and ML applications.
A laboratory course covering Kirchhoff's laws, inductors, operational amplifiers, and frequency response through hands-on circuit assembly and measurement.
The labs were described as lengthy, and the final test was open book, open note, and open internet. However, students noted that the practice bench exam did not resemble the actual exam.