← Computer Sciences (COMPSCI)

Hardest courses in Computer Sciences

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

52 courses

Ranked courses have at least 100 recorded letter grades.

This course covers core algorithm-design paradigms and computational intractability.

Offering recorded · Spring 2027 · Sources

Past student reviews · Marc Renault

One student found the lectures had almost no correlation to the homework, creating the feeling of taking two separate classes and requiring significant extra effort to connect the material.

historical GPA · grades

Fall 2022–Spring 2026

Linear Optimization covers problems with linear inequality constraints, emphasizing formal proofs, the simplex method's theory, duality, and theorems of the alternatives.

Offering recorded · Spring 2027 · Sources

Past student reviews · Carla Michini

Homeworks were extremely hard at times, though the total volume was limited to eight assignments. The workload is demanding due to the difficulty of the problems rather than the quantity.

historical GPA · grades

Fall 2022–Spring 2026

Covers direct and iterative solutions for linear/nonlinear systems and eigenproblems, including LU/QR factorizations, least squares, and algorithmic stability.

Offering recorded · Spring 2027 · Sources

Past student reviews · Amos Ron

One past student said Amos Ron’s homeworks were 10–15 pages biweekly. Another said the homework took many hours and lectures met three days a week for 75 minutes.

historical GPA · grades

Spring 2023–Spring 2026

Machine Organization and Programming introduces computer system structures and C programming, focusing on low-level performance impacts like virtual memory, caching, and assembly.

Offering recorded · Spring 2027 · Sources

Past student reviews · Hina Mahmood

Projects were lengthy and required students to start early, while exams were fair and mostly theoretical.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to the theory and practice of compiler design, comparing programming language features and their implementation implications through required programming projects.

Offering recorded · Spring 2027 · Sources

Past student reviews · Beck Hasti

Exams and projects were difficult, but the criteria for success were described as super clear.

historical GPA · grades

Spring 2023–Spring 2026

Introduction to cryptography covering secure transmission of digital information, distinguishing perfect from computational security, and introducing technical aspects.

Offering recorded · Spring 2027 · Sources

Past student reviews · Eric Bach

Homeworks were difficult but interesting to work through, while exams were reported to be easier than the homework assignments.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Discrete Mathematics covering logic, sets, relations, functions, and discrete structures like integers, strings, trees, and graphs.

Offering recorded · Spring 2027 · Sources

Past student reviews · Luke Jeffreys

The course was considered pretty hard due to the sheer amount of content, though the instructor provided fill-in-the-blank lecture notes to save time.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to combinatorics covering enumeration, inclusion-exclusion, generating functions, graph coloring, finite designs, and matching problems with applications in science and puzzles.

Offering recorded · Spring 2027 · Sources

Past student reviews · Mitch Keller

The grading system was unique and demanding: students needed full marks on all assignments and tests or extra credit to achieve an A; otherwise, the highest possible grade was an AB.

historical GPA · grades

Fall 2022–Spring 2026

Advanced numerical analysis covering polynomial interpolation, approximation, differentiation, integration, splines, and ODE solvers.

Offering recorded · Spring 2027 · Sources

Past student reviews · Chris Rycroft, Laurel Ohm

One student found the homework tedious but manageable, while another noted a heavy workload that was doable with time. Rycroft's exams were challenging but included partial credit, whereas Ohm's exams were described as having very reasonable difficulty.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Optimization covers mathematical optimization from a modeling and solution perspective, focusing on formulating discrete and continuous optimization problems and equilibrium models.

Offering recorded · Spring 2027 · Sources

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.

historical GPA · grades

Fall 2022–Spring 2026

Programming III is the third course in the programming fundamentals sequence, covering data structures, algorithms, and complexity analysis with an emphasis on professional code quality.

Offering recorded · Spring 2027 · Sources

Past student reviews · Florian Heimerl

Project workloads varied significantly, ranging from one to over twenty hours per week depending on group dynamics. Exams were generally not considered super difficult, though some students noted that tests covered obscure topics mentioned only briefly in lecture.

historical GPA · grades

Fall 2022–Spring 2026

Covers logic components, Boolean algebra, combinational and sequential logic design, digital subsystems, and computer organization.

Offering recorded · Spring 2027 · Sources

Past student reviews · Setareh Behroozi

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.

historical GPA · grades

Fall 2022–Spring 2026

Programming II covers Object-Oriented Programming, introducing array-based and linked data structures like lists, stacks, and queues to solve complex problems.

Offering recorded · Spring 2027 · Sources

Past student reviews · Jim Williams

Students reported a large amount of busy work, some of which was challenging and time-consuming. Exams were inconsistent in difficulty, with multiple-choice and programming components varying in ease.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Operating Systems covering I/O hardware, interrupts, storage properties, memory management, scheduling, and system evaluation.

Offering recorded · Spring 2027 · Sources

Past student reviews · Louis Oliphant

The projects took a significant amount of time, and the exams were described as pretty difficult.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Artificial Neural Networks covering theory and applications including MLPs, CNNs, RNNs, SVMs, and genetic algorithms for control, pattern recognition, and object detection.

Offering recorded · Spring 2027 · Sources

