David A Smallberg
Department of Computer Science
AD
4.1
Overall Rating
Based on 208 Users
Easiness 3.2 / 5 How easy the class is, 1 being extremely difficult and 5 being easy peasy.
Clarity 4.3 / 5 How clear the class is, 1 being extremely unclear and 5 being very clear.
Workload 3.0 / 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
30.4%
25.4%
20.3%
15.2%
10.1%
5.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.

39.2%
32.7%
26.1%
19.6%
13.1%
6.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.

31.3%
26.1%
20.9%
15.6%
10.4%
5.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.

56.7%
47.2%
37.8%
28.3%
18.9%
9.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.

71.0%
59.2%
47.3%
35.5%
23.7%
11.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.

56.2%
46.8%
37.4%
28.1%
18.7%
9.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.

36.2%
30.2%
24.1%
18.1%
12.1%
6.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.

25.9%
21.6%
17.3%
13.0%
8.6%
4.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.

44.7%
37.2%
29.8%
22.3%
14.9%
7.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.

47.3%
39.4%
31.5%
23.7%
15.8%
7.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.

27.0%
22.5%
18.0%
13.5%
9.0%
4.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.

35.6%
29.7%
23.7%
17.8%
11.9%
5.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.

22.9%
19.1%
15.3%
11.5%
7.6%
3.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.

36.9%
30.8%
24.6%
18.5%
12.3%
6.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.

27.7%
23.1%
18.5%
13.9%
9.2%
4.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.

36.1%
30.1%
24.1%
18.0%
12.0%
6.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.

30.0%
25.0%
20.0%
15.0%
10.0%
5.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.

20.7%
17.2%
13.8%
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.

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.

26.8%
22.3%
17.8%
13.4%
8.9%
4.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.

22.3%
18.6%
14.8%
11.1%
7.4%
3.7%
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.5%
19.6%
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.

17.4%
14.5%
11.6%
8.7%
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.

ENROLLMENT DISTRIBUTIONS
Clear marks

Sorry, no enrollment data is available.

AD

Reviews (145)

3 of 15
3 of 15
Add your review...
Quarter: Fall 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.
Dec. 15, 2020

Overall: I took AP Computer Science A in high school, so many of the topics weren't new to me, so this class was definitely not hard for me but I can definitely see that it would be more challenging for someone with no prior experience. I took this class online because of COVID, so his lectures were all uploaded beforehand and he spent the actual class time doing Q&A, which I ended up not really going to. His lectures were not super interesting but they are informative and I watched them on 2-4x speed. Overall, Smallberg is very willing to help. I emailed him at midnight one day with a question about my bug, and he answered within 5 minutes with a somewhat passive aggressive but nonetheless helpful answer. He can come off as strict, but he just wants to prepare his students for the future.
Projects: Really weren't too bad; I usually finished them within a day, but start early just in case you run into bugs. Also pay attention to the specific requirements so you don't lose easy points.
Exams: 1 hour, taken online so the exams were all writing code (no code tracing, etc.) which made it pretty easy.

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.
July 28, 2020

Smallberg was great. If you've done any coding before this class will be a breeze, even though there's a solid workload. If you haven't taken coding before, take the class in the fall or spring when you won't be stuck in there with all the compsci majors. He moves faster during fall quarter.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2019
Grade: A
Dec. 25, 2019

Professor is extremely knowledgeable. He we’ll be able to answer nearly anything you throw at him.

Unfortunately the lectures do tend to be boring and it’s difficult to stay focused for 2 hours.

If you have prior programming experience, this is fine since you can kind of half pay attention to the lectures and soak up what you need for C++, and ask questions if you have any. Personally I had no C++ experience before (mainly prefer Python) but I still got what I needed from showing up to about 60-70% of the lectures and looking at online materials.

If you don’t have prior programming experience, I don’t recommend taking this course. You will either do poorly or have to spend way more time than you’d want to, or both.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
Feb. 21, 2017

CS31 is an easy class if you keep up with the work and the lectures. Lectures are generally quite slow with Smallberg and you'll probably lose attention quite often. Smallberg is very precise and methodical and if you take note of most things you'll be fine.

Reading the textbook is very helpful for picking up certain things that might be used on exams. I generally didn't listen in class but reading the textbook helped me catch up on all that I missed.

Projects are generally quite easy and if you start early, you'll have no problems. Midterms and finals will be fine if you know your stuff

Text: ********** if you want cheap for lower price

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.
Oct. 6, 2021

