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

5 of 14
5 of 14
Add your review...
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.
Quarter: Fall 2022
Grade: A
Verified Reviewer This user is a verified UCLA student/alum.
June 8, 2023

It's Smallberg. Who else would you do CS31 with?
He blessed my quarter.

Helpful?

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

Smallberg's CS31 is extremely rigorous and time consuming, but you will learn a lot from it. Homework usually takes around 5-10 hours a week (depending on how proficient you were at programming before taking this class). The best part of his class is that he sends you recordings of lectures, so you can watch them at your own pace. He talks in a very clear way, albeit a bit mundane at times, and uses plenty of examples. If you spend enough time and effort, you will get a lot out of this class. His midterms were not too hard, but the final was hard. I don't think the class was curved because it took place in fall quarter (most CS majors take CS31 fall quarter).

Helpful?

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

Asynch Lectures, some of the projects/hw can be difficult so go to Office Hours. Midterms and Final are harder, especially final which shafted some people

Helpful?

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

Pretty manageable class, especially if you have prior experience with CS. Definitely do not procrastinate on starting your projects and you should be fine. Attend discussions if you need help but neither discussions nor in-person lectures are required.

Helpful?

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

Kinda boring since lectures are prerecorded but class is chill if you have prior cs experience. Smallberg trolls quite a bit tho.

Helpful?

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

Although I came into this class having coding experience from AP CSA, the projects for this class were surprising difficult and time-consuming. If you don't have any coding experience at all, I wouldn't recommend this class since 10 weeks is a real short time to learn all the basics of coding and apply these coding concepts in graded projects. On the other hand though, tests were super easy. You get a cheat sheet but it is a pen-and-paper exam (not on the computer).

One pro of this class is definitely optional lectures. He just used lecture time as a recorded Q&A session, with the actual lectures being prerecorded and uploaded on Canvas. They're easy to understand in 2x, and tbh you'll still be fine even if you don't watch lectures at all, as long as you skim/read the textbook and do the projects diligently. Just note that the online interactive textbook was MANDATORY and a needless $70-80 for a 4-month subscription. At least it was a bit helpful.

Syllabus:
Projects (excluding zyBook assignments) 42% (there are 7 projects, about 6% each project)
zyBook assignments 7%
Responsibility assignments 1%
Midterm 1 7%
Midterm 2 13%
Final exam 30%

Helpful?

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

Smallberg is a great lecturer. 95% of the material you need for projects will be explained in lectures. However he is very picker about following directions. The workload is tough. I found myself spending most of my time on the projects. Would not take another heavy workload class with cs31, especially if you are new to coding.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2021
Grade: N/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

First CS class at UCLA teaching C++ is kind of questionable, but Smallberg is an excellent prof.

Helpful?

0 0 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.
Dec. 28, 2021

Smallberg is your introduction to CS at UCLA, and he's perfect for the job. His lectures are in-depth, he answers questions well, is very knowledgeable, and threw in occasional jokes I enjoyed. He's a hard-ass, but reasonably so.

If you've taken a similar class in the past (or AP CS and did well), you'll be completely fine. The projects are fun and the recorded lectures are skippable or two-times-speedable if you so desire. If it's your first time with CS, you'll definitely stumble a bit, but it's manageable.

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.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2022
Grade: A
June 8, 2023

It's Smallberg. Who else would you do CS31 with?
He blessed my quarter.

Helpful?

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

Smallberg's CS31 is extremely rigorous and time consuming, but you will learn a lot from it. Homework usually takes around 5-10 hours a week (depending on how proficient you were at programming before taking this class). The best part of his class is that he sends you recordings of lectures, so you can watch them at your own pace. He talks in a very clear way, albeit a bit mundane at times, and uses plenty of examples. If you spend enough time and effort, you will get a lot out of this class. His midterms were not too hard, but the final was hard. I don't think the class was curved because it took place in fall quarter (most CS majors take CS31 fall quarter).

Helpful?

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

Asynch Lectures, some of the projects/hw can be difficult so go to Office Hours. Midterms and Final are harder, especially final which shafted some people

Helpful?

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

Pretty manageable class, especially if you have prior experience with CS. Definitely do not procrastinate on starting your projects and you should be fine. Attend discussions if you need help but neither discussions nor in-person lectures are required.

Helpful?

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

Kinda boring since lectures are prerecorded but class is chill if you have prior cs experience. Smallberg trolls quite a bit tho.

Helpful?

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

Although I came into this class having coding experience from AP CSA, the projects for this class were surprising difficult and time-consuming. If you don't have any coding experience at all, I wouldn't recommend this class since 10 weeks is a real short time to learn all the basics of coding and apply these coding concepts in graded projects. On the other hand though, tests were super easy. You get a cheat sheet but it is a pen-and-paper exam (not on the computer).

One pro of this class is definitely optional lectures. He just used lecture time as a recorded Q&A session, with the actual lectures being prerecorded and uploaded on Canvas. They're easy to understand in 2x, and tbh you'll still be fine even if you don't watch lectures at all, as long as you skim/read the textbook and do the projects diligently. Just note that the online interactive textbook was MANDATORY and a needless $70-80 for a 4-month subscription. At least it was a bit helpful.

Syllabus:
Projects (excluding zyBook assignments) 42% (there are 7 projects, about 6% each project)
zyBook assignments 7%
Responsibility assignments 1%
Midterm 1 7%
Midterm 2 13%
Final exam 30%

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: Fall 2021
Grade: B
Feb. 22, 2022

Smallberg is a great lecturer. 95% of the material you need for projects will be explained in lectures. However he is very picker about following directions. The workload is tough. I found myself spending most of my time on the projects. Would not take another heavy workload class with cs31, especially if you are new to coding.

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 2021
Grade: N/A
Feb. 5, 2022

First CS class at UCLA teaching C++ is kind of questionable, but Smallberg is an excellent prof.

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

Smallberg is your introduction to CS at UCLA, and he's perfect for the job. His lectures are in-depth, he answers questions well, is very knowledgeable, and threw in occasional jokes I enjoyed. He's a hard-ass, but reasonably so.

If you've taken a similar class in the past (or AP CS and did well), you'll be completely fine. The projects are fun and the recorded lectures are skippable or two-times-speedable if you so desire. If it's your first time with CS, you'll definitely stumble a bit, but it's manageable.

Helpful?

0 0 Please log in to provide feedback.
5 of 14
4.1
Overall Rating
Based on 198 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!