Past student reviews · Pedro Morgado

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.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Data Science programming using Python with no prior experience required, emphasizing analysis of real datasets and visual communication.

Offering recorded · Spring 2027 · Sources

Past student reviews · Michael Doescher

Projects were extremely time-consuming and often repetitive, but students appreciated that the grade was largely based on their completion rather than just exams.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Computer Engineering covering transistor-based logic, Boolean algebra, combinational and sequential logic design, computer organization, and introductory assembly programming.

Offering recorded · Spring 2027 · Sources

Past student reviews · Shayne Wadle

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.

historical GPA · grades

Fall 2022–Spring 2026

Covers DBMS design and implementation, including data models, file organization, query processing, concurrency control, recovery, and hands-on experience with relational and network-based systems.

Offering recorded · Spring 2027 · Sources

Past student reviews · Ahmed Mahmood

Exams were reported as very tough and lengthy for the available time, while projects were considered fine.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Big Data Systems covers deploying distributed systems for storing and analyzing large datasets using unstructured and structured storage, query languages, streaming data, and machine learning in Python.

Offering recorded · Spring 2027 · Sources

Past student reviews · Tyler Caraza-harter

Assessment included two 30-minute quizzes and a long project requiring 15-20 hours for a small grade percentage.

historical GPA · grades

Fall 2023–Spring 2026

A survey of computer graphics covering image representation, geometric modeling in 2D/3D, curves/surfaces, rendering, animation, and visualization.

Offering recorded · Spring 2027 · Sources

Past student reviews · Perry Kivolowitz

The workload is demanding, with students reporting that 30 hours a week is not unusual to do well. Individual projects can require a minimum of 30 to 50 hours to complete, making the material and assignments time-intensive.

historical GPA · grades

Fall 2022–Spring 2026

Matrix Methods in Machine Learning covers linear algebraic foundations including SVD, regression, and regularization applied to classification, clustering, and neural networks.

Offering recorded · Spring 2027 · Sources

Past student reviews · Robert Nowak, Eduardo Arvelo

Homework assignments were challenging but graded on completion, while summer terms were described as crammed and intense.

historical GPA · grades

Fall 2022–Spring 2026

Nonlinear Optimization I covers theory and algorithms for nonlinear optimization, focusing on unconstrained optimization techniques.

Offering recorded · Spring 2027 · Sources

Past student reviews · Michael Ferris

Assignments often required more than 14 hours to complete, with no penalty-free late days or assignment drops available.

historical GPA · grades

Fall 2022–Spring 2026

Programming I introduces fundamental CS concepts through incremental development of small programs. It covers problem abstraction, flow control, functions, and I/O, targeting students with no prior programming experience.

Offering recorded · Spring 2027 · Sources

Past student reviews · Andrew Kuemmel

Homework was due Monday through Thursday, often involving participation tasks that took significant time. Students also faced weekly Friday quizzes, with midterms scheduled on Sundays.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to software development of user interfaces, covering UI paradigms, diverse user input handling, and platform-specific APIs for web, mobile, desktop, and voice interfaces.

Offering recorded · Spring 2027 · Sources

Past student reviews · Yuhang Zhao

The workload was high but useful, with extensions and extra credit provided to help manage the intensity.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Artificial Intelligence covering search, deduction, knowledge representation, machine learning, and probabilistic reasoning with applications in NLP, vision, and robotics.

Offering recorded · Spring 2027 · Sources

Past student reviews · Young Wu

Exams were reported as extremely difficult, with one student stating they were impossible to prepare for using class materials alone. Another described the exams as 'sadistic' but noted the instructor was helpful when students reached out.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Computer Networks covers architecture, protocols, layering, routing, security, and performance using Ethernet, IP, TCP, and HTTP.

Offering recorded · Spring 2027 · Sources

Past student reviews · Suman Banerjee

The course typically includes four moderate quizzes and four straightforward programs, though one student warned that the final program was particularly challenging.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Computer Architecture covers processor design, instruction sets, control structures, memory management, caches, and I/O structures.

Offering recorded · Spring 2027 · Sources

Past student reviews · Setareh Behroozi

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.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Software Security covers secure design, secure programming, vulnerability assessment, static/dynamic analysis tools, and system defenses across the SDLC.

Offering recorded · Spring 2027 · Sources

Past student reviews · Barton Miller

The class required weekly quizzes, a participation event, and extra credit opportunities. One student noted that while the course was less challenging than core CS classes, missing quizzes made getting an A difficult.

historical GPA · grades

Fall 2022–Spring 2026

Introduction to Web Development covers secure/interactive web content, programming fundamentals, CMSs, accessibility, design, ethics, and website implementation using scripting languages and frameworks.

Offering recorded · Spring 2027 · Sources

historical GPA · grades

Spring 2025–Spring 2026

Introduction to high-performance computing focusing on shared-memory systems, multithreaded programming, vectorization, and memory hierarchy using numerical algorithms as case studies.

Offering recorded · Spring 2027 · Sources

Past student reviews · Eftychios Sifakis

Lectures primarily involved case study go-throughs with code. Practice exams were provided for review, supporting the course's lenient grading structure.

historical GPA · grades

Spring 2025–Spring 2026