- Home
- Search
- David A Smallberg
- All Reviews

David Smallberg
AD
Based on 413 Users
I suspect most people reading the reviews are trying to decide between Nachenberg and Smallberg for CS32. Keep in mind, you can really just go to whatever lecture you want regardless of what professor you have (though this was easier due to it being remote and lecture halls not filling up).
Due to it being remote, I went to both for the first few weeks and ended up just watching Smallberg's recorded lectures on my own time in the second half of the quarter.
While both professors cover largely the same material, going to both, there were definitely times where some subjects were better emphasized in one class over another. Keep in mind Smallberg writes the tests, so for Midterm 2 for this quarter, a decent amount of people from Nachenberg's class ended up being super confused on the first question because it wasn't really focused on in Nachenberg's class. On the flip side, Nachenberg would often try to relate topics to more applications (which you can see in his slides describing Huffman encoding). Also, graph algorithms were basically not touched on at all my Smallberg this quarter (though to be fair I think Nachenberg only covered it for like half a lecture).
If you plan on tending all the lectures live anyways, Nachenberg's lectures would often be filled with interactive activities, games, and guest speakers to break up the 2 hour long lectures. However, this is less helpful if you plan on watching them on your own time.
Smallberg often tries to give the rationale behind C++ design features, which I found helpful in understanding the topics.
Also, because Nachenberg designs the projects, Smallberg didn't always know how to answer specific project-based questions off the top of his head.
For CS32 in general, I personally didn't think it was that hard (I may regret saying this once grades come out), but Project 3 and 4 both took ~30 hours, mostly due to debugging. Since they're both near the end of the quarter, you should probably avoid having too many other classes you suspect will take a lot of time near the end. Project 3 was long, but we were given like 2 weeks so it wasn't too bad if you managed to spread out you workload. Project 4 was shorter, but much more technically difficult and involved a lot of debugging. There was a lot less time to work on it as well.
Grading has been slow for tests, but that is justifiable due to the sheer number of students. But that can be frustrating going into midterms/finals with no gauge of how well you've been doing.
Overall, more interesting class than CS31. If you take Smallberg you'll probably be fine and you can always review using Nachenberg's slides if you need to.
just here to get smallberg another page of reviews
ngl tho, projects 3,4 take a lot of time but are decently fun.
hes reasonable (midterm 2 had something that he didnt teach so he made it a no-harm midterm)
he teaches very clearly
tbh smallberg > carey b/c smallberg teaches with more detail/ u get a better conceptual understanding
everything else probably is already enumerated in his other reviews lol
also friendly reminder pls leave bruinwalk reviews
CS31 is an easy class if you keep up with the work and the lectures. Lectures are generally quite slow with Smallberg and you'll probably lose attention quite often. Smallberg is very precise and methodical and if you take note of most things you'll be fine.
Reading the textbook is very helpful for picking up certain things that might be used on exams. I generally didn't listen in class but reading the textbook helped me catch up on all that I missed.
Projects are generally quite easy and if you start early, you'll have no problems. Midterms and finals will be fine if you know your stuff
Text: ********** if you want cheap for lower price
This class was honestly exactly what I expected going in, even though it was a weird quarter. I have taken some CS classes in High School and have a good grasp on object oriented programming.
Smallberg has a gift for delivering the material in a way that is accessible, easy to remember, and informative. He was a really top notch professor.
Projects / Homework:
All of them were unremarkable except,
Project 3 was the most interesting and long project we had. It was a simple RPG using keyboard characters and a dungeon. I didn't finish some recursive function and got -10% but other than that it didn't require much more than some creativity and planning. It was honestly fun and I'm proud of the code I wrote.
Project 4 was tricky but really easy to code once you figured it out. It was an optimization problem where we were graded on how fast our code went. Just paying attention and understanding data types and hash tables was enough to get 100% with less than two days of work. Pay attention in class and don't be afraid to review lectures.
if you know cs already and you're good at working by urself this is the class for u if not then maybe wait until winter
Smallberg was great. If you've done any coding before this class will be a breeze, even though there's a solid workload. If you haven't taken coding before, take the class in the fall or spring when you won't be stuck in there with all the compsci majors. He moves faster during fall quarter.
Smallberg yyds
Overall: I took AP Computer Science A in high school, so many of the topics weren't new to me, so this class was definitely not hard for me but I can definitely see that it would be more challenging for someone with no prior experience. I took this class online because of COVID, so his lectures were all uploaded beforehand and he spent the actual class time doing Q&A, which I ended up not really going to. His lectures were not super interesting but they are informative and I watched them on 2-4x speed. Overall, Smallberg is very willing to help. I emailed him at midnight one day with a question about my bug, and he answered within 5 minutes with a somewhat passive aggressive but nonetheless helpful answer. He can come off as strict, but he just wants to prepare his students for the future.
Projects: Really weren't too bad; I usually finished them within a day, but start early just in case you run into bugs. Also pay attention to the specific requirements so you don't lose easy points.
Exams: 1 hour, taken online so the exams were all writing code (no code tracing, etc.) which made it pretty easy.
yyds
I learned a lot about C++ because of Smallberg. Absolutely legendary in how clear and concise he is. Once I emailed him and his answer was 6 characters long: "FAQ #2". Smallberg's clarity really makes the discussion sections kinda obsolete. Start your projects early. The project specs are pretty clear. In Fall 2020, the tests were just coding and weren't as hard as the coding for the projects, just stay calm. Don't worry about the computer history in the beginning. Would take again.
I suspect most people reading the reviews are trying to decide between Nachenberg and Smallberg for CS32. Keep in mind, you can really just go to whatever lecture you want regardless of what professor you have (though this was easier due to it being remote and lecture halls not filling up).
Due to it being remote, I went to both for the first few weeks and ended up just watching Smallberg's recorded lectures on my own time in the second half of the quarter.
While both professors cover largely the same material, going to both, there were definitely times where some subjects were better emphasized in one class over another. Keep in mind Smallberg writes the tests, so for Midterm 2 for this quarter, a decent amount of people from Nachenberg's class ended up being super confused on the first question because it wasn't really focused on in Nachenberg's class. On the flip side, Nachenberg would often try to relate topics to more applications (which you can see in his slides describing Huffman encoding). Also, graph algorithms were basically not touched on at all my Smallberg this quarter (though to be fair I think Nachenberg only covered it for like half a lecture).
If you plan on tending all the lectures live anyways, Nachenberg's lectures would often be filled with interactive activities, games, and guest speakers to break up the 2 hour long lectures. However, this is less helpful if you plan on watching them on your own time.
Smallberg often tries to give the rationale behind C++ design features, which I found helpful in understanding the topics.
Also, because Nachenberg designs the projects, Smallberg didn't always know how to answer specific project-based questions off the top of his head.
For CS32 in general, I personally didn't think it was that hard (I may regret saying this once grades come out), but Project 3 and 4 both took ~30 hours, mostly due to debugging. Since they're both near the end of the quarter, you should probably avoid having too many other classes you suspect will take a lot of time near the end. Project 3 was long, but we were given like 2 weeks so it wasn't too bad if you managed to spread out you workload. Project 4 was shorter, but much more technically difficult and involved a lot of debugging. There was a lot less time to work on it as well.
Grading has been slow for tests, but that is justifiable due to the sheer number of students. But that can be frustrating going into midterms/finals with no gauge of how well you've been doing.
Overall, more interesting class than CS31. If you take Smallberg you'll probably be fine and you can always review using Nachenberg's slides if you need to.
just here to get smallberg another page of reviews
ngl tho, projects 3,4 take a lot of time but are decently fun.
hes reasonable (midterm 2 had something that he didnt teach so he made it a no-harm midterm)
he teaches very clearly
tbh smallberg > carey b/c smallberg teaches with more detail/ u get a better conceptual understanding
everything else probably is already enumerated in his other reviews lol
also friendly reminder pls leave bruinwalk reviews
CS31 is an easy class if you keep up with the work and the lectures. Lectures are generally quite slow with Smallberg and you'll probably lose attention quite often. Smallberg is very precise and methodical and if you take note of most things you'll be fine.
Reading the textbook is very helpful for picking up certain things that might be used on exams. I generally didn't listen in class but reading the textbook helped me catch up on all that I missed.
Projects are generally quite easy and if you start early, you'll have no problems. Midterms and finals will be fine if you know your stuff
Text: ********** if you want cheap for lower price
This class was honestly exactly what I expected going in, even though it was a weird quarter. I have taken some CS classes in High School and have a good grasp on object oriented programming.
Smallberg has a gift for delivering the material in a way that is accessible, easy to remember, and informative. He was a really top notch professor.
Projects / Homework:
All of them were unremarkable except,
Project 3 was the most interesting and long project we had. It was a simple RPG using keyboard characters and a dungeon. I didn't finish some recursive function and got -10% but other than that it didn't require much more than some creativity and planning. It was honestly fun and I'm proud of the code I wrote.
Project 4 was tricky but really easy to code once you figured it out. It was an optimization problem where we were graded on how fast our code went. Just paying attention and understanding data types and hash tables was enough to get 100% with less than two days of work. Pay attention in class and don't be afraid to review lectures.
Smallberg was great. If you've done any coding before this class will be a breeze, even though there's a solid workload. If you haven't taken coding before, take the class in the fall or spring when you won't be stuck in there with all the compsci majors. He moves faster during fall quarter.
Overall: I took AP Computer Science A in high school, so many of the topics weren't new to me, so this class was definitely not hard for me but I can definitely see that it would be more challenging for someone with no prior experience. I took this class online because of COVID, so his lectures were all uploaded beforehand and he spent the actual class time doing Q&A, which I ended up not really going to. His lectures were not super interesting but they are informative and I watched them on 2-4x speed. Overall, Smallberg is very willing to help. I emailed him at midnight one day with a question about my bug, and he answered within 5 minutes with a somewhat passive aggressive but nonetheless helpful answer. He can come off as strict, but he just wants to prepare his students for the future.
Projects: Really weren't too bad; I usually finished them within a day, but start early just in case you run into bugs. Also pay attention to the specific requirements so you don't lose easy points.
Exams: 1 hour, taken online so the exams were all writing code (no code tracing, etc.) which made it pretty easy.
I learned a lot about C++ because of Smallberg. Absolutely legendary in how clear and concise he is. Once I emailed him and his answer was 6 characters long: "FAQ #2". Smallberg's clarity really makes the discussion sections kinda obsolete. Start your projects early. The project specs are pretty clear. In Fall 2020, the tests were just coding and weren't as hard as the coding for the projects, just stay calm. Don't worry about the computer history in the beginning. Would take again.