David A Smallberg
Department of Computer Science
AD
4.1
Overall Rating
Based on 222 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.1 / 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
31.1%
25.9%
20.7%
15.5%
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.

35.0%
29.1%
23.3%
17.5%
11.7%
5.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.

32.0%
26.7%
21.3%
16.0%
10.7%
5.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.

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
Loading...

Sorry, no enrollment data is available.

AD

Reviews (153)

11 of 16
11 of 16
Add your review...
Quarter: Fall 2017
Grade: A
Jan. 9, 2018

Projects 1 and 2 are very simple and straightforward. Project 3 is a huge jump and was the hardest project for me. Project 4 is tricky, 5 is straight forward, 6 is basically a homework problem set, and 7 just takes a little more time than 5 and 6. It's easy to get perfect scores if you spend time testing your project and fixing every error. Midterms are easy-- just don't make simple mistakes. The final was slightly harder, but if you know what you're doing it's fairly straightforward. Overall, the class should be a breeze if you put your time into projects and study for tests. It's a straightforward class. If you struggle in CS31, you should reconsider your major!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: A
Jan. 9, 2018

I had APCS experience prior to taking the class which made it a breeze. Only new concept introduced for C++ for me was pointers which is covered in the last 2 weeks or so. Start early on projects because sometimes it looks easy but takes forever to debug and account for every test case. Make sure to carefully read and reread through the project specs because all the requirements are outlined but some can be easily missed, costing correctness points for random edge cases like n=0 that you didn't incorporate.

Midterm is easy in that you just write and read through code. Be sure to double check the multiple choice questions though because mistracing even a single line of code can cost you a huge percentage on the midterm.

Final was much more difficult for me as it included more specific knowledge about very specific errors and variable types. For example, knowing whether accessing a null pointer creates a runtime error or doesn't compile. Just knowing how to trace through correct code isn't enough because often the code doesn't make sense but you have to know what the compiler does in that scenario.

All in all, great class, Smallberg's lectures cover the material well so you are in good hands.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Jan. 1, 2018

Smallberg is a good professor, but if you don't have APCS experience, or minimal to no experience with CS in a classroom environment, with projects and such, I recommend taking CS97 because the CS31 projects and tests were rather difficult and I got a C in the class while most of my peers were getting As on the tests and projects. I regret not taking CS97 because my GPA is kind of tanked because of this, and even if CS97 is too easy for you, worst case, you'll get an A, or you can always switch out. In retrospect, I should have done more practice problems or prepared more over the summer, but CS97 was probably the better choice.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: A
Dec. 27, 2017

I came in with about a year of prior coding experience and some minor C++ experience. The work was very manageable for my prior experience. If you're coming into the class with just experience from APCS, you should be more than fine. If you're coming in with less experience than that, you should still be fine if you put the work in. Smallberg is a good professor. His teaching style is a little hit or miss for people. For many of the classes, you'll be following along with him as he writes a program. He'll go through the thought process behind each step start to finish and it can be very helpful. Other times it can feel slow and repetitive. Overall, he was a great cs professor.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Dec. 27, 2017

This man actually sent us an email with code that outputs our course grade. Way too far dude

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Nov. 23, 2017

Lectures are helpful and appropriately paced, and the professor is very helpful. However, I recommend that beginners to programming take CS97 instead. I'm a business economics major and took this class because I was interested in programming. However, I'm now looking at a C or D in this class as the projects were very time-consuming and my classmates did extremely well (the median is usually 95 or above).

Helpful?

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

As in any solid computer science class, this class definitely has a homework load, but it really isn’t bad, considering. It’s also not easy, but nothing worthwhile is ever a piece of cake. Professor Smallberg is fun, chatty, helpful, and he definitely has a sense of humor. I would definitely recommend this class (but if you’re a CS/E major, you’ve got to take it regardless!).

Helpful?

0 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.
Quarter: Fall 2017
Grade: A
Jan. 9, 2018

Projects 1 and 2 are very simple and straightforward. Project 3 is a huge jump and was the hardest project for me. Project 4 is tricky, 5 is straight forward, 6 is basically a homework problem set, and 7 just takes a little more time than 5 and 6. It's easy to get perfect scores if you spend time testing your project and fixing every error. Midterms are easy-- just don't make simple mistakes. The final was slightly harder, but if you know what you're doing it's fairly straightforward. Overall, the class should be a breeze if you put your time into projects and study for tests. It's a straightforward class. If you struggle in CS31, you should reconsider your major!

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: A
Jan. 9, 2018

I had APCS experience prior to taking the class which made it a breeze. Only new concept introduced for C++ for me was pointers which is covered in the last 2 weeks or so. Start early on projects because sometimes it looks easy but takes forever to debug and account for every test case. Make sure to carefully read and reread through the project specs because all the requirements are outlined but some can be easily missed, costing correctness points for random edge cases like n=0 that you didn't incorporate.

Midterm is easy in that you just write and read through code. Be sure to double check the multiple choice questions though because mistracing even a single line of code can cost you a huge percentage on the midterm.

Final was much more difficult for me as it included more specific knowledge about very specific errors and variable types. For example, knowing whether accessing a null pointer creates a runtime error or doesn't compile. Just knowing how to trace through correct code isn't enough because often the code doesn't make sense but you have to know what the compiler does in that scenario.

All in all, great class, Smallberg's lectures cover the material well so you are in good hands.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Jan. 1, 2018

Smallberg is a good professor, but if you don't have APCS experience, or minimal to no experience with CS in a classroom environment, with projects and such, I recommend taking CS97 because the CS31 projects and tests were rather difficult and I got a C in the class while most of my peers were getting As on the tests and projects. I regret not taking CS97 because my GPA is kind of tanked because of this, and even if CS97 is too easy for you, worst case, you'll get an A, or you can always switch out. In retrospect, I should have done more practice problems or prepared more over the summer, but CS97 was probably the better choice.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: A
Dec. 27, 2017

I came in with about a year of prior coding experience and some minor C++ experience. The work was very manageable for my prior experience. If you're coming into the class with just experience from APCS, you should be more than fine. If you're coming in with less experience than that, you should still be fine if you put the work in. Smallberg is a good professor. His teaching style is a little hit or miss for people. For many of the classes, you'll be following along with him as he writes a program. He'll go through the thought process behind each step start to finish and it can be very helpful. Other times it can feel slow and repetitive. Overall, he was a great cs professor.

Helpful?

0 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Dec. 27, 2017

This man actually sent us an email with code that outputs our course grade. Way too far dude

Helpful?

1 0 Please log in to provide feedback.
Quarter: Fall 2017
Grade: N/A
Nov. 23, 2017

Lectures are helpful and appropriately paced, and the professor is very helpful. However, I recommend that beginners to programming take CS97 instead. I'm a business economics major and took this class because I was interested in programming. However, I'm now looking at a C or D in this class as the projects were very time-consuming and my classmates did extremely well (the median is usually 95 or above).

Helpful?

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

As in any solid computer science class, this class definitely has a homework load, but it really isn’t bad, considering. It’s also not easy, but nothing worthwhile is ever a piece of cake. Professor Smallberg is fun, chatty, helpful, and he definitely has a sense of humor. I would definitely recommend this class (but if you’re a CS/E major, you’ve got to take it regardless!).

Helpful?

0 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.
11 of 16
4.1
Overall Rating
Based on 222 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.1 / 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!