- Home
- Search
- Paul R Eggert
- All Reviews
Paul Eggert
AD
Based on 352 Users
I had a great TA (Zhaowei the GOAT), but still got absolutely assfucked by this class. Here are some tips for you so that you don't have the same shit ass experience I did:
Step 1: Don't take the class
Step 2: If you have to take it, get really familiar with the material from the first four assignments before week 1 so you have a crazy good advantage.
Tough it out for the first 4 weeks and you'll be good in terms of managing workload. The final was a straight clap, no amount of studying could have prepared me for that bullshit. Sure, I learnt a lot, but this class is broken.
Eggert's class never fail to piss me off. The amount of work required for this class is ridiculous, and the pacing is just way too fast. On top of that, we all know Eggert writes these impossible exams where the average is 40%. I put so much time into this class and still struggled. No one really knows what's going on and everyone copies code off Github.
If I had known about Eggert before coming to UCLA, I wouldn't have come to UCLA.
He doesnt care if you understand the material, he makes no sense, his projects make no sense, he doesnt feel the need to make his projects easier because no one confronts him for reasons i dont understand. I wish i learned but i cant learn from him. Hes all over the place.
I take 35L with Dalmia Shivam, he is a nice guy. HOWEVER, I have to say, Aditya Joglekar and Aaron Zhou basically fucked up this quarter. As everyone know, each TA is in charge of an assignment per week. Aditya takes Assignment 4 which is due on week 5 's Monday. And he takes the entire quarter to grade it, which the grades comes out even after assign9 just 5 days before grades finalized in 12/23. Aaron Zhou was in charge of assignment 9 which is a brand new one. Everyone was busying on finals, and he decided to give only 20% on lab(easier part), and impossible-task homework(hard part) 80%. Don't believe it's Eggert decision. NO! It's TA 's choice that they don't want you to pass at least they want you to suffer. They don't fking care students, if they are still TA for the next quarter, watch out the assignments they take charge of cuz they are b_tches.
... and then we're toast!
I'm sure the other comments have already painted quite the picture of this class. I'll spare you the repetition about how this class is a mess, has the most insanely unpractical workload I've ever seen, and absurd tests.
Instead I'll just outline some tips that may help you get an A like I did:
-Take notes in lecture, and really make sure you understand everything he goes over conceptually. Lecture can feel so bizarre, because it is almost never relates to the assignments you will have to do that week. But the tests are at least, if not over half conceptual, and understanding the conceptual will give you the extra edge to do well on the tests.
-Don't waste too much time on homeworks. If you did each homework legitimately, by yourself, from start to finish, you may be able to finish just before you graduate. Maybe. Just reference github instead.
-Do the practice tests. They are super helpful and similar to the real tests.
-On the tests, don't panic. The medians are 50% for a reason, you aren't supposed to be able to nail every question. There will be a question that will blindside you. Just write what you can, and throw in as much Eggert vocab that you learned during lecture and from the textbook as possible. Its okay if some of it is a little wrong too, just write a lot of stuff down with good vocab that is somewhat logical and move on
-Lastly, study. Many students go in thinking their notes will save them. Or that because the tests are so hard they don't have a chance and will use the textbook as a crutch. Not the best idea. If you understand 90% of the things he talked about in lecture and can do from memory most of the basic/intermediate tasks required in the homework by hand without notes, then you are set.
Also just take a nap during the first hour of the first lecture.
I decided to transfer after this class, now Im enrolled in CalPoly, and now I regret my first decision to attend ucla for cs.
With these non-sense classes, you'll waste a great amount of time.
TL;DR: This class is the most awful CS class I've taken at UCLA, and I've already taken all the required courses. Homeworks were so bad that the TAs couldn't even handle the workload of grading in Winter 2021.
On paper, this should be one of the most useful classes in the CS curriculum. If you work as a software engineer, it's expected to have to work with different technologies and programming languages. It's useful to know the general programming paradigms because languages might change in the future. However, in reality, this class was the biggest clusterfuck of the UCLA CS department I've yet to experience.
- As expected with Eggert projects, specs are often unclear and leave you longing for the 20-page Smallberg specs of CS 31/32. Any questions you have should be answered by the TAs, but they were not active at all on Piazza. There was only one TA (bless Boyan) who was semi-frequently active to answer questions, but there were still entire weeks when questions on Piazza went without an instructor answer.
- There's a super useful CS 131 assignment repo (made by a previous TA) with amazing hints and boilerplate code, but for some reason the current TAs no longer support it? It had sanity checks that are super useful when working with a brand new language, but our TAs wouldn't answer questions about it, or provide any alternatives.
- Grading in this class is so fucked. I spent an entire week neglecting other classes and used multiple late days to finish the Scheme homework assignment, but the instructors just gave everyone arbitrary scores about 90. Yeah, this sounds great, but the class is curved, so it just fucks over the students who actually did the work. I'm convinced that the homeworks were so ridiculous that the TAs used a random number generator because they couldn't figure out grading. I had friends who turned in code that couldn't pass half of the provided test cases, used multiple late days, and got a 100.
- Homework breakdowns:
HW 1: OCaml. Pretty easy stuff, mostly teaching OCaml syntax.
HW 2: OCaml. Much harder than HW 1, but a surprisingly useful project in understanding how grammars and parsers work.
HW 3: Java. Super easy thread stuff, most of your time is spent writing a report that the TAs probably don't read.
HW 4: Prolog. Prolog is a weird language, but this project is pretty easy and a good tutorial on logic programming. Still, Prolog is a useless fucking language that nobody in the 21st century uses.
HW 5: Scheme. LMAO this hw was ridiculous. I'm sure it's useful in some AI/ML/symbolic programming contexts, but the language is so ridiculously hard to read and debug for beginners. This HW in my opinion is the hardest, but don't worry if you don't do it, it probably won't get graded anyways lol.
HW 6: Probably changes every year, but usually it's to evaluate some new language and talk about advantages/disadvantages. Not much practical use, but the skills of identifying pros and cons of languages is probably useful. Doubt the TAs read the report.
Project: Not too hard because it's done in Python, but the specs were unclear and TAs decided to take this week off on Piazza lmaooo
- Somehow, in this quarter, exams were the most fair part of this class. They were still Eggert exams, so strange conceptual stuff, but surprisingly good at measuring how much of the course you understood. I'd recommend reviewing homework assignments and previous exams to prepare for this.
Like other comments stated here, this course is a pain in the ass even though the content is useful. It's disorganized. The workload is so heavy that few materials can be covered during the lab. So, you have to study most of the content by yourself. The final has 26 pages and Prof. Eggert claims it's a 3-hour exam. Some TAs are very harsh on grading, and they take a lot of points off just because you are wrong in one question or you don't include something that is not even asked for in the assignment instructions. Many TAs don't even provide any feedback for your grade unless you ask for it. If you have to take this course, I would recommend you start to study the content, such as python and bash, before the quarter you are gonna take the course. One more thing, some people may be smart enough to be a very good graduate student, but they may not be competent to be a TA, and this is a TA based course. So, be cautious.
I had a great TA (Zhaowei the GOAT), but still got absolutely assfucked by this class. Here are some tips for you so that you don't have the same shit ass experience I did:
Step 1: Don't take the class
Step 2: If you have to take it, get really familiar with the material from the first four assignments before week 1 so you have a crazy good advantage.
Tough it out for the first 4 weeks and you'll be good in terms of managing workload. The final was a straight clap, no amount of studying could have prepared me for that bullshit. Sure, I learnt a lot, but this class is broken.
Eggert's class never fail to piss me off. The amount of work required for this class is ridiculous, and the pacing is just way too fast. On top of that, we all know Eggert writes these impossible exams where the average is 40%. I put so much time into this class and still struggled. No one really knows what's going on and everyone copies code off Github.
He doesnt care if you understand the material, he makes no sense, his projects make no sense, he doesnt feel the need to make his projects easier because no one confronts him for reasons i dont understand. I wish i learned but i cant learn from him. Hes all over the place.
I take 35L with Dalmia Shivam, he is a nice guy. HOWEVER, I have to say, Aditya Joglekar and Aaron Zhou basically fucked up this quarter. As everyone know, each TA is in charge of an assignment per week. Aditya takes Assignment 4 which is due on week 5 's Monday. And he takes the entire quarter to grade it, which the grades comes out even after assign9 just 5 days before grades finalized in 12/23. Aaron Zhou was in charge of assignment 9 which is a brand new one. Everyone was busying on finals, and he decided to give only 20% on lab(easier part), and impossible-task homework(hard part) 80%. Don't believe it's Eggert decision. NO! It's TA 's choice that they don't want you to pass at least they want you to suffer. They don't fking care students, if they are still TA for the next quarter, watch out the assignments they take charge of cuz they are b_tches.
I'm sure the other comments have already painted quite the picture of this class. I'll spare you the repetition about how this class is a mess, has the most insanely unpractical workload I've ever seen, and absurd tests.
Instead I'll just outline some tips that may help you get an A like I did:
-Take notes in lecture, and really make sure you understand everything he goes over conceptually. Lecture can feel so bizarre, because it is almost never relates to the assignments you will have to do that week. But the tests are at least, if not over half conceptual, and understanding the conceptual will give you the extra edge to do well on the tests.
-Don't waste too much time on homeworks. If you did each homework legitimately, by yourself, from start to finish, you may be able to finish just before you graduate. Maybe. Just reference github instead.
-Do the practice tests. They are super helpful and similar to the real tests.
-On the tests, don't panic. The medians are 50% for a reason, you aren't supposed to be able to nail every question. There will be a question that will blindside you. Just write what you can, and throw in as much Eggert vocab that you learned during lecture and from the textbook as possible. Its okay if some of it is a little wrong too, just write a lot of stuff down with good vocab that is somewhat logical and move on
-Lastly, study. Many students go in thinking their notes will save them. Or that because the tests are so hard they don't have a chance and will use the textbook as a crutch. Not the best idea. If you understand 90% of the things he talked about in lecture and can do from memory most of the basic/intermediate tasks required in the homework by hand without notes, then you are set.
Also just take a nap during the first hour of the first lecture.
TL;DR: This class is the most awful CS class I've taken at UCLA, and I've already taken all the required courses. Homeworks were so bad that the TAs couldn't even handle the workload of grading in Winter 2021.
On paper, this should be one of the most useful classes in the CS curriculum. If you work as a software engineer, it's expected to have to work with different technologies and programming languages. It's useful to know the general programming paradigms because languages might change in the future. However, in reality, this class was the biggest clusterfuck of the UCLA CS department I've yet to experience.
- As expected with Eggert projects, specs are often unclear and leave you longing for the 20-page Smallberg specs of CS 31/32. Any questions you have should be answered by the TAs, but they were not active at all on Piazza. There was only one TA (bless Boyan) who was semi-frequently active to answer questions, but there were still entire weeks when questions on Piazza went without an instructor answer.
- There's a super useful CS 131 assignment repo (made by a previous TA) with amazing hints and boilerplate code, but for some reason the current TAs no longer support it? It had sanity checks that are super useful when working with a brand new language, but our TAs wouldn't answer questions about it, or provide any alternatives.
- Grading in this class is so fucked. I spent an entire week neglecting other classes and used multiple late days to finish the Scheme homework assignment, but the instructors just gave everyone arbitrary scores about 90. Yeah, this sounds great, but the class is curved, so it just fucks over the students who actually did the work. I'm convinced that the homeworks were so ridiculous that the TAs used a random number generator because they couldn't figure out grading. I had friends who turned in code that couldn't pass half of the provided test cases, used multiple late days, and got a 100.
- Homework breakdowns:
HW 1: OCaml. Pretty easy stuff, mostly teaching OCaml syntax.
HW 2: OCaml. Much harder than HW 1, but a surprisingly useful project in understanding how grammars and parsers work.
HW 3: Java. Super easy thread stuff, most of your time is spent writing a report that the TAs probably don't read.
HW 4: Prolog. Prolog is a weird language, but this project is pretty easy and a good tutorial on logic programming. Still, Prolog is a useless fucking language that nobody in the 21st century uses.
HW 5: Scheme. LMAO this hw was ridiculous. I'm sure it's useful in some AI/ML/symbolic programming contexts, but the language is so ridiculously hard to read and debug for beginners. This HW in my opinion is the hardest, but don't worry if you don't do it, it probably won't get graded anyways lol.
HW 6: Probably changes every year, but usually it's to evaluate some new language and talk about advantages/disadvantages. Not much practical use, but the skills of identifying pros and cons of languages is probably useful. Doubt the TAs read the report.
Project: Not too hard because it's done in Python, but the specs were unclear and TAs decided to take this week off on Piazza lmaooo
- Somehow, in this quarter, exams were the most fair part of this class. They were still Eggert exams, so strange conceptual stuff, but surprisingly good at measuring how much of the course you understood. I'd recommend reviewing homework assignments and previous exams to prepare for this.
Like other comments stated here, this course is a pain in the ass even though the content is useful. It's disorganized. The workload is so heavy that few materials can be covered during the lab. So, you have to study most of the content by yourself. The final has 26 pages and Prof. Eggert claims it's a 3-hour exam. Some TAs are very harsh on grading, and they take a lot of points off just because you are wrong in one question or you don't include something that is not even asked for in the assignment instructions. Many TAs don't even provide any feedback for your grade unless you ask for it. If you have to take this course, I would recommend you start to study the content, such as python and bash, before the quarter you are gonna take the course. One more thing, some people may be smart enough to be a very good graduate student, but they may not be competent to be a TA, and this is a TA based course. So, be cautious.