- Home
- Search
- David A Smallberg
- All Reviews
David Smallberg
AD
Based on 397 Users
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
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.
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
SMALLBERG. This class was easily the toughest I've taken thus far, and really made me miserable but was also the reason I completely switched my major and am on the path to become a software engineer. He will make you suffer, but in the way that makes you feel so proud of yourself in the end and one million time smarter. He makes CS something that anybody can learn, but also makes you your best version of yourself as a student. His sarcastic and slightly angry demeanor(raging about the many common mistakes of past students) is hilarious and enjoyable to watch. Thank you Smallberg, you are one hell of a teacher!
This professor is a mess. Grades were due, and we still did not receive midterm1, midterm2, or the final scores. A lot of students don't even know how they even got their grades since these scores were never given. In addition, professor returned our projects 4 weeks after the TA finished grading. I really don't know why he delays giving our assignments back, but he did it a lot ...
Professor is extremely knowledgeable. He we’ll be able to answer nearly anything you throw at him.
Unfortunately the lectures do tend to be boring and it’s difficult to stay focused for 2 hours.
If you have prior programming experience, this is fine since you can kind of half pay attention to the lectures and soak up what you need for C++, and ask questions if you have any. Personally I had no C++ experience before (mainly prefer Python) but I still got what I needed from showing up to about 60-70% of the lectures and looking at online materials.
If you don’t have prior programming experience, I don’t recommend taking this course. You will either do poorly or have to spend way more time than you’d want to, or both.
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
berg is the best <3
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
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.
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
SMALLBERG. This class was easily the toughest I've taken thus far, and really made me miserable but was also the reason I completely switched my major and am on the path to become a software engineer. He will make you suffer, but in the way that makes you feel so proud of yourself in the end and one million time smarter. He makes CS something that anybody can learn, but also makes you your best version of yourself as a student. His sarcastic and slightly angry demeanor(raging about the many common mistakes of past students) is hilarious and enjoyable to watch. Thank you Smallberg, you are one hell of a teacher!
This professor is a mess. Grades were due, and we still did not receive midterm1, midterm2, or the final scores. A lot of students don't even know how they even got their grades since these scores were never given. In addition, professor returned our projects 4 weeks after the TA finished grading. I really don't know why he delays giving our assignments back, but he did it a lot ...
Professor is extremely knowledgeable. He we’ll be able to answer nearly anything you throw at him.
Unfortunately the lectures do tend to be boring and it’s difficult to stay focused for 2 hours.
If you have prior programming experience, this is fine since you can kind of half pay attention to the lectures and soak up what you need for C++, and ask questions if you have any. Personally I had no C++ experience before (mainly prefer Python) but I still got what I needed from showing up to about 60-70% of the lectures and looking at online materials.
If you don’t have prior programming experience, I don’t recommend taking this course. You will either do poorly or have to spend way more time than you’d want to, or both.
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