- Home
- Search
- David A Smallberg
- All Reviews
David Smallberg
AD
Based on 397 Users
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.
Prof Smallberg does flipped learning, so you watch his recorded lectures as homework (probably on 2x because they're usually 70-90 minutes long), and then come to his live lecture to ask questions if you have any (also Zoomed and recorded). So, after the first week of class, the lecture hall is probably around 15% filled. I attended a little under half of the live Q&A sessions (had conflicts the other times because of personal reasons), but I either joined on Zoom or watched the recordings for the rest of them, which I'd say wasn't really necessary for someone who didn't have questions, but I figured might as well let it play in the background while working on a project. So while Q&As can be still considered optional, definitely watch the recorded lectures and make it a habit so you don't get more than maybe a week behind on it because it will drag on and on unless for some reason you think you're super comfortable with C++ already in which case you should still just watch them anyway. There's no slides or anything, so you just have to rely on your own notes when you go back to study before an exam. Flipped learning requires accountability on your part, but I think I preferred it this way because it made my schedule more flexible for other things.
Discussion section was alright for me. We had an ungraded worksheet to work on every week to review the concepts we covered, which was useful, but didn't make that much of a difference for me.
The main things you get graded on are the projects and the tests. I found the tests incredibly straightforward and based off the lectures, so as long as you understand what's covered there, you're set for the tests content-wise. The projects are probably what takes up most of your effort in the course, and have varying levels of difficulty, but I didn't find them particularly challenging (though for context, I had many years of programming experience before this class, just not in C++), though they can take a while so definitely start early. And also, make sure to read the write-ups thoroughly because as Smallberg likes to laud, the project specs and associated FAQs usually covered my misconceptions and bugs when I was working on any projects.
I think the biggest determinant of success in this course is attention to detail. Pay attention to everything and double and triple check everything especially on exams because small mistakes can cost a lot. Same for projects, but I'd assume that would be more built in and intuitive as to how doing the assignment works.
There's an $89 online textbook that you have to purchase called a zyBook, because it's linked to online assignments that count toward your grade. It didn't do much to supplement my learning, but I wouldn't have minded reading it and doing its assignments if the book hadn't been so expensive, dammit. Least favorite part.
Smallberg himself is hilarious. He really emphasizes the attention-to-detail part and will be pretty snarky when people ask him stuff he's already answered in the project spec or other write-up on the CS 31 website, but I find it funny and also fair. With that being said, don't be afraid to ask him stuff, whether about the content or about stuff that's affecting how you're doing in the course, because while you think you can mentally parrot off his response about being responsible and doing things on time or whatnot, it never hurts to ask, and he's a pretty reasonable professor. The CS 31 classes are mostly unified regardless of your professor, but overall, I enjoyed taking this class with Smallberg.
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.
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."
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.
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 has good material, and smallberg is an efficient professor
but i felt the grading and workload of this class was highly unnecessary. projects are heavily long and inconsiderate of time of students, and while i see how it lets practice with some concepts, it gets really repetitive (do i really need 5 classes for same style of objects)
i think the tests were nice and a much better measure of how well somebody understood the concept, especially with how some people "collaborate" too much, but tests are a level playing field. this class should grade more based on tests and reduce project workload.
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.
Prof Smallberg does flipped learning, so you watch his recorded lectures as homework (probably on 2x because they're usually 70-90 minutes long), and then come to his live lecture to ask questions if you have any (also Zoomed and recorded). So, after the first week of class, the lecture hall is probably around 15% filled. I attended a little under half of the live Q&A sessions (had conflicts the other times because of personal reasons), but I either joined on Zoom or watched the recordings for the rest of them, which I'd say wasn't really necessary for someone who didn't have questions, but I figured might as well let it play in the background while working on a project. So while Q&As can be still considered optional, definitely watch the recorded lectures and make it a habit so you don't get more than maybe a week behind on it because it will drag on and on unless for some reason you think you're super comfortable with C++ already in which case you should still just watch them anyway. There's no slides or anything, so you just have to rely on your own notes when you go back to study before an exam. Flipped learning requires accountability on your part, but I think I preferred it this way because it made my schedule more flexible for other things.
Discussion section was alright for me. We had an ungraded worksheet to work on every week to review the concepts we covered, which was useful, but didn't make that much of a difference for me.
The main things you get graded on are the projects and the tests. I found the tests incredibly straightforward and based off the lectures, so as long as you understand what's covered there, you're set for the tests content-wise. The projects are probably what takes up most of your effort in the course, and have varying levels of difficulty, but I didn't find them particularly challenging (though for context, I had many years of programming experience before this class, just not in C++), though they can take a while so definitely start early. And also, make sure to read the write-ups thoroughly because as Smallberg likes to laud, the project specs and associated FAQs usually covered my misconceptions and bugs when I was working on any projects.
I think the biggest determinant of success in this course is attention to detail. Pay attention to everything and double and triple check everything especially on exams because small mistakes can cost a lot. Same for projects, but I'd assume that would be more built in and intuitive as to how doing the assignment works.
There's an $89 online textbook that you have to purchase called a zyBook, because it's linked to online assignments that count toward your grade. It didn't do much to supplement my learning, but I wouldn't have minded reading it and doing its assignments if the book hadn't been so expensive, dammit. Least favorite part.
Smallberg himself is hilarious. He really emphasizes the attention-to-detail part and will be pretty snarky when people ask him stuff he's already answered in the project spec or other write-up on the CS 31 website, but I find it funny and also fair. With that being said, don't be afraid to ask him stuff, whether about the content or about stuff that's affecting how you're doing in the course, because while you think you can mentally parrot off his response about being responsible and doing things on time or whatnot, it never hurts to ask, and he's a pretty reasonable professor. The CS 31 classes are mostly unified regardless of your professor, but overall, I enjoyed taking this class with Smallberg.
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.
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.
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.
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 has good material, and smallberg is an efficient professor
but i felt the grading and workload of this class was highly unnecessary. projects are heavily long and inconsiderate of time of students, and while i see how it lets practice with some concepts, it gets really repetitive (do i really need 5 classes for same style of objects)
i think the tests were nice and a much better measure of how well somebody understood the concept, especially with how some people "collaborate" too much, but tests are a level playing field. this class should grade more based on tests and reduce project workload.
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.