David A Smallberg
Department of Computer Science
AD
4.0
Overall Rating
Based on 144 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
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 (103)

5 of 11
5 of 11
Add your review...
Quarter: Spring 2022
Grade: A
June 29, 2022

SMALLBERG is KING

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2022
Grade: A
June 24, 2022

CS32 as a whole is an entire different ballpark than CS31. I took CS31 in the Winter with a different professor and entering this class was very different and. much more difficult. First of all, his lectures are entirely asynchronous and he posts them on the days class is scheduled for, and also on those days he holds a Q&A session where you can ask him anything about the material/homework/project during the assigned lecture time. His lectures work as asynchronous because this way we won't fall behind on lectures, because I know for students who took this class before Covid, they were always like two lectures behind. I guess that is a plus, but personally, I learn better with in-class lectures. As a word of advice, I would recommend watching these lectures literally on 2x speed and if you are still a little lost, go to discussion. I found that I didn't learn as well from the lectures but the discussions helped a lot, which I think is because I had a TA who explained these difficult concepts in a very manageable way. Your TA does matter in this class, and if you decide the TA you have isn't presenting the material in a way you can learn, go to a different TA's discussion. I would also highly recommend going to the TA office hours. Even if I didn't really have questions, having an environment to work in where everyone was doing the same project made me more motivated to do the projects. Also, and this is very important, DO NOT WAIT TO DO THE PROJECTS. Our projects were usually due on Tuesdays and the next one releases THE SAME TUESDAY. I often was overwhelmed by the workload and didn't start the next project until the weekend since I worked so hard last minute to complete the previous project, and then I would find myself in a difficult cycle of being behind on the project. So GO TO OFFICE HOURS the week the project is assigned and AT LEAST get started on the project the week before it is due; your whole life will be much easier if you work on the project the week in advance. I got a surprisingly good grade in this class and I would say it was because I got really good grades on all of the projects and homework assignments and did about average on the exams. The first exam was in person and even though I got average on the exam (70%) I still felt way more prepared on this exam than the second exam, which was online. The second exam was simply 3 coding questions and introduced a topic none of us were familiar with yet (trees), but somehow was supposed to get since we knew recursion. The final was very different, since it was online and had no coding questions and instead tested on some sorting, but mostly entirely Big-O. Even though it was "multiple choice", every question had about 20-30 options, so you really had to know your stuff. Regardless, very difficult class, but work really hard on the projects and homework to get good grades on them, and do about average to maybe above average on the exams and I think you'll be good.

Extra:
-I felt like understanding linked lists was the big turning point for me in this class, because understanding how they worked built on many of the other data structures in this class. Also, recursion is going to be difficult, but do your best to understand it through all of the assigned practice, and LA worksheets because unfortunately, they also test pretty heavily on your knowledge of recursion.
-Project 3 is always making some sort of game and it mainly tests on recursion, inheritance, choice of data structures, along with just your ability to come up with solutions. You get two weeks on this project, but it takes lowkey forever, so definitely start it the first week it's assigned because you WILL have questions, and you will run into a lot of errors.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2022
Grade: B-
Verified Reviewer This user is a verified UCLA student/alum.
June 24, 2022

The jump between CS31 and CS32 is pretty big. I went into CS32 knowing it was a weeder class and I almost got weeded out. The first two projects are pretty manageable, but project 3 will literally ruin you so please start the day it is assigned. I spent nearly ten hours for like three days straight trying to get a FEW function completed. Do not slack in this class. My only real issue with the course is that the lectures can be quite boring and that the tests (at least the second midterm and final) were not easy to prepare for and only covered a few topics. It was hard because the final, for example, was almost entirely big-O, which only was covered in like a lecture and a half. Other than that, Smallberg is a nice guy and the class is just hard. Make sure to just start early and ask for help when you need it because the TAs and Smallberg will usually accommodate.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2022
Grade: B+
June 23, 2022

took this class as someone with no cs background other than cs31. smallberg was really nice overall and he just posted recorded lectures every week and had q&a sessions during the live lecture times. the projects were manageable but if you aren't already good at coding you should expect to dedicate a good chunk of time to it. it also just feels like so much work because there was a homework/project due almost every week (sometimes both in the same week).
exams were pretty rough for me, both on paper (midterm 1) and online(the other 2 exams).
overall smallberg is cool and i can honestly say his lectures aren't unbearable (as someone who hates lectures). i appreciate him cutting out literally every second of the lecture that wasn't necessary and his monkey that pops up every now and then. take this class!!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Winter 2022
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.
June 22, 2022

