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)

9 of 14
9 of 14
Add your review...
Quarter: Fall 2018
Grade: A+
Oct. 3, 2018

I am sitting in his class right now and I am very bored

Helpful?

1 2 Please log in to provide feedback.
Quarter: Spring 2016
Grade: C+
July 2, 2018

Advice to anyone who takes this class and feels in over their head: don't give up! I took this class Spring quarter, so most of the people in the course were not too familiar with programming and were in a similar boat as me. Despite this, I still consistently scored below average on the homeworks because my code would always be sloppy and face issues no matter how much time I put into it. Eventually, I did alright on the midterm and final and passed the course despite the writing on the wall that I was behind the rest of the class. Everyone learns these things differently and though you may be tempted to drop or look at someone else's code, DON'T! Give yourself PLENTY of time to complete the assignments because 90% of the process WILL BE making mistakes, fixing them, and learning. That is the point! If you don't make these errors then you won't learn! Beating yourself up for not being fluent in code is like beating yourself up for not being a violin prodigy: some people, including your peers, will be masters at the material, but it's up to YOU to figure out how much learning is needed to be comfortable with C++.

Helpful?

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

I came into this class after high school, got a 3 on my AP Computer Science class. Got a C on the first midterm. After sitting in the front row of the class for the rest of the quarter, I realized how great of a professor Smallberg is. His lectures are boring, but if you can manage to pay attention the entire time, you will have a great understanding of the concepts.
Highly recommend starting early on the projects and going to office hours (B2432).

Helpful?

2 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: B-
Feb. 6, 2018

Smallberg tries his best to be a good lecturer, but his lectures are pretty boring and he uses the same monotone voice the entire 2 hours. Luckily, the content of CS31 isn't too difficult and can be self-taught. This class mostly focuses on learning basic C++ syntax, strings, arrays, and pointers. It's the bread and butter behind C++ and you should absolutely do your best to learn the material thoroughly, even though Smallberg isn't a very engaging professor.

Smallberg's exams are a time crunch in CS31; you'll struggle to finish on time, and may leave out one or two problems to maximize the chances of getting the others correct. His CS31 exams are syntax-heavy. His practice exams are in the same format as his exams and are very useful, so make sure to do them beforehand.

Smallberg's project specs are EXTREMELY clear! You will know exactly what he expects out of your projects, which you will look back on fondly after future classes with unclear specs (mostly Eggert). Smallberg's projects are fairly graded, and the averages on them are usually above 90%.

Overall, Smallberg is a pretty fair professor of average teaching quality. I felt that I pretty much got out of the class what I had put in, which is reasonable.

Helpful?

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

They changed the way they teach this class this year, so they expected you to have prior programming experience before taking the class (they wanted you to have written a program that used an array and a program that called a function that you wrote). Up to this point, I was an entirely self-taught programmer, as I had never taken a formal computer science class, and I feel that I was just fine in keeping up with the material. The only reason I got a B+ instead of an A or A- was that I did poorly on the third project, because I wasn't able to get one of the main features of the program working properly. Most of the projects are not hard, but projects 3 and 5 are particularly time consuming. Also, make sure to read the specs multiple times, because there are details you might miss the first time around. The midterms are not difficult in terms of content, but you can easily lose lots of points by making silly mistakes, so be very meticulous. The final was more difficult, but still doable. Ultimately, there isn't much of a curve, the grade is essentially based off of raw score. A word of warning, though, cheating on the projects is definitely not worth it. The whole class received an email about how the professor and TAs caught a large number of people cheating, and they would be submitting those cases to the dean. Apparently, they have software that can do a forensic examination of source code that can detect similarities in code, even with different spacing, function orders, variable names, etc. Overall, I really enjoyed this class and am looking forward to CS 32.

P.S. Don't forget the semicolon!!!

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 2018
Grade: A+
Oct. 3, 2018

I am sitting in his class right now and I am very bored

Helpful?

1 2 Please log in to provide feedback.
Quarter: Spring 2016
Grade: C+
July 2, 2018

Advice to anyone who takes this class and feels in over their head: don't give up! I took this class Spring quarter, so most of the people in the course were not too familiar with programming and were in a similar boat as me. Despite this, I still consistently scored below average on the homeworks because my code would always be sloppy and face issues no matter how much time I put into it. Eventually, I did alright on the midterm and final and passed the course despite the writing on the wall that I was behind the rest of the class. Everyone learns these things differently and though you may be tempted to drop or look at someone else's code, DON'T! Give yourself PLENTY of time to complete the assignments because 90% of the process WILL BE making mistakes, fixing them, and learning. That is the point! If you don't make these errors then you won't learn! Beating yourself up for not being fluent in code is like beating yourself up for not being a violin prodigy: some people, including your peers, will be masters at the material, but it's up to YOU to figure out how much learning is needed to be comfortable with C++.

Helpful?

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

I came into this class after high school, got a 3 on my AP Computer Science class. Got a C on the first midterm. After sitting in the front row of the class for the rest of the quarter, I realized how great of a professor Smallberg is. His lectures are boring, but if you can manage to pay attention the entire time, you will have a great understanding of the concepts.
Highly recommend starting early on the projects and going to office hours (B2432).

Helpful?

2 0 Please log in to provide feedback.
Quarter: Fall 2016
Grade: B-
Feb. 6, 2018

Smallberg tries his best to be a good lecturer, but his lectures are pretty boring and he uses the same monotone voice the entire 2 hours. Luckily, the content of CS31 isn't too difficult and can be self-taught. This class mostly focuses on learning basic C++ syntax, strings, arrays, and pointers. It's the bread and butter behind C++ and you should absolutely do your best to learn the material thoroughly, even though Smallberg isn't a very engaging professor.

Smallberg's exams are a time crunch in CS31; you'll struggle to finish on time, and may leave out one or two problems to maximize the chances of getting the others correct. His CS31 exams are syntax-heavy. His practice exams are in the same format as his exams and are very useful, so make sure to do them beforehand.

Smallberg's project specs are EXTREMELY clear! You will know exactly what he expects out of your projects, which you will look back on fondly after future classes with unclear specs (mostly Eggert). Smallberg's projects are fairly graded, and the averages on them are usually above 90%.

Overall, Smallberg is a pretty fair professor of average teaching quality. I felt that I pretty much got out of the class what I had put in, which is reasonable.

Helpful?

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

They changed the way they teach this class this year, so they expected you to have prior programming experience before taking the class (they wanted you to have written a program that used an array and a program that called a function that you wrote). Up to this point, I was an entirely self-taught programmer, as I had never taken a formal computer science class, and I feel that I was just fine in keeping up with the material. The only reason I got a B+ instead of an A or A- was that I did poorly on the third project, because I wasn't able to get one of the main features of the program working properly. Most of the projects are not hard, but projects 3 and 5 are particularly time consuming. Also, make sure to read the specs multiple times, because there are details you might miss the first time around. The midterms are not difficult in terms of content, but you can easily lose lots of points by making silly mistakes, so be very meticulous. The final was more difficult, but still doable. Ultimately, there isn't much of a curve, the grade is essentially based off of raw score. A word of warning, though, cheating on the projects is definitely not worth it. The whole class received an email about how the professor and TAs caught a large number of people cheating, and they would be submitting those cases to the dean. Apparently, they have software that can do a forensic examination of source code that can detect similarities in code, even with different spacing, function orders, variable names, etc. Overall, I really enjoyed this class and am looking forward to CS 32.

P.S. Don't forget the semicolon!!!

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.
9 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!