← Back to blog

rating every class i've taken

Jun 1, 2026 797 words 2 min read

I’ve taken a lot of classes at ucsd. Some were incredible, some… not so much! I decided to plot them all out on a few different dimensions to visualize them.

Below is a

  1. table
  2. chronological heat matrix
  3. an interactive radar visualizer
  4. cse vs math dept comparison
  5. quarter averages for the five metrics
  6. weighted sum for each metric.

of all classes I’ve taken.

I should explain the criteria.

  1. Usefulness: How useful the class was to me in terms of skills, career (software focused), and general knowledge. 5 = useful, 1 = not useful at all.
  2. Enjoyment: How much I enjoyed the class. 5 = I loved it, 1 = I hated it.
  3. Workload: How much work the class was. A 5 means the class was very time consuming and a 1 means it was very light.
  4. Difficulty: How difficult the class was for me. It’s important to note that this is distinct form workload because some classes are difficult but don’t require a lot of work (like MATH 154), and some classes are easy but require a lot of work (MATH 20D). A 5 means the class was very difficult for me and a 1 means it was very easy.
  5. Skipability: How much I would recommend skipping the class if you had the option. Obviously, this is also very subjective and somewhat professor dependent. A 5 means you should skip the class. A 1 means you should attend all lectures.

I don’t think I need to say this, but these ratings are all very subjective and based on my own experience. Some of these are very professor dependent YMMV!

Since it’s unfair to judge a class I took early on the same scale as a class I took later, I rated classes based on the quarter I took them. So for example, my rating of MATH 18 is based on my experience taking it in FA22, despite it being significantly easier and more useful than MATH 140A which I took in WI25.

Course Ratings Overview

