- Home
- Search
- Paul R Eggert
- All Reviews
Paul Eggert
AD
Based on 350 Users
I placed an incomplete as my grade since it has not been officially recorded yet, but I'm probably headed towards an A.
First off there is no professor for the class, only TAs that can help you solve small problems with your code or clear up concepts. The entire class is broken into 10 assignments and a final exam.
Assignments:
For most of the assignments they are "assigned" Monday and due that Friday, giving you roughly one school week to finish them (some exceptions like the shell scripting program that takes 2 weeks). I quickly learned to start the assignments the weekend before so I could space my work out properly. I would say to prepare to dedicate on average 15 hours for each assignment. Most of them are not even long, you just need to do a lot of the research on your own. There were multiple times were I had to scrap everything on Wednesday and restart to finish that Friday. Many people think they get easier further down the class. I think there's definitely hard ones throughout the class(Assignment 8) but you get into a nice groove. Also project 10 is just a presentation and short report, and it's pretty easy.
My advice: Break assignments into small chunks and work a bit everyday, while testing all the time of course. Always play around with your code a little too, it'll help answer some of your own questions.
Final Exam:
Focus on the TA slides and overall concepts for the assignments. Just make sure you get what is important from the slides and study these concepts every so often and you'll do fine.
Overall, this class is like a marathon were you think you are always behind. Just put in your best effort for the assignments and study a bit for the final and you'll do fine :)
Wow. This is the worst class I've taken so far. The skills are all valuable but you are given little to no guidance / explanation and the work load is absolutely ridiculous. I EASILY spend twice as much time on this class as CS 32--the weeder class. Not to mention this class is only worth 3 units. :(
Unpopular opinion: Eggert is one of the best professors at UCLA. His lectures are incredibly engaging and the subject material is interesting. You learn a lot about a bunch of things related to programming languages. This may have been the most interesting CS class I've taken here. There are also practical aspects through the projects. Maybe Prolog isn't that useful but you do a lot of functional programming and go over asynchronous programming and multi threading. These are all extremely useful. Projects range in difficulty. The OCaml project on parsing a grammer is impossible, I think I turned it in a week late. The Java project is okay but a little obnoxious. Every other project is straightforward and fun. I actually found the Lisp project the most fun (but I'm sure a lot of people won't). There's a paper due at the end of the class where you have to talk about a modern programming language. This paper is very easy and depending on how much effort you put into it you could maybe learn something that will help you. We had Kotlin as our language for our paper, which is nice because it can be used practically. The tests had a lot more coding than an average Eggert class. Our first midterm was 3/5s writing functional programs. These kind of tests are a lot more fair and the projects do help.
Don't get me wrong, this class is hard and you will have to put effort in it. But this is the best and fairest class I've taken from Eggert and one of the best Upper Divs at UCLA.
If you do not have a background in the technologies that are supposed to be taught in this class, you will struggle. However, if you do, Eggert's lectures will teach you a lot about the broader concepts behind them.
Homework is not that bad and were graded fairly generously.
Tests are Eggert Tests so they tend to be pretty tough.
The project required a lot of outside work.
He clearly doesn't care about how COVID-19 will affect some of the students. All the family shit, inconvenience or fairness cannot be compared with the joy from torturing students. Dr. Eggert is an extremely caring professor and, I sincerely love this course. I love CS but this class is just disgusting.
EGGERT IS THE GOAT. This class is legendary. As long as you stay on top of your work, you will survive and walk out learning a lot about OS. His tests are impossible so they might not even be worth studying for. <3
nothing new, homie Eggert, "interesting" exams, annoying specs, satisfying curves :|
---Lecture: Eggert's lectures are overall good. He makes them engaging and easy to follow. He does a pretty good job at explaining difficult topics. One critique I have for them is that he goes into depth about topics that are not too relevant.
---Discussion: Discussion sections are vital for doing homework. Eggert barely covers the homework in class, and they are very difficult to do without any guidance. Other than homework help, I did not find the content of discussion to be too useful.
---Professor: Eggert is a genuinely nice person, contradictory to how difficult his course is. He is very easy to approach with questions and does a lot to help.
---Project: You can choose or be placed in a group of 3-5 people. This quarter we were tasked with building a client-server web application. Contrary to regular school projects I recommend you really try on this since it can look great on a resume. Eggert only covers React, so if you want to use any other technology it's up to your team to learn (basically a no-guidance project).
---Assignments: He gave 6 assignments and most of them were pretty hard. If you understand them well, you can do them in a day, but if you don't it can take forever. Most of them are pretty useless in terms of attaining skills or prepping for the exam. The grading on them were extremely lenient. He also has an insanely forgiving late policy where each day you're late is 2^(n-1) points off (1 day: 1 point, 2 days: 2 points, 3 days: 4 points...)
---Exams: Eggert's exams are by far the hardest I've ever taken. I can't stress enough that there's no amount of studying that will fully prepare you.
---Tips: Go to discussion section before starting each assignment. Go to office hours if you're ever stuck on a project; don't waste time struggling through it. Start your project early and make a weekly product road map to ensure you're not cramming it during finals week. I would say study every detail of lecture for exams, but no one has time for that. To maximize points make sure you understand every coding language thoroughly and try to BS you're way through open ended questions. In coding questions if you find yourself writing many many lines of code, you're doing something wrong.
It's hard. The midterm was already difficult, and then the final took it to another level. One of the questions could legitimately be a Scheme homework assignment. Generally speaking, there are three types of exam questions:
- Rote: Implementing a simple function, drawing syntax diagrams, etc. This is as close to free points as you're gonna get, so I try to do these first.
- Discussion: I save them for last since they're pretty easy to BS. On the flip side, the TA's will often have a random reason to dock points.
- Cool stuff: Occasionally there will be a question that is like a logic puzzle. The answer was not discussed in class exactly, but you can arrive at it with a solid understanding of the course material. Probably where people lose most points.
Overall, there is no difference between remote and non-remote Eggert exams; they're still timed and he still writes them the day before.
On the other hand, the homeworks are extremely fair. The spec contains a lot of test cases, and if you pass all of them you're almost certainly going to score perfectly. Not to mention the exponential decay penalty for late submission :chef_kiss:
This class absolutely sucks, but has some silver linings. Here's a review from someone who isn't insanely cracked at programming and doesn't converse in Mandarin:
First: assignments. There are 6 assignments, most of which do not pertain to anything said in lecture, each of which takes a stupid amount of time and is pretty pointless for your grade (worth 1.5% each). Use GitHub + GPT to save your own time and sanity.
Second: The TAs. The negative reviews of the TAs are completely accurate, most TAs for this class are insanely useless, not familiar with the content, or teach you the wrong information that screws you later on the test. I stopped going to discussions as the TA-lead section is almost completely useless and sometimes even negative for your own learning. Also, the TAs constantly screw up grading and misgraded 4 out of my 6 assignments, so be sure to regrade request any possible assignment + midterm. The midterm averages increased by 4% just because of regrades and how incompetent the 35L TAs are.
Third: The tests. I got about a std deviation below the mean of 48% on the midterm, but somehow crushed the final and got in the top 20%. Here is the strategy to do good on a Paul Eggert exam: take notes of everything he mentions in lecture/writes down. GPT/understand all the concepts you are unfamiliar with. The stuff he barely goes over or covers is always tested. Become really familiar with the workings of the assignments, especially shell commands, Linux, and Python. Print all lecture + searched up notes. The small things he mentions in lectures are very similar to test questions, Having all lecture notes printed saved me for the final.
Lastly, some tips. Participate a few times in Piazza for participation points. He covers things really fast during lecture, I preferred to watch the recordings to actually write down what he says. The final project was easily the best part, but be sure to get a good group and start early. The content after the first 4 weeks begins to get slightly more interesting and useful. This class is pretty useful as a whole (besides Emacs Lisp). It's also pretty generously curved: around average on the tests will get you a B, above and below average and between 1 Std dev will get a B-/B+, anything above/below std dev will get you an A/C.
I placed an incomplete as my grade since it has not been officially recorded yet, but I'm probably headed towards an A.
First off there is no professor for the class, only TAs that can help you solve small problems with your code or clear up concepts. The entire class is broken into 10 assignments and a final exam.
Assignments:
For most of the assignments they are "assigned" Monday and due that Friday, giving you roughly one school week to finish them (some exceptions like the shell scripting program that takes 2 weeks). I quickly learned to start the assignments the weekend before so I could space my work out properly. I would say to prepare to dedicate on average 15 hours for each assignment. Most of them are not even long, you just need to do a lot of the research on your own. There were multiple times were I had to scrap everything on Wednesday and restart to finish that Friday. Many people think they get easier further down the class. I think there's definitely hard ones throughout the class(Assignment 8) but you get into a nice groove. Also project 10 is just a presentation and short report, and it's pretty easy.
My advice: Break assignments into small chunks and work a bit everyday, while testing all the time of course. Always play around with your code a little too, it'll help answer some of your own questions.
Final Exam:
Focus on the TA slides and overall concepts for the assignments. Just make sure you get what is important from the slides and study these concepts every so often and you'll do fine.
Overall, this class is like a marathon were you think you are always behind. Just put in your best effort for the assignments and study a bit for the final and you'll do fine :)
Wow. This is the worst class I've taken so far. The skills are all valuable but you are given little to no guidance / explanation and the work load is absolutely ridiculous. I EASILY spend twice as much time on this class as CS 32--the weeder class. Not to mention this class is only worth 3 units. :(
Unpopular opinion: Eggert is one of the best professors at UCLA. His lectures are incredibly engaging and the subject material is interesting. You learn a lot about a bunch of things related to programming languages. This may have been the most interesting CS class I've taken here. There are also practical aspects through the projects. Maybe Prolog isn't that useful but you do a lot of functional programming and go over asynchronous programming and multi threading. These are all extremely useful. Projects range in difficulty. The OCaml project on parsing a grammer is impossible, I think I turned it in a week late. The Java project is okay but a little obnoxious. Every other project is straightforward and fun. I actually found the Lisp project the most fun (but I'm sure a lot of people won't). There's a paper due at the end of the class where you have to talk about a modern programming language. This paper is very easy and depending on how much effort you put into it you could maybe learn something that will help you. We had Kotlin as our language for our paper, which is nice because it can be used practically. The tests had a lot more coding than an average Eggert class. Our first midterm was 3/5s writing functional programs. These kind of tests are a lot more fair and the projects do help.
Don't get me wrong, this class is hard and you will have to put effort in it. But this is the best and fairest class I've taken from Eggert and one of the best Upper Divs at UCLA.
If you do not have a background in the technologies that are supposed to be taught in this class, you will struggle. However, if you do, Eggert's lectures will teach you a lot about the broader concepts behind them.
Homework is not that bad and were graded fairly generously.
Tests are Eggert Tests so they tend to be pretty tough.
The project required a lot of outside work.
He clearly doesn't care about how COVID-19 will affect some of the students. All the family shit, inconvenience or fairness cannot be compared with the joy from torturing students. Dr. Eggert is an extremely caring professor and, I sincerely love this course. I love CS but this class is just disgusting.
EGGERT IS THE GOAT. This class is legendary. As long as you stay on top of your work, you will survive and walk out learning a lot about OS. His tests are impossible so they might not even be worth studying for. <3
---Lecture: Eggert's lectures are overall good. He makes them engaging and easy to follow. He does a pretty good job at explaining difficult topics. One critique I have for them is that he goes into depth about topics that are not too relevant.
---Discussion: Discussion sections are vital for doing homework. Eggert barely covers the homework in class, and they are very difficult to do without any guidance. Other than homework help, I did not find the content of discussion to be too useful.
---Professor: Eggert is a genuinely nice person, contradictory to how difficult his course is. He is very easy to approach with questions and does a lot to help.
---Project: You can choose or be placed in a group of 3-5 people. This quarter we were tasked with building a client-server web application. Contrary to regular school projects I recommend you really try on this since it can look great on a resume. Eggert only covers React, so if you want to use any other technology it's up to your team to learn (basically a no-guidance project).
---Assignments: He gave 6 assignments and most of them were pretty hard. If you understand them well, you can do them in a day, but if you don't it can take forever. Most of them are pretty useless in terms of attaining skills or prepping for the exam. The grading on them were extremely lenient. He also has an insanely forgiving late policy where each day you're late is 2^(n-1) points off (1 day: 1 point, 2 days: 2 points, 3 days: 4 points...)
---Exams: Eggert's exams are by far the hardest I've ever taken. I can't stress enough that there's no amount of studying that will fully prepare you.
---Tips: Go to discussion section before starting each assignment. Go to office hours if you're ever stuck on a project; don't waste time struggling through it. Start your project early and make a weekly product road map to ensure you're not cramming it during finals week. I would say study every detail of lecture for exams, but no one has time for that. To maximize points make sure you understand every coding language thoroughly and try to BS you're way through open ended questions. In coding questions if you find yourself writing many many lines of code, you're doing something wrong.
It's hard. The midterm was already difficult, and then the final took it to another level. One of the questions could legitimately be a Scheme homework assignment. Generally speaking, there are three types of exam questions:
- Rote: Implementing a simple function, drawing syntax diagrams, etc. This is as close to free points as you're gonna get, so I try to do these first.
- Discussion: I save them for last since they're pretty easy to BS. On the flip side, the TA's will often have a random reason to dock points.
- Cool stuff: Occasionally there will be a question that is like a logic puzzle. The answer was not discussed in class exactly, but you can arrive at it with a solid understanding of the course material. Probably where people lose most points.
Overall, there is no difference between remote and non-remote Eggert exams; they're still timed and he still writes them the day before.
On the other hand, the homeworks are extremely fair. The spec contains a lot of test cases, and if you pass all of them you're almost certainly going to score perfectly. Not to mention the exponential decay penalty for late submission :chef_kiss:
This class absolutely sucks, but has some silver linings. Here's a review from someone who isn't insanely cracked at programming and doesn't converse in Mandarin:
First: assignments. There are 6 assignments, most of which do not pertain to anything said in lecture, each of which takes a stupid amount of time and is pretty pointless for your grade (worth 1.5% each). Use GitHub + GPT to save your own time and sanity.
Second: The TAs. The negative reviews of the TAs are completely accurate, most TAs for this class are insanely useless, not familiar with the content, or teach you the wrong information that screws you later on the test. I stopped going to discussions as the TA-lead section is almost completely useless and sometimes even negative for your own learning. Also, the TAs constantly screw up grading and misgraded 4 out of my 6 assignments, so be sure to regrade request any possible assignment + midterm. The midterm averages increased by 4% just because of regrades and how incompetent the 35L TAs are.
Third: The tests. I got about a std deviation below the mean of 48% on the midterm, but somehow crushed the final and got in the top 20%. Here is the strategy to do good on a Paul Eggert exam: take notes of everything he mentions in lecture/writes down. GPT/understand all the concepts you are unfamiliar with. The stuff he barely goes over or covers is always tested. Become really familiar with the workings of the assignments, especially shell commands, Linux, and Python. Print all lecture + searched up notes. The small things he mentions in lectures are very similar to test questions, Having all lecture notes printed saved me for the final.
Lastly, some tips. Participate a few times in Piazza for participation points. He covers things really fast during lecture, I preferred to watch the recordings to actually write down what he says. The final project was easily the best part, but be sure to get a good group and start early. The content after the first 4 weeks begins to get slightly more interesting and useful. This class is pretty useful as a whole (besides Emacs Lisp). It's also pretty generously curved: around average on the tests will get you a B, above and below average and between 1 Std dev will get a B-/B+, anything above/below std dev will get you an A/C.