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

10 of 14
10 of 14
Add your review...
Quarter: Spring 2017
Grade: A
Aug. 22, 2017

CS31 with Smallberg is just a fantastic class. He puts a lot of effort into all the material and projects to keep it engaging. The projects do take a lot of times (I think I spent ~10 hours on some of the hardest ones) but as long as you keep looking back at the specifications to make sure you're getting all the details right, they're not too difficult. Just don't start late, so many people who drop or do poorly start the projects too late the day of and don't finish in time. Overall this is one of my favorite classes I've had here. You learn so much!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: N/A
July 13, 2017

Great class. Selling physical textbook, Absolute C++ (6th Edition) for $60. Text me if interested **********

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
June 20, 2017

Don't forget the semicolon!
Good times

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: B+
Verified Reviewer This user is a verified UCLA student/alum.
Jan. 29, 2017

He's great! Always knows what you're gonna ask when you raise your hand. He's really clear. But people in my class are... really genius, raising the standard to really high I guess. He emails you about the median of the class for every assignment and test, and the median was like 97% in average...BTW, I am selling ELECTRONIC textbook Absolute C++ (6th Edition, latest version) for $10. Text me at: **********.

Helpful?

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

Smallberg is a really good professor for beginners in programming!

Projects are based on what you've learned on class, but not so time-consuming if you're confident in your programming skills, despite Project 5 and 7, which requires you to be super-clear about what codes you're going to write.

Two midterms are not hard but you'll lose a lot of points if you make a simple mistake because there are only less than 10 questions. So be careful! They're composed of code-tracking and code-writing.

Final is only a little bit harder than both midterms, and is composed of code-writing, code-tracking and some multiple choice questions about concepts. About 70 questions, one or two points each.

How to get an A?
Try to get 100 on all projects: majority of the class would get 90+ on all projects.
Try to get 95+ on midterm, at least 90+;
Try to get 90+ on final, at least 85+;
This is will probably ensure an A.
But since Smallberg gives a lot of As for this beginner class, don't concern too much and just try your best.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
Dec. 20, 2016

Let's start off with my favorite moment in this course: "DONT'T FORGET THE SEMICOLON!" *jumps up and down*

Smallberg is amazing! Although his lectures are quite slow if you have experience and boring at times, I still go to lecture to pick up the syntax while working on other things if the material is too slow at a given moment.

Grading breakdown of the class:
40% projects
25% midterm
35% final

Projects: They take up quite some time so START EARLY!!!!! Projects 3 and 5 are the most tedious and time consuming. For those who have experience: take commenting and the report seriously. I lost quite some points on the project due to not putting much effort on the reports/commenting.

Midterm: There are 2 "midterms" 35 and 65 points and the combined score out of 100 is put in the midterm category. It is not too bad, just be quick and precise. No surprises.

Final: Make sure you understand the concepts inside and out. I got near a high A on the final but the median is B- and mean is C+. You should spend the whole duration on the final although one can finish in a shorter amount of time. There are trick questions!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: N/A
Nov. 17, 2016

Smallberg is a fantastic professor, seriously.

His lectures can be a bit hard to sit through in a two hour period, but he always has a break period of 5-10 minutes about halfway through. Smallberg's lectures move at a pace meant to accommodate beginners, since this is a beginner class. If you have zero experience, you don't have to worry about a thing. He goes through the material very thoroughly, and always stops to take questions. If you've taken APCS or otherwise have CS experience, this class is going to seem real slow at first - I still attended lectures anyway mostly because I'd rather pick up the syntax from a lecture than a textbook, and I could use the time to work on projects or other homework.

Speaking of homework, don't be deterred by the heavy workload ratings - that comes with any CS class. He gives a few bits of advice at the beginning of the quarter, the most important of which is START EARLY. Seriously, no matter how good you think you are at programming, the projects are very time consuming so start at least a few days in advance. Otherwise it's really easy to either burn out from trying to figure out everything at once, or miss the deadline to turn it in. His system is that you lose a fraction of a point for every second past the deadline you fail to turn it in, so by the next morning you won't receive credit at all.

Projects will always take longer than you think, especially because his grading consists of testing your program with a lot of test cases (for Project 3 I think it was almost 100 tests), so you're going to need to spend a lot of time testing your program or you'll lose correctness points.

Another thing to note about the homework is you need to read the spec closely. Smallberg is very clear that he and his TAs expect you to read the spec before asking a question, for some projects they'll even post a FAQ. Don't go to him with a question about a project unless you're certain the answer isn't on his website. One thing I'd fault him for is that his website layout is barebones so it's entirely legible, but a bit hard to navigate when his project specs are so long. However, you have to read it all or you'll inevitably forget some part of it that'll cause you to lose a lot of points. Again, START EARLY.

Also, this may depend on your TA but in my experience the discussions were worth going to. They're essentially review, but (at least my TA was) using PowerPoint slides which can make it easier to understand. In some cases the TAs may also give you tips or bits of code that can help with whatever project you're working on, so definitely worth checking out. And if you get too bored you can always leave early.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2015
Grade: A-
July 19, 2016

