David A Smallberg
Department of Computer Science
AD
4.0
Overall Rating
Based on 148 Users
Easiness 2.5 / 5 How easy the class is, 1 being extremely difficult and 5 being easy peasy.
Clarity 4.1 / 5 How clear the class is, 1 being extremely unclear and 5 being very clear.
Workload 2.3 / 5 How much workload the class is, 1 being extremely heavy and 5 being extremely light.
Helpfulness 3.9 / 5 How helpful the class is, 1 being not helpful at all and 5 being extremely helpful.

TOP TAGS

There are no relevant tags for this professor yet.

GRADE DISTRIBUTIONS
32.9%
27.4%
21.9%
16.5%
11.0%
5.5%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

29.3%
24.4%
19.5%
14.6%
9.8%
4.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

44.0%
36.7%
29.3%
22.0%
14.7%
7.3%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

39.5%
32.9%
26.3%
19.7%
13.2%
6.6%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

40.7%
33.9%
27.1%
20.3%
13.6%
6.8%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

41.6%
34.6%
27.7%
20.8%
13.9%
6.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

47.8%
39.9%
31.9%
23.9%
15.9%
8.0%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

49.8%
41.5%
33.2%
24.9%
16.6%
8.3%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

29.6%
24.6%
19.7%
14.8%
9.9%
4.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

38.7%
32.2%
25.8%
19.3%
12.9%
6.4%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

24.1%
20.1%
16.1%
12.1%
8.0%
4.0%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

24.1%
20.1%
16.1%
12.1%
8.0%
4.0%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

19.4%
16.2%
13.0%
9.7%
6.5%
3.2%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

20.6%
17.1%
13.7%
10.3%
6.9%
3.4%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

21.3%
17.8%
14.2%
10.7%
7.1%
3.6%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

24.5%
20.4%
16.4%
12.3%
8.2%
4.1%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

17.5%
14.6%
11.7%
8.8%
5.8%
2.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

23.4%
19.5%
15.6%
11.7%
7.8%
3.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

21.0%
17.5%
14.0%
10.5%
7.0%
3.5%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

24.2%
20.2%
16.2%
12.1%
8.1%
4.0%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

17.3%
14.4%
11.5%
8.6%
5.8%
2.9%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

21.4%
17.8%
14.3%
10.7%
7.1%
3.6%
0.0%
A+
A
A-
B+
B
B-
C+
C
C-
D+
D
D-
F

Grade distributions are collected using data from the UCLA Registrar’s Office.

ENROLLMENT DISTRIBUTIONS
Clear marks

Sorry, no enrollment data is available.

AD

Reviews (107)

2 of 11
2 of 11
Add your review...
Quarter: Winter 2020
Grade: A
July 28, 2020

Smallberg is love, Smallberg is life

Helpful?

3 1 Please log in to provide feedback.
Quarter: Spring 2023
Grade: NR
June 25, 2023

Honestly, I really don’t get it. He’s great at explaining concepts but the workload of the class is ridiculous. The grading is abysmally slow; you have no idea what your grade is in the class. If you are like me and just trying to get this pre req out of the way, this class will be a pain. I really don’t understand why the grading is slow because there is like 15 TA’s and to be honest there is automated grading involved for projects and most parts of hw. Furthermore, a lot of projects and hw are reused so I am not really sure why the turn around is ridiculous. I see the class size is rather large, but does it really take that long to the point you have only a third of the material graded by the time you take the final. How is somebody supposed to get real time feedback before testing to prepare. The answer in this class is that you don’t. In terms of communicating, Smallberg is hit or miss. He was pretty hard to communicate via email. I will iterate he does explain concepts well, but you are tested practically; for this reason, Nachenberg slides seem to be more beneficial because ultimately with the amount of time this class consumes its really just a hail mary in the last three weeks of how well you can try to get your head around the things you learn and can do with the time you have. I would say this was a hard class especially if you are introduced to data structures for the first time. You will definitely learn, but you will probably cry a couple times from this class.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Winter 2023
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
April 4, 2023

