David A Smallberg
Department of Computer Science
AD
4.1
Overall Rating
Based on 197 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 4.0 / 5 How helpful the class is, 1 being not helpful at all and 5 being extremely helpful.

TOP TAGS

  • Would Take Again
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 (137)

4 of 14
4 of 14
Add your review...
Quarter: Fall 2023
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Dec. 31, 2023

Smallberg is an excellent professor and very good at explaining the material. He posts recorded lectures, so the in person class time is just a QnA session (basically a giant office hour). The class is definitely loaded with work, overall 7 projects and a couple homework assignments. The work is manageable if you start early and keep on track with watching the lectures. He definitely gives hard tests. They aren't impossible to score well on, but they are very thorough and involve both tracing and writing code. He does allow a cheat sheet. My only complaint is that he can be snarky when answering questions, so make sure to read the entire specification before asking your question.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: A
Dec. 30, 2023

He just uses all the videos taken during pandemic. Projects are hard and you lose points for minor mistakes. The videos are helpful to be honest.

The Fall quarter for CS 31 is definitely an honor version, because everyone has some level of prior experience.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
Dec. 28, 2023

Overall, I enjoyed this class. Professor Smallberg is a great teacher and is more than willing to answer questions. I truly learned a lot from this class. The workload is okay, however Project 5 is by far the hardest in the class. Besides that, everything else is fairly manageable assuming you don't procrastinate on projects.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: N/A
Verified Reviewer This user is a verified UCLA student/alum.
Dec. 7, 2023

If I could give him 0 stars I would, but that's not possible so I gave him 1.
He is the worst prof ever.
Exams are nothing like the material in the lecture
42% of the grade is on projects ... and unlike other subjects, that's horrible.. because the project are hard esp 3 and 6 which were a day before or after the midterms so he was basically wanted to fail at either the project or the midterm cause you wouldn't be able to do both very well at the same time
he doesn't curve
he traumatized me
I have never hated a person more in my life

Also he seems so bored of the subject .. he has been teaching the same thing for ages
Any question asked is a 'stupid' question to him.. he doesn't even gives lectures he has these recording from covid that he just puts up .. i think he should retire if he doesn't want to teach anymore

There like 4 mcqs and one free-response question in the midterm
And the mcq doesn't have 4 or 5 choices .. no we had like 20-25 choices
And each question is worth so much
So you are gone lose a lot of marks because of a tiny little error you did in one of the steps because the mcqs are worth like 5-12 points depending on the difficulty out of like 35 or 65 (1st and 2nd) so 1 mistake could take a whole letter grade away

RUN AWAY from him
and don't take it with cs majors unless you absolutely love coding or is a cs major

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: B+
Verified Reviewer This user is a verified UCLA student/alum.
Dec. 7, 2023

Best part of this class: No lectures to attend. All "lectures" are recorded from previous years and can be watched at your own pace. The listed lecture times are more like office hours, and are completely optional.
The work is divided into textbook problems, which are trivially easy and just require patience, and projects, which range from manageable to fiendishly difficult. If you have a general understanding of computer science principles and know at least one object-oriented programming language, there isn't much to actually learn about C++. Smallberg is a straightforward lecturer, but I'd still recommend watching on 1.5x speed and skipping around.
Discussions were not worth attending at all. Both the TA and LA were completely checked out and it wasn't really clear what any of us were doing there. The best TA to ask for help during office hours is Fabrice, sadly he was not my TA for discussion. Office hours tend to be packed right before a project is due, start things early so you can go hassle the TAs early.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: N/A
Verified Reviewer This user is a verified UCLA student/alum.
Nov. 21, 2023

WOULD NEVER TAKE AGAIN

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2022
Grade: B+
Verified Reviewer This user is a verified UCLA student/alum.
Sept. 22, 2023

Should be opt-out—too much work. The tests are too pedantic to be testing on anything useful.

Helpful?

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

