- Home
- Search
- Paul R Eggert
- All Reviews

Paul Eggert
AD
Based on 361 Users
Everything everyone had said about this class is true. But I really liked it. It's the "computer science sampler plate". You look into 9 different CS elements/programs/systems during the class. I thought it was very simillar to my previous tech internship experience.
My TA was very good and I learned a lot from her (Lauren Samy). Like in all CS classes, if you don't like your TA, GET OUT and get into another TA's discussion. Fast.
The projects were tricky, but they're not huge, like in CS31 or CS32.
No midterm and the project 10 presentations were really interesting.
You will be doing yourself a favor is you know Linux before you get in here. Just become familliar with basic navigation in the terminal and you'll have a good foundation. You'll be using Linux to get a round almost always.
The final wasn't horrifying, but it was long.
Like I said, overall, I liked this class.
I took 131 and 130 with Eggert.
Eggert is very engaging as a lecturer in 131, and the material is interesting. The textbook is pretty good but not especially memorable. Exams have surprisingly low average scores. Why? You have to know not just the languages you learned, as well as the lecture and reading material, but you also have to know how to tackle somewhat open-ended questions by applying what you learned. And to *write*. Yes, my fellow programmers, you have to learn how to do this thing called writing. And unfortunately that's not taught in the class. If you are able though, try to find exams from past years to see the style of questions.
As for projects, let me say first that you can go see what they are: the class websites showing the projects from previous years stay up, and the projects rarely change. Some projects are kind of just crappy and dubiously relevant to the class (I'm thinking of the Java concurrency one in particular) but most are interesting, eye-opening, and yes, quite challenging. You need to think in a new way - and especially, think in the spirit of the language you are using. Start early.
Take Eggert, you'll like the lectures and you'll learn a lot.
(Millstein's a great guy too though.)
On the other hand, Eggert's 130 is horrible. I can't really blame him though, because I can see how hard it is to design a class on software engineering effectively.
He's a good professor and interesting lecturer absolutely, but the workload is so heavy, and his exams are so tricky. His homework is so hard to understand. I spent a lot of time reading the ambiguous descriptions again and again rather than making progress, which is annoying. I learnt a lot about programming, but I hate wasting time understanding his homework descriptions.
Overall, this is a good class. You learn many valuable skills from a broad range of topics like git, multithreading, python, regex, and emacs. However, it is run quite poorly. You never see the professor, and only learn from the powerpoints given by your TA. My TA had a strong accent and I could barely understand him.
The projects vary in difficulty. Some take < 4 hours, some take 12+ hours. You are mostly left to figure out how to do the projects by yourself.
The final is written by your TA, so the difficulty depends on your TA. I thought my final was easy, but my friends in other sections said theirs was hard. You are graded on the curve of your section alone though.
A big problem in this class is the grading. Don't expect to get the grades back for assignments until after the final. And don't expect to find out what you got wrong. The grading policy lets you turn assignments in late for barely any penalty though, which is nice.
My advice is to start the projects early, even before the quarter starts (the website for past quarters is online, and it hardly changes from quarter to quarter.)
I'll keep it short. For everyone that has taken Eggert, you either really love him or you absolutely despise him. I fall into the latter category. Eggert is one of those professors that is just absolutely brilliant. Because of this, he doesn't know how to give a decent lecture that will be useful for his tests. His tests are insanely difficult, and unless you spend hours following him around and listening to him, there is no way to prepare for his midterms and final. It is common knowledge that Eggert makes up his tests on the fly (usually the night before or the morning of). The fact that his tests are .txt files should be clue that you are going to get wrecked in this class.
Now, if you already know the material, or are just one of those kids that learns material with ease, and is brilliant like Eggert, then go ahead and take this class. If you are a reasonably intelligent person like myself, who thinks and acts like normal students, then absolutely do not take this class (let alone any class if you can) with Eggert, as you will be miserable. The material covered in the book, and in most of his lectures is completely irrelevant to what will be tested as he doesn't even remember what he lectured about. I went to his office hours once to ask him the answer to one of the midterm questions. After staring at the question (for no lie) 20 minutes, he looked up at me and told me he had no idea what the answer was. Incredible.
Also, note that this isn't a typical computer science class, and you will be writing very little code. The test questions (for the most part) are all paragraph responses. In addition, the grade scheme (and solutions) for the test are written entirely by the TAs. That along with the fact that all projects are graded by the TAs just show that Eggert basically takes no part in your grade. If you get terrible TAs like I have had this quarter, then expect to be in for a rough quarter.
The class started out with full capacity (190 or so), plus the waitlist was full (with 35). After the first couple weeks, the waitlist was empty. After the first midterm, there were only 160 students in the class. After the 6th week to 8th week, there were only 130 or so kids left in the class. Just goes to show that taking CS33 with Eggert in the Fall is thee worst decision to ever make. Some argue that you learn more when you take it with him, but this is nonsense.
I don't hate Eggert as a person, as he is an incredibly cool and fun professor, and is one of the most intelligent professors I have had here. The fact that he is so smart, and knows everything about computer science is the reason why he can make up the tests the night before giving them. However, it would be a much smarter decision to take this class your first year if you can, and in the Spring with Professor Reinmann. His class is incredibly easy, he gives tons of extra credit, and about 60%+ of the class got A's last spring (no kidding). I know people that got C's and D's in CS31 and CS32 that ended up getting A's in CS33 with Reinmann. Due to my circumstances, I wasn't able to take it with him in the Spring, but I am giving this advice to help you plan your schedules now. Trust me, you will absolutely regret taking CS33 with Eggert in the Fall. I know upperclassmen that have gotten A's with Eggert, but have also said that his class was the worst. Just look at the grade distribution above. 8% or so got F's, and there were a bunch of C's and such. Only 18% got A's is the only thing you need to see to know that you will get wrecked vs. CS31 and CS32 where ~40% of the students got A's.
Okay, I lied this wasn't short, but I needed to rant about this course, CS33, the destroyer of worlds.
Professor Eggert is actually one of the worst professors I've had at UCLA. He has terrible lectures that are irrelevant to the reading assigned, and gives tests on subjects that are actually not in the book. Seriously avoid taking any class with him at all costs I hate him with a passion
The difficulty of this class is heavily overblown.
I had him for 33 and 131, and his 131 is miles better. He covered a lot of materials (the whole webber textbook + some scheme and python concepts), but he did cover 80% of them well and with good clarity. He also used stories and jokes to help us understand concepts.
Some of his homework is quite fun, like the first OCaml homework and the Prolog homework, but others are either too hard or unable to cover the core essence of a language. For example, the Scheme assignment failed to cover continuation and the Java assignment failed to cover OOP. The second OCaml homework is too hard and I hope he can at least mention some of the ideas in class.
The Python project is fun, too, but it took too much time to figure everything out and it was a pain to finish both the project and the last homework in week 10.
His exams are "more normal" than those from his 33 (!!! definitely much harder than other professor's exams !!!). I'm not sure if he wants to be a nicer guy or he always gives easier exams in 131.
His final covers some details in the book. I suggest to read the whole Webber textbook to not only improve your understanding but also prepare for the exam.
Open-book midterm and final so textbook necessary. Selling textbook for Eggert 131: Modern Programming Languages for 40 dollars (original price 80+) text **********
People recommend taking 35L before 33 or at the same time for a reason. For those who complain about 35L materials, if you choose not to take 35L with 33, it's your fault for having to figure out Linux, C and GDB. I agree TAs are bad, but you have to pay the price for not following advices.
Everything everyone had said about this class is true. But I really liked it. It's the "computer science sampler plate". You look into 9 different CS elements/programs/systems during the class. I thought it was very simillar to my previous tech internship experience.
My TA was very good and I learned a lot from her (Lauren Samy). Like in all CS classes, if you don't like your TA, GET OUT and get into another TA's discussion. Fast.
The projects were tricky, but they're not huge, like in CS31 or CS32.
No midterm and the project 10 presentations were really interesting.
You will be doing yourself a favor is you know Linux before you get in here. Just become familliar with basic navigation in the terminal and you'll have a good foundation. You'll be using Linux to get a round almost always.
The final wasn't horrifying, but it was long.
Like I said, overall, I liked this class.
I took 131 and 130 with Eggert.
Eggert is very engaging as a lecturer in 131, and the material is interesting. The textbook is pretty good but not especially memorable. Exams have surprisingly low average scores. Why? You have to know not just the languages you learned, as well as the lecture and reading material, but you also have to know how to tackle somewhat open-ended questions by applying what you learned. And to *write*. Yes, my fellow programmers, you have to learn how to do this thing called writing. And unfortunately that's not taught in the class. If you are able though, try to find exams from past years to see the style of questions.
As for projects, let me say first that you can go see what they are: the class websites showing the projects from previous years stay up, and the projects rarely change. Some projects are kind of just crappy and dubiously relevant to the class (I'm thinking of the Java concurrency one in particular) but most are interesting, eye-opening, and yes, quite challenging. You need to think in a new way - and especially, think in the spirit of the language you are using. Start early.
Take Eggert, you'll like the lectures and you'll learn a lot.
(Millstein's a great guy too though.)
On the other hand, Eggert's 130 is horrible. I can't really blame him though, because I can see how hard it is to design a class on software engineering effectively.
He's a good professor and interesting lecturer absolutely, but the workload is so heavy, and his exams are so tricky. His homework is so hard to understand. I spent a lot of time reading the ambiguous descriptions again and again rather than making progress, which is annoying. I learnt a lot about programming, but I hate wasting time understanding his homework descriptions.
Overall, this is a good class. You learn many valuable skills from a broad range of topics like git, multithreading, python, regex, and emacs. However, it is run quite poorly. You never see the professor, and only learn from the powerpoints given by your TA. My TA had a strong accent and I could barely understand him.
The projects vary in difficulty. Some take < 4 hours, some take 12+ hours. You are mostly left to figure out how to do the projects by yourself.
The final is written by your TA, so the difficulty depends on your TA. I thought my final was easy, but my friends in other sections said theirs was hard. You are graded on the curve of your section alone though.
A big problem in this class is the grading. Don't expect to get the grades back for assignments until after the final. And don't expect to find out what you got wrong. The grading policy lets you turn assignments in late for barely any penalty though, which is nice.
My advice is to start the projects early, even before the quarter starts (the website for past quarters is online, and it hardly changes from quarter to quarter.)
I'll keep it short. For everyone that has taken Eggert, you either really love him or you absolutely despise him. I fall into the latter category. Eggert is one of those professors that is just absolutely brilliant. Because of this, he doesn't know how to give a decent lecture that will be useful for his tests. His tests are insanely difficult, and unless you spend hours following him around and listening to him, there is no way to prepare for his midterms and final. It is common knowledge that Eggert makes up his tests on the fly (usually the night before or the morning of). The fact that his tests are .txt files should be clue that you are going to get wrecked in this class.
Now, if you already know the material, or are just one of those kids that learns material with ease, and is brilliant like Eggert, then go ahead and take this class. If you are a reasonably intelligent person like myself, who thinks and acts like normal students, then absolutely do not take this class (let alone any class if you can) with Eggert, as you will be miserable. The material covered in the book, and in most of his lectures is completely irrelevant to what will be tested as he doesn't even remember what he lectured about. I went to his office hours once to ask him the answer to one of the midterm questions. After staring at the question (for no lie) 20 minutes, he looked up at me and told me he had no idea what the answer was. Incredible.
Also, note that this isn't a typical computer science class, and you will be writing very little code. The test questions (for the most part) are all paragraph responses. In addition, the grade scheme (and solutions) for the test are written entirely by the TAs. That along with the fact that all projects are graded by the TAs just show that Eggert basically takes no part in your grade. If you get terrible TAs like I have had this quarter, then expect to be in for a rough quarter.
The class started out with full capacity (190 or so), plus the waitlist was full (with 35). After the first couple weeks, the waitlist was empty. After the first midterm, there were only 160 students in the class. After the 6th week to 8th week, there were only 130 or so kids left in the class. Just goes to show that taking CS33 with Eggert in the Fall is thee worst decision to ever make. Some argue that you learn more when you take it with him, but this is nonsense.
I don't hate Eggert as a person, as he is an incredibly cool and fun professor, and is one of the most intelligent professors I have had here. The fact that he is so smart, and knows everything about computer science is the reason why he can make up the tests the night before giving them. However, it would be a much smarter decision to take this class your first year if you can, and in the Spring with Professor Reinmann. His class is incredibly easy, he gives tons of extra credit, and about 60%+ of the class got A's last spring (no kidding). I know people that got C's and D's in CS31 and CS32 that ended up getting A's in CS33 with Reinmann. Due to my circumstances, I wasn't able to take it with him in the Spring, but I am giving this advice to help you plan your schedules now. Trust me, you will absolutely regret taking CS33 with Eggert in the Fall. I know upperclassmen that have gotten A's with Eggert, but have also said that his class was the worst. Just look at the grade distribution above. 8% or so got F's, and there were a bunch of C's and such. Only 18% got A's is the only thing you need to see to know that you will get wrecked vs. CS31 and CS32 where ~40% of the students got A's.
Okay, I lied this wasn't short, but I needed to rant about this course, CS33, the destroyer of worlds.
Professor Eggert is actually one of the worst professors I've had at UCLA. He has terrible lectures that are irrelevant to the reading assigned, and gives tests on subjects that are actually not in the book. Seriously avoid taking any class with him at all costs I hate him with a passion
I had him for 33 and 131, and his 131 is miles better. He covered a lot of materials (the whole webber textbook + some scheme and python concepts), but he did cover 80% of them well and with good clarity. He also used stories and jokes to help us understand concepts.
Some of his homework is quite fun, like the first OCaml homework and the Prolog homework, but others are either too hard or unable to cover the core essence of a language. For example, the Scheme assignment failed to cover continuation and the Java assignment failed to cover OOP. The second OCaml homework is too hard and I hope he can at least mention some of the ideas in class.
The Python project is fun, too, but it took too much time to figure everything out and it was a pain to finish both the project and the last homework in week 10.
His exams are "more normal" than those from his 33 (!!! definitely much harder than other professor's exams !!!). I'm not sure if he wants to be a nicer guy or he always gives easier exams in 131.
His final covers some details in the book. I suggest to read the whole Webber textbook to not only improve your understanding but also prepare for the exam.
People recommend taking 35L before 33 or at the same time for a reason. For those who complain about 35L materials, if you choose not to take 35L with 33, it's your fault for having to figure out Linux, C and GDB. I agree TAs are bad, but you have to pay the price for not following advices.