- Home
- Search
- David A Smallberg
- All Reviews

David Smallberg
AD
Based on 413 Users
berg is the best <3
As a non-CS major, and someone who has pretty neutral feelings towards coding as a whole, I'm pretty mixed on this class. Projects are okay, pretty large time suck and often difficult. I didn't watch many of Smallberg's lectures and relied heavily on Nachenberg's slides, which got me through the projects without too much trouble. I hate the tests, mostly because I'm terrible at working through the bugs in a time-pressure situation. Having to switch between CCLE and visual studio on a time limit was stressful for me, and I think it gave an advantage to people with better home computer set-ups (I took one midterm on a laptop and one with two monitors and a nicer keyboard and felt much less stressed with the monitors/keyboard). So I definitely recommend getting all set up if you're going to be taking an online test with Smallberg. I was also a little annoyed that the "practice tests" were nothing like the tests we were taking-- I assume this is because they were modeled after the in person tests, but I really did not feel like they prepared me for the actual test. Overall, though, I don't think this class could be taught all that differently and it was an okay experience. As others have mentioned, I do wish Smallberg had been a little faster with scoring so that I could've made P/NP decisions or had a better feel for how I'd done on tests and projects (I made some of the same mistakes on multiple exams and didn't even know until another classmate happened to ask me about a similar thing), so just a bit frustrating. This was my second quarter with Smallberg though, and I would probably take him again if I could.
Took this class with Smallberg, and went only to Nachenberg's Lectures. Balled out on Midterm 1 and Final, and got screwed on Midterm 2. Did pretty well on projects + homework, here's my advice:
1) This class isn't necessarily hard, just a massive time sink. Do not take 3 more STEM classes on top of CS 32 if you want to have a life or do things other than school. Expect the first 6 weeks to be a breeze, and the last 4 to be about 10-30 hours of coding a week (depending on how good you are at coding).
2) Projects 3 and 4 are massive time sinks, start them early. 3 on average takes 30-40 hours and 900+ lines of code, 4 takes around 10-20 but is conceptually difficult. The first 2 projects + homework aren't bad, start early though because homework 2-4 can take a bit of time (a few hours).
3) Nachenberg's Lectures aren't concise but they are interesting. Go to them if you want a funny professor, not necessarily an amazing one though. However, Nachenberg's slides (and course reader) are godly, if anything studies them. Smallberg's lectures are also solid, but I would say Nachenberg's slides + Smallberg's lectures are the best combos for this class.
I personally loved this class, and found it way better than CS 31 which felt boring and more like busywork. Plan out early during the class, and it won't be hard.
Petty petty little man. He rants about how we are all so incompetent and can't do simple tasks but his website lead to a 404 error for 3 days before he fixed it after many emails. He responds to simple questions by saying that we shouldn't be confused about basic things (but this is an intro class so that makes no sense). He is so disorganized and unclear. I enjoy CS and I did well in the class because the textbook was great, but Smallberg is an awful teacher and probably skins puppies as a hobby.
Pretty solid professor, although his lectures can get a little boring sometimes. You definitely can't go wrong with Smallberg, and if you can pay attention for the entire 2 hours you will have a clear and conceptually deep understanding of the material.
The work for the class consists of five homework assignments, four projects, two midterms, and a final (which was made optional for our class given the circumstances). The homework assignments are reasonable, and can be completed in a few hours if done diligently. The first two projects are similar in difficulty to the homework assignments and do not require much work, maybe in the ballpark of a couple hours a day for a few days and you should be good. The last two are significantly longer and more difficult, but not impossible to complete on time; moreover, you will definitely strengthen your programming skills upon successfully doing them. The midterms were pretty easy in my opinion, and were doable with minimal studying if you paid attention and knew the material. It's not entirely clear what method he uses to assign letter grades, but 90+% raw = A is as good a guess as I have been able to make.
Overall, good professor and a fine class, even though projects 3 and 4 were a pain in the ass.
Lectures can be a little boring, especially since most people know most topics since fall quarter expects prior experience. He's occasionally funny but doesn't crack jokes often. He covers every scenario and error, but his clarity and detailedness are really helpful.
The projects weren't too bad; first two were pretty easy. Project 3 was a pretty large jump from project 2. Projects 3-7 took anywhere from 2 to 8 hours (you have a week to finish each project). As long as you check your program for around fifteen minutes and use the test-cases he gives out to test your project, you can get A's on most projects.
Midterm (usually 2 midterms but first was cancelled because of a fire) and final are pretty detail-oriented, the final more so. The bubbling scheme is a little weird and might take you a minute or so to understand.
I came back to write a review for David after taking so many other CS lower and upper div classes.
My only words are "David is a legend."
granted this was during spring 2020 so corona made things tough but smallberg is the worst professor i've ever had. by the final, he hadn't graded either of the midterms or any assignment since week 3. he also never gave us a syllabus or true grading scheme until two hours before the pass/no pass decision deadline. he barely gave us an "estimate" ish of our grade an hour before we had to make those decisions for pass/no pass and was very snarky throughout the quarter in his responses to students. he also changed the entire format of midterms a few hours before the actual midterms themselves. i found it more useful to skip his lectures and use nachenbergs slides instead. nachenbergs slides will get you 10x farther than smallbergs lectures will. i spent 90% of my time all quarter doing work for this class and had to neglect my other classes. projects take an insane amount of time. project 3 is just pure insanity. terrible class. i did learn a lot of fundamentals (from nachenberg not smallberg of course) but this class was a nightmare
My only word for him is a bad word
This class is definitely challenging, but overall wasn't too bad. It is really important to stay ahead of your work, as Smallberg does not accept late projects. The TAs are very helpful and office hours can ease your mind before submitting a project.
As a non-CS major, and someone who has pretty neutral feelings towards coding as a whole, I'm pretty mixed on this class. Projects are okay, pretty large time suck and often difficult. I didn't watch many of Smallberg's lectures and relied heavily on Nachenberg's slides, which got me through the projects without too much trouble. I hate the tests, mostly because I'm terrible at working through the bugs in a time-pressure situation. Having to switch between CCLE and visual studio on a time limit was stressful for me, and I think it gave an advantage to people with better home computer set-ups (I took one midterm on a laptop and one with two monitors and a nicer keyboard and felt much less stressed with the monitors/keyboard). So I definitely recommend getting all set up if you're going to be taking an online test with Smallberg. I was also a little annoyed that the "practice tests" were nothing like the tests we were taking-- I assume this is because they were modeled after the in person tests, but I really did not feel like they prepared me for the actual test. Overall, though, I don't think this class could be taught all that differently and it was an okay experience. As others have mentioned, I do wish Smallberg had been a little faster with scoring so that I could've made P/NP decisions or had a better feel for how I'd done on tests and projects (I made some of the same mistakes on multiple exams and didn't even know until another classmate happened to ask me about a similar thing), so just a bit frustrating. This was my second quarter with Smallberg though, and I would probably take him again if I could.
Took this class with Smallberg, and went only to Nachenberg's Lectures. Balled out on Midterm 1 and Final, and got screwed on Midterm 2. Did pretty well on projects + homework, here's my advice:
1) This class isn't necessarily hard, just a massive time sink. Do not take 3 more STEM classes on top of CS 32 if you want to have a life or do things other than school. Expect the first 6 weeks to be a breeze, and the last 4 to be about 10-30 hours of coding a week (depending on how good you are at coding).
2) Projects 3 and 4 are massive time sinks, start them early. 3 on average takes 30-40 hours and 900+ lines of code, 4 takes around 10-20 but is conceptually difficult. The first 2 projects + homework aren't bad, start early though because homework 2-4 can take a bit of time (a few hours).
3) Nachenberg's Lectures aren't concise but they are interesting. Go to them if you want a funny professor, not necessarily an amazing one though. However, Nachenberg's slides (and course reader) are godly, if anything studies them. Smallberg's lectures are also solid, but I would say Nachenberg's slides + Smallberg's lectures are the best combos for this class.
I personally loved this class, and found it way better than CS 31 which felt boring and more like busywork. Plan out early during the class, and it won't be hard.
Petty petty little man. He rants about how we are all so incompetent and can't do simple tasks but his website lead to a 404 error for 3 days before he fixed it after many emails. He responds to simple questions by saying that we shouldn't be confused about basic things (but this is an intro class so that makes no sense). He is so disorganized and unclear. I enjoy CS and I did well in the class because the textbook was great, but Smallberg is an awful teacher and probably skins puppies as a hobby.
Pretty solid professor, although his lectures can get a little boring sometimes. You definitely can't go wrong with Smallberg, and if you can pay attention for the entire 2 hours you will have a clear and conceptually deep understanding of the material.
The work for the class consists of five homework assignments, four projects, two midterms, and a final (which was made optional for our class given the circumstances). The homework assignments are reasonable, and can be completed in a few hours if done diligently. The first two projects are similar in difficulty to the homework assignments and do not require much work, maybe in the ballpark of a couple hours a day for a few days and you should be good. The last two are significantly longer and more difficult, but not impossible to complete on time; moreover, you will definitely strengthen your programming skills upon successfully doing them. The midterms were pretty easy in my opinion, and were doable with minimal studying if you paid attention and knew the material. It's not entirely clear what method he uses to assign letter grades, but 90+% raw = A is as good a guess as I have been able to make.
Overall, good professor and a fine class, even though projects 3 and 4 were a pain in the ass.
Lectures can be a little boring, especially since most people know most topics since fall quarter expects prior experience. He's occasionally funny but doesn't crack jokes often. He covers every scenario and error, but his clarity and detailedness are really helpful.
The projects weren't too bad; first two were pretty easy. Project 3 was a pretty large jump from project 2. Projects 3-7 took anywhere from 2 to 8 hours (you have a week to finish each project). As long as you check your program for around fifteen minutes and use the test-cases he gives out to test your project, you can get A's on most projects.
Midterm (usually 2 midterms but first was cancelled because of a fire) and final are pretty detail-oriented, the final more so. The bubbling scheme is a little weird and might take you a minute or so to understand.
granted this was during spring 2020 so corona made things tough but smallberg is the worst professor i've ever had. by the final, he hadn't graded either of the midterms or any assignment since week 3. he also never gave us a syllabus or true grading scheme until two hours before the pass/no pass decision deadline. he barely gave us an "estimate" ish of our grade an hour before we had to make those decisions for pass/no pass and was very snarky throughout the quarter in his responses to students. he also changed the entire format of midterms a few hours before the actual midterms themselves. i found it more useful to skip his lectures and use nachenbergs slides instead. nachenbergs slides will get you 10x farther than smallbergs lectures will. i spent 90% of my time all quarter doing work for this class and had to neglect my other classes. projects take an insane amount of time. project 3 is just pure insanity. terrible class. i did learn a lot of fundamentals (from nachenberg not smallberg of course) but this class was a nightmare
This class is definitely challenging, but overall wasn't too bad. It is really important to stay ahead of your work, as Smallberg does not accept late projects. The TAs are very helpful and office hours can ease your mind before submitting a project.