Took this class with Smallberg, and went only to Nachenberg's Lectures. Balled out on Midterm 1 and Final, and got screwed on Midterm 2. Did pretty well on projects + homework, here's my advice:
1) This class isn't necessarily hard, just a massive time sink. Do not take 3 more STEM classes on top of CS 32 if you want to have a life or do things other than school. Expect the first 6 weeks to be a breeze, and the last 4 to be about 10-30 hours of coding a week (depending on how good you are at coding).
2) Projects 3 and 4 are massive time sinks, start them early. 3 on average takes 30-40 hours and 900+ lines of code, 4 takes around 10-20 but is conceptually difficult. The first 2 projects + homework aren't bad, start early though because homework 2-4 can take a bit of time (a few hours).
3) Nachenberg's Lectures aren't concise but they are interesting. Go to them if you want a funny professor, not necessarily an amazing one though. However, Nachenberg's slides (and course reader) are godly, if anything studies them. Smallberg's lectures are also solid, but I would say Nachenberg's slides + Smallberg's lectures are the best combos for this class.
I personally loved this class, and found it way better than CS 31 which felt boring and more like busywork. Plan out early during the class, and it won't be hard.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Spring 2021
Grade: B
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Aug. 1, 2021

As a non-CS major, and someone who has pretty neutral feelings towards coding as a whole, I'm pretty mixed on this class. Projects are okay, pretty large time suck and often difficult. I didn't watch many of Smallberg's lectures and relied heavily on Nachenberg's slides, which got me through the projects without too much trouble. I hate the tests, mostly because I'm terrible at working through the bugs in a time-pressure situation. Having to switch between CCLE and visual studio on a time limit was stressful for me, and I think it gave an advantage to people with better home computer set-ups (I took one midterm on a laptop and one with two monitors and a nicer keyboard and felt much less stressed with the monitors/keyboard). So I definitely recommend getting all set up if you're going to be taking an online test with Smallberg. I was also a little annoyed that the "practice tests" were nothing like the tests we were taking-- I assume this is because they were modeled after the in person tests, but I really did not feel like they prepared me for the actual test. Overall, though, I don't think this class could be taught all that differently and it was an okay experience. As others have mentioned, I do wish Smallberg had been a little faster with scoring so that I could've made P/NP decisions or had a better feel for how I'd done on tests and projects (I made some of the same mistakes on multiple exams and didn't even know until another classmate happened to ask me about a similar thing), so just a bit frustrating. This was my second quarter with Smallberg though, and I would probably take him again if I could.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Spring 2021
Grade: A+
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
March 30, 2021

just here to get smallberg another page of reviews

ngl tho, projects 3,4 take a lot of time but are decently fun.
hes reasonable (midterm 2 had something that he didnt teach so he made it a no-harm midterm)
he teaches very clearly

tbh smallberg > carey b/c smallberg teaches with more detail/ u get a better conceptual understanding

everything else probably is already enumerated in his other reviews lol

also friendly reminder pls leave bruinwalk reviews

Helpful?

1 0 Please log in to provide feedback.
Quarter: Winter 2021
Grade: A
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
March 15, 2021

I suspect most people reading the reviews are trying to decide between Nachenberg and Smallberg for CS32. Keep in mind, you can really just go to whatever lecture you want regardless of what professor you have (though this was easier due to it being remote and lecture halls not filling up).
Due to it being remote, I went to both for the first few weeks and ended up just watching Smallberg's recorded lectures on my own time in the second half of the quarter.
While both professors cover largely the same material, going to both, there were definitely times where some subjects were better emphasized in one class over another. Keep in mind Smallberg writes the tests, so for Midterm 2 for this quarter, a decent amount of people from Nachenberg's class ended up being super confused on the first question because it wasn't really focused on in Nachenberg's class. On the flip side, Nachenberg would often try to relate topics to more applications (which you can see in his slides describing Huffman encoding). Also, graph algorithms were basically not touched on at all my Smallberg this quarter (though to be fair I think Nachenberg only covered it for like half a lecture).
If you plan on tending all the lectures live anyways, Nachenberg's lectures would often be filled with interactive activities, games, and guest speakers to break up the 2 hour long lectures. However, this is less helpful if you plan on watching them on your own time.
Smallberg often tries to give the rationale behind C++ design features, which I found helpful in understanding the topics.
Also, because Nachenberg designs the projects, Smallberg didn't always know how to answer specific project-based questions off the top of his head.

For CS32 in general, I personally didn't think it was that hard (I may regret saying this once grades come out), but Project 3 and 4 both took ~30 hours, mostly due to debugging. Since they're both near the end of the quarter, you should probably avoid having too many other classes you suspect will take a lot of time near the end. Project 3 was long, but we were given like 2 weeks so it wasn't too bad if you managed to spread out you workload. Project 4 was shorter, but much more technically difficult and involved a lot of debugging. There was a lot less time to work on it as well.

Grading has been slow for tests, but that is justifiable due to the sheer number of students. But that can be frustrating going into midterms/finals with no gauge of how well you've been doing.