I'm writing this review for winter '22. I found CS 32 to be much, much harder than CS 31, both in terms of content and workload. Before taking the class, I had been coding for five years and had done a coding internship, yet it was still difficult for me. Unlike CS 31, where it's possible to just cruise through and put in minimal effort and still get an A (if you know coding already), in CS 32, a lot more effort is needed.

This class had a flipped classroom format. Smallberg's prerecorded lectures were kind of boring but he was quite clear and explained the concepts well, for the most part. The only topic in which his lectures were lacking was recursion. For recursion, I would strongly suggest using Nachenburg's slides, as in my opinion he explained it much better. Smallberg only gave about 3 examples in his recursion lecture whereas Nachenburg gave a lot more. I only truly got the grasp of recursion when I saw Nachenburg's slides. For the other topics though, Smallberg's lectures were pretty good.

The projects and homeworks were much more time-consuming and complicated than CS 31's. Unlike CS 31, where each homework was just some ZyBook problems, most of the CS 32 homeworks were similar difficulty/time involvement as CS 31 projects and were graded on accuracy rather than completion. My ranking of the homeworks, from hardest to easiest, is hw 3, hw 1, hw 2, hw 4, hw 5. It was a bit annoying to have a hw due two days before the final but luckily it was the easiest one by far and took under an hour to complete. As for the projects, my ranking from hardest to easiest is project 4, project 3, project 2, project 1. Basically, the projects got exponentially harder as the course went on. Initially, I was really scared for project 3 since it had a 60 page spec and seemed very complicated. However, it wasn't actually super conceptually difficult, it was just very time-consuming. The spec was quite clear and basically told you what to do so there wasn't much hard thinking. If you start project 3 on time, it should be fine. I think about 45% of students got 100% on it. Personally, I spent about a week on it and treated it kind of like a full-time job lol. It took me 45 hours. I actually found it super fun though! It's my favorite memory of the course. Project 4 was a different story though. It was time-consuming AND super difficult. At first glance, it appeared simpler than project 3 since its spec was only a third of the length of project 3's spec. But that was because it didn't tell you what to do -- you had to think things through. It required a lot of critical thinking and it literally fried my brain lol. I spent 45 hours on it and was not able to come up with a working solution, as my code failed more complicated test cases. A lot of other students struggled as well and many submitted a dummy implementation. My general advice for projects 3 and 4 is to start early and to use resources for help. I'd highly recommend UPE's project 3 and 4 hacks, as they really came in clutch. Ask questions to Smallberg/your TA if you're unclear about something in the spec or requirements. Put effort into writing good test cases for your code, as testing your code thoroughly can make a big difference in your score. Smallberg is right when he emphasizes using an incremental approach to programming. Definitely do not code everything all at once -- break the project up into chunks and make sure each chunk works properly before moving onto the next. Also, the debugger is your best friend!

Both of the midterms were online. The first one was super easy and most people got 100. The second one was very difficult though and one of the questions was on a concept we hadn't covered yet. There isn't much leeway in the online exams, as the code is graded entirely on performance, so even if you have the right thought process and logic, if you make a small error that causes your code to fail test cases, you're screwed. I totally failed the second midterm and was so stressed that I almost dropped the course. However, Smallberg encouraged me not to drop, so I stayed. Fortunately, the midterm was curved, so even though I only got 1 out of 3 questions right, I got 60%. The final was in-person and it was very hard too. Smallberg still hasn't released our scores for the final exam (and for project 4), so I'm not sure exactly how I did, but I probably got a C at best. The format of the in-person exam was very different from the online tests. The online tests purely involve coding, but the in-person ones are mostly multiple choice with some short answers. A couple of the short answers involve handwriting code. Some of the multiple choice questions had over 20 answer choices each!! The multiple choice section was the craziest I'd ever seen in my life. Definitely be sure to study hard for the final, as you definitely won't be able to get lucky with guessing. In general, I'd highly recommend going over (and printing out) Nachenburg's slides before each exam, as they are good for reviewing and they are an excellent supplement to Smallberg's lectures. Also, don't rely on the open-note format of the tests, as you need to understand the topics on a conceptual level.