Petty petty little man. He rants about how we are all so incompetent and can't do simple tasks but his website lead to a 404 error for 3 days before he fixed it after many emails. He responds to simple questions by saying that we shouldn't be confused about basic things (but this is an intro class so that makes no sense). He is so disorganized and unclear. I enjoy CS and I did well in the class because the textbook was great, but Smallberg is an awful teacher and probably skins puppies as a hobby.

Helpful?

3 2 Please log in to provide feedback.
Quarter: Fall 2019
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Dec. 24, 2019

Lectures can be a little boring, especially since most people know most topics since fall quarter expects prior experience. He's occasionally funny but doesn't crack jokes often. He covers every scenario and error, but his clarity and detailedness are really helpful.
The projects weren't too bad; first two were pretty easy. Project 3 was a pretty large jump from project 2. Projects 3-7 took anywhere from 2 to 8 hours (you have a week to finish each project). As long as you check your program for around fifteen minutes and use the test-cases he gives out to test your project, you can get A's on most projects.
Midterm (usually 2 midterms but first was cancelled because of a fire) and final are pretty detail-oriented, the final more so. The bubbling scheme is a little weird and might take you a minute or so to understand.

Helpful?

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

I actually dropped this class halfway through the quarter, but I thought to provide some comments. I received a very very low score on my project 2 that would make it impossible for me to succeed in this class. because I missed three hyphens. That's probably due to my own issue, but I thought there's no need to make people like me who received low scores feel worse --- the following are from the email the professor sent us: it may not be because of a lack of understanding of C++, but something more fundamental: You ignored
repeated admonitions in the spec and in class to avoid specific foolish
mistakes, yet you made them anyway. Whatever your field of study is, you
must fix this characteristic about yourself. No employer would dare hire
someone who ignores repeated spoken and written directives: You'd pose a
risk to the safety of yourself and others if you ignore safety rules, a
risk to the financial health of the company if you ignore legal regulations,
and a drain on productivity if your ignoring specifications causes you or
others to devote more time later on to correct your mistakes.

Helpful?

1 1 Please log in to provide feedback.
Quarter: Fall 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.
Dec. 3, 2021

If your correctness score is 60 or below, it may not be because of a lack
of understanding of C++, but something more fundamental: You chose to
ignore repeated admonitions in the spec and in class to avoid specific
foolish mistakes, yet you made them anyway. Whatever your field of study
is, you should work to fix whatever caused you to do this. No employer
would dare hire someone who ignores repeated spoken and written directives:
You'd pose a risk to the safety of yourself and others if you ignore safety
rules, a risk to the financial health of the company if you ignore legal
regulations, and a drain on productivity if your ignoring specifications
causes you or others to devote more time later on to correct your mistakes.

Helpful?

1 2 Please log in to provide feedback.
Quarter: Fall 2024
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Feb. 12, 2025

It's a class you have to learn independently. I personally am not the best at that but it ended up being fine, he records lectures so you have to keep up with it yourself. I dont have alot of coding background but I thought the material was very straightforward, and you had great resources as long as you knew how to find them. The TAs are more helpful than the professor. The midterms and finals are how you would expect, not easy but doable.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Spring 2024
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Feb. 11, 2025

Review of off-cycle cs31 course (Not with cs majors, i.e. not in fall) so results may differ:

I took this in spring so not many cs majors this time around so the curve is more generous and people don't tend to do as well as the class is not as competitive which is an advantage.

