David A Smallberg
Department of Computer Science
AD
4.1
Overall Rating
Based on 211 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 (148)

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: Spring 2025
Grade: A-
Verified Reviewer This user is a verified UCLA student/alum.
July 1, 2025

I like Smallberg. He was interesting and so was his class. Unfortunately, his tests are super nitpicky, which led to me questioning why I kept getting silly mistakes. This led me to getting diagnosed with ADHD. Long story short, if you are wondering if you have ADHD take Smallberg.

Helpful?

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

I took this off season because I am not a CS major. If you do, it is harder to do well comparatively. Technically this class is point based, but there can be a slight curve here and there at the end. The projects are annoying in my opinion. The spec is super detailed, but it becomes word vomit when you look at it and it honestly made me feel sick. You get some practice using Linux which is helpful for everyone. The lectures are recorded and also a cure for insomnia. They are in depth though. Lecture time is for questions. Usually there is like 5 people there. You can also join for Zoom. He often does not give you a straight answer but goes on a tangent. He also responds incredibly fast to emails. I hated his midterms but I don't really like CS. It is like half MC half written. The written content increases in length with every test. He has a way to kind of do a partial credit for MCQ which I thought was cool and appreciated. His tests are long. The final was especially long. No real way to prepare for it. Just have code. The MCQ always tries to trick you and go into the nuance of the language. For projects, start early because he makes this class long and difficult.

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: Spring 2025
Grade: A-
July 1, 2025

I like Smallberg. He was interesting and so was his class. Unfortunately, his tests are super nitpicky, which led to me questioning why I kept getting silly mistakes. This led me to getting diagnosed with ADHD. Long story short, if you are wondering if you have ADHD take Smallberg.

Helpful?

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

I took this off season because I am not a CS major. If you do, it is harder to do well comparatively. Technically this class is point based, but there can be a slight curve here and there at the end. The projects are annoying in my opinion. The spec is super detailed, but it becomes word vomit when you look at it and it honestly made me feel sick. You get some practice using Linux which is helpful for everyone. The lectures are recorded and also a cure for insomnia. They are in depth though. Lecture time is for questions. Usually there is like 5 people there. You can also join for Zoom. He often does not give you a straight answer but goes on a tangent. He also responds incredibly fast to emails. I hated his midterms but I don't really like CS. It is like half MC half written. The written content increases in length with every test. He has a way to kind of do a partial credit for MCQ which I thought was cool and appreciated. His tests are long. The final was especially long. No real way to prepare for it. Just have code. The MCQ always tries to trick you and go into the nuance of the language. For projects, start early because he makes this class long and difficult.

Helpful?

0 0 Please log in to provide feedback.
3 of 15
4.1
Overall Rating
Based on 211 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!