- Home
- Search
- David A Smallberg
- COM SCI 31
AD
Based on 212 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
Smallberg is great overall, and you probably won't have much choice but to take him anyways so some advice for the class because there are a couple really specific tips:
MOST IMPORTANT on the midterms make sure to look at the point values for each question. You can't assume the multiple choice questions are just worth a couple points sometimes there can be an insanely heavy weight on one or two of them. On one of the exams there was one multiple choice that was worth 12 points out of the 65 pt test, be aware of that kind of weird distribution so you know how to budget your time
Don't underestimate the final. The midterms were much easier than the final, and the practice finals were also much easier than the final.
If you are going to email Smallberg for a question I found that he was much more responsive if you email from your ucla address instead of a personal one. Don't know if he has some kind of filter on his inbox or what but that worked for me and he is great at communicating
Also random note because the grades are kind of a black box I think he up curved our class due to low exam averages because I ended up with an A- after what I thought was an 86 ish overall percent
Smallberg's lectures were thorough and useful, if a bit dull. He is super responsive to emails, so feel free to ask him questions (but do that after asking TAs for help first).
The exams (2 midterms and final) are difficult but not exceedingly so. Most exams consist of analyzing code for mistakes or to understand how to works. The code in exams seem to be purposely written confusingly, so make sure you are careful when reading through it, and just do a ton of practice problems tracing through code.
Projects are the meat of the class. I thought Project 3 and 5 were the toughest, and I personally spent up to 20 hrs in a week working on those projects. However, all the proejcts are definitely doable, you just need to make sure that you start early.
I personally found the required textbook pretty useful. Usually I listened to lecture first, then go through the textbook to review and go through their exercises/problems to understand the concepts before working on a project.
Overall, I felt I got a good understanding of basic coding concepts in C++, and as a nonmajor I felt pretty confident throughout the whole course, even if sometimes it was a bit stressful trying to finish a project
Smallberg's CS31 is extremely rigorous and time consuming, but you will learn a lot from it. Homework usually takes around 5-10 hours a week (depending on how proficient you were at programming before taking this class). The best part of his class is that he sends you recordings of lectures, so you can watch them at your own pace. He talks in a very clear way, albeit a bit mundane at times, and uses plenty of examples. If you spend enough time and effort, you will get a lot out of this class. His midterms were not too hard, but the final was hard. I don't think the class was curved because it took place in fall quarter (most CS majors take CS31 fall quarter).
Asynch Lectures, some of the projects/hw can be difficult so go to Office Hours. Midterms and Final are harder, especially final which shafted some people
Pretty manageable class, especially if you have prior experience with CS. Definitely do not procrastinate on starting your projects and you should be fine. Attend discussions if you need help but neither discussions nor in-person lectures are required.
Although I came into this class having coding experience from AP CSA, the projects for this class were surprising difficult and time-consuming. If you don't have any coding experience at all, I wouldn't recommend this class since 10 weeks is a real short time to learn all the basics of coding and apply these coding concepts in graded projects. On the other hand though, tests were super easy. You get a cheat sheet but it is a pen-and-paper exam (not on the computer).
One pro of this class is definitely optional lectures. He just used lecture time as a recorded Q&A session, with the actual lectures being prerecorded and uploaded on Canvas. They're easy to understand in 2x, and tbh you'll still be fine even if you don't watch lectures at all, as long as you skim/read the textbook and do the projects diligently. Just note that the online interactive textbook was MANDATORY and a needless $70-80 for a 4-month subscription. At least it was a bit helpful.
Syllabus:
Projects (excluding zyBook assignments) 42% (there are 7 projects, about 6% each project)
zyBook assignments 7%
Responsibility assignments 1%
Midterm 1 7%
Midterm 2 13%
Final exam 30%
Smallberg is a great lecturer. 95% of the material you need for projects will be explained in lectures. However he is very picker about following directions. The workload is tough. I found myself spending most of my time on the projects. Would not take another heavy workload class with cs31, especially if you are new to coding.
First CS class at UCLA teaching C++ is kind of questionable, but Smallberg is an excellent prof.
Smallberg is great overall, and you probably won't have much choice but to take him anyways so some advice for the class because there are a couple really specific tips:
MOST IMPORTANT on the midterms make sure to look at the point values for each question. You can't assume the multiple choice questions are just worth a couple points sometimes there can be an insanely heavy weight on one or two of them. On one of the exams there was one multiple choice that was worth 12 points out of the 65 pt test, be aware of that kind of weird distribution so you know how to budget your time
Don't underestimate the final. The midterms were much easier than the final, and the practice finals were also much easier than the final.
If you are going to email Smallberg for a question I found that he was much more responsive if you email from your ucla address instead of a personal one. Don't know if he has some kind of filter on his inbox or what but that worked for me and he is great at communicating
Also random note because the grades are kind of a black box I think he up curved our class due to low exam averages because I ended up with an A- after what I thought was an 86 ish overall percent
Smallberg's lectures were thorough and useful, if a bit dull. He is super responsive to emails, so feel free to ask him questions (but do that after asking TAs for help first).
The exams (2 midterms and final) are difficult but not exceedingly so. Most exams consist of analyzing code for mistakes or to understand how to works. The code in exams seem to be purposely written confusingly, so make sure you are careful when reading through it, and just do a ton of practice problems tracing through code.
Projects are the meat of the class. I thought Project 3 and 5 were the toughest, and I personally spent up to 20 hrs in a week working on those projects. However, all the proejcts are definitely doable, you just need to make sure that you start early.
I personally found the required textbook pretty useful. Usually I listened to lecture first, then go through the textbook to review and go through their exercises/problems to understand the concepts before working on a project.
Overall, I felt I got a good understanding of basic coding concepts in C++, and as a nonmajor I felt pretty confident throughout the whole course, even if sometimes it was a bit stressful trying to finish a project
Smallberg's CS31 is extremely rigorous and time consuming, but you will learn a lot from it. Homework usually takes around 5-10 hours a week (depending on how proficient you were at programming before taking this class). The best part of his class is that he sends you recordings of lectures, so you can watch them at your own pace. He talks in a very clear way, albeit a bit mundane at times, and uses plenty of examples. If you spend enough time and effort, you will get a lot out of this class. His midterms were not too hard, but the final was hard. I don't think the class was curved because it took place in fall quarter (most CS majors take CS31 fall quarter).
Asynch Lectures, some of the projects/hw can be difficult so go to Office Hours. Midterms and Final are harder, especially final which shafted some people
Pretty manageable class, especially if you have prior experience with CS. Definitely do not procrastinate on starting your projects and you should be fine. Attend discussions if you need help but neither discussions nor in-person lectures are required.
Although I came into this class having coding experience from AP CSA, the projects for this class were surprising difficult and time-consuming. If you don't have any coding experience at all, I wouldn't recommend this class since 10 weeks is a real short time to learn all the basics of coding and apply these coding concepts in graded projects. On the other hand though, tests were super easy. You get a cheat sheet but it is a pen-and-paper exam (not on the computer).
One pro of this class is definitely optional lectures. He just used lecture time as a recorded Q&A session, with the actual lectures being prerecorded and uploaded on Canvas. They're easy to understand in 2x, and tbh you'll still be fine even if you don't watch lectures at all, as long as you skim/read the textbook and do the projects diligently. Just note that the online interactive textbook was MANDATORY and a needless $70-80 for a 4-month subscription. At least it was a bit helpful.
Syllabus:
Projects (excluding zyBook assignments) 42% (there are 7 projects, about 6% each project)
zyBook assignments 7%
Responsibility assignments 1%
Midterm 1 7%
Midterm 2 13%
Final exam 30%
Smallberg is a great lecturer. 95% of the material you need for projects will be explained in lectures. However he is very picker about following directions. The workload is tough. I found myself spending most of my time on the projects. Would not take another heavy workload class with cs31, especially if you are new to coding.
First CS class at UCLA teaching C++ is kind of questionable, but Smallberg is an excellent prof.
Based on 212 Users
TOP TAGS
There are no relevant tags for this professor yet.