Study of the structure of compilers. Topics include: lexical analysis; syntax analysis including LL and LR parsers; type checking; run-time environments; intermediate code generation; and compiler-construction tools.

Prerequisites: Computer Science 64 or Electrical Engineering 154 or Electrical Engineering 154A; Computer Science 130A; and Computer Science 138; open to computer science and computer engineering majors only.

4

Units

Letter

Grading

1, 2, 3

Passtime

None

Level Limit

Engineering

College
Unlocks CMPSC 263
These majors only cmpsc cmpen cpsci
Ben Hardekopf
4.7
12 reviews
PHELP2514
F
10:00 AM - 10:50 AM
33 / 33 Full

PHELP2532
F
11:00 AM - 11:50 AM
33 / 33 Full

PHELP1448
F
12:00 PM - 12:50 PM
34 / 34 Full

PHELP1448
F
13:00 PM - 13:50 PM
31 / 35

See All
Fall 2025 . Hardekopf B C
PSYCH1924
T R
15:30 PM - 16:45 PM
Fall 2024 . Bultan T
PSYCH1924
M W
11:00 AM - 12:15 PM
See All
CMPSC 160 Hardekopf B C Spring 2024 Total: 112
CMPSC 160 Hardekopf B C Spring 2020 Total: 69
See All
13
4.7
CS160 . 8 Months Ago

DO NOT WORK SOLO!!! This is the hardest class I've ever took, only one I've failed. Each project is abt 2000+ lines of C++ so work w a TEAM. Prof is rlly nice but the projects are too huge, w no skeleton code. Class is just 5-6 projects, they take ~2 hrs daily 7 days/wk. Assign #2 is insanely hard if you get stuck just ditch it don't fall behind.

0 helpful 0 unhelpful
CS160 . 11 Months Ago

Completely project-based, which is a blessing and a nightmare (if you're solo which i did). You will spend a lot of time debugging to ensure thousands of fuzzed inputs exactly match Gradescope. Good, principled coding design will mean fewer headaches, segfaults, and refactoring later. Project 2 is arguably the hardest project (parsing + type check)

0 helpful 0 unhelpful
CS160 . 11 Months Ago

DO NOT WORK SOLO!! WORK IN A TEAM! I failed this class despite working so hard bc each project is ~2000 lines of code (there are 6 projects). Prof is really nice and super helpful but projects have no skeleton code so it's INSANELY hard. If stuck on assign 2, just ditch it, don't fall behind. Hardest class I've had. You should spend 1-2 hrs daily.

0 helpful 0 unhelpful
CS160 . 1 Year, 7 Days Ago

Only graded on projects due throughout the quarter. The late policy is pretty generous. Imo organizing the course like this increases the workload a lot because you definitely need to attend lecture (no recordings or slides) in addition to working on projects throughout the quarter. People like him but idk if it's worth it unless you love theory.

0 helpful 0 unhelpful
CS160 . 3 Years Ago

In my opinion, the best Computer Science professor I have had at UCSB. Very clear and fair grading policies. Tends to put less emphasis on quizzes and no exams, and teaches project-based courses with interesting tasks.

0 helpful 0 unhelpful
CS160 . 10 Years Ago

Great Lecturer. Projects were pretty tough, but not impossible. and they build on, so don't fall behind. Overall, learned a lot

1 helpful 0 unhelpful
See all 13 reviews
CMPSC 154
100 / 100 Full
Computer Architecture
Jonathan Balkind 3.4
T R
17:00 PM - 18:15 PM
56.2% A
CMPSC 156
94 / 96 Closed
Advanced Applications Programming
Phill Conrad 4.5
T R
17:00 PM - 18:15 PM
97.6% A
CMPSC 165A
100 / 100 Full
Artificial Intelligence
Xifeng Yan 3.6
T R
12:30 PM - 13:45 PM
54.5% A
CMPSC 165B
66 / 100 Enrolled
Machine Learning
Wang Y F
T R
09:30 AM - 10:45 AM
59.7% A
CMPSC 170
101 / 100 Full
Operating Systems
Tao Yang 3.0
T R
12:30 PM - 13:45 PM
39.8% A
CMPSC 174B
97 / 100 Enrolled
Design and Implementation Techniques of Database Systems
Jianwen Su 2.0
M W
14:00 PM - 15:15 PM
55.3% A