Overall, more interesting class than CS31. If you take Smallberg you'll probably be fine and you can always review using Nachenberg's slides if you need to.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Spring 2020
Grade: A
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
Oct. 25, 2020

---Lectures: Smallberg's lectures provided all the necessary information, but they were not always super clear. Lectures were often not super organized and not very engaging.
---Exams: I took this class during online classes so exams were different than there normally would be. Both midterms and the final were only a few questions long, but they usually weren't too hard.

---Projects: The project descriptions were not always easy to follow, but the professor and TAs will clarify everything. None were unreasonably hard, and all were graded reasonably. Some of the later projects do take a lot of time and are not something you can cram in a couple days.

---Tips: Google "Carey Nachenberg CS32". You'll find animated slides for CS32 that are extremely helpful. Go to office hours whenever you are working on a project: it will save you a ton of time and frustration.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Spring 2020
Grade: A
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
July 1, 2020

This class was honestly exactly what I expected going in, even though it was a weird quarter. I have taken some CS classes in High School and have a good grasp on object oriented programming.

Smallberg has a gift for delivering the material in a way that is accessible, easy to remember, and informative. He was a really top notch professor.

Projects / Homework:
All of them were unremarkable except,

Project 3 was the most interesting and long project we had. It was a simple RPG using keyboard characters and a dungeon. I didn't finish some recursive function and got -10% but other than that it didn't require much more than some creativity and planning. It was honestly fun and I'm proud of the code I wrote.

Project 4 was tricky but really easy to code once you figured it out. It was an optimization problem where we were graded on how fast our code went. Just paying attention and understanding data types and hash tables was enough to get 100% with less than two days of work. Pay attention in class and don't be afraid to review lectures.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Winter 2020
Grade: A
March 30, 2020

Smallberg was an absolutely phenomenal professor for this class. Rarely do you find a teacher who is so skilled at explaining complex concepts in a simple fashion using real life examples. While many people recommend attending Nachenberg's lecture, I actually really enjoyed Smallberg's lecture since he often explained the reasoning behind C++ design decisions and dove deeper into specific topics. While attending Smallberg's lectures, it is still good to look over Nachenberg's slides since they do a great job of boiling everything down into a visual picture of what is happening.

The projects in this class can take up a ton of time if you are new to programming, however if you have prior experience they're really not that difficult (although still time consuming due to size). Rarely in classes have I looked forward to doing projects, however the CS32 projects are so well designed that they really allow you to test your abilities while building something fun like a game. The best advice I can give for the projects is START EARLY (especially if you do not have much coding experience). This will allow you to take time to learn along the way and not stress yourself out. Getting a 50+ page spec for Project 3 can be daunting, but if you simply start early and take it one part at a time, you will do fine.

The exams for this class were all very fair. Doing the projects and reviewing Nach's slides were the best way to prep.

If you are doubting taking this class, it can be a lot of work, but it is 100% worth it and you will learn a ton from a professor who is very knowledgeable and really cares about his students.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Winter 2020
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Feb. 3, 2021

I came back to write a review for David after taking so many other CS lower and upper div classes.

My only words are "David is a legend."

Helpful?

2 1 Please log in to provide feedback.
Quarter: Winter 2020
Grade: A
July 28, 2020

Smallberg is love, Smallberg is life

Helpful?

3 1 Please log in to provide feedback.
Quarter: Spring 2023
Grade: NR
June 25, 2023

Honestly, I really don’t get it. He’s great at explaining concepts but the workload of the class is ridiculous. The grading is abysmally slow; you have no idea what your grade is in the class. If you are like me and just trying to get this pre req out of the way, this class will be a pain. I really don’t understand why the grading is slow because there is like 15 TA’s and to be honest there is automated grading involved for projects and most parts of hw. Furthermore, a lot of projects and hw are reused so I am not really sure why the turn around is ridiculous. I see the class size is rather large, but does it really take that long to the point you have only a third of the material graded by the time you take the final. How is somebody supposed to get real time feedback before testing to prepare. The answer in this class is that you don’t. In terms of communicating, Smallberg is hit or miss. He was pretty hard to communicate via email. I will iterate he does explain concepts well, but you are tested practically; for this reason, Nachenberg slides seem to be more beneficial because ultimately with the amount of time this class consumes its really just a hail mary in the last three weeks of how well you can try to get your head around the things you learn and can do with the time you have. I would say this was a hard class especially if you are introduced to data structures for the first time. You will definitely learn, but you will probably cry a couple times from this class.

Helpful?

1 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Winter 2023
Grade: A
April 4, 2023

