- Home
- Search
- Paul R Eggert
- All Reviews
Paul Eggert
AD
Based on 372 Users
Typical Eggert class with lecture, homework, and exam style identical to 35L. However, unlike 35L, the content is much more interesting and follows a logical order (probably due to it being based off of a single textbook). The textbook is a very insightful read and definitely helpful for understanding the material beyond the surface level covered by the lectures. Definitely take Eggert over Carey for this class.
Some Bruinwalk reviews were helpful for me while taking this course, so I felt that I should provide another data point for this class. I also think that people typically read Bruinwalk reviews for strategies on how to do well in a course, so that’s what my review will mostly cater to. I hope this is useful if Prof. Eggert teaches more iterations of this class which is uncertain at this point in time.
TLDR:
To give yourself a good chance of doing well in this class, you need to have really good/organized (not necessarily concise) lecture notes and play around with concepts Eggert discusses to develop intuition. Make sure you really understand the lecture content (supplement your notes with Google searches, man pages, documentation, etc. to add details to your notes). Eggert exam questions typically test students’ intuition about concepts from lectures. His questions are akin to niche Stack Overflow questions. Developing an intuition for concepts will allow you to fish for more partial credit, which is the way that you do well on these exams. The graders are usually generous with partial credit. Pretty much everyone struggles through this course, so don’t feel bad if you feel lost. To be honest, this is one of those classes where you should stop worrying about how things will affect your GPA/grades, or else you will be super stressed.
Relevant prior knowledge I had:
Some simple UNIX commands (ls, cd). Knew some basic Git commands (add, commit, push). Played around with gdb once or twice. Same with Python. Took CS 31 and CS 32.
Homework:
Reviews from prior quarters give some tips on how to do well on these so I don’t have much to add. New to this quarter (Spring ‘24), there were LA assignment guides that helped students get through the assignments. This was super nice for assignment 6 (random byte stream generator). One of the LAs who contributed to these guides, Benson Liu, was pretty active on piazza to answer questions. Shout out to him. New to this quarter were autograder scripts that the TAs wrote. These were helpful despite some hiccups in the grading of the first assignment. You’d pretty much know your homework grade by the time you submitted it, so that was a nice benefit of having the autograders. You also had unlimited submissions so you could incrementally check that you are on the right path.
Project:
Not much to add here. It was graded leniently. Find a good group and start somewhat early. I feel like everyone spends a lot of time on it until the deadline, even groups who start early. That’s just from what I’ve observed.
Midterm:
I got around the median on this exam. During Spring 2024, the midterm was moved online because of the Palestine/Israel protest events that happened on campus. This probably led to quite a bit of cheating on the exam and I think that this may have been compensated for in the final grades.
Final:
I was able to score in the top 10% on this exam so that’s probably why I got an A. I think I did better on this exam because my answers were much more specific and detailed than those on my midterm. Prof. Eggert typically references an example or piece of code for many concepts in this class. Since my notes were organized (albeit 200+ pages long), I was able to reference relevant examples from lectures to strengthen my exam answers. Having tables of contents and a binder helped me do this. The grading rubrics for these exams tend to award answers that provide some specifics, so I think that worked in my favor. I’d aim for 5-9 sentences for the longer free-response questions. My wrist felt super sore doing this but I think it was necessary.
This is already a pretty long review, so I’ll just add some more comments that you may find insightful:
The class is graded on a curve which is why I talked about my exam grades relative to the class. Prof. Eggert doesn’t provide a methodology for his curve, but I think I got an especially helpful boost from the curve due to my performance on the final being significantly better than my performance on the midterm. Perhaps he was compensating for the online midterm. I know other people in this class felt that they didn’t receive much of a curve (the raw exam scores were relatively high). Nobody will really know though.
There were 2 Bruinwalk reviews for this quarter (Spring ‘24) posted before mine -- I wouldn’t take them super seriously though since they posted a review prior to the final. The final exam is 33% of the grade, so I’m not sure how you can give a reasonable review of a class without taking the final (especially one from Eggert!). To provide context, the first review for this quarter was posted right after the first assignment which is when those auto-grader hiccups happened. As I said before, these issues were resolved for the rest of the assignments.
Would I say that Eggert’s exams are mostly fair? Probably, with some exceptions. Namely, I’m thinking of a problem from our final exam that was not really related to anything covered in class. I’m not going to get into specifics, but I luckily had some knowledge of graph theory prior to the final. For my peers who had no experience with those concepts, I feel for them and can see how that question was unfair. Eggert may introduce new concepts on the exams -- he feels that these are moments where he has the class’ undivided attention to teach. I don’t agree with his philosophy here, but I think you can still do well on the exams by getting questions correct that were mostly related to lecture material.
I felt anxious at times while taking this class, especially after my midterm performance. I think the ideal way to deal with this is to stop worrying about your grade. Just focus on trying to maximize the content you learn from this class because it is useful material. As a bonus, you’ll likely end up with a better grade with that mindset.
Prof. Eggert was always kind and approachable when I asked him questions. His lectures are memorable. I’d suggest trying to attend every lecture in person.
This may be an unpopular opinion, but you may want to take CS 35L and CS 32 in the winter if you have some prior knowledge (more relevant prior knowledge than what I had when entering this class). I say this because the medians for the exams have been much higher in the spring than in winter/fall (70s vs. 50s). CS 35L + CS 32 quarter would be a ton of work, but the spring averages are just so unbelievably high. For reference, 400 people took CS 33 in the spring (the large majority of which were freshmen). Around 170 people took CS 35L in the spring (with a large number being freshmen). The freshmen who take this class in the spring tend to be some of the top in their class, so you might have a better chance to outperform your classmates in the fall/winter.
The timelord never fails to take years off my life at this school. This class was GREAT--content-wise, as you go through numerous programming languages, starting with OCaml, Prolog, Java, Scheme, Python, and a bit of Rust. However, there is no doubt that this was insanely difficult, at least when it came to the final and HW2 / HW5. Still, this class teaches you so many valuable lessons; take this class at your own risk and be prepared to actually learn so much about programming language design, functional programming, logic programming, and grammar; oh boy. I'd definitely recommend taking this class over Nachie if you definitely WANT to learn and leave feeling somewhat rewarded; otherwise, do what you will.
131 is just another display of how Eggert continues to carry the CS department. Best lecturer I've ever had by far. This class at times feels like an extension of 35L, where Eggert talks about random-ish topics in the realm of CS and ends up connecting them together. I can see how that's frustrating, but its valuable to see abstraction from his point of view. As usual, his lectures are targeted around high level concepts which he makes intuitive to understand. He does struggle with technical teaching (such as teaching syntax) in my eyes by overcomplicating things. TAs are helpful in clarifying the basics of the languages we go through. Expect to spend your own time actual learning the programming languages he gives a high level overview about.
Besides the self-teaching (which is expected for Eggert anyways), the one other drawback about this class are the HWs. Two of them are just downright impossible (HW 2, HW5) and the other ones require some hard thinking as well. Figure out a way to get the HWs done in any way possible...
Would highly recommend if you're genuinely interested in the subject! If you didn't like 35L with him, definitely don't take this class.
Paul Eggert is the greatest lecturer I have ever witnessed. He is so passionate about teaching, and it's remarkable how he is so knowledgable while also so good at understanding what it's like to not know things. It is truly an honor to attend CS 35L lectures. Assignments and exams are also very well made. I thought that grading was error-prone, and TAs were not very responsive, but I still enjoyed homework assignments and exams regardless. The LAs, on the other hand, were fantastic. I don't think software construction is a topic I enjoy much, but this class put forth an incredible effort to change that.
egg my beloved !!! by FAR the greatest lecturer at ucla ❤️ wish i could take another class with him. can't speak to other profs but definitely advise u take this class w eggert over nachenberg. personally i found the assignments mostly doable in 2-3 days except for the scheme one (hw5) which was pretty rough. project was super ez. lectures were recorded. for exams, advise rewatching lectures (did this on the final and scored ~upper 20%, didn't do this on the midterm and scored median) and doing some extra programming exercises with each of the languages. i also read the textbook chapters, but i'm not sure they were that helpful so if ur short on time id skip those and focus on finishing the lectures. highly recommend taking 131 with eggert, i learned so much from this class and i felt it wasn't that hard to get a relatively good grade.
AVOID THIS FUCKED UP CLASS AT ALL COST!!! The syllabus and Eggert's teaching is horrible because he's trying to squeeze AT LEAST 2 quarters worth of contents into 10 weeks. The autograder policy he implemented makes this class a fucking nightmare. Yes. one typo will make you get a zero on ALL subsequent keystrokes even if you got them right. I spent like 10 hours for each assignment trying to redo my dribble files again and again just to make the autograder accept my attempt even though I understood how does emacs really work. This class needs a reform ASAP and I don't think Eggert is a great lecturer.
Be prepared for one of the hardest courses you will ever take (but you may know that already -- it's a pretty standard Eggert class). The workload is very rough, where homeworks will take you on average 12 hours/week to complete (according to Eggert himself).
That all being said, this was one of the most interesting CS courses I've taken. You truly do get exposed to the entire field of programming languages and will definitely learn not only languages, but ways to think about code and programming. The assignments, while rough, provide great introductions to all programming styles and languages. Eggert's lectures are also (usually, sometimes not) pretty insightful. Take this course if you want a thorough exposure and experience with programming languages.
This class is actually so horrible lol. The material covered is so crucial to being a programmer and I think this class has an insane amount of potential, but Eggert's teaching philosophy kills it. On HW, you basically get thrown into the deep end on purpose because programmers are supposed to be able to pick up new technologies on the fly. Well, unless you're one of the smartest people in the class, this approach will really just teach you that cheating is necessary for success. Tests are literal RNG as he picks random moments (often incredibly irrelevant ones) from lecture to turn into terribly phrased, often ambiguous questions. Although I did very well on the final and poor on the midterm, I strongly believe that neither of those tests were even a remotely accurate representation of what I knew or what was covered in class/projects. The one highlight of this class is the group project, I had a good group and found it the most fun and rewarding thing I have done at UCLA. Overall though, get ready for the relentless stress this class brings, and pray that you are smarter than your classmates as this is a pretty competitive class in terms of grading.
I feel like I learned nothing. Class was too hard for no reason. Averages for test were around 45%. No regrades allowed for finals. TAs graded tests completely wrong.
Typical Eggert class with lecture, homework, and exam style identical to 35L. However, unlike 35L, the content is much more interesting and follows a logical order (probably due to it being based off of a single textbook). The textbook is a very insightful read and definitely helpful for understanding the material beyond the surface level covered by the lectures. Definitely take Eggert over Carey for this class.
Some Bruinwalk reviews were helpful for me while taking this course, so I felt that I should provide another data point for this class. I also think that people typically read Bruinwalk reviews for strategies on how to do well in a course, so that’s what my review will mostly cater to. I hope this is useful if Prof. Eggert teaches more iterations of this class which is uncertain at this point in time.
TLDR:
To give yourself a good chance of doing well in this class, you need to have really good/organized (not necessarily concise) lecture notes and play around with concepts Eggert discusses to develop intuition. Make sure you really understand the lecture content (supplement your notes with Google searches, man pages, documentation, etc. to add details to your notes). Eggert exam questions typically test students’ intuition about concepts from lectures. His questions are akin to niche Stack Overflow questions. Developing an intuition for concepts will allow you to fish for more partial credit, which is the way that you do well on these exams. The graders are usually generous with partial credit. Pretty much everyone struggles through this course, so don’t feel bad if you feel lost. To be honest, this is one of those classes where you should stop worrying about how things will affect your GPA/grades, or else you will be super stressed.
Relevant prior knowledge I had:
Some simple UNIX commands (ls, cd). Knew some basic Git commands (add, commit, push). Played around with gdb once or twice. Same with Python. Took CS 31 and CS 32.
Homework:
Reviews from prior quarters give some tips on how to do well on these so I don’t have much to add. New to this quarter (Spring ‘24), there were LA assignment guides that helped students get through the assignments. This was super nice for assignment 6 (random byte stream generator). One of the LAs who contributed to these guides, Benson Liu, was pretty active on piazza to answer questions. Shout out to him. New to this quarter were autograder scripts that the TAs wrote. These were helpful despite some hiccups in the grading of the first assignment. You’d pretty much know your homework grade by the time you submitted it, so that was a nice benefit of having the autograders. You also had unlimited submissions so you could incrementally check that you are on the right path.
Project:
Not much to add here. It was graded leniently. Find a good group and start somewhat early. I feel like everyone spends a lot of time on it until the deadline, even groups who start early. That’s just from what I’ve observed.
Midterm:
I got around the median on this exam. During Spring 2024, the midterm was moved online because of the Palestine/Israel protest events that happened on campus. This probably led to quite a bit of cheating on the exam and I think that this may have been compensated for in the final grades.
Final:
I was able to score in the top 10% on this exam so that’s probably why I got an A. I think I did better on this exam because my answers were much more specific and detailed than those on my midterm. Prof. Eggert typically references an example or piece of code for many concepts in this class. Since my notes were organized (albeit 200+ pages long), I was able to reference relevant examples from lectures to strengthen my exam answers. Having tables of contents and a binder helped me do this. The grading rubrics for these exams tend to award answers that provide some specifics, so I think that worked in my favor. I’d aim for 5-9 sentences for the longer free-response questions. My wrist felt super sore doing this but I think it was necessary.
This is already a pretty long review, so I’ll just add some more comments that you may find insightful:
The class is graded on a curve which is why I talked about my exam grades relative to the class. Prof. Eggert doesn’t provide a methodology for his curve, but I think I got an especially helpful boost from the curve due to my performance on the final being significantly better than my performance on the midterm. Perhaps he was compensating for the online midterm. I know other people in this class felt that they didn’t receive much of a curve (the raw exam scores were relatively high). Nobody will really know though.
There were 2 Bruinwalk reviews for this quarter (Spring ‘24) posted before mine -- I wouldn’t take them super seriously though since they posted a review prior to the final. The final exam is 33% of the grade, so I’m not sure how you can give a reasonable review of a class without taking the final (especially one from Eggert!). To provide context, the first review for this quarter was posted right after the first assignment which is when those auto-grader hiccups happened. As I said before, these issues were resolved for the rest of the assignments.
Would I say that Eggert’s exams are mostly fair? Probably, with some exceptions. Namely, I’m thinking of a problem from our final exam that was not really related to anything covered in class. I’m not going to get into specifics, but I luckily had some knowledge of graph theory prior to the final. For my peers who had no experience with those concepts, I feel for them and can see how that question was unfair. Eggert may introduce new concepts on the exams -- he feels that these are moments where he has the class’ undivided attention to teach. I don’t agree with his philosophy here, but I think you can still do well on the exams by getting questions correct that were mostly related to lecture material.
I felt anxious at times while taking this class, especially after my midterm performance. I think the ideal way to deal with this is to stop worrying about your grade. Just focus on trying to maximize the content you learn from this class because it is useful material. As a bonus, you’ll likely end up with a better grade with that mindset.
Prof. Eggert was always kind and approachable when I asked him questions. His lectures are memorable. I’d suggest trying to attend every lecture in person.
This may be an unpopular opinion, but you may want to take CS 35L and CS 32 in the winter if you have some prior knowledge (more relevant prior knowledge than what I had when entering this class). I say this because the medians for the exams have been much higher in the spring than in winter/fall (70s vs. 50s). CS 35L + CS 32 quarter would be a ton of work, but the spring averages are just so unbelievably high. For reference, 400 people took CS 33 in the spring (the large majority of which were freshmen). Around 170 people took CS 35L in the spring (with a large number being freshmen). The freshmen who take this class in the spring tend to be some of the top in their class, so you might have a better chance to outperform your classmates in the fall/winter.
The timelord never fails to take years off my life at this school. This class was GREAT--content-wise, as you go through numerous programming languages, starting with OCaml, Prolog, Java, Scheme, Python, and a bit of Rust. However, there is no doubt that this was insanely difficult, at least when it came to the final and HW2 / HW5. Still, this class teaches you so many valuable lessons; take this class at your own risk and be prepared to actually learn so much about programming language design, functional programming, logic programming, and grammar; oh boy. I'd definitely recommend taking this class over Nachie if you definitely WANT to learn and leave feeling somewhat rewarded; otherwise, do what you will.
131 is just another display of how Eggert continues to carry the CS department. Best lecturer I've ever had by far. This class at times feels like an extension of 35L, where Eggert talks about random-ish topics in the realm of CS and ends up connecting them together. I can see how that's frustrating, but its valuable to see abstraction from his point of view. As usual, his lectures are targeted around high level concepts which he makes intuitive to understand. He does struggle with technical teaching (such as teaching syntax) in my eyes by overcomplicating things. TAs are helpful in clarifying the basics of the languages we go through. Expect to spend your own time actual learning the programming languages he gives a high level overview about.
Besides the self-teaching (which is expected for Eggert anyways), the one other drawback about this class are the HWs. Two of them are just downright impossible (HW 2, HW5) and the other ones require some hard thinking as well. Figure out a way to get the HWs done in any way possible...
Would highly recommend if you're genuinely interested in the subject! If you didn't like 35L with him, definitely don't take this class.
Paul Eggert is the greatest lecturer I have ever witnessed. He is so passionate about teaching, and it's remarkable how he is so knowledgable while also so good at understanding what it's like to not know things. It is truly an honor to attend CS 35L lectures. Assignments and exams are also very well made. I thought that grading was error-prone, and TAs were not very responsive, but I still enjoyed homework assignments and exams regardless. The LAs, on the other hand, were fantastic. I don't think software construction is a topic I enjoy much, but this class put forth an incredible effort to change that.
egg my beloved !!! by FAR the greatest lecturer at ucla ❤️ wish i could take another class with him. can't speak to other profs but definitely advise u take this class w eggert over nachenberg. personally i found the assignments mostly doable in 2-3 days except for the scheme one (hw5) which was pretty rough. project was super ez. lectures were recorded. for exams, advise rewatching lectures (did this on the final and scored ~upper 20%, didn't do this on the midterm and scored median) and doing some extra programming exercises with each of the languages. i also read the textbook chapters, but i'm not sure they were that helpful so if ur short on time id skip those and focus on finishing the lectures. highly recommend taking 131 with eggert, i learned so much from this class and i felt it wasn't that hard to get a relatively good grade.
AVOID THIS FUCKED UP CLASS AT ALL COST!!! The syllabus and Eggert's teaching is horrible because he's trying to squeeze AT LEAST 2 quarters worth of contents into 10 weeks. The autograder policy he implemented makes this class a fucking nightmare. Yes. one typo will make you get a zero on ALL subsequent keystrokes even if you got them right. I spent like 10 hours for each assignment trying to redo my dribble files again and again just to make the autograder accept my attempt even though I understood how does emacs really work. This class needs a reform ASAP and I don't think Eggert is a great lecturer.
Be prepared for one of the hardest courses you will ever take (but you may know that already -- it's a pretty standard Eggert class). The workload is very rough, where homeworks will take you on average 12 hours/week to complete (according to Eggert himself).
That all being said, this was one of the most interesting CS courses I've taken. You truly do get exposed to the entire field of programming languages and will definitely learn not only languages, but ways to think about code and programming. The assignments, while rough, provide great introductions to all programming styles and languages. Eggert's lectures are also (usually, sometimes not) pretty insightful. Take this course if you want a thorough exposure and experience with programming languages.
This class is actually so horrible lol. The material covered is so crucial to being a programmer and I think this class has an insane amount of potential, but Eggert's teaching philosophy kills it. On HW, you basically get thrown into the deep end on purpose because programmers are supposed to be able to pick up new technologies on the fly. Well, unless you're one of the smartest people in the class, this approach will really just teach you that cheating is necessary for success. Tests are literal RNG as he picks random moments (often incredibly irrelevant ones) from lecture to turn into terribly phrased, often ambiguous questions. Although I did very well on the final and poor on the midterm, I strongly believe that neither of those tests were even a remotely accurate representation of what I knew or what was covered in class/projects. The one highlight of this class is the group project, I had a good group and found it the most fun and rewarding thing I have done at UCLA. Overall though, get ready for the relentless stress this class brings, and pray that you are smarter than your classmates as this is a pretty competitive class in terms of grading.