CHEM 6A
General Chemistry I
Enjoyment: 8/10
Usefulness: 1/10
Workload: 2/10
Difficulty: 2/10
Skipability: 10/10
CSE 11
Accel. Intro to Programming
Enjoyment: 5/10
Usefulness: 4/10
Workload: 4/10
Difficulty: 2/10
Skipability: 2/10
CSE 12
Basic Data Struct & OO Design
Enjoyment: 5/10
Usefulness: 6/10
Workload: 5/10
Difficulty: 3/10
Skipability: 2/10
CSE 15L
Software Tools&Techniques Lab
Enjoyment: 9/10
Usefulness: 5/10
Workload: 2/10
Difficulty: 1/10
Skipability: 3/10
CSE 30
Computer Organiz&Systms Progrm
Enjoyment: 5/10
Usefulness: 5/10
Workload: 4/10
Difficulty: 4/10
Skipability: 3/10
CSE 91
Perspectives in CSE
Enjoyment: 10/10
Usefulness: 3/10
Workload: 1/10
Difficulty: 1/10
Skipability: 1/10
CSE 95
Tutor Apprentice
Enjoyment: 2/10
Usefulness: 1/10
Workload: 1/10
Difficulty: 1/10
Skipability: 9/10
CSE 100R
Advanced Data Structures
Enjoyment: 7/10
Usefulness: 8/10
Workload: 4/10
Difficulty: 3/10
Skipability: 2/10
CSE 101
Design & Analysis of Algorithm
Enjoyment: 3/10
Usefulness: 4/10
Workload: 7/10
Difficulty: 8/10
Skipability: 1/10
CSE 105
Theory of Computation
Enjoyment: 9/10
Usefulness: 3/10
Workload: 3/10
Difficulty: 4/10
Skipability: 8/10
CSE 110
Software Engineering
Enjoyment: 8/10
Usefulness: 8/10
Workload: 3/10
Difficulty: 3/10
Skipability: 9/10
CSE 120
Princ/Computer Operating Systm
Enjoyment: 5/10
Usefulness: 10/10
Workload: 8/10
Difficulty: 9/10
Skipability: 1/10
CSE 122
Wireless Networks
Enjoyment: 3/10
Usefulness: 4/10
Workload: 4/10
Difficulty: 6/10
Skipability: 8/10
CSE 127
Intro to Computer Security
Enjoyment: 8/10
Usefulness: 5/10
Workload: 4/10
Difficulty: 4/10
Skipability: 8/10
CSE 145
Embedded Systems Design Proj
Enjoyment: 7/10
Usefulness: 3/10
Workload: 6/10
Difficulty: 5/10
Skipability: 9/10
CSE 150B
AI: Search and Reasoning
Enjoyment: 10/10
Usefulness: 6/10
Workload: 5/10
Difficulty: 5/10
Skipability: 2/10
CSE 151A
ML: Learning Algorithms
Enjoyment: 2/10
Usefulness: 2/10
Workload: 2/10
Difficulty: 3/10
Skipability: 10/10
CSE 152A
Intro to Comp Vision I
Enjoyment: 8/10
Usefulness: 4/10
Workload: 7/10
Difficulty: 5/10
Skipability: 6/10
CSE 160
Intro to Parallel Computing
Enjoyment: 8/10
Usefulness: 9/10
Workload: 6/10
Difficulty: 4/10
Skipability: 9/10
CSE 190
Data Center Systems
Enjoyment: 6/10
Usefulness: 10/10
Workload: 4/10
Difficulty: 4/10
Skipability: 3/10
CSE 190
Intro to Quantum Computing
Enjoyment: 6/10
Usefulness: 3/10
Workload: 3/10
Difficulty: 5/10
Skipability: 8/10
CSE 190
Programmers are People Too
Enjoyment: 2/10
Usefulness: 7/10
Workload: 2/10
Difficulty: 2/10
Skipability: 7/10
CSE 197
Field Study/Computer Sci&Engin
Enjoyment: 3/10
Usefulness: 8/10
Workload: 1/10
Difficulty: 1/10
Skipability: 1/10
CSE 202
Algorithm Design and Analysis
Enjoyment: 8/10
Usefulness: 6/10
Workload: 7/10
Difficulty: 5/10
Skipability: 10/10
CSE 224
Graduate Networked Systems
Enjoyment: 7/10
Usefulness: 10/10
Workload: 9/10
Difficulty: 9/10
Skipability: 6/10
CSE 230
Principles/Program Languages
Enjoyment: 8/10
Usefulness: 3/10
Workload: 2/10
Difficulty: 4/10
Skipability: 9/10
CSE 239B
Top/Sem/Programming Languages
Enjoyment: 5/10
Usefulness: 5/10
Workload: 1/10
Difficulty: 1/10
Skipability: 2/10
CSE 291P
Language-Based Security
Enjoyment: 7/10
Usefulness: 6/10
Workload: 4/10
Difficulty: 8/10
Skipability: 3/10
CSE 291Y
Building Secure Sys with Rust
Enjoyment: 9/10
Usefulness: 10/10
Workload: 7/10
Difficulty: 7/10
Skipability: 2/10
ECON 109
Game Theory
Enjoyment: 4/10
Usefulness: 4/10
Workload: 2/10
Difficulty: 3/10
Skipability: 9/10
ENG 5
Orientation to Engr Profession
Enjoyment: 2/10
Usefulness: 1/10
Workload: 1/10
Difficulty: 1/10
Skipability: 10/10
ENG 15
Engineer Your Success
Enjoyment: 2/10
Usefulness: 2/10
Workload: 1/10
Difficulty: 1/10
Skipability: 10/10
MATH 18
Linear Algebra
Enjoyment: 9/10
Usefulness: 10/10
Workload: 5/10
Difficulty: 6/10
Skipability: 7/10
MATH 20B
Calculus II
Enjoyment: 1/10
Usefulness: 4/10
Workload: 7/10
Difficulty: 7/10
Skipability: 10/10
MATH 20C
Calculus III
Enjoyment: 3/10
Usefulness: 3/10
Workload: 4/10
Difficulty: 3/10
Skipability: 10/10
MATH 20D
Intro/Differential Equations
Enjoyment: 1/10
Usefulness: 6/10
Workload: 8/10
Difficulty: 3/10
Skipability: 10/10
MATH 20E
Vector Calculus
Enjoyment: 2/10
Usefulness: 5/10
Workload: 8/10
Difficulty: 2/10
Skipability: 10/10
MATH 100A
Abstract Algebra I
Enjoyment: 10/10
Usefulness: 7/10
Workload: 6/10
Difficulty: 7/10
Skipability: 4/10
MATH 100B
Abstract Algebra II
Enjoyment: 7/10
Usefulness: 7/10
Workload: 7/10
Difficulty: 8/10
Skipability: 4/10
MATH 109
Mathematical Reasoning
Enjoyment: 5/10
Usefulness: 10/10
Workload: 8/10
Difficulty: 10/10
Skipability: 2/10
MATH 114
Intro/Computatnl Stochastics
Enjoyment: 6/10
Usefulness: 4/10
Workload: 2/10
Difficulty: 3/10
Skipability: 9/10
MATH 140A
Foundations of Real Analysis I
Enjoyment: 10/10
Usefulness: 7/10
Workload: 10/10
Difficulty: 10/10
Skipability: 7/10
MATH 140B
Foundations/Real Analysis II
Enjoyment: 7/10
Usefulness: 6/10
Workload: 10/10
Difficulty: 10/10
Skipability: 6/10
MATH 154
Discrete Math & Graph Theory
Enjoyment: 9/10
Usefulness: 9/10
Workload: 5/10
Difficulty: 6/10
Skipability: 4/10
MATH 160A
Elementary Math Logic I
Enjoyment: 1/10
Usefulness: 5/10
Workload: 6/10
Difficulty: 9/10
Skipability: 2/10
MATH 170A
Intro Numerical Analys/Linear
Enjoyment: 2/10
Usefulness: 5/10
Workload: 2/10
Difficulty: 2/10
Skipability: 8/10
MATH 180A
Introduction to Probability
Enjoyment: 5/10
Usefulness: 10/10
Workload: 5/10
Difficulty: 6/10
Skipability: 3/10
MATH 181A
Intro/Math Statistics I
Enjoyment: 9/10
Usefulness: 3/10
Workload: 8/10
Difficulty: 4/10
Skipability: 1/10
MATH 184
Enumerative Combinatorics
Enjoyment: 10/10
Usefulness: 9/10
Workload: 8/10
Difficulty: 10/10
Skipability: 4/10
MATH 187A
Introduction to Cryptography
Enjoyment: 6/10
Usefulness: 4/10
Workload: 2/10
Difficulty: 3/10
Skipability: 10/10
MATH 196
Student Colloquium
Enjoyment: 2/10
Usefulness: 1/10
Workload: 1/10
Difficulty: 1/10
Skipability: 2/10
MUS 15
Popular Music
Enjoyment: 8/10
Usefulness: 1/10
Workload: 2/10
Difficulty: 1/10
Skipability: 7/10
MUS 19R
Blacktronika: Afrofuturism
Enjoyment: 4/10
Usefulness: 1/10
Workload: 2/10
Difficulty: 1/10
Skipability: 7/10
SYN 1
Perspectives/Changing Planet
Enjoyment: 5/10
Usefulness: 1/10
Workload: 2/10
Difficulty: 1/10
Skipability: 5/10
SYN 2
Inquiring/Changing Planet
Enjoyment: 3/10
Usefulness: 1/10
Workload: 2/10
Difficulty: 1/10
Skipability: 7/10
SYN 100
Engaging/Changing Planet
Enjoyment: 7/10
Usefulness: 2/10
Workload: 3/10
Difficulty: 2/10
Skipability: 2/10
CSE 231
Compiler Construction
Enjoyment: 5/10
Usefulness: 8/10
Workload: 5/10
Difficulty: 4/10
Skipability: 8/10
CSE 223B
Distributed Systems
Enjoyment: 6/10
Usefulness: 10/10
Workload: 10/10
Difficulty: 9/10
Skipability: 8/10
CSE 291G
Physical Simulations
Enjoyment: 8/10
Usefulness: 4/10
Workload: 4/10
Difficulty: 9/10
Skipability: 9/10

