- Home
- Search
- David A Smallberg
- All Reviews

David Smallberg
AD
Based on 412 Users
Smallberg is a clear and helpful professor. He is open to questions, and is basically a walking CS dictionary. His lectures explain stuff very well.
You will learn a lot in CS 31, especially if you have no previous experience. It is rewarding, but if you have no prior experience, it will be very hard. His tests have a strange format that takes getting used to, and I got absolutely hammered on the first midterm, scoring below the 25th percentile.
I also spent more time in CS than the rest of my classes combined, which were Math 32B, Physics 1B, and Chem 30A. CS 31 is no joke if you're not a CS major.
He curves generously, but people still get hammered in terms of GPA. CS isn't an easy tech breadth, and you should think before choosing a CS tech breadth.
Finally, the book was kind-of useful.
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.
I must say, Smallberg is NOT the hype that he is made out to be. While he is obviously a brilliant professor, extremely knowledgeable about the subject matter, and has his engaging moments, there are a few notable caveats in his teaching style I want to draw attention to. (Note: if you're a first-year CS or EE major, you basically have no choice but to take him, as he is the only professor for CS 31 in fall).
Smallberg uses a flipped classroom style of teaching. He does a meticulous job of prerecording an entire quarter's worth of lectures that you watch on your own time, and the listed class time is spent in Q&A sessions. While I can see how some may like this, I thoroughly hated it, as the lectures were sooooo dry. In Q&A sessions (think about them like 200-person office hours), Smallberg is actually pretty funny: at the direct expense of an unfortunate few. He is not afraid to humiliate you in front your hundreds of peers if you ask questions that he deems "beneath" him, to the point where I would feel uncomfortable asking questions (even through I was fortunate enough to never be directly called out by him). It doesn't help that the class is 80% men, so I can only imagine the impostor syndrome my female peers could potentially have felt. Additionally, grading and curving is BRUTAL. The class is a war of attrition. There are no defined cutoffs for specific grades when the class begins; your projects and tests basically go into a black box that gives you a letter grade at the end of the day, so hoping and praying is the name of the game. Everyone is so smart that even the extremely difficult final was not curved. Despite getting a solid B- on the final, I was lucky enough to scrape by a 93%.
I actually thought I did okay until the final grade was posted, but my only real issue with this class was that the exams were just nothing like we were prepared for. Maybe that was my mistake, but the entire final was on big O and sorting algorithms, which I see why is important, but I was wholly not expecting the entire exam to be on it. Still, I think that the class does its job, which is to weed out the students not capable of doing CS, while it could be me, I will keep on going and hopefully not fail out of this major.
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
Flatulants on the road
Ghostracers chasing lost souls
Got myself a coffee
Spilled some on my shirt
USC grads make no dollars
I and Carey are bad spellerz
Memory leak is wrong wrong wrong
For this project, you do not need to submit a report. You're welcome.
Just here to boost lil berg's stats.
Smallberg is love, Smallberg is life
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
Definitely a great introduction to computer science. Smallberg is an excellent lecture who clearly knows about programming topics and how to explain them well. Most of the projects should not be difficult as long as you follow the lectures. The exams were digital when I took the class so I can't comment much on how they would be during an in-person year.
Smallberg is a clear and helpful professor. He is open to questions, and is basically a walking CS dictionary. His lectures explain stuff very well.
You will learn a lot in CS 31, especially if you have no previous experience. It is rewarding, but if you have no prior experience, it will be very hard. His tests have a strange format that takes getting used to, and I got absolutely hammered on the first midterm, scoring below the 25th percentile.
I also spent more time in CS than the rest of my classes combined, which were Math 32B, Physics 1B, and Chem 30A. CS 31 is no joke if you're not a CS major.
He curves generously, but people still get hammered in terms of GPA. CS isn't an easy tech breadth, and you should think before choosing a CS tech breadth.
Finally, the book was kind-of useful.
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.
I must say, Smallberg is NOT the hype that he is made out to be. While he is obviously a brilliant professor, extremely knowledgeable about the subject matter, and has his engaging moments, there are a few notable caveats in his teaching style I want to draw attention to. (Note: if you're a first-year CS or EE major, you basically have no choice but to take him, as he is the only professor for CS 31 in fall).
Smallberg uses a flipped classroom style of teaching. He does a meticulous job of prerecording an entire quarter's worth of lectures that you watch on your own time, and the listed class time is spent in Q&A sessions. While I can see how some may like this, I thoroughly hated it, as the lectures were sooooo dry. In Q&A sessions (think about them like 200-person office hours), Smallberg is actually pretty funny: at the direct expense of an unfortunate few. He is not afraid to humiliate you in front your hundreds of peers if you ask questions that he deems "beneath" him, to the point where I would feel uncomfortable asking questions (even through I was fortunate enough to never be directly called out by him). It doesn't help that the class is 80% men, so I can only imagine the impostor syndrome my female peers could potentially have felt. Additionally, grading and curving is BRUTAL. The class is a war of attrition. There are no defined cutoffs for specific grades when the class begins; your projects and tests basically go into a black box that gives you a letter grade at the end of the day, so hoping and praying is the name of the game. Everyone is so smart that even the extremely difficult final was not curved. Despite getting a solid B- on the final, I was lucky enough to scrape by a 93%.
I actually thought I did okay until the final grade was posted, but my only real issue with this class was that the exams were just nothing like we were prepared for. Maybe that was my mistake, but the entire final was on big O and sorting algorithms, which I see why is important, but I was wholly not expecting the entire exam to be on it. Still, I think that the class does its job, which is to weed out the students not capable of doing CS, while it could be me, I will keep on going and hopefully not fail out of this major.
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
Flatulants on the road
Ghostracers chasing lost souls
Got myself a coffee
Spilled some on my shirt
USC grads make no dollars
I and Carey are bad spellerz
Memory leak is wrong wrong wrong
For this project, you do not need to submit a report. You're welcome.
Definitely a great introduction to computer science. Smallberg is an excellent lecture who clearly knows about programming topics and how to explain them well. Most of the projects should not be difficult as long as you follow the lectures. The exams were digital when I took the class so I can't comment much on how they would be during an in-person year.