Intermediate building blocks for solving problems using computers. Topics include intermediate object-oriented programming, data structures, object-oriented design, algorithms for manipulating these data structures and their run-time analyses. Data structures introduced include stacks, queues, lists, trees, and sets.

Prerequisites: Computer Science 16 with a grade of C or better; and Mathematics 3B or 2B with a grade of C or better (may be taken concurrently).

4

Units

Letter

Grading

1, 2

Passtime

None

Level Limit

Engineering

College
Unlocks CMPSC 32 CMPSC 111 CMPSC 130A CMPSC 156 CMPSC 178
These majors only cmpsc cmpen
Peter Boyland
1.8
17 reviews
PHELP3525
W
12:00 PM - 12:50 PM
4 / 25

PHELP3525
W
13:00 PM - 13:50 PM
5 / 25

PHELP3525
W
14:00 PM - 14:50 PM
1 / 25

PHELP3525
W
15:00 PM - 15:50 PM
0 / 25 Closed

See All
Summer 2025 . Boyland P
PHELP1440
T R
11:00 AM - 12:15 PM
Winter 2024 . Mirza D
TD-W 1701
M W
11:00 AM - 12:15 PM
See All
CMPSC 24 Boyland P Summer 2023 Total: 25
CMPSC 24 Burk K T Winter 2025 Total: 132
See All
17
1.8
CS138 . 10 Months Ago

Good guy, but don't know how to teach

0 helpful 0 unhelpful
CS138 . 11 Months Ago

The instructor taught these unintuitive abstract concepts very well. I certainly had to read a textbook and meditate a lot on homework questions. It was time consuming, but I feel my brain got stretched a lot. The experience was similar to some pure math courses that require a lot of meditation. You get to program Turing Machines!

0 helpful 0 unhelpful
CS138 . 11 Months Ago

Class was just horribly organized. He never seemed like he was ready to teach us. The daily quizzes weren't that bad, but the homework was extremely difficult.They were very long and harder than anything taught in class. His lectures were also at such a low level and incomprehensible for the homework. Did curve HW. TAs were a godsend in this class.

0 helpful 0 unhelpful
CS138 . 11 Months Ago

He's genuinely nice guy and wishes us for success. He always made sure to adjust hw by dropping questions or curving and a no harm optional final to help our grades. His hw was extremely hard, you will have to camp at office hours and his teaching style made it hard to understand the material.

0 helpful 0 unhelpful
CS138 . 1 Year, 6 Days Ago

Professor genuinely wants students to succeed, but still needs help structuring the class. Giving a 4 because he gave us extra credit, made a final where it would only raise our grades, and pretty easy quizzes.

0 helpful 0 unhelpful
CS138 . 1 Year, 6 Days Ago

Homework is insanely difficult for the content that we are "taught" during lectures. TA had to write a guide on "how not to get cooked" in the class if that says anything.

0 helpful 0 unhelpful
See all 17 reviews
CMPSC 9
24 / 200 Enrolled
Intermediate Python Programming
T B A
T R
11:00 AM - 12:15 PM
39.3% A
CMPSC 9
32 / 200 Enrolled
Intermediate Python Programming
Richert Wang 4.5
T R
11:00 AM - 12:15 PM
39.3% A
CMPSC 16
2 / 20 Enrolled
Problem Solving with Computers I
Maryam Majedi 2.0
M W
14:00 PM - 15:15 PM
53.7% A
CMPSC 16
0 / 20 Enrolled
Problem Solving with Computers I
Maryam Majedi 2.0
T R
14:00 PM - 15:15 PM
53.7% A
CMPSC 32
80 / 80 Full
Object Oriented Design and Implementation
Nabeel Nasir 5.0
M W
09:30 AM - 10:45 AM
59.2% A
CMPSC 40
51 / 95 Enrolled
Foundations of Computer Science
Ziad Matni 4.0
M W
11:00 AM - 12:15 PM
38.6% A