Overall, the course is hard but totally doable if you're diligent, put in the effort, start projects early, and get help when you need it. Do keep in mind that the difficulty gets much harder towards the end of the quarter, especially after week 6. For some perspective, a whopping 43% of the overall grade relies on things that are due in the last week of the course (hw 5 - 5%, project 4 - 13%, final exam - 25%). If a binary search tree was that unbalanced it would be O(N)! (You'll get the joke at the end of the course). Whatever happens, don't give up. Despite the difficulty, the curve is very generous, so there is definitely room to make mistakes and you don't need to be perfect to get an A. I failed midterm 2, did poorly on the final, and didn't do so well on project 4, yet I still somehow got an A. If I can do it, anyone can!

Helpful?

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

smallberg is by far the nicest prof ive ever had, he's extremely understanding and genuinely cares about his students. projects 3 and 4 take some time but overall the class is super easy. homeworks projects and tests are all very easy, the medians were always high 90s. bless david i hope his pillow is always cold at night <3

Helpful?

0 2 Please log in to provide feedback.
Quarter: Winter 2022
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 15, 2022

Smallberg is probably one of the smartest professors in the country. He knows every detail of C++ all the way through and can literally recite lines from the documentation. Taking CS32 with him gives a huge boost to any student because of the amount of detail and nuance that Smallberg approaches his class with. This class is hands down one of the most valuable experiences for any student in CS.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Winter 2022
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.
Feb. 5, 2022

Favorite project: Super Peach Sisters, hands down. It's so fun doing an actual graphical CS project for a change.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2020
Grade: N/A
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
April 15, 2021

A lot of these reviews don't tell you about how this class is. Truth is, Smallberg is an insanely intelligent dude. He knows C++ like it was one of his children(C++ is a Small berg). He sometimes takes a bit to build up the analogies(which can make it slightly monotonous at times and thus hard to concentrate) but when you pay 100% attention, you will realize that no one can explain a complex computing concept like he does. At the same time, this class workload is fucked up. Way too intense way too quickly. And projects, esp 3 and 4, are a massive time crunch. When taking this, take it with 12 units or if more, make sure the rest of your load is not too heavy coz you will have a hard time otherwise(don't be me. 16 stem units including this class and it got so bad that I had to late drop this class)

Helpful?

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

Smallberg is LOVE
Smallberg is LIFE
Trust me this is the greatest CS course ever
With beautiful project 3 and 4

Helpful?

0 1 Please log in to provide feedback.
Quarter: Spring 2022
Grade: A
June 29, 2022

SMALLBERG is KING

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2022
Grade: A
June 24, 2022

CS32 as a whole is an entire different ballpark than CS31. I took CS31 in the Winter with a different professor and entering this class was very different and. much more difficult. First of all, his lectures are entirely asynchronous and he posts them on the days class is scheduled for, and also on those days he holds a Q&A session where you can ask him anything about the material/homework/project during the assigned lecture time. His lectures work as asynchronous because this way we won't fall behind on lectures, because I know for students who took this class before Covid, they were always like two lectures behind. I guess that is a plus, but personally, I learn better with in-class lectures. As a word of advice, I would recommend watching these lectures literally on 2x speed and if you are still a little lost, go to discussion. I found that I didn't learn as well from the lectures but the discussions helped a lot, which I think is because I had a TA who explained these difficult concepts in a very manageable way. Your TA does matter in this class, and if you decide the TA you have isn't presenting the material in a way you can learn, go to a different TA's discussion. I would also highly recommend going to the TA office hours. Even if I didn't really have questions, having an environment to work in where everyone was doing the same project made me more motivated to do the projects. Also, and this is very important, DO NOT WAIT TO DO THE PROJECTS. Our projects were usually due on Tuesdays and the next one releases THE SAME TUESDAY. I often was overwhelmed by the workload and didn't start the next project until the weekend since I worked so hard last minute to complete the previous project, and then I would find myself in a difficult cycle of being behind on the project. So GO TO OFFICE HOURS the week the project is assigned and AT LEAST get started on the project the week before it is due; your whole life will be much easier if you work on the project the week in advance. I got a surprisingly good grade in this class and I would say it was because I got really good grades on all of the projects and homework assignments and did about average on the exams. The first exam was in person and even though I got average on the exam (70%) I still felt way more prepared on this exam than the second exam, which was online. The second exam was simply 3 coding questions and introduced a topic none of us were familiar with yet (trees), but somehow was supposed to get since we knew recursion. The final was very different, since it was online and had no coding questions and instead tested on some sorting, but mostly entirely Big-O. Even though it was "multiple choice", every question had about 20-30 options, so you really had to know your stuff. Regardless, very difficult class, but work really hard on the projects and homework to get good grades on them, and do about average to maybe above average on the exams and I think you'll be good.