Course Ratings Matrix

Rendered natively with D3.js. Grouped chronologically.

Course Ratings (Select a Class)

Department Comparison: CSE vs MATH

Average ratings across all computer science and mathematics courses.

Quarter Averages

Average ratings across all classes taken during each term.

Quarterly Category Sums

The absolute sum of points for every class taken in a quarter, weighted by the number of units the class is worth.


specific reviews

CSE 95

This is actually the CSE PACE class. Not really a class, but more of a program to help first years adjust to college. I met a lot of friends and would recommend every first year to take it!

CSE 110

This is a very hated class. I personally think the class is good if you’ve never done group projects before (in that case, what are you doing??). For most people it’s the first time where you have to work in a group where there are consequences for not doing work.

Some of the content is useful, like dependency injection or the builder pattern.

One piece of data I can provide is that CSE 197 students who took CSE 110 mentioned it was one of the most useful classes they took at UCSD, and that it prepared them for working in industry.

I also think the class is very enjoyable if you have a good group. I had a great group and we had a lot of fun working on the project together. It’s very team dependent (just like the real world!).

CSE 197

This is just the internship class. See here.

CSE 230

I took this when it was taught in Lean4. Any students taking this class should do some research on what the material is because Lean4 is not a widely used language and the material is very different from other programming classes.

At the time, this was my research focus, so it made sense.

MATH 109

This is the intro to proofs class. It it extremely professor dependent; they’ll spend some time on a topic that somewhat adjacent to their research and then give you a problem set on it. You really want to aim for a professor who has good pedagogical skills.

MATH 180A

Useful class in understanding modeling statistics. Unfortunately, the textbook we used was very poor. However, the 180B textbook is phenomenal.

There was a large difficulty spike in the last three weeks. I don’t think I’ve hard a harder difficulty impulse in any other class.

MATH 140AB

Hardest classes I’ve taken at UCSD. Highly recommend for discplined students who are

  1. want to do math research
  2. considering a PhD in math
  3. want a challenge
  4. meet other hard working and talented students!

You can take a preview of the material here!


Thank you to those who helped make this possible.