David A Smallberg
Department of Computer Science
AD
4.2
Overall Rating
Based on 161 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 2.9 / 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

  • Tolerates Tardiness
  • Would Take Again
  • Is Podcasted
  • Often Funny
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.

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.

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 PROGRESS
Clear marks
Loading...

Sorry, no enrollment data is available.

AD

Reviews (112)

9 of 12
9 of 12
Add your review...
Quarter: N/A
Grade: N/A
Dec. 27, 2014

CS 31 is a pretty straightforward (yet time consuming) class if you come in with AP CS experience.
CS 31 fall 2014 had 7 projects (40%), 2 midterms (25%), and a final (35%).

The projects are where you end up learning most of the stuff that’s going to be on the assessments. Some of the projects (3,5, and 7) are somewhat tricky and time consuming, but the rest of them are pretty simple and straightforward. Getting a good grade on the projects isn’t too hard; the median score on the projects is almost always an A (project 5 was the only outlier with a B+ average).

I found the midterms and finals to be pretty annoying. They basically require you to be a human compiler, which is kind of tedious, but they're not too hard (average score in the midterm category was an 85%). The final was honestly pretty hard for me (I did around 3-4 hours of studying for it total and got a C) since it covered pointers and classes and dynamic allocation of memory. The average on the final was a 79. I’m assuming there was some sort of curve on the class at the end though; I had a raw grade that was a high B+ and my final grade was an A.

Smallberg is incredibly knowledgeable about the material he’s teaching, and if you pay attention to his lectures, you will learn an incredible amount about C++ and object oriented programming. Unfortunately, he’s not the most engaging lecturer and thus it was very difficult for me to pay attention; I stopped going to lectures after the third week. In the end, it didn’t really matter since the only material he went over that wasn’t covered in AP CS was pointers and dynamic allocation of memory, topics that can be learnt anyway through projects 6 and 7 and the book.

Overall, this class requires between 5-20 hours of work a week, and if you manage your time well and start the projects early, there’s no reason you can’t get an A if you have prior programming experience. If you don’t have prior programming experience, this will probably be a pretty difficult class for you that will require excellent time management and study strategies to get an A.

Helpful?

1 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 17, 2014

His lectures are very clear and easy to understand, and when he knows a topic is confusing to a lot of people (like pointers), he spends more time on it and gives more examples to help his students learn better. His lectures tend to be quite boring though, and I had a hard time not falling asleep a few times. The projects tend to be quite difficult, but they really help you understand the material better. The midterms and final are multiple choice with a few short code-writing sections, and you get a whole sheet of paper (or two for the final) for notes. I didn’t find the midterms very difficult, but there were a few tricky problems on the final.

Overall, if you’ve taken APCS and you know the material well, CS 31 shouldn’t be too hard for you. I found this class very relaxing but slightly challenging in an interesting way at the same time (because of the projects).

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 17, 2014

swoll

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 10, 2014

Smallberg is simply a great great teacher. I can't find anyone else who teaches CS 31 better than he does. His projects are hard and time consuming but they really test your understanding of the stuff you learned in class. Also, midterms and final are not bad.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Feb. 10, 2014

Took CS31 with him last quarter. I must admit it was a little boring at times and I found it hard to sit through the 2 hour lectures, but he really does know what he's talking about! I took APCS in high school so I was pretty familiar with the concepts (just had to learn C++ syntax and pointers), but I feel like even without any programming experience people would still be able to understand everything. Projects were manageable, some take longer than others so just start early. I maybe spent ~5-10 hours a week on them? Projects 3 and 5 probably more like 20-30 hours. Midterms were straightforward as well. I didn't end up going to many of the lectures because I tended just to fall asleep during them, but I watched most of the podcasts online. He's a good teacher and really cares. Overall it's not a bad class, especially if you have some prior programming experience!

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
June 17, 2013