Extra:
-I felt like understanding linked lists was the big turning point for me in this class, because understanding how they worked built on many of the other data structures in this class. Also, recursion is going to be difficult, but do your best to understand it through all of the assigned practice, and LA worksheets because unfortunately, they also test pretty heavily on your knowledge of recursion.
-Project 3 is always making some sort of game and it mainly tests on recursion, inheritance, choice of data structures, along with just your ability to come up with solutions. You get two weeks on this project, but it takes lowkey forever, so definitely start it the first week it's assigned because you WILL have questions, and you will run into a lot of errors.

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Spring 2022
Grade: B-
June 24, 2022

The jump between CS31 and CS32 is pretty big. I went into CS32 knowing it was a weeder class and I almost got weeded out. The first two projects are pretty manageable, but project 3 will literally ruin you so please start the day it is assigned. I spent nearly ten hours for like three days straight trying to get a FEW function completed. Do not slack in this class. My only real issue with the course is that the lectures can be quite boring and that the tests (at least the second midterm and final) were not easy to prepare for and only covered a few topics. It was hard because the final, for example, was almost entirely big-O, which only was covered in like a lecture and a half. Other than that, Smallberg is a nice guy and the class is just hard. Make sure to just start early and ask for help when you need it because the TAs and Smallberg will usually accommodate.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2022
Grade: B+
June 23, 2022

took this class as someone with no cs background other than cs31. smallberg was really nice overall and he just posted recorded lectures every week and had q&a sessions during the live lecture times. the projects were manageable but if you aren't already good at coding you should expect to dedicate a good chunk of time to it. it also just feels like so much work because there was a homework/project due almost every week (sometimes both in the same week).
exams were pretty rough for me, both on paper (midterm 1) and online(the other 2 exams).
overall smallberg is cool and i can honestly say his lectures aren't unbearable (as someone who hates lectures). i appreciate him cutting out literally every second of the lecture that wasn't necessary and his monkey that pops up every now and then. take this class!!

Helpful?

0 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: Winter 2022
Grade: A
June 22, 2022

I'm writing this review for winter '22. I found CS 32 to be much, much harder than CS 31, both in terms of content and workload. Before taking the class, I had been coding for five years and had done a coding internship, yet it was still difficult for me. Unlike CS 31, where it's possible to just cruise through and put in minimal effort and still get an A (if you know coding already), in CS 32, a lot more effort is needed.

This class had a flipped classroom format. Smallberg's prerecorded lectures were kind of boring but he was quite clear and explained the concepts well, for the most part. The only topic in which his lectures were lacking was recursion. For recursion, I would strongly suggest using Nachenburg's slides, as in my opinion he explained it much better. Smallberg only gave about 3 examples in his recursion lecture whereas Nachenburg gave a lot more. I only truly got the grasp of recursion when I saw Nachenburg's slides. For the other topics though, Smallberg's lectures were pretty good.

The projects and homeworks were much more time-consuming and complicated than CS 31's. Unlike CS 31, where each homework was just some ZyBook problems, most of the CS 32 homeworks were similar difficulty/time involvement as CS 31 projects and were graded on accuracy rather than completion. My ranking of the homeworks, from hardest to easiest, is hw 3, hw 1, hw 2, hw 4, hw 5. It was a bit annoying to have a hw due two days before the final but luckily it was the easiest one by far and took under an hour to complete. As for the projects, my ranking from hardest to easiest is project 4, project 3, project 2, project 1. Basically, the projects got exponentially harder as the course went on. Initially, I was really scared for project 3 since it had a 60 page spec and seemed very complicated. However, it wasn't actually super conceptually difficult, it was just very time-consuming. The spec was quite clear and basically told you what to do so there wasn't much hard thinking. If you start project 3 on time, it should be fine. I think about 45% of students got 100% on it. Personally, I spent about a week on it and treated it kind of like a full-time job lol. It took me 45 hours. I actually found it super fun though! It's my favorite memory of the course. Project 4 was a different story though. It was time-consuming AND super difficult. At first glance, it appeared simpler than project 3 since its spec was only a third of the length of project 3's spec. But that was because it didn't tell you what to do -- you had to think things through. It required a lot of critical thinking and it literally fried my brain lol. I spent 45 hours on it and was not able to come up with a working solution, as my code failed more complicated test cases. A lot of other students struggled as well and many submitted a dummy implementation. My general advice for projects 3 and 4 is to start early and to use resources for help. I'd highly recommend UPE's project 3 and 4 hacks, as they really came in clutch. Ask questions to Smallberg/your TA if you're unclear about something in the spec or requirements. Put effort into writing good test cases for your code, as testing your code thoroughly can make a big difference in your score. Smallberg is right when he emphasizes using an incremental approach to programming. Definitely do not code everything all at once -- break the project up into chunks and make sure each chunk works properly before moving onto the next. Also, the debugger is your best friend!