I took this course in the Fall of 2015, and received an A-. I came into this class with zero cs background, and felt that I was always two steps behind most students in the class because most people already have some knowledge or a strong background on the material. I worked incredibly hard after doing poorly on the first midterm, and scored in the upper percentiles on the second midterm and the final. Utilize the tutoring resources if you need help in anyway. Tau Beta Pi tutoring is very helpful, however, going to office hours (at least for my TA) was a complete waste of time. He was unwilling to help students. Professor Smallberg is the legend above all legends. He went to Cal Tech, and is a genius. His lectures can be boring at times, but you will learn a lot in them. He is an outstanding lecturer, and answers peoples questions before they even ask them. No seriously, someone will raise their hand, and he will be like "Bro let me guess you are confused about...". Smallberg is king.

Helpful?

4 0 Please log in to provide feedback.
Quarter: Winter 2016
Grade: B
May 10, 2016

95% of the CS major students have cheated in his class! I swear!

Helpful?

2 1 Please log in to provide feedback.
Quarter: Fall 2015
Grade: B+
Feb. 27, 2016

You don't rate Smallberg. Smallberg rates you.

Honestly, why are you even reading this? As someone who needs to take CS classes, Smallberg is gonna crawl into your life in some way, so stop reading and don't waste time here.

There's no CS class out there with little workload. Trying to think like a computer and trace code is enough workload on its own. So stop looking at those ratings and just take this goddamn class and be done with it.

He is very clear, and if you're new to programming, he explains every feature of programming ever so slowly that if you know a bit of C++, you can skip the first few weeks of classes and still be alright. Though as I just said, the homework is 100x of what you learn, so start those goddamn projects early.

He allows cheat sheets for the exams which is nice. That's because you won't need it while the exam is mostly code tracing and predicting output, and knowing what will compile and what won't. So the key to ace the exams is a good night's sleep and good focus. In other words, having a friend who knows a friend who knows a friend who has Adderall is a plus.

If you need help with your project, no one other than yourself can really help you, because no one else can trace through your entire 500-line code and adopt the mindset in which you produced it to see the problem. Also, directly copy-pasted code from a classmate is spotted easily by similarity-checkers so don't try. Hence, learn how to use 'em breakpoints and "cerr" and stop blaming your own inadequacy on my dearest Smallberg <3

Helpful?

2 0 Please log in to provide feedback.
Quarter: Spring 2017
Grade: A
Aug. 22, 2017

CS31 with Smallberg is just a fantastic class. He puts a lot of effort into all the material and projects to keep it engaging. The projects do take a lot of times (I think I spent ~10 hours on some of the hardest ones) but as long as you keep looking back at the specifications to make sure you're getting all the details right, they're not too difficult. Just don't start late, so many people who drop or do poorly start the projects too late the day of and don't finish in time. Overall this is one of my favorite classes I've had here. You learn so much!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: N/A
July 13, 2017

Great class. Selling physical textbook, Absolute C++ (6th Edition) for $60. Text me if interested **********

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
June 20, 2017

Don't forget the semicolon!
Good times

Helpful?

0 0 Please log in to provide feedback.
Verified Reviewer This user is a verified UCLA student/alum.
Quarter: Fall 2016
Grade: B+
Jan. 29, 2017

He's great! Always knows what you're gonna ask when you raise your hand. He's really clear. But people in my class are... really genius, raising the standard to really high I guess. He emails you about the median of the class for every assignment and test, and the median was like 97% in average...BTW, I am selling ELECTRONIC textbook Absolute C++ (6th Edition, latest version) for $10. Text me at: **********.

Helpful?

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

Smallberg is a really good professor for beginners in programming!

Projects are based on what you've learned on class, but not so time-consuming if you're confident in your programming skills, despite Project 5 and 7, which requires you to be super-clear about what codes you're going to write.

Two midterms are not hard but you'll lose a lot of points if you make a simple mistake because there are only less than 10 questions. So be careful! They're composed of code-tracking and code-writing.

Final is only a little bit harder than both midterms, and is composed of code-writing, code-tracking and some multiple choice questions about concepts. About 70 questions, one or two points each.

How to get an A?
Try to get 100 on all projects: majority of the class would get 90+ on all projects.
Try to get 95+ on midterm, at least 90+;
Try to get 90+ on final, at least 85+;
This is will probably ensure an A.
But since Smallberg gives a lot of As for this beginner class, don't concern too much and just try your best.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: A
Dec. 20, 2016

Let's start off with my favorite moment in this course: "DONT'T FORGET THE SEMICOLON!" *jumps up and down*

Smallberg is amazing! Although his lectures are quite slow if you have experience and boring at times, I still go to lecture to pick up the syntax while working on other things if the material is too slow at a given moment.

Grading breakdown of the class:
40% projects
25% midterm
35% final

Projects: They take up quite some time so START EARLY!!!!! Projects 3 and 5 are the most tedious and time consuming. For those who have experience: take commenting and the report seriously. I lost quite some points on the project due to not putting much effort on the reports/commenting.