All right, so I will say it is extremely easy to get behind in this class. His lectures are all pre-recorded and his actual lecture hours are just office hours. At one point I was behind like 5 weeks on lectures but it took me one day of brute force to catch up and I was fine. I really learned a lot from my discussion as my LAs were amazing, my TA was kinda just there and didn't say anything lol. The projects are the bulk of your grade, around 42% and he is very tedious with his testing. He will literally test cases you will not even think of on your own but I guess it helps in the long run as you will make sure your code works to the T. Get familiar with g31, it will be your best friend when testing as this is where he tests your projects. His homework is not worth much and really easy for Zybooks to practice some topics but it sucks you gotta pay like 80 bucks for like 3 assignments lol. His midterms are lowkey kinda hard and have so many answer choices for no reason. I mean I went in thinking it wouldn't be bad since it was MCQ with one FRQ code-writing question, but when I opened the exam and saw 30+ answer choices for just one question was kinda insane. Other than that, just make sure you know your projects well and how to trace code as that is the bulk of the mcq and then your frq is just using skills from your projects up to the exam. Since the exams are worth like 12% and 9% (can't remember atm), he does this weird thing where your project scores have to be within 30 points of your exam scores. So if your project average is a 100%, but you get a 60% average on your exams, you get bumped down to a 90% on your project score to have that 30% gap. He also requires you score a 42% on the final to pass no matter what you end with which seems low but when you take the exam, you'll see why. I will say though, the exams are hard so don't get down on yourself and just try your best. The final though.......... that was a beast and a half. It was actually terrible, had wack questions and the average was a 67%. This was nice because though, the class got curved a ton which was also due to it being off-cycle from the cs major path. It was annoying that he gave you a literal piece of code that would then output your final grade in the class LOL. I mean that's unique but maybe not when you're literally going through it the entire quarter. Smallberg is a nice guy but I do think he could make the exams more doable and not as tedious.

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: Fall 2020
Grade: A
Dec. 15, 2020

Overall: I took AP Computer Science A in high school, so many of the topics weren't new to me, so this class was definitely not hard for me but I can definitely see that it would be more challenging for someone with no prior experience. I took this class online because of COVID, so his lectures were all uploaded beforehand and he spent the actual class time doing Q&A, which I ended up not really going to. His lectures were not super interesting but they are informative and I watched them on 2-4x speed. Overall, Smallberg is very willing to help. I emailed him at midnight one day with a question about my bug, and he answered within 5 minutes with a somewhat passive aggressive but nonetheless helpful answer. He can come off as strict, but he just wants to prepare his students for the future.
Projects: Really weren't too bad; I usually finished them within a day, but start early just in case you run into bugs. Also pay attention to the specific requirements so you don't lose easy points.
Exams: 1 hour, taken online so the exams were all writing code (no code tracing, etc.) which made it pretty easy.

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 2020
Grade: A-
July 28, 2020

Smallberg was great. If you've done any coding before this class will be a breeze, even though there's a solid workload. If you haven't taken coding before, take the class in the fall or spring when you won't be stuck in there with all the compsci majors. He moves faster during fall quarter.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2019
Grade: A
Dec. 25, 2019

Professor is extremely knowledgeable. He we’ll be able to answer nearly anything you throw at him.

Unfortunately the lectures do tend to be boring and it’s difficult to stay focused for 2 hours.

If you have prior programming experience, this is fine since you can kind of half pay attention to the lectures and soak up what you need for C++, and ask questions if you have any. Personally I had no C++ experience before (mainly prefer Python) but I still got what I needed from showing up to about 60-70% of the lectures and looking at online materials.

If you don’t have prior programming experience, I don’t recommend taking this course. You will either do poorly or have to spend way more time than you’d want to, or both.

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
Feb. 21, 2017

CS31 is an easy class if you keep up with the work and the lectures. Lectures are generally quite slow with Smallberg and you'll probably lose attention quite often. Smallberg is very precise and methodical and if you take note of most things you'll be fine.

Reading the textbook is very helpful for picking up certain things that might be used on exams. I generally didn't listen in class but reading the textbook helped me catch up on all that I missed.

Projects are generally quite easy and if you start early, you'll have no problems. Midterms and finals will be fine if you know your stuff

Text: ********** if you want cheap for lower price

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: A
Oct. 6, 2021

Petty petty little man. He rants about how we are all so incompetent and can't do simple tasks but his website lead to a 404 error for 3 days before he fixed it after many emails. He responds to simple questions by saying that we shouldn't be confused about basic things (but this is an intro class so that makes no sense). He is so disorganized and unclear. I enjoy CS and I did well in the class because the textbook was great, but Smallberg is an awful teacher and probably skins puppies as a hobby.

Helpful?

3 2 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2019
Grade: A
Dec. 24, 2019

Lectures can be a little boring, especially since most people know most topics since fall quarter expects prior experience. He's occasionally funny but doesn't crack jokes often. He covers every scenario and error, but his clarity and detailedness are really helpful.
The projects weren't too bad; first two were pretty easy. Project 3 was a pretty large jump from project 2. Projects 3-7 took anywhere from 2 to 8 hours (you have a week to finish each project). As long as you check your program for around fifteen minutes and use the test-cases he gives out to test your project, you can get A's on most projects.
Midterm (usually 2 midterms but first was cancelled because of a fire) and final are pretty detail-oriented, the final more so. The bubbling scheme is a little weird and might take you a minute or so to understand.

Helpful?

2 1 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: U
April 23, 2021

I actually dropped this class halfway through the quarter, but I thought to provide some comments. I received a very very low score on my project 2 that would make it impossible for me to succeed in this class. because I missed three hyphens. That's probably due to my own issue, but I thought there's no need to make people like me who received low scores feel worse --- the following are from the email the professor sent us: it may not be because of a lack of understanding of C++, but something more fundamental: You ignored
repeated admonitions in the spec and in class to avoid specific foolish
mistakes, yet you made them anyway. Whatever your field of study is, you
must fix this characteristic about yourself. No employer would dare hire
someone who ignores repeated spoken and written directives: You'd pose a
risk to the safety of yourself and others if you ignore safety rules, a
risk to the financial health of the company if you ignore legal regulations,
and a drain on productivity if your ignoring specifications causes you or
others to devote more time later on to correct your mistakes.

Helpful?

1 1 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: Fall 2021
Grade: A
Dec. 3, 2021

If your correctness score is 60 or below, it may not be because of a lack
of understanding of C++, but something more fundamental: You chose to
ignore repeated admonitions in the spec and in class to avoid specific
foolish mistakes, yet you made them anyway. Whatever your field of study
is, you should work to fix whatever caused you to do this. No employer
would dare hire someone who ignores repeated spoken and written directives:
You'd pose a risk to the safety of yourself and others if you ignore safety
rules, a risk to the financial health of the company if you ignore legal
regulations, and a drain on productivity if your ignoring specifications
causes you or others to devote more time later on to correct your mistakes.

Helpful?

1 2 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2024
Grade: A
Feb. 12, 2025

It's a class you have to learn independently. I personally am not the best at that but it ended up being fine, he records lectures so you have to keep up with it yourself. I dont have alot of coding background but I thought the material was very straightforward, and you had great resources as long as you knew how to find them. The TAs are more helpful than the professor. The midterms and finals are how you would expect, not easy but doable.

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Spring 2024
Grade: A
Feb. 11, 2025

Review of off-cycle cs31 course (Not with cs majors, i.e. not in fall) so results may differ:

I took this in spring so not many cs majors this time around so the curve is more generous and people don't tend to do as well as the class is not as competitive which is an advantage.

All right, so I will say it is extremely easy to get behind in this class. His lectures are all pre-recorded and his actual lecture hours are just office hours. At one point I was behind like 5 weeks on lectures but it took me one day of brute force to catch up and I was fine. I really learned a lot from my discussion as my LAs were amazing, my TA was kinda just there and didn't say anything lol. The projects are the bulk of your grade, around 42% and he is very tedious with his testing. He will literally test cases you will not even think of on your own but I guess it helps in the long run as you will make sure your code works to the T. Get familiar with g31, it will be your best friend when testing as this is where he tests your projects. His homework is not worth much and really easy for Zybooks to practice some topics but it sucks you gotta pay like 80 bucks for like 3 assignments lol. His midterms are lowkey kinda hard and have so many answer choices for no reason. I mean I went in thinking it wouldn't be bad since it was MCQ with one FRQ code-writing question, but when I opened the exam and saw 30+ answer choices for just one question was kinda insane. Other than that, just make sure you know your projects well and how to trace code as that is the bulk of the mcq and then your frq is just using skills from your projects up to the exam. Since the exams are worth like 12% and 9% (can't remember atm), he does this weird thing where your project scores have to be within 30 points of your exam scores. So if your project average is a 100%, but you get a 60% average on your exams, you get bumped down to a 90% on your project score to have that 30% gap. He also requires you score a 42% on the final to pass no matter what you end with which seems low but when you take the exam, you'll see why. I will say though, the exams are hard so don't get down on yourself and just try your best. The final though.......... that was a beast and a half. It was actually terrible, had wack questions and the average was a 67%. This was nice because though, the class got curved a ton which was also due to it being off-cycle from the cs major path. It was annoying that he gave you a literal piece of code that would then output your final grade in the class LOL. I mean that's unique but maybe not when you're literally going through it the entire quarter. Smallberg is a nice guy but I do think he could make the exams more doable and not as tedious.

Helpful?

0 0 Please log in to provide feedback.
3 of 15
4.1
Overall Rating
Based on 208 Users
Easiness 3.2 / 5 How easy the class is, 1 being extremely difficult and 5 being easy peasy.
Clarity 4.3 / 5 How clear the class is, 1 being extremely unclear and 5 being very clear.
Workload 3.0 / 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!