- Home
- Search
- David A Smallberg
- COM SCI 31
AD
Based on 211 Users
TOP TAGS
There are no relevant tags for this professor yet.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Sorry, no enrollment data is available.
AD
It's a class you have to learn independently. I personally am not the best at that but it ended up being fine, he records lectures so you have to keep up with it yourself. I dont have alot of coding background but I thought the material was very straightforward, and you had great resources as long as you knew how to find them. The TAs are more helpful than the professor. The midterms and finals are how you would expect, not easy but doable.
Review of off-cycle cs31 course (Not with cs majors, i.e. not in fall) so results may differ:
I took this in spring so not many cs majors this time around so the curve is more generous and people don't tend to do as well as the class is not as competitive which is an advantage.
All right, so I will say it is extremely easy to get behind in this class. His lectures are all pre-recorded and his actual lecture hours are just office hours. At one point I was behind like 5 weeks on lectures but it took me one day of brute force to catch up and I was fine. I really learned a lot from my discussion as my LAs were amazing, my TA was kinda just there and didn't say anything lol. The projects are the bulk of your grade, around 42% and he is very tedious with his testing. He will literally test cases you will not even think of on your own but I guess it helps in the long run as you will make sure your code works to the T. Get familiar with g31, it will be your best friend when testing as this is where he tests your projects. His homework is not worth much and really easy for Zybooks to practice some topics but it sucks you gotta pay like 80 bucks for like 3 assignments lol. His midterms are lowkey kinda hard and have so many answer choices for no reason. I mean I went in thinking it wouldn't be bad since it was MCQ with one FRQ code-writing question, but when I opened the exam and saw 30+ answer choices for just one question was kinda insane. Other than that, just make sure you know your projects well and how to trace code as that is the bulk of the mcq and then your frq is just using skills from your projects up to the exam. Since the exams are worth like 12% and 9% (can't remember atm), he does this weird thing where your project scores have to be within 30 points of your exam scores. So if your project average is a 100%, but you get a 60% average on your exams, you get bumped down to a 90% on your project score to have that 30% gap. He also requires you score a 42% on the final to pass no matter what you end with which seems low but when you take the exam, you'll see why. I will say though, the exams are hard so don't get down on yourself and just try your best. The final though.......... that was a beast and a half. It was actually terrible, had wack questions and the average was a 67%. This was nice because though, the class got curved a ton which was also due to it being off-cycle from the cs major path. It was annoying that he gave you a literal piece of code that would then output your final grade in the class LOL. I mean that's unique but maybe not when you're literally going through it the entire quarter. Smallberg is a nice guy but I do think he could make the exams more doable and not as tedious.
Start. Early.
Smallberg's class is, as every other review states, incredibly work-based. You don't have to attend any lectures, as they're all on Word documents online, and you're constantly slammed with project after project. There are Q&A opportunities during class time where you could get help on the projects, but I often found myself too busy working on the projects themselves to drag myself all the way to campus for help. Work in groups, get help from outside sources, and START EARLY or you will regret it!!
My only other gripe is that I studied incredibly hard for the tests (especially the final) but performed significantly worse than I expected, as did several of my classmates. Not sure what else I could've done, as I felt quite confident after the tests, but I did feel rather unsupported (and Smallberg has a very strict test-viewing policy that doesn't support you learning from what you missed at all on exams).
He is funny though. Just wouldn't take again.
This class was way harder than I thought it would be. Unless you have extensive prior knowledge of C++, be prepared to work harder than you ever had in your entire life. I still never broke the bottom 25% for any exam. The first midterm wiped me out, and the average was an 95. Anyways, taking CS32 this quarter, wish me luck!!!
The Ultimate CS31 Guide
Takeaways:
- Stay up to speed on lectures. It is easy to fall behind.
- Start your projects early. The main reason people fail projects is because they tried to do it in the 5 minutes before it was due.
- Bookmark Smallberg's CS31 website and CHECK IT EVERY 3 DAYS.
- Watch out for Smallberg's devious test day jeans lmao
Class Structure:
- Actual lecture material is posted online.
- Lecture periods are Q&A sessions (posted online). First lecture will have 300 people packed into one room, second lecture 2 will have 200 people, and the rest of the lectures will have like 100 people max. For me, lectures were not useful.
- Discussion periods are incomplete recaps of the lectures (not posted online) followed by worksheets (posted online). I would recommend the recap portion because it does round out your understanding of the material and it allows you to get some help on your project sometimes.
Grading Structure:
- (1%) Responsibility Assignment or something . . . it's like two surveys.
- (7%) Homework is mildly time consuming yet helpful and done through ZYbook online, usually between projects.
- (42%) Projects are graded on code (relatively simple), test cases (very tedious, err on the side of more test cases), report (very easy), and PAYING ATTENTION TO THE SPEC. Smallberg tests code and spec requirements with a pre-built program, so the only place where leniency can clutch up is on the report and test cases (graded by TAs and LAs). Late policy is 12.5% per hour.
- (7%) Midterm 1 is quite easy but you HAVE to take your time on each problem because it is very easy to make silly mistakes. You are allowed 1 double sided page of cheat sheet.
- (13%) Midterm 2 is harder because it does include cstrings and pointers which can get confusing. Make sure you know the basics well. You are allowed 1 double sided page of cheat sheet.
- (30%) Final is doable but just long honestly. 3 multi part code writing questions and then maybe 60 multiple choice. You are allowed 2 double sided pages of cheat sheet.
Smallberg does a great job of explaining the fundamentals of C++. Don't take the class if you don't have any programming experience. I had years of prior experience and it wasn't exactly a walk in the park either. CS 31 with Smallberg isn't a very difficult class, but don't let your guard down! The first midterm is quite easy but the second midterm is more difficult. The final is more difficult than either of the two. Make sure to watch the pre-recorded lectures, Smallberg explains everything he puts on tests and on the projects. Don't make the mistake of skipping the recorded lectures, thinking you know C++ already.
The class is not too bad. Smallberg records his lectures beforehand and uses lecture-time as a forum to ask questions. For me, this format was quite enjoyable, as it means I could watch at my own pace and didn't have to go to lecture. Discussions were occasionally useful but probably not worth the time I spent in them. While the projects in CS31 are quite tedious at times, they should not be too big of a deal for students with prior programming experience. If you are new to CS, Smallberg does a good job of explaining everything you must do in the specs. Overall, it is a somewhat difficult but also enjoyable CS class.
The class uses the flipped classroom model where lectures are online. This is nice for flexibility, but ultimately puts a responsibility on you to remain caught up. Final was much harder than both midterms, but very manageable if you did the work throughout the quarter. Smallberg is very detail oriented, almost to a fault, but you learned what you needed to.
Smallberg is an interesting guy. There's a lot of reviews on here that either glorify him or completely bash him, but the truth should be that he's somewhere inbetween. There are some things that he is great at -- particularly, he's a good explainer of concepts and he definitely is one of the more well-versed CS professors.
However, he is not nice or particularly accommodating, and he won't feel bad about it, either. When he sends out project grades, he includes a lovely little segment essentially saying that you will never succeed in life if you don't pay attention to the details. True or not, this is pretty devastating to receive if you get a bad grade on a project you've put 30+ hours into.
The class has 7 projects normally, and a handful of homeworks thrown in. The homeworks are simple and are great study-guides. But the projects are generally feared, especially during fall quarter. If you put in the work and start early (as he loves to repeat countless times), you'll be okay. Also, one bad project grade won't hurt you too much, as opposed to CS32 where there are only 4 projects.
My overall advice would be to DEFINITELY NOT take this class DURING FALL if you are not somewhat experienced in coding, and even if you are, to not take it lightly. If you respect Smallberg and his devilish project specs, you'll come out with a grade that you'll at least accept. I went into the class expecting an A, quickly realized I should be expecting a C, and worked my ass off to receive a B+.
I've heard that winter quarter CS31 is a joke compared to fall quarter, so consider that if you have less experience.
It's a class you have to learn independently. I personally am not the best at that but it ended up being fine, he records lectures so you have to keep up with it yourself. I dont have alot of coding background but I thought the material was very straightforward, and you had great resources as long as you knew how to find them. The TAs are more helpful than the professor. The midterms and finals are how you would expect, not easy but doable.
Review of off-cycle cs31 course (Not with cs majors, i.e. not in fall) so results may differ:
I took this in spring so not many cs majors this time around so the curve is more generous and people don't tend to do as well as the class is not as competitive which is an advantage.
All right, so I will say it is extremely easy to get behind in this class. His lectures are all pre-recorded and his actual lecture hours are just office hours. At one point I was behind like 5 weeks on lectures but it took me one day of brute force to catch up and I was fine. I really learned a lot from my discussion as my LAs were amazing, my TA was kinda just there and didn't say anything lol. The projects are the bulk of your grade, around 42% and he is very tedious with his testing. He will literally test cases you will not even think of on your own but I guess it helps in the long run as you will make sure your code works to the T. Get familiar with g31, it will be your best friend when testing as this is where he tests your projects. His homework is not worth much and really easy for Zybooks to practice some topics but it sucks you gotta pay like 80 bucks for like 3 assignments lol. His midterms are lowkey kinda hard and have so many answer choices for no reason. I mean I went in thinking it wouldn't be bad since it was MCQ with one FRQ code-writing question, but when I opened the exam and saw 30+ answer choices for just one question was kinda insane. Other than that, just make sure you know your projects well and how to trace code as that is the bulk of the mcq and then your frq is just using skills from your projects up to the exam. Since the exams are worth like 12% and 9% (can't remember atm), he does this weird thing where your project scores have to be within 30 points of your exam scores. So if your project average is a 100%, but you get a 60% average on your exams, you get bumped down to a 90% on your project score to have that 30% gap. He also requires you score a 42% on the final to pass no matter what you end with which seems low but when you take the exam, you'll see why. I will say though, the exams are hard so don't get down on yourself and just try your best. The final though.......... that was a beast and a half. It was actually terrible, had wack questions and the average was a 67%. This was nice because though, the class got curved a ton which was also due to it being off-cycle from the cs major path. It was annoying that he gave you a literal piece of code that would then output your final grade in the class LOL. I mean that's unique but maybe not when you're literally going through it the entire quarter. Smallberg is a nice guy but I do think he could make the exams more doable and not as tedious.
Start. Early.
Smallberg's class is, as every other review states, incredibly work-based. You don't have to attend any lectures, as they're all on Word documents online, and you're constantly slammed with project after project. There are Q&A opportunities during class time where you could get help on the projects, but I often found myself too busy working on the projects themselves to drag myself all the way to campus for help. Work in groups, get help from outside sources, and START EARLY or you will regret it!!
My only other gripe is that I studied incredibly hard for the tests (especially the final) but performed significantly worse than I expected, as did several of my classmates. Not sure what else I could've done, as I felt quite confident after the tests, but I did feel rather unsupported (and Smallberg has a very strict test-viewing policy that doesn't support you learning from what you missed at all on exams).
He is funny though. Just wouldn't take again.
This class was way harder than I thought it would be. Unless you have extensive prior knowledge of C++, be prepared to work harder than you ever had in your entire life. I still never broke the bottom 25% for any exam. The first midterm wiped me out, and the average was an 95. Anyways, taking CS32 this quarter, wish me luck!!!
The Ultimate CS31 Guide
Takeaways:
- Stay up to speed on lectures. It is easy to fall behind.
- Start your projects early. The main reason people fail projects is because they tried to do it in the 5 minutes before it was due.
- Bookmark Smallberg's CS31 website and CHECK IT EVERY 3 DAYS.
- Watch out for Smallberg's devious test day jeans lmao
Class Structure:
- Actual lecture material is posted online.
- Lecture periods are Q&A sessions (posted online). First lecture will have 300 people packed into one room, second lecture 2 will have 200 people, and the rest of the lectures will have like 100 people max. For me, lectures were not useful.
- Discussion periods are incomplete recaps of the lectures (not posted online) followed by worksheets (posted online). I would recommend the recap portion because it does round out your understanding of the material and it allows you to get some help on your project sometimes.
Grading Structure:
- (1%) Responsibility Assignment or something . . . it's like two surveys.
- (7%) Homework is mildly time consuming yet helpful and done through ZYbook online, usually between projects.
- (42%) Projects are graded on code (relatively simple), test cases (very tedious, err on the side of more test cases), report (very easy), and PAYING ATTENTION TO THE SPEC. Smallberg tests code and spec requirements with a pre-built program, so the only place where leniency can clutch up is on the report and test cases (graded by TAs and LAs). Late policy is 12.5% per hour.
- (7%) Midterm 1 is quite easy but you HAVE to take your time on each problem because it is very easy to make silly mistakes. You are allowed 1 double sided page of cheat sheet.
- (13%) Midterm 2 is harder because it does include cstrings and pointers which can get confusing. Make sure you know the basics well. You are allowed 1 double sided page of cheat sheet.
- (30%) Final is doable but just long honestly. 3 multi part code writing questions and then maybe 60 multiple choice. You are allowed 2 double sided pages of cheat sheet.
Smallberg does a great job of explaining the fundamentals of C++. Don't take the class if you don't have any programming experience. I had years of prior experience and it wasn't exactly a walk in the park either. CS 31 with Smallberg isn't a very difficult class, but don't let your guard down! The first midterm is quite easy but the second midterm is more difficult. The final is more difficult than either of the two. Make sure to watch the pre-recorded lectures, Smallberg explains everything he puts on tests and on the projects. Don't make the mistake of skipping the recorded lectures, thinking you know C++ already.
The class is not too bad. Smallberg records his lectures beforehand and uses lecture-time as a forum to ask questions. For me, this format was quite enjoyable, as it means I could watch at my own pace and didn't have to go to lecture. Discussions were occasionally useful but probably not worth the time I spent in them. While the projects in CS31 are quite tedious at times, they should not be too big of a deal for students with prior programming experience. If you are new to CS, Smallberg does a good job of explaining everything you must do in the specs. Overall, it is a somewhat difficult but also enjoyable CS class.
The class uses the flipped classroom model where lectures are online. This is nice for flexibility, but ultimately puts a responsibility on you to remain caught up. Final was much harder than both midterms, but very manageable if you did the work throughout the quarter. Smallberg is very detail oriented, almost to a fault, but you learned what you needed to.
Smallberg is an interesting guy. There's a lot of reviews on here that either glorify him or completely bash him, but the truth should be that he's somewhere inbetween. There are some things that he is great at -- particularly, he's a good explainer of concepts and he definitely is one of the more well-versed CS professors.
However, he is not nice or particularly accommodating, and he won't feel bad about it, either. When he sends out project grades, he includes a lovely little segment essentially saying that you will never succeed in life if you don't pay attention to the details. True or not, this is pretty devastating to receive if you get a bad grade on a project you've put 30+ hours into.
The class has 7 projects normally, and a handful of homeworks thrown in. The homeworks are simple and are great study-guides. But the projects are generally feared, especially during fall quarter. If you put in the work and start early (as he loves to repeat countless times), you'll be okay. Also, one bad project grade won't hurt you too much, as opposed to CS32 where there are only 4 projects.
My overall advice would be to DEFINITELY NOT take this class DURING FALL if you are not somewhat experienced in coding, and even if you are, to not take it lightly. If you respect Smallberg and his devilish project specs, you'll come out with a grade that you'll at least accept. I went into the class expecting an A, quickly realized I should be expecting a C, and worked my ass off to receive a B+.
I've heard that winter quarter CS31 is a joke compared to fall quarter, so consider that if you have less experience.
Based on 211 Users
TOP TAGS
There are no relevant tags for this professor yet.