Midterm: There are 2 "midterms" 35 and 65 points and the combined score out of 100 is put in the midterm category. It is not too bad, just be quick and precise. No surprises.

Final: Make sure you understand the concepts inside and out. I got near a high A on the final but the median is B- and mean is C+. You should spend the whole duration on the final although one can finish in a shorter amount of time. There are trick questions!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: N/A
Nov. 17, 2016

Smallberg is a fantastic professor, seriously.

His lectures can be a bit hard to sit through in a two hour period, but he always has a break period of 5-10 minutes about halfway through. Smallberg's lectures move at a pace meant to accommodate beginners, since this is a beginner class. If you have zero experience, you don't have to worry about a thing. He goes through the material very thoroughly, and always stops to take questions. If you've taken APCS or otherwise have CS experience, this class is going to seem real slow at first - I still attended lectures anyway mostly because I'd rather pick up the syntax from a lecture than a textbook, and I could use the time to work on projects or other homework.

Speaking of homework, don't be deterred by the heavy workload ratings - that comes with any CS class. He gives a few bits of advice at the beginning of the quarter, the most important of which is START EARLY. Seriously, no matter how good you think you are at programming, the projects are very time consuming so start at least a few days in advance. Otherwise it's really easy to either burn out from trying to figure out everything at once, or miss the deadline to turn it in. His system is that you lose a fraction of a point for every second past the deadline you fail to turn it in, so by the next morning you won't receive credit at all.

Projects will always take longer than you think, especially because his grading consists of testing your program with a lot of test cases (for Project 3 I think it was almost 100 tests), so you're going to need to spend a lot of time testing your program or you'll lose correctness points.

Another thing to note about the homework is you need to read the spec closely. Smallberg is very clear that he and his TAs expect you to read the spec before asking a question, for some projects they'll even post a FAQ. Don't go to him with a question about a project unless you're certain the answer isn't on his website. One thing I'd fault him for is that his website layout is barebones so it's entirely legible, but a bit hard to navigate when his project specs are so long. However, you have to read it all or you'll inevitably forget some part of it that'll cause you to lose a lot of points. Again, START EARLY.

Also, this may depend on your TA but in my experience the discussions were worth going to. They're essentially review, but (at least my TA was) using PowerPoint slides which can make it easier to understand. In some cases the TAs may also give you tips or bits of code that can help with whatever project you're working on, so definitely worth checking out. And if you get too bored you can always leave early.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2015
Grade: A-
July 19, 2016

I took this course in the Fall of 2015, and received an A-. I came into this class with zero cs background, and felt that I was always two steps behind most students in the class because most people already have some knowledge or a strong background on the material. I worked incredibly hard after doing poorly on the first midterm, and scored in the upper percentiles on the second midterm and the final. Utilize the tutoring resources if you need help in anyway. Tau Beta Pi tutoring is very helpful, however, going to office hours (at least for my TA) was a complete waste of time. He was unwilling to help students. Professor Smallberg is the legend above all legends. He went to Cal Tech, and is a genius. His lectures can be boring at times, but you will learn a lot in them. He is an outstanding lecturer, and answers peoples questions before they even ask them. No seriously, someone will raise their hand, and he will be like "Bro let me guess you are confused about...". Smallberg is king.

Helpful?

4 0 Please log in to provide feedback.
Quarter: Winter 2016
Grade: B
May 10, 2016

95% of the CS major students have cheated in his class! I swear!

Helpful?

2 1 Please log in to provide feedback.
Quarter: Fall 2015
Grade: B+
Feb. 27, 2016

You don't rate Smallberg. Smallberg rates you.

Honestly, why are you even reading this? As someone who needs to take CS classes, Smallberg is gonna crawl into your life in some way, so stop reading and don't waste time here.

There's no CS class out there with little workload. Trying to think like a computer and trace code is enough workload on its own. So stop looking at those ratings and just take this goddamn class and be done with it.

He is very clear, and if you're new to programming, he explains every feature of programming ever so slowly that if you know a bit of C++, you can skip the first few weeks of classes and still be alright. Though as I just said, the homework is 100x of what you learn, so start those goddamn projects early.

He allows cheat sheets for the exams which is nice. That's because you won't need it while the exam is mostly code tracing and predicting output, and knowing what will compile and what won't. So the key to ace the exams is a good night's sleep and good focus. In other words, having a friend who knows a friend who knows a friend who has Adderall is a plus.

If you need help with your project, no one other than yourself can really help you, because no one else can trace through your entire 500-line code and adopt the mindset in which you produced it to see the problem. Also, directly copy-pasted code from a classmate is spotted easily by similarity-checkers so don't try. Hence, learn how to use 'em breakpoints and "cerr" and stop blaming your own inadequacy on my dearest Smallberg <3

Helpful?

2 0 Please log in to provide feedback.
10 of 14
4.1
Overall Rating
Based on 196 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
    (77)
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!