Both of the midterms were online. The first one was super easy and most people got 100. The second one was very difficult though and one of the questions was on a concept we hadn't covered yet. There isn't much leeway in the online exams, as the code is graded entirely on performance, so even if you have the right thought process and logic, if you make a small error that causes your code to fail test cases, you're screwed. I totally failed the second midterm and was so stressed that I almost dropped the course. However, Smallberg encouraged me not to drop, so I stayed. Fortunately, the midterm was curved, so even though I only got 1 out of 3 questions right, I got 60%. The final was in-person and it was very hard too. Smallberg still hasn't released our scores for the final exam (and for project 4), so I'm not sure exactly how I did, but I probably got a C at best. The format of the in-person exam was very different from the online tests. The online tests purely involve coding, but the in-person ones are mostly multiple choice with some short answers. A couple of the short answers involve handwriting code. Some of the multiple choice questions had over 20 answer choices each!! The multiple choice section was the craziest I'd ever seen in my life. Definitely be sure to study hard for the final, as you definitely won't be able to get lucky with guessing. In general, I'd highly recommend going over (and printing out) Nachenburg's slides before each exam, as they are good for reviewing and they are an excellent supplement to Smallberg's lectures. Also, don't rely on the open-note format of the tests, as you need to understand the topics on a conceptual level.

Overall, the course is hard but totally doable if you're diligent, put in the effort, start projects early, and get help when you need it. Do keep in mind that the difficulty gets much harder towards the end of the quarter, especially after week 6. For some perspective, a whopping 43% of the overall grade relies on things that are due in the last week of the course (hw 5 - 5%, project 4 - 13%, final exam - 25%). If a binary search tree was that unbalanced it would be O(N)! (You'll get the joke at the end of the course). Whatever happens, don't give up. Despite the difficulty, the curve is very generous, so there is definitely room to make mistakes and you don't need to be perfect to get an A. I failed midterm 2, did poorly on the final, and didn't do so well on project 4, yet I still somehow got an A. If I can do it, anyone can!

Helpful?

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

smallberg is by far the nicest prof ive ever had, he's extremely understanding and genuinely cares about his students. projects 3 and 4 take some time but overall the class is super easy. homeworks projects and tests are all very easy, the medians were always high 90s. bless david i hope his pillow is always cold at night <3

Helpful?

0 2 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: Winter 2022
Grade: A
March 15, 2022

Smallberg is probably one of the smartest professors in the country. He knows every detail of C++ all the way through and can literally recite lines from the documentation. Taking CS32 with him gives a huge boost to any student because of the amount of detail and nuance that Smallberg approaches his class with. This class is hands down one of the most valuable experiences for any student in CS.

Helpful?

0 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: Winter 2022
Grade: A+
Feb. 5, 2022

Favorite project: Super Peach Sisters, hands down. It's so fun doing an actual graphical CS project for a change.

Helpful?

0 0 Please log in to provide feedback.
COVID-19 This review was submitted during the COVID-19 pandemic. Your experience may vary.
Quarter: Spring 2020
Grade: N/A
April 15, 2021

A lot of these reviews don't tell you about how this class is. Truth is, Smallberg is an insanely intelligent dude. He knows C++ like it was one of his children(C++ is a Small berg). He sometimes takes a bit to build up the analogies(which can make it slightly monotonous at times and thus hard to concentrate) but when you pay 100% attention, you will realize that no one can explain a complex computing concept like he does. At the same time, this class workload is fucked up. Way too intense way too quickly. And projects, esp 3 and 4, are a massive time crunch. When taking this, take it with 12 units or if more, make sure the rest of your load is not too heavy coz you will have a hard time otherwise(don't be me. 16 stem units including this class and it got so bad that I had to late drop this class)

Helpful?

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

Smallberg is LOVE
Smallberg is LIFE
Trust me this is the greatest CS course ever
With beautiful project 3 and 4

Helpful?

0 1 Please log in to provide feedback.
5 of 11
4.0
Overall Rating
Based on 144 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!