Looking for a gentler semester? Start with courses where students have earned higher grades.
Highest 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
62 courses
Historical grades cover up to five years through the selected term. Only courses with at least 100 letter grades are ranked.
Advanced Computer Architecture I covers processor design, pipelining, cache memories, and instruction set design.
Offering recorded · Fall 2026
Reviewers describe the class as having a heavy workload with significant reading and difficult exams, though one notes the instructor curves grades to historical averages.
Senior-level introduction to information security covering cryptographic primitives, security protocols, and system security.
Offering recorded · Fall 2026
Historical reviews of Earlence Fernandes, Rahul Chatterjee: Workload varies by instructor, with some describing simple, fun homework and others citing unnecessarily hard coding assignments. Exams are often open-book, but one review warns that OS security topics can be extremely difficult and heavily weighted.
Introduction to computer architecture covering processor, memory, and I/O system design.
Offering recorded · Fall 2026
Historical reviews of Matthew Sinclair, Mikko Lipasti, Parmesh Ramanathan: Reviewers characterize the workload as intense, citing long group projects, dense online lectures, and difficult exams that require significant outside effort and preparation.
MATRIX METHODS IN MACHINE LEARNING covers linear algebraic foundations and matrix methods for machine learning applications like classification, clustering, and data analysis.
Offering recorded · Fall 2026
Reviewers describe the workload as excessive, with heavy weekly homework and four exams. The course is considered difficult, featuring hard proofs and exams that are hard to finish.
Introduction to computer network architecture, protocols, and performance including TCP, IP, and security.
Offering recorded · Fall 2026
Historical reviews of Paul Barford, Suman Banerjee: Workload includes multiple quizzes and programming assignments, with some reviewers noting a lighter load while others emphasize the need for extensive textbook reading and careful note-taking.
COMPSCI 200 teaches incremental development of small programs and fundamental CS topics like flow control, functions, and debugging for beginners.
Offering recorded · Fall 2026
The course relies on an online textbook, with some reviewers finding lectures and labs unhelpful. Workload includes homework due Monday through Thursday and weekly Friday quizzes, which some find annoying but manageable due to open-book formats.
Introduction to big data systems focusing on deploying distributed storage and analyzing large datasets using Python.
Offering recorded · Fall 2026
Students report the course is time-consuming with confusing exams, unfair quiz conditions, and projects that are overly difficult compared to lecture content.
COMPSCI 564 covers database management system design and implementation, including data models, query processing, and concurrency control.
Offering recorded · Fall 2026
Exams are frequently described as tough, lengthy, or unfair, with some noting a lack of partial credit. Projects vary, but the overall workload is considered fairly light due to few coding assignments.
COMPSCI 220 introduces data science programming with Python, focusing on analyzing real datasets and visual communication, with no prior experience required.
Offering recorded · Fall 2026
Weekly projects constitute nearly half the grade and require significant time investment, while exams are multiple-choice and carry less weight.
COMPSCI 559 is a survey of computer graphics covering image representation, geometric modeling, and rendering.
Offering recorded · Fall 2026
Historical reviews of Michael Gleicher, Perry Kivolowitz: Projects require substantial time, often 30 to 50 hours, and the material is challenging, particularly for those lacking prior C++ or OpenGL experience.
Introduction to Computer Engineering covers logic components, Boolean algebra, logic design, computer organization, and assembly-language programming.
Offering recorded · Fall 2026
Sinclair enforces strict deadlines and requires diligent self-study. Wadle’s lectures are criticized as unhelpful or confusing, requiring heavy independent work.
Introduction to operating systems covering I/O hardware, virtual memory, scheduling, and system evaluation.
Offering recorded · Fall 2026
Historical reviews of Louis Oliphant, Michael Swift: Projects require significant time investment, and exams are considered difficult. Students must infer answers not explicitly covered in lectures, requiring independent problem-solving skills.
Introduction to artificial neural networks and their applications in control, pattern recognition, and prediction.
Offering recorded · Fall 2026
Historical reviews of Kangwook Lee, Pedro Morgado, Yu Hen Hu: The course is consistently described as difficult with a heavy workload, including extensive homework, group projects, and dense theoretical content requiring strong math backgrounds.
Introduces object-oriented programming, data structures, and algorithmic design using Java.
Offering recorded · Fall 2026
The course features weekly long programming assignments or cumulative tests, with one reviewer noting that exams can be tough and require office hour support.
Introduction to bioinformatics focusing on algorithms for molecular biology problems.
Offering recorded · Fall 2026
Historical reviews of Colin Dewey: The course features weekly Jupyter notebooks and homework that require significant time investment. Reviews indicate the work is hard but prepares students well for exams, with many assignments providing substantial code scaffolding.
COMPSCI 400 (Programming III) covers advanced data structures, algorithms, and professional software design practices.
Offering recorded · Fall 2026
Workload varies significantly based on group partners, with projects ranging from minimal to excessive time commitments, while exams are generally considered manageable.
Introduction to mathematical optimization, covering formulation of discrete and continuous problems and equilibrium models, and usage of algorithms and software tools.
Offering recorded · Fall 2026
The course is extremely difficult with long, challenging homework assignments that can take up to 20 hours, requiring substantial independent study time.
Numerical Analysis covers polynomial approximation, interpolation, splines, numerical integration, and methods for solving ordinary differential equations.
Offering recorded · Fall 2026
Reviewers describe the workload as manageable with relative homework, but note a large volume of material and a tough class environment requiring strong math preparation.
Introduction to the technical aspects of cryptography and secure digital information transmission.
Offering recorded · Fall 2026
The course includes five graded homeworks, two midterms, and a final. While some find exams manageable with lecture notes, others report they are unexpectedly difficult or narrowly focused.
Introduction to programming languages and compilers, covering theory, practice, and language feature implications for implementation.
Offering recorded · Fall 2026
The course involves six cumulative programming projects, each requiring approximately 20 hours, which some students find tedious, vague, or overly complicated.
Introduction to combinatorics covering enumeration, generating functions, graph theory, and matching problems.
Offering recorded · Fall 2026
The course is dense and challenging. Homework is feasible but requires reading the textbook, as lectures may not fully explain concepts. Exams often draw directly from the book and previous tests.
Introduction to the theory and design of programming languages, covering various paradigms, concurrency, and formal specification.
Offering recorded · Fall 2026
Historical reviews of Justin Hsu, Kaiser Pister: Programming projects are reported as difficult and time-intensive under Justin Hsu, while Kaiser Pister's homework is criticized as unstructured and tightly scheduled.
Introduces linear optimization problems, emphasizing formal proofs, the simplex method, duality theory, and theorems of the alternatives.
Offering recorded · Fall 2026
The course is considered very difficult, with hard assignments that require significant study time, though group work is permitted. Exams are reported as easier than homework, although one student found the final exam unexpectedly difficult despite its stated format.
Introduction to combinatorial optimization covering exact and approximation algorithms for discrete structures.
Offering recorded · Fall 2026
Reviewers describe the workload as heavy, with time-consuming homework and brutal exams. The course requires deep knowledge of in-depth proofs, making it challenging for non-elite math majors.