Professor Smallberg is a very good lecturer. I had 0 experience with programming before the class, but he explained the material in simple terms so that I understood it. He uses a lot of analogies and he has a great sense of humor, so class doesn't even get boring.

The projects get difficult and VERY time consuming, so start early! Go to TA office hours and some TAs practically give you the code. The tests are difficult, just make sure you understand all of the code that you're using in your projects.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 16, 2012

He is an awesome lecturer! He is very thorough with the topics and you are really able to understand the material. The projects are alright and are not difficult because you will learn the material as you progress. However, I did find myself asking the TAs many questions about the projects.

I did find the midterms and exams very difficult. You have to manage your time well on the tests because you might find yourself tracing through the program very slowly (I am a beginner C++ i.e. no experience). I am not sure if there is a curve in the class.

Regardless of my final grade (maybe a B or B-), I think he is a very good lecturer and you cannot go wrong by having him as your instructor for CS31.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 12, 2012

Ahh... how do I put this...

Doubtlessly an amazing professor. Incredibly knowledgeable, perfectly clear explanations. At no point did I find myself lost, notwithstanding the fact that I had never studied C++ or any other language before.

The occasional joke fits the lectures perfectly. He uses the funniest and most effective analogies I have ever heard a professor use.

ONE WORD OF ADVICE:
START PROJECTS EARLY. Great professor, I said, but as flexible as a solid steel rod. The first class he said: You will lose 0.0278% of each project's final grade for every second it is submitted. He doesn't kid on precision and punctuality.

Overall, I guess you cannot get a better professor than D.A. Smallberg for CS 31.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
July 25, 2012

Smallberg is a great teacher. He explains every coding concept as plainly as one can. He really cares about his students understanding everything. He's just terrific. I feel very lucky to have taken his class and to know him. Go to his office hours of you can and by all menas, go to every single TA office hour if you feel lost at any moment. You will get it.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
June 8, 2012

Excellent Professor. He really knows his stuff and is great at explaining it. You just need to take his advice and start working on your projects early and you can get a good grade.

Helpful?

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

CS 31 is a pretty straightforward (yet time consuming) class if you come in with AP CS experience.
CS 31 fall 2014 had 7 projects (40%), 2 midterms (25%), and a final (35%).

The projects are where you end up learning most of the stuff that’s going to be on the assessments. Some of the projects (3,5, and 7) are somewhat tricky and time consuming, but the rest of them are pretty simple and straightforward. Getting a good grade on the projects isn’t too hard; the median score on the projects is almost always an A (project 5 was the only outlier with a B+ average).

I found the midterms and finals to be pretty annoying. They basically require you to be a human compiler, which is kind of tedious, but they're not too hard (average score in the midterm category was an 85%). The final was honestly pretty hard for me (I did around 3-4 hours of studying for it total and got a C) since it covered pointers and classes and dynamic allocation of memory. The average on the final was a 79. I’m assuming there was some sort of curve on the class at the end though; I had a raw grade that was a high B+ and my final grade was an A.

Smallberg is incredibly knowledgeable about the material he’s teaching, and if you pay attention to his lectures, you will learn an incredible amount about C++ and object oriented programming. Unfortunately, he’s not the most engaging lecturer and thus it was very difficult for me to pay attention; I stopped going to lectures after the third week. In the end, it didn’t really matter since the only material he went over that wasn’t covered in AP CS was pointers and dynamic allocation of memory, topics that can be learnt anyway through projects 6 and 7 and the book.

Overall, this class requires between 5-20 hours of work a week, and if you manage your time well and start the projects early, there’s no reason you can’t get an A if you have prior programming experience. If you don’t have prior programming experience, this will probably be a pretty difficult class for you that will require excellent time management and study strategies to get an A.

Helpful?

1 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 17, 2014