This class introduces you to the basics of programming, particularly in C++.
For a person with a background in programming, like me, this class wasn't too bad. His lectures are clear and project specifications are precise. A downside is that the workload is... a lot, to put it simply. You're always going to be working on the next project or homework, but as long as you start early (like the DAY it is assigned), you should be fine.
If you're new to programming: definitely expect to struggle in this class.While Smallberg is a good lecturer, he's can be uncooperative and unhelpful outside class to those new to programming - make sure to use your TAs, the UPE center, and another centre specifically for CS 31 and 32 students if you need help with projects, which you most likely will. The biggest advice I can give you is to take this class during winter or spring quarter (not fall, with all the CS majors) so the grading curve can potentially work to your advantage.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: A-
July 3, 2023

Smallberg is great overall, and you probably won't have much choice but to take him anyways so some advice for the class because there are a couple really specific tips:
MOST IMPORTANT on the midterms make sure to look at the point values for each question. You can't assume the multiple choice questions are just worth a couple points sometimes there can be an insanely heavy weight on one or two of them. On one of the exams there was one multiple choice that was worth 12 points out of the 65 pt test, be aware of that kind of weird distribution so you know how to budget your time
Don't underestimate the final. The midterms were much easier than the final, and the practice finals were also much easier than the final.
If you are going to email Smallberg for a question I found that he was much more responsive if you email from your ucla address instead of a personal one. Don't know if he has some kind of filter on his inbox or what but that worked for me and he is great at communicating
Also random note because the grades are kind of a black box I think he up curved our class due to low exam averages because I ended up with an A- after what I thought was an 86 ish overall percent

Helpful?

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

Smallberg's lectures were thorough and useful, if a bit dull. He is super responsive to emails, so feel free to ask him questions (but do that after asking TAs for help first).

The exams (2 midterms and final) are difficult but not exceedingly so. Most exams consist of analyzing code for mistakes or to understand how to works. The code in exams seem to be purposely written confusingly, so make sure you are careful when reading through it, and just do a ton of practice problems tracing through code.

Projects are the meat of the class. I thought Project 3 and 5 were the toughest, and I personally spent up to 20 hrs in a week working on those projects. However, all the proejcts are definitely doable, you just need to make sure that you start early.

I personally found the required textbook pretty useful. Usually I listened to lecture first, then go through the textbook to review and go through their exercises/problems to understand the concepts before working on a project.

Overall, I felt I got a good understanding of basic coding concepts in C++, and as a nonmajor I felt pretty confident throughout the whole course, even if sometimes it was a bit stressful trying to finish a project

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2023
Grade: A
Dec. 31, 2023

Smallberg is an excellent professor and very good at explaining the material. He posts recorded lectures, so the in person class time is just a QnA session (basically a giant office hour). The class is definitely loaded with work, overall 7 projects and a couple homework assignments. The work is manageable if you start early and keep on track with watching the lectures. He definitely gives hard tests. They aren't impossible to score well on, but they are very thorough and involve both tracing and writing code. He does allow a cheat sheet. My only complaint is that he can be snarky when answering questions, so make sure to read the entire specification before asking your question.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: A
Dec. 30, 2023

He just uses all the videos taken during pandemic. Projects are hard and you lose points for minor mistakes. The videos are helpful to be honest.

The Fall quarter for CS 31 is definitely an honor version, because everyone has some level of prior experience.

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2023
Grade: A
Dec. 28, 2023

Overall, I enjoyed this class. Professor Smallberg is a great teacher and is more than willing to answer questions. I truly learned a lot from this class. The workload is okay, however Project 5 is by far the hardest in the class. Besides that, everything else is fairly manageable assuming you don't procrastinate on projects.

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2023
Grade: N/A
Dec. 7, 2023

If I could give him 0 stars I would, but that's not possible so I gave him 1.
He is the worst prof ever.
Exams are nothing like the material in the lecture
42% of the grade is on projects ... and unlike other subjects, that's horrible.. because the project are hard esp 3 and 6 which were a day before or after the midterms so he was basically wanted to fail at either the project or the midterm cause you wouldn't be able to do both very well at the same time
he doesn't curve
he traumatized me
I have never hated a person more in my life

Also he seems so bored of the subject .. he has been teaching the same thing for ages
Any question asked is a 'stupid' question to him.. he doesn't even gives lectures he has these recording from covid that he just puts up .. i think he should retire if he doesn't want to teach anymore