Took this class with Smallberg, and went only to Nachenberg's Lectures. Balled out on Midterm 1 and Final, and got screwed on Midterm 2. Did pretty well on projects + homework, here's my advice:
1) This class isn't necessarily hard, just a massive time sink. Do not take 3 more STEM classes on top of CS 32 if you want to have a life or do things other than school. Expect the first 6 weeks to be a breeze, and the last 4 to be about 10-30 hours of coding a week (depending on how good you are at coding).
2) Projects 3 and 4 are massive time sinks, start them early. 3 on average takes 30-40 hours and 900+ lines of code, 4 takes around 10-20 but is conceptually difficult. The first 2 projects + homework aren't bad, start early though because homework 2-4 can take a bit of time (a few hours).
3) Nachenberg's Lectures aren't concise but they are interesting. Go to them if you want a funny professor, not necessarily an amazing one though. However, Nachenberg's slides (and course reader) are godly, if anything studies them. Smallberg's lectures are also solid, but I would say Nachenberg's slides + Smallberg's lectures are the best combos for this class.
I personally loved this class, and found it way better than CS 31 which felt boring and more like busywork. Plan out early during the class, and it won't be hard.

Helpful?

1 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Quarter: Spring 2021
Grade: B
Aug. 1, 2021

As a non-CS major, and someone who has pretty neutral feelings towards coding as a whole, I'm pretty mixed on this class. Projects are okay, pretty large time suck and often difficult. I didn't watch many of Smallberg's lectures and relied heavily on Nachenberg's slides, which got me through the projects without too much trouble. I hate the tests, mostly because I'm terrible at working through the bugs in a time-pressure situation. Having to switch between CCLE and visual studio on a time limit was stressful for me, and I think it gave an advantage to people with better home computer set-ups (I took one midterm on a laptop and one with two monitors and a nicer keyboard and felt much less stressed with the monitors/keyboard). So I definitely recommend getting all set up if you're going to be taking an online test with Smallberg. I was also a little annoyed that the "practice tests" were nothing like the tests we were taking-- I assume this is because they were modeled after the in person tests, but I really did not feel like they prepared me for the actual test. Overall, though, I don't think this class could be taught all that differently and it was an okay experience. As others have mentioned, I do wish Smallberg had been a little faster with scoring so that I could've made P/NP decisions or had a better feel for how I'd done on tests and projects (I made some of the same mistakes on multiple exams and didn't even know until another classmate happened to ask me about a similar thing), so just a bit frustrating. This was my second quarter with Smallberg though, and I would probably take him again if I could.

Helpful?

1 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Spring 2021
Grade: A+
March 30, 2021

just here to get smallberg another page of reviews

ngl tho, projects 3,4 take a lot of time but are decently fun.
hes reasonable (midterm 2 had something that he didnt teach so he made it a no-harm midterm)
he teaches very clearly

tbh smallberg > carey b/c smallberg teaches with more detail/ u get a better conceptual understanding

everything else probably is already enumerated in his other reviews lol

also friendly reminder pls leave bruinwalk reviews

Helpful?

1 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Quarter: Winter 2021
Grade: A
March 15, 2021

I suspect most people reading the reviews are trying to decide between Nachenberg and Smallberg for CS32. Keep in mind, you can really just go to whatever lecture you want regardless of what professor you have (though this was easier due to it being remote and lecture halls not filling up).
Due to it being remote, I went to both for the first few weeks and ended up just watching Smallberg's recorded lectures on my own time in the second half of the quarter.
While both professors cover largely the same material, going to both, there were definitely times where some subjects were better emphasized in one class over another. Keep in mind Smallberg writes the tests, so for Midterm 2 for this quarter, a decent amount of people from Nachenberg's class ended up being super confused on the first question because it wasn't really focused on in Nachenberg's class. On the flip side, Nachenberg would often try to relate topics to more applications (which you can see in his slides describing Huffman encoding). Also, graph algorithms were basically not touched on at all my Smallberg this quarter (though to be fair I think Nachenberg only covered it for like half a lecture).
If you plan on tending all the lectures live anyways, Nachenberg's lectures would often be filled with interactive activities, games, and guest speakers to break up the 2 hour long lectures. However, this is less helpful if you plan on watching them on your own time.
Smallberg often tries to give the rationale behind C++ design features, which I found helpful in understanding the topics.
Also, because Nachenberg designs the projects, Smallberg didn't always know how to answer specific project-based questions off the top of his head.

