Based on 21 Users
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.
Todd is a great professor! He explains concepts very clearly, and does lots of examples to make sure we understand the material. There were 6 homework assignments in the class, and each one we had about 5-7 days to do it. While some of the problems could be challenging, all were very doable. It was especially nice that there were office hours held by TA's everyday of the week, making it easy to drop in to ask questions. This course also has LA's, which I really liked. Overall, I'd really recommend taking this course with Todd if you have no CS experience because it made me really enjoy coding.
Definitely one of the best professors I have ever had. The tests and homework’s are super easy and make you actually enjoy CS. He is really helpful and easy to talk to. The projects are very doable and clear. He explains things really well and genuinely cares if his students are learning. I think basically everybody received As. He codes along with you in class which makes it super easy to learn. Highly recommend!!
1) Todd is a great professor!!! I would love to take classes with him again! The lectures are highly structured. He throws in jokes occasionally. He cares about students and is always patient even when someone asks about something that he has repeated many times. During office hours, he can be very serious and seem a little intimidating. However, don't be afraid!!! Just go up and ask him questions. He will answer every single one of them and can likely provide you insights beyond your expectations.
2) I attend Johnson's discussion sections. He is an incredible TA. He goes through the concepts of that week at the beginning of every discussion section and I feel like he is not simply repeating what we have already known from the lectures. He really puts thought into it and emphasizes the details that we probably have missed. When he leads us through solutions to problem, he is always clear.
a.When Todd asks you to write code to solve a particular problem, do it, check if your code functions properly and then compare it to Todd's. Sometimes you will find yourself making mistakes or using a very complicated approach. However, if you just sit and wait for Todd to go through his solution, you will learn way less.
b. Similarly, after submitting your homework assignments, don't just forget about them. Compare your solutions to the sample solutions Todd gives.
c. When reviewing, don't just go through your lecture notes, write code! Remember that although it is important to understand concepts, this is a programming class. You will be expected to write code during the exams.
d. Don't be stressed out, but don't slack off either. Once you grasp the concepts and know how to code accordingly, you will find Todd's exams extremely straightforward. Todd does never aims to trick students during exams. However, don't slack off. If you don't understand the concepts well, you will find yourself helpless during the exams even with the time generously given by Todd.
CS30 helped me prepare incredibly well for CS31, because I had no prior CS experience. Not that you need CS experience for 31, but I'm able to do a ton of fun projects and join clubs on the software side now because I took CS30 first. I'm also acing CS31 because I already know fundamental CS concepts; all I have to do now is learn C++ syntax.
CS30 is taught in python.
I would highly recommend this class for people that are unsure about taking CS31, Prof Millstein is an excellent professor. He made a lot of the more complex concepts (i.e. recursion) easy to understand, and really cares about every student having a solid grasp on the material.
Some other tidbits:
Workload is very manageable (about 1 assignment per week).
The staff answers questions very quickly on Piazza, so use it.
The exams are less difficult than what is on the homework or in discussion and he gives a LOT of time to complete them so don't stress.
I found this a super easy class in general. The material is all the introductory stuff in programming, such as recursion and loops. It does take time to understand how they work, but once you do it becomes super easy to do the homework and the exam. If you never had prior experience programming, this course may get you start loving it. Because I did, I loved solving the puzzles, it's kind of like doing sodoku. Also, Professor Millstein is a super approachable guy with a good sense of humor. He knows what he's talking about and when we ask him questions on online discussion platforms he always responds promptly. I never went to discussion also because I find the content so easy that it's unnecessary.
I highly recommend this class for anyone going into CS who doesn't have programming experience. Todd is a great professor who seems to genuinely care about students learning (e.g. he frequently took Zoom polls to gauge our level of understanding during lecture and promptly responded to questions on Piazza). Todd is easy to understand, has good examples, and can occasionally be funny. The pace at which info is presented is on the slow side, but I didn't find that to be a bad thing because it helped me become really confident in the material.
There were 6 homework assignments (purely coding), several of which took me under 3 hours. Generally the assignments were good practice, not too difficult, and somewhat interesting. They included some basic drawing and image editing which I thought was cool.
Don't buy the textbook. There was "assigned" reading but I stopped doing it after the first one and suffered no consequences. Based on what I read, the textbook didn't add anything to the lectures.
Exams were exceptionally easy. There were two midterms and no quizzes, along with the final. Each exam took me about half the allotted time, but I could have finished them significantly faster if needed.
As a CS major who didn't have prior programming experience, I now feel like I have a good foundation and am glad I decided to take CS 30 instead of going straight to CS 31.
todd is great
i really wish all cs lectures were structured this way. todd teaches by coding with you in python the whole class. very digestible and very easy to learn. hes a wonderful professor and i would recommend this class to anyone. the TAs do give code in office hours
the projects can be a little difficult but the SPEC is really easy to understand every time.
Todd is the goat. Took this class because I'm an EE major who was dreading taking CS 31 and 32 because they are req's for my major and I had very little CS experience. Leaving this class, I'm 95% sure I want to major in CS. Absolutely 1000% take this class if you have little to no coding experience and don't want to jump straight into CS 31 with a lot of experienced students. Lectures were very engaging and taught exactly what you needed for HW and tests, and were super straightforward. HW is 35% of grade and very logical and easy, maybe 2 hours a week on average. If you struggle on the HW, you are allowed to work with others and/or use the internet, so if you put in the work it's pretty much guaranteed you will do well. Tests were incredibly short and simple, so if you understand the HW's the tests will be light work. Overall super chill GPA boost and intro for people just getting into CS. Would take again 100%.
Professor Millstein reaffirmed my affinity for Computer Science. As someone without much prior experience, taking this class makes me feel much more prepared for CS 31 in the winter. This class was very straightforward in its expectations in terms of homework, as well as exams that consisted of problems below the difficulty of the discussion and homework problems. Time was never a problem for the homework or exams, and in fact the exams usually took less than half of the time allotted to complete them, and getting 100% on these exams was extremely doable as long as you didn't make any careless mistakes. My suggestion for the homework would be to make sure to run as many test cases as possible, especially cases such as a blank input or a unique input that you would not expect to make sure each problem works 100% of the time. In terms of the exams, if you just go over the lecture notes/problems, as well as the discussion section questions you will be fully prepared to do well in the exams.