His lectures are very clear and easy to understand, and when he knows a topic is confusing to a lot of people (like pointers), he spends more time on it and gives more examples to help his students learn better. His lectures tend to be quite boring though, and I had a hard time not falling asleep a few times. The projects tend to be quite difficult, but they really help you understand the material better. The midterms and final are multiple choice with a few short code-writing sections, and you get a whole sheet of paper (or two for the final) for notes. I didn’t find the midterms very difficult, but there were a few tricky problems on the final.

Overall, if you’ve taken APCS and you know the material well, CS 31 shouldn’t be too hard for you. I found this class very relaxing but slightly challenging in an interesting way at the same time (because of the projects).

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 17, 2014

swoll

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 10, 2014

Smallberg is simply a great great teacher. I can't find anyone else who teaches CS 31 better than he does. His projects are hard and time consuming but they really test your understanding of the stuff you learned in class. Also, midterms and final are not bad.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Feb. 10, 2014

Took CS31 with him last quarter. I must admit it was a little boring at times and I found it hard to sit through the 2 hour lectures, but he really does know what he's talking about! I took APCS in high school so I was pretty familiar with the concepts (just had to learn C++ syntax and pointers), but I feel like even without any programming experience people would still be able to understand everything. Projects were manageable, some take longer than others so just start early. I maybe spent ~5-10 hours a week on them? Projects 3 and 5 probably more like 20-30 hours. Midterms were straightforward as well. I didn't end up going to many of the lectures because I tended just to fall asleep during them, but I watched most of the podcasts online. He's a good teacher and really cares. Overall it's not a bad class, especially if you have some prior programming experience!

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
June 17, 2013

Professor Smallberg is a very good lecturer. I had 0 experience with programming before the class, but he explained the material in simple terms so that I understood it. He uses a lot of analogies and he has a great sense of humor, so class doesn't even get boring.

The projects get difficult and VERY time consuming, so start early! Go to TA office hours and some TAs practically give you the code. The tests are difficult, just make sure you understand all of the code that you're using in your projects.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 16, 2012

He is an awesome lecturer! He is very thorough with the topics and you are really able to understand the material. The projects are alright and are not difficult because you will learn the material as you progress. However, I did find myself asking the TAs many questions about the projects.

I did find the midterms and exams very difficult. You have to manage your time well on the tests because you might find yourself tracing through the program very slowly (I am a beginner C++ i.e. no experience). I am not sure if there is a curve in the class.

Regardless of my final grade (maybe a B or B-), I think he is a very good lecturer and you cannot go wrong by having him as your instructor for CS31.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
Dec. 12, 2012

Ahh... how do I put this...

Doubtlessly an amazing professor. Incredibly knowledgeable, perfectly clear explanations. At no point did I find myself lost, notwithstanding the fact that I had never studied C++ or any other language before.

The occasional joke fits the lectures perfectly. He uses the funniest and most effective analogies I have ever heard a professor use.

ONE WORD OF ADVICE:
START PROJECTS EARLY. Great professor, I said, but as flexible as a solid steel rod. The first class he said: You will lose 0.0278% of each project's final grade for every second it is submitted. He doesn't kid on precision and punctuality.

Overall, I guess you cannot get a better professor than D.A. Smallberg for CS 31.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
July 25, 2012

Smallberg is a great teacher. He explains every coding concept as plainly as one can. He really cares about his students understanding everything. He's just terrific. I feel very lucky to have taken his class and to know him. Go to his office hours of you can and by all menas, go to every single TA office hour if you feel lost at any moment. You will get it.

Helpful?

0 0 Please log in to provide feedback.
Quarter: N/A
Grade: N/A
June 8, 2012

Excellent Professor. He really knows his stuff and is great at explaining it. You just need to take his advice and start working on your projects early and you can get a good grade.

Helpful?

0 0 Please log in to provide feedback.
9 of 12
4.2
Overall Rating
Based on 161 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 2.9 / 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

  • Tolerates Tardiness
    (55)
  • Would Take Again
    (68)
  • Is Podcasted
    (49)
  • Often Funny
    (51)
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!