For CS32 in general, I personally didn't think it was that hard (I may regret saying this once grades come out), but Project 3 and 4 both took ~30 hours, mostly due to debugging. Since they're both near the end of the quarter, you should probably avoid having too many other classes you suspect will take a lot of time near the end. Project 3 was long, but we were given like 2 weeks so it wasn't too bad if you managed to spread out you workload. Project 4 was shorter, but much more technically difficult and involved a lot of debugging. There was a lot less time to work on it as well.

Grading has been slow for tests, but that is justifiable due to the sheer number of students. But that can be frustrating going into midterms/finals with no gauge of how well you've been doing.

Overall, more interesting class than CS31. If you take Smallberg you'll probably be fine and you can always review using Nachenberg's slides if you need to.

Helpful?

1 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Spring 2020
Grade: A
Oct. 25, 2020

---Lectures: Smallberg's lectures provided all the necessary information, but they were not always super clear. Lectures were often not super organized and not very engaging.
---Exams: I took this class during online classes so exams were different than there normally would be. Both midterms and the final were only a few questions long, but they usually weren't too hard.

---Projects: The project descriptions were not always easy to follow, but the professor and TAs will clarify everything. None were unreasonably hard, and all were graded reasonably. Some of the later projects do take a lot of time and are not something you can cram in a couple days.

---Tips: Google "Carey Nachenberg CS32". You'll find animated slides for CS32 that are extremely helpful. Go to office hours whenever you are working on a project: it will save you a ton of time and frustration.

Helpful?

1 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Spring 2020
Grade: A
July 1, 2020

This class was honestly exactly what I expected going in, even though it was a weird quarter. I have taken some CS classes in High School and have a good grasp on object oriented programming.

Smallberg has a gift for delivering the material in a way that is accessible, easy to remember, and informative. He was a really top notch professor.

Projects / Homework:
All of them were unremarkable except,

Project 3 was the most interesting and long project we had. It was a simple RPG using keyboard characters and a dungeon. I didn't finish some recursive function and got -10% but other than that it didn't require much more than some creativity and planning. It was honestly fun and I'm proud of the code I wrote.

Project 4 was tricky but really easy to code once you figured it out. It was an optimization problem where we were graded on how fast our code went. Just paying attention and understanding data types and hash tables was enough to get 100% with less than two days of work. Pay attention in class and don't be afraid to review lectures.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Winter 2020
Grade: A
March 30, 2020

Smallberg was an absolutely phenomenal professor for this class. Rarely do you find a teacher who is so skilled at explaining complex concepts in a simple fashion using real life examples. While many people recommend attending Nachenberg's lecture, I actually really enjoyed Smallberg's lecture since he often explained the reasoning behind C++ design decisions and dove deeper into specific topics. While attending Smallberg's lectures, it is still good to look over Nachenberg's slides since they do a great job of boiling everything down into a visual picture of what is happening.

The projects in this class can take up a ton of time if you are new to programming, however if you have prior experience they're really not that difficult (although still time consuming due to size). Rarely in classes have I looked forward to doing projects, however the CS32 projects are so well designed that they really allow you to test your abilities while building something fun like a game. The best advice I can give for the projects is START EARLY (especially if you do not have much coding experience). This will allow you to take time to learn along the way and not stress yourself out. Getting a 50+ page spec for Project 3 can be daunting, but if you simply start early and take it one part at a time, you will do fine.

The exams for this class were all very fair. Doing the projects and reviewing Nach's slides were the best way to prep.

If you are doubting taking this class, it can be a lot of work, but it is 100% worth it and you will learn a ton from a professor who is very knowledgeable and really cares about his students.

Helpful?

1 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Winter 2020
Grade: A
Feb. 3, 2021

I came back to write a review for David after taking so many other CS lower and upper div classes.

My only words are "David is a legend."

Helpful?

2 1 Please log in to provide feedback.
2 of 11
4.0
Overall Rating
Based on 148 Users
Easiness 2.5 / 5 How easy the class is, 1 being extremely difficult and 5 being easy peasy.
Clarity 4.1 / 5 How clear the class is, 1 being extremely unclear and 5 being very clear.
Workload 2.3 / 5 How much workload the class is, 1 being extremely heavy and 5 being extremely light.
Helpfulness 3.9 / 5 How helpful the class is, 1 being not helpful at all and 5 being extremely helpful.

TOP TAGS

There are no relevant tags for this professor yet.

ADS

Adblock Detected

Bruinwalk is an entirely Daily Bruin-run service brought to you for free. We hate annoying ads just as much as you do, but they help keep our lights on. We promise to keep our ads as relevant for you as possible, so please consider disabling your ad-blocking software while using this site.

Thank you for supporting us!