- Home
- Search
- David A Smallberg
- All Reviews

David Smallberg
AD
Based on 302 Users
Overall, despite the incredibly slow grading and lack of clarity behind the grading scheme which we were not given until the week 10, Smallberg is incredibly knowledgable in C++. Granted I hope the world never goes into chaos mode as it did during not only the beginning but the latter half of spring quarter, Smallberg continued to be fairly understanding. I won't lie I thought this class was incredibly difficult, even as I attended every lecture I felt as though I had no basis to start some homeworks and most projects (project 3 ..). However Proj3 is actually graded really generously with lots of room to earn points without completing every bit of the project. His lectures can feel dry and not the most engaging, but I have without a doubt learned so much in this course that I am incredibly glad I took it.
*for reference I am not a CS major so this class was out of my general interest
As others said, the projects can be time consuming. Being a complete beginner, it took me several hours every day to complete the projects. Tests were hard for me and I completely tanked the first midterm, but pulled through for the second which saved me.
Smallberg is a good professor who clearly knows a lot about what he teaches. Discussion sections were not helpful for me unless I had a specific question. Textbook was beneficial to me.
小宝讲课用来学习,南宝讲课用来下饭
The workload is INSANE. The weekly projects would take me all week to complete, spending every moment outside of my other classes on them. Great class if you love computer science
tl;dr: yeah take this class
Doesn't smallberg already have like 69420 reviews lol. Smallberg is fine, he taught well enough that you don't really need to go to discussions. (Most ppl skip discussions).
Tbh if you already took ap cs (and remember it), this class is a breeze and mainly review. There are like 2 midterms and a final if im not mistaken, all of which ask you to write a small piece of code. Timing is decent, although if you havent taken apcs, you might run out of time. If you have, then you could probably finish the tests in like 1/2 of the time. Not really any hwk, just projects assigned every 1 or 2 weeks. Each project takes anywhere from 1 hr to 8 hrs to do, but you have a week to do it so its manageable.
If you're a cs major, youre probably required to take this class anyways so just take it w/ smallberg.
if you're not a cs major, you should still take it if you wanna learn an intro to programming. (although maybe consider cs30 if you have 0 prior experience)
my only concerns is that my TA graded all of our stuff, and lowkey he was kinda picky. But after the first few projects, you know what your TA is looking for so its fine after that.
If youre reading this and this helped you out, pls review ur profs!! itll help us all out uwu
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 is literally amazing. He just exudes niceness. And he seems to know everything. And he's absolutely outstanding at explaining things. And he's super helpful with difficult projects. And he's willing to talk about anything else in computer science you might want to talk about. And he literally explained data structures and algorithms so well I feel like its become ingrained in my brain. And the course material is so well organized. And.. need I go on. Even though I got caught up in the Nachenberg hype as first (he is pretty good though to be fair), Smallberg is way better. Smallberg rocks!!!
(Seriously this is not meant to be a joke in anyway Smallberg is actually amazing. I highly highly highly recommend this class with him. Or any class with him. Just take all the classes you can get with him.)
Smallberg was an absolutely phenomenal professor for this class. Rarely do you find a teacher who is so skilled at explaining complex concepts in a simple fashion using real life examples. While many people recommend attending Nachenberg's lecture, I actually really enjoyed Smallberg's lecture since he often explained the reasoning behind C++ design decisions and dove deeper into specific topics. While attending Smallberg's lectures, it is still good to look over Nachenberg's slides since they do a great job of boiling everything down into a visual picture of what is happening.
The projects in this class can take up a ton of time if you are new to programming, however if you have prior experience they're really not that difficult (although still time consuming due to size). Rarely in classes have I looked forward to doing projects, however the CS32 projects are so well designed that they really allow you to test your abilities while building something fun like a game. The best advice I can give for the projects is START EARLY (especially if you do not have much coding experience). This will allow you to take time to learn along the way and not stress yourself out. Getting a 50+ page spec for Project 3 can be daunting, but if you simply start early and take it one part at a time, you will do fine.
The exams for this class were all very fair. Doing the projects and reviewing Nach's slides were the best way to prep.
If you are doubting taking this class, it can be a lot of work, but it is 100% worth it and you will learn a ton from a professor who is very knowledgeable and really cares about his students.
Professor Smallberg is an excellent lecturer and did a fantastic job running this course online. This quarter, he used a sort of "flipped classroom" approach. Before each lecture session, we listened to a lecture video I believe he recorded last spring on a particular CS 31 topic. During the actual lecture, Professor Smallberg took questions from students regarding the lecture video, helping to clarify any misconceptions and providing additional insights on the lecture material. I really prefer this method, as it's much easier to come up with questions this way.
Grading scheme this quarter:
66 % projects (7 in total)
7% zyBook homework assignments
2% short "responsibility assignments"
5 % midterm 1
8 % midterm 2
12 % final
The projects were a bit time consuming (especially Projects 3 and 5), but were not too difficult. Smallberg's project specs are extremely clear and left me with no lingering questions. I actually spent a lot more time testing my programs and coming up with test cases than the actual coding. Make sure to spend quality time testing your program, especially with the random edge cases (ex: negative or zero array size). This quarter's project averages were extremely high (many of them had a median score of above 95).
The exams this quarter were all open-compiler and consisted mainly of writing code. The midterms were very easy, and the final was a bit harder but not overly difficult. Professor Smallberg takes some time to grade exams (I still haven't received my midterm 2 and final scores yet). Hopefully they will come out soon. Note that the grade I entered for this review is the grade I predict I will get, as final grades haven't come out yet.
Overall, Smallberg's teaching is super clear and thorough and he makes this class very well organized. Definitely would recommend.
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
Overall, despite the incredibly slow grading and lack of clarity behind the grading scheme which we were not given until the week 10, Smallberg is incredibly knowledgable in C++. Granted I hope the world never goes into chaos mode as it did during not only the beginning but the latter half of spring quarter, Smallberg continued to be fairly understanding. I won't lie I thought this class was incredibly difficult, even as I attended every lecture I felt as though I had no basis to start some homeworks and most projects (project 3 ..). However Proj3 is actually graded really generously with lots of room to earn points without completing every bit of the project. His lectures can feel dry and not the most engaging, but I have without a doubt learned so much in this course that I am incredibly glad I took it.
*for reference I am not a CS major so this class was out of my general interest
As others said, the projects can be time consuming. Being a complete beginner, it took me several hours every day to complete the projects. Tests were hard for me and I completely tanked the first midterm, but pulled through for the second which saved me.
Smallberg is a good professor who clearly knows a lot about what he teaches. Discussion sections were not helpful for me unless I had a specific question. Textbook was beneficial to me.
tl;dr: yeah take this class
Doesn't smallberg already have like 69420 reviews lol. Smallberg is fine, he taught well enough that you don't really need to go to discussions. (Most ppl skip discussions).
Tbh if you already took ap cs (and remember it), this class is a breeze and mainly review. There are like 2 midterms and a final if im not mistaken, all of which ask you to write a small piece of code. Timing is decent, although if you havent taken apcs, you might run out of time. If you have, then you could probably finish the tests in like 1/2 of the time. Not really any hwk, just projects assigned every 1 or 2 weeks. Each project takes anywhere from 1 hr to 8 hrs to do, but you have a week to do it so its manageable.
If you're a cs major, youre probably required to take this class anyways so just take it w/ smallberg.
if you're not a cs major, you should still take it if you wanna learn an intro to programming. (although maybe consider cs30 if you have 0 prior experience)
my only concerns is that my TA graded all of our stuff, and lowkey he was kinda picky. But after the first few projects, you know what your TA is looking for so its fine after that.
If youre reading this and this helped you out, pls review ur profs!! itll help us all out uwu
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 is literally amazing. He just exudes niceness. And he seems to know everything. And he's absolutely outstanding at explaining things. And he's super helpful with difficult projects. And he's willing to talk about anything else in computer science you might want to talk about. And he literally explained data structures and algorithms so well I feel like its become ingrained in my brain. And the course material is so well organized. And.. need I go on. Even though I got caught up in the Nachenberg hype as first (he is pretty good though to be fair), Smallberg is way better. Smallberg rocks!!!
(Seriously this is not meant to be a joke in anyway Smallberg is actually amazing. I highly highly highly recommend this class with him. Or any class with him. Just take all the classes you can get with him.)
Smallberg was an absolutely phenomenal professor for this class. Rarely do you find a teacher who is so skilled at explaining complex concepts in a simple fashion using real life examples. While many people recommend attending Nachenberg's lecture, I actually really enjoyed Smallberg's lecture since he often explained the reasoning behind C++ design decisions and dove deeper into specific topics. While attending Smallberg's lectures, it is still good to look over Nachenberg's slides since they do a great job of boiling everything down into a visual picture of what is happening.
The projects in this class can take up a ton of time if you are new to programming, however if you have prior experience they're really not that difficult (although still time consuming due to size). Rarely in classes have I looked forward to doing projects, however the CS32 projects are so well designed that they really allow you to test your abilities while building something fun like a game. The best advice I can give for the projects is START EARLY (especially if you do not have much coding experience). This will allow you to take time to learn along the way and not stress yourself out. Getting a 50+ page spec for Project 3 can be daunting, but if you simply start early and take it one part at a time, you will do fine.
The exams for this class were all very fair. Doing the projects and reviewing Nach's slides were the best way to prep.
If you are doubting taking this class, it can be a lot of work, but it is 100% worth it and you will learn a ton from a professor who is very knowledgeable and really cares about his students.
Professor Smallberg is an excellent lecturer and did a fantastic job running this course online. This quarter, he used a sort of "flipped classroom" approach. Before each lecture session, we listened to a lecture video I believe he recorded last spring on a particular CS 31 topic. During the actual lecture, Professor Smallberg took questions from students regarding the lecture video, helping to clarify any misconceptions and providing additional insights on the lecture material. I really prefer this method, as it's much easier to come up with questions this way.
Grading scheme this quarter:
66 % projects (7 in total)
7% zyBook homework assignments
2% short "responsibility assignments"
5 % midterm 1
8 % midterm 2
12 % final
The projects were a bit time consuming (especially Projects 3 and 5), but were not too difficult. Smallberg's project specs are extremely clear and left me with no lingering questions. I actually spent a lot more time testing my programs and coming up with test cases than the actual coding. Make sure to spend quality time testing your program, especially with the random edge cases (ex: negative or zero array size). This quarter's project averages were extremely high (many of them had a median score of above 95).
The exams this quarter were all open-compiler and consisted mainly of writing code. The midterms were very easy, and the final was a bit harder but not overly difficult. Professor Smallberg takes some time to grade exams (I still haven't received my midterm 2 and final scores yet). Hopefully they will come out soon. Note that the grade I entered for this review is the grade I predict I will get, as final grades haven't come out yet.
Overall, Smallberg's teaching is super clear and thorough and he makes this class very well organized. Definitely would recommend.
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