Introduction to the theoretical underpinnings of computer science. Topics include propositional predicate logic, set theory, functions and relations, counting, mathematical induction and recursion (generating functions).

Prerequisites: Computer Science 16 with a grade of C or better and Mathematics 4A with a grade of C or better.

5

Units

Letter

Grading

1, 2

Passtime

None

Level Limit

Engineering

College
Unlocks CMPSC 178 CMPSC 130A CMPSC 138 CMPSC 110
These majors only cmpsc cmpen
HARDEKOPF B C
Ben Hardekopf
4.7
12 reviews
AI predicted, based on past grading trends of the course and instructor, class info, and 127 other factors
387 1011
F
09:00 AM - 09:50 AM
0 / 40

387 1011
F
10:00 AM - 10:50 AM
0 / 40

387 1011
F
11:00 AM - 11:50 AM
0 / 40

See All
Winter 2024 . Majedi M
TD-W 1701
T R
14:00 PM - 15:15 PM
Spring 2024 . Majedi M
TD-W 1701
M W
14:00 PM - 15:15 PM
See All
CMPSC 40 Hardekopf B C Fall 2022 Total: 55
CMPSC 40 Matni Z A Fall 2025 Total: 63
See All
13
4.7
CS160 . Hardekopf B C 1 Year, 4 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 . Hardekopf B C 1 Year, 7 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 . Hardekopf B C 1 Year, 7 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 . Hardekopf B C 1 Year, 8 Months 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
CS138 . Hardekopf B C 2 Years Ago

Homework makes up your grade. Do the homework, fun class. Also if you do well on the homework, no tests for you, Yay. So do the homework. Puzzles class.

0 helpful 0 unhelpful
CS138 . Hardekopf B C 2 Years Ago

He is a great professor who seems to enjoy what he teaches. your grades are only made up of weekly homework assignments, with an optional midterm and optional final to replace some homeworks. Pretty stress free class, however the assignments are a lot of work and are pretty difficult. office hours are helpful just make sure you get ahead of the hws

1 helpful 0 unhelpful
See all 13 reviews
CMPSC 5B
0 / 100 Enrolled
Introduction to Data Science 2
Phill Conrad 4.5
M W
09:30 AM - 10:45 AM
CMPSC 9
0 / 150 Enrolled
Intermediate Python Programming
Yekaterina Kate Kharitonova 2.5
M W
15:30 PM - 16:45 PM
CMPSC 16
0 / 150 Enrolled
Problem Solving with Computers I
Maryam Majedi 2.6
M W
14:00 PM - 15:15 PM
CMPSC 24
0 / 200 Enrolled
Problem Solving with Computers II
Diba Mirza 4.7
M W
12:30 PM - 13:45 PM
CMPSC 32
0 / 150 Enrolled
Object Oriented Design and Implementation
Nabeel Nasir 4.9
T R
09:30 AM - 10:45 AM
CMPSC 64
0 / 150 Enrolled
Computer Organization and Logic Design
Ziad Matni 4.1
M W
11:00 AM - 12:15 PM