There like 4 mcqs and one free-response question in the midterm
And the mcq doesn't have 4 or 5 choices .. no we had like 20-25 choices
And each question is worth so much
So you are gone lose a lot of marks because of a tiny little error you did in one of the steps because the mcqs are worth like 5-12 points depending on the difficulty out of like 35 or 65 (1st and 2nd) so 1 mistake could take a whole letter grade away

RUN AWAY from him
and don't take it with cs majors unless you absolutely love coding or is a cs major

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2023
Grade: B+
Dec. 7, 2023

Best part of this class: No lectures to attend. All "lectures" are recorded from previous years and can be watched at your own pace. The listed lecture times are more like office hours, and are completely optional.
The work is divided into textbook problems, which are trivially easy and just require patience, and projects, which range from manageable to fiendishly difficult. If you have a general understanding of computer science principles and know at least one object-oriented programming language, there isn't much to actually learn about C++. Smallberg is a straightforward lecturer, but I'd still recommend watching on 1.5x speed and skipping around.
Discussions were not worth attending at all. Both the TA and LA were completely checked out and it wasn't really clear what any of us were doing there. The best TA to ask for help during office hours is Fabrice, sadly he was not my TA for discussion. Office hours tend to be packed right before a project is due, start things early so you can go hassle the TAs early.

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2023
Grade: N/A
Nov. 21, 2023

WOULD NEVER TAKE AGAIN

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2022
Grade: B+
Sept. 22, 2023

Should be opt-out—too much work. The tests are too pedantic to be testing on anything useful.

Helpful?

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

This class introduces you to the basics of programming, particularly in C++.
For a person with a background in programming, like me, this class wasn't too bad. His lectures are clear and project specifications are precise. A downside is that the workload is... a lot, to put it simply. You're always going to be working on the next project or homework, but as long as you start early (like the DAY it is assigned), you should be fine.
If you're new to programming: definitely expect to struggle in this class.While Smallberg is a good lecturer, he's can be uncooperative and unhelpful outside class to those new to programming - make sure to use your TAs, the UPE center, and another centre specifically for CS 31 and 32 students if you need help with projects, which you most likely will. The biggest advice I can give you is to take this class during winter or spring quarter (not fall, with all the CS majors) so the grading curve can potentially work to your advantage.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2023
Grade: A-
July 3, 2023

Smallberg is great overall, and you probably won't have much choice but to take him anyways so some advice for the class because there are a couple really specific tips:
MOST IMPORTANT on the midterms make sure to look at the point values for each question. You can't assume the multiple choice questions are just worth a couple points sometimes there can be an insanely heavy weight on one or two of them. On one of the exams there was one multiple choice that was worth 12 points out of the 65 pt test, be aware of that kind of weird distribution so you know how to budget your time
Don't underestimate the final. The midterms were much easier than the final, and the practice finals were also much easier than the final.
If you are going to email Smallberg for a question I found that he was much more responsive if you email from your ucla address instead of a personal one. Don't know if he has some kind of filter on his inbox or what but that worked for me and he is great at communicating
Also random note because the grades are kind of a black box I think he up curved our class due to low exam averages because I ended up with an A- after what I thought was an 86 ish overall percent

Helpful?

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

Smallberg's lectures were thorough and useful, if a bit dull. He is super responsive to emails, so feel free to ask him questions (but do that after asking TAs for help first).

The exams (2 midterms and final) are difficult but not exceedingly so. Most exams consist of analyzing code for mistakes or to understand how to works. The code in exams seem to be purposely written confusingly, so make sure you are careful when reading through it, and just do a ton of practice problems tracing through code.

Projects are the meat of the class. I thought Project 3 and 5 were the toughest, and I personally spent up to 20 hrs in a week working on those projects. However, all the proejcts are definitely doable, you just need to make sure that you start early.

I personally found the required textbook pretty useful. Usually I listened to lecture first, then go through the textbook to review and go through their exercises/problems to understand the concepts before working on a project.

Overall, I felt I got a good understanding of basic coding concepts in C++, and as a nonmajor I felt pretty confident throughout the whole course, even if sometimes it was a bit stressful trying to finish a project

Helpful?

0 0 Please log in to provide feedback.
4 of 14
4.1
Overall Rating
Based on 197 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 4.0 / 5 How helpful the class is, 1 being not helpful at all and 5 being extremely helpful.

TOP TAGS

  • Would Take Again
    (78)
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!