- Home
- Search
- David A Smallberg
- COM SCI 31
AD
Based on 208 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
I came into CS31 with no experience, and thus I was quite anxious, starting projects really early and thoroughly tested them before submitting. I found project 3 to be really hard, as there is a giant gap between p3 and p1&2. Project 4,6,7 are okay, while project 5 is also time-consuming (but the spec for project 5 is much detailed, and thus for me it is easier to come up with the algorithm.)
Exams are not difficult. As i said before, i don't have any programming experience, but I found all problems doable. The trick to do well in the exam is to calm down and trace the code cautiously, as the time is quite limited.
I think Professor Smallberg is really lenient in giving A's, and this class is really great for beginners. He is a good professor.
Smallberg is great at explaining the fundamentals of CS, especially to beginners. His lectures can sometimes be a bit boring and a little hard to follow since he doesn't use a powerpoint or anything and simply types out examples manually in a text editor or writes on the board, but he is very thorough with the material. The exams are not especially difficult, but can be very specific. The real difficulty of this course is the projects. Some projects take quite a while, while others not so much. In order to succeed in the projects you need to allow yourself enough time to work on the project in advance and TEST YOUR PROJECT THOROUGHLY before submitting. You can lose a lot of points if your project doesn't work perfectly, and often it seems like it works but upon thorough testing you will discover a lot of bugs. On the bright side, the project specs are not vague in any way and answer most questions you will have about what you can or can't do or what you are supposed to do. Overall, a little difficult, but a great way to learn CS.
I have zero experience in Computer Science, and thus I followed advices from Lecturer Smallberg.
Grades:
Lecturer Smallberg gave a lot of 'A's. Do not worry if you only get median scores or below in the Projects. As long as you can do well in the exams (at least a little above median), an A is easy.
My final grade is A. I have 100 (midterm 1 35, midterm 2 65) in the midterms and all 100s in the Projects, except Project 4. I did little to review for the final, so my score is only a little bit above the 75th percentage score.
Advice:
First, make sure to go to Lecturer Smallberg's lectures, with or without programming experience. He will basically cover everything in the lectures and will explain a lot of tricks which may or may not appear in the exams. If you go to his lectures, you may not need to spend time on the boring and tedious textbook. I also saw a lot of people who had previous programming experience, never went to lectures, and struggled in the finals. So, GO TO HIS LECTURES! (You may hear that his lectures are boring; actually, sometimes it is really boring, but going to his lectures makes learning much easier)
Moreover, make sure to understand everything in the Projects because Projects are especially helpful to understand and practice the materials Smallberg covered in the lectures. I also suggest everyone to look for the Project solutions, from which I learned a lot about programming style and tricks.
Furthermore, start early!!!! I saw a number of people who did not start early and ran out of time. They could not fix all the bugs and turned in late (There are punishment for turning in late). The scores were appalling. If you start early, you probably can finish projects early, and you can have more time debugging and asking Smallberg or TAs questions. For me, I actually spend more time debugging than actually writing Projects.
Projects:
Projects 3 and 5 are hard and time-consuming. Project 4 is tricky (Pay attention to the spec; there are a number of ambiguous requirements. I lost a lot of points because I did not fully understand when to return 0 and when to return -1). Other Projects are relatively easy.
CS 31 is a pretty straightforward (yet time consuming) class if you come in with AP CS experience.
CS 31 fall 2014 had 7 projects (40%), 2 midterms (25%), and a final (35%).
The projects are where you end up learning most of the stuff that’s going to be on the assessments. Some of the projects (3,5, and 7) are somewhat tricky and time consuming, but the rest of them are pretty simple and straightforward. Getting a good grade on the projects isn’t too hard; the median score on the projects is almost always an A (project 5 was the only outlier with a B+ average).
I found the midterms and finals to be pretty annoying. They basically require you to be a human compiler, which is kind of tedious, but they're not too hard (average score in the midterm category was an 85%). The final was honestly pretty hard for me (I did around 3-4 hours of studying for it total and got a C) since it covered pointers and classes and dynamic allocation of memory. The average on the final was a 79. I’m assuming there was some sort of curve on the class at the end though; I had a raw grade that was a high B+ and my final grade was an A.
Smallberg is incredibly knowledgeable about the material he’s teaching, and if you pay attention to his lectures, you will learn an incredible amount about C++ and object oriented programming. Unfortunately, he’s not the most engaging lecturer and thus it was very difficult for me to pay attention; I stopped going to lectures after the third week. In the end, it didn’t really matter since the only material he went over that wasn’t covered in AP CS was pointers and dynamic allocation of memory, topics that can be learnt anyway through projects 6 and 7 and the book.
Overall, this class requires between 5-20 hours of work a week, and if you manage your time well and start the projects early, there’s no reason you can’t get an A if you have prior programming experience. If you don’t have prior programming experience, this will probably be a pretty difficult class for you that will require excellent time management and study strategies to get an A.
His lectures are very clear and easy to understand, and when he knows a topic is confusing to a lot of people (like pointers), he spends more time on it and gives more examples to help his students learn better. His lectures tend to be quite boring though, and I had a hard time not falling asleep a few times. The projects tend to be quite difficult, but they really help you understand the material better. The midterms and final are multiple choice with a few short code-writing sections, and you get a whole sheet of paper (or two for the final) for notes. I didn’t find the midterms very difficult, but there were a few tricky problems on the final.
Overall, if you’ve taken APCS and you know the material well, CS 31 shouldn’t be too hard for you. I found this class very relaxing but slightly challenging in an interesting way at the same time (because of the projects).
Smallberg is simply a great great teacher. I can't find anyone else who teaches CS 31 better than he does. His projects are hard and time consuming but they really test your understanding of the stuff you learned in class. Also, midterms and final are not bad.
Took CS31 with him last quarter. I must admit it was a little boring at times and I found it hard to sit through the 2 hour lectures, but he really does know what he's talking about! I took APCS in high school so I was pretty familiar with the concepts (just had to learn C++ syntax and pointers), but I feel like even without any programming experience people would still be able to understand everything. Projects were manageable, some take longer than others so just start early. I maybe spent ~5-10 hours a week on them? Projects 3 and 5 probably more like 20-30 hours. Midterms were straightforward as well. I didn't end up going to many of the lectures because I tended just to fall asleep during them, but I watched most of the podcasts online. He's a good teacher and really cares. Overall it's not a bad class, especially if you have some prior programming experience!
Professor Smallberg is a very good lecturer. I had 0 experience with programming before the class, but he explained the material in simple terms so that I understood it. He uses a lot of analogies and he has a great sense of humor, so class doesn't even get boring.
The projects get difficult and VERY time consuming, so start early! Go to TA office hours and some TAs practically give you the code. The tests are difficult, just make sure you understand all of the code that you're using in your projects.
He is an awesome lecturer! He is very thorough with the topics and you are really able to understand the material. The projects are alright and are not difficult because you will learn the material as you progress. However, I did find myself asking the TAs many questions about the projects.
I did find the midterms and exams very difficult. You have to manage your time well on the tests because you might find yourself tracing through the program very slowly (I am a beginner C++ i.e. no experience). I am not sure if there is a curve in the class.
Regardless of my final grade (maybe a B or B-), I think he is a very good lecturer and you cannot go wrong by having him as your instructor for CS31.
I came into CS31 with no experience, and thus I was quite anxious, starting projects really early and thoroughly tested them before submitting. I found project 3 to be really hard, as there is a giant gap between p3 and p1&2. Project 4,6,7 are okay, while project 5 is also time-consuming (but the spec for project 5 is much detailed, and thus for me it is easier to come up with the algorithm.)
Exams are not difficult. As i said before, i don't have any programming experience, but I found all problems doable. The trick to do well in the exam is to calm down and trace the code cautiously, as the time is quite limited.
I think Professor Smallberg is really lenient in giving A's, and this class is really great for beginners. He is a good professor.
Smallberg is great at explaining the fundamentals of CS, especially to beginners. His lectures can sometimes be a bit boring and a little hard to follow since he doesn't use a powerpoint or anything and simply types out examples manually in a text editor or writes on the board, but he is very thorough with the material. The exams are not especially difficult, but can be very specific. The real difficulty of this course is the projects. Some projects take quite a while, while others not so much. In order to succeed in the projects you need to allow yourself enough time to work on the project in advance and TEST YOUR PROJECT THOROUGHLY before submitting. You can lose a lot of points if your project doesn't work perfectly, and often it seems like it works but upon thorough testing you will discover a lot of bugs. On the bright side, the project specs are not vague in any way and answer most questions you will have about what you can or can't do or what you are supposed to do. Overall, a little difficult, but a great way to learn CS.
I have zero experience in Computer Science, and thus I followed advices from Lecturer Smallberg.
Grades:
Lecturer Smallberg gave a lot of 'A's. Do not worry if you only get median scores or below in the Projects. As long as you can do well in the exams (at least a little above median), an A is easy.
My final grade is A. I have 100 (midterm 1 35, midterm 2 65) in the midterms and all 100s in the Projects, except Project 4. I did little to review for the final, so my score is only a little bit above the 75th percentage score.
Advice:
First, make sure to go to Lecturer Smallberg's lectures, with or without programming experience. He will basically cover everything in the lectures and will explain a lot of tricks which may or may not appear in the exams. If you go to his lectures, you may not need to spend time on the boring and tedious textbook. I also saw a lot of people who had previous programming experience, never went to lectures, and struggled in the finals. So, GO TO HIS LECTURES! (You may hear that his lectures are boring; actually, sometimes it is really boring, but going to his lectures makes learning much easier)
Moreover, make sure to understand everything in the Projects because Projects are especially helpful to understand and practice the materials Smallberg covered in the lectures. I also suggest everyone to look for the Project solutions, from which I learned a lot about programming style and tricks.
Furthermore, start early!!!! I saw a number of people who did not start early and ran out of time. They could not fix all the bugs and turned in late (There are punishment for turning in late). The scores were appalling. If you start early, you probably can finish projects early, and you can have more time debugging and asking Smallberg or TAs questions. For me, I actually spend more time debugging than actually writing Projects.
Projects:
Projects 3 and 5 are hard and time-consuming. Project 4 is tricky (Pay attention to the spec; there are a number of ambiguous requirements. I lost a lot of points because I did not fully understand when to return 0 and when to return -1). Other Projects are relatively easy.
CS 31 is a pretty straightforward (yet time consuming) class if you come in with AP CS experience.
CS 31 fall 2014 had 7 projects (40%), 2 midterms (25%), and a final (35%).
The projects are where you end up learning most of the stuff that’s going to be on the assessments. Some of the projects (3,5, and 7) are somewhat tricky and time consuming, but the rest of them are pretty simple and straightforward. Getting a good grade on the projects isn’t too hard; the median score on the projects is almost always an A (project 5 was the only outlier with a B+ average).
I found the midterms and finals to be pretty annoying. They basically require you to be a human compiler, which is kind of tedious, but they're not too hard (average score in the midterm category was an 85%). The final was honestly pretty hard for me (I did around 3-4 hours of studying for it total and got a C) since it covered pointers and classes and dynamic allocation of memory. The average on the final was a 79. I’m assuming there was some sort of curve on the class at the end though; I had a raw grade that was a high B+ and my final grade was an A.
Smallberg is incredibly knowledgeable about the material he’s teaching, and if you pay attention to his lectures, you will learn an incredible amount about C++ and object oriented programming. Unfortunately, he’s not the most engaging lecturer and thus it was very difficult for me to pay attention; I stopped going to lectures after the third week. In the end, it didn’t really matter since the only material he went over that wasn’t covered in AP CS was pointers and dynamic allocation of memory, topics that can be learnt anyway through projects 6 and 7 and the book.
Overall, this class requires between 5-20 hours of work a week, and if you manage your time well and start the projects early, there’s no reason you can’t get an A if you have prior programming experience. If you don’t have prior programming experience, this will probably be a pretty difficult class for you that will require excellent time management and study strategies to get an A.
His lectures are very clear and easy to understand, and when he knows a topic is confusing to a lot of people (like pointers), he spends more time on it and gives more examples to help his students learn better. His lectures tend to be quite boring though, and I had a hard time not falling asleep a few times. The projects tend to be quite difficult, but they really help you understand the material better. The midterms and final are multiple choice with a few short code-writing sections, and you get a whole sheet of paper (or two for the final) for notes. I didn’t find the midterms very difficult, but there were a few tricky problems on the final.
Overall, if you’ve taken APCS and you know the material well, CS 31 shouldn’t be too hard for you. I found this class very relaxing but slightly challenging in an interesting way at the same time (because of the projects).
Smallberg is simply a great great teacher. I can't find anyone else who teaches CS 31 better than he does. His projects are hard and time consuming but they really test your understanding of the stuff you learned in class. Also, midterms and final are not bad.
Took CS31 with him last quarter. I must admit it was a little boring at times and I found it hard to sit through the 2 hour lectures, but he really does know what he's talking about! I took APCS in high school so I was pretty familiar with the concepts (just had to learn C++ syntax and pointers), but I feel like even without any programming experience people would still be able to understand everything. Projects were manageable, some take longer than others so just start early. I maybe spent ~5-10 hours a week on them? Projects 3 and 5 probably more like 20-30 hours. Midterms were straightforward as well. I didn't end up going to many of the lectures because I tended just to fall asleep during them, but I watched most of the podcasts online. He's a good teacher and really cares. Overall it's not a bad class, especially if you have some prior programming experience!
Professor Smallberg is a very good lecturer. I had 0 experience with programming before the class, but he explained the material in simple terms so that I understood it. He uses a lot of analogies and he has a great sense of humor, so class doesn't even get boring.
The projects get difficult and VERY time consuming, so start early! Go to TA office hours and some TAs practically give you the code. The tests are difficult, just make sure you understand all of the code that you're using in your projects.
He is an awesome lecturer! He is very thorough with the topics and you are really able to understand the material. The projects are alright and are not difficult because you will learn the material as you progress. However, I did find myself asking the TAs many questions about the projects.
I did find the midterms and exams very difficult. You have to manage your time well on the tests because you might find yourself tracing through the program very slowly (I am a beginner C++ i.e. no experience). I am not sure if there is a curve in the class.
Regardless of my final grade (maybe a B or B-), I think he is a very good lecturer and you cannot go wrong by having him as your instructor for CS31.
Based on 208 Users
TOP TAGS
There are no relevant tags for this professor yet.