- Home
- Search
- Paul R Eggert
- All Reviews

Paul Eggert
AD
Based on 269 Users
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
I would say people should avoid this class if they can. However, I don't think there is a choice if this is a major req. Eggert will not appear in lab sessions, so the class experience kind of depend on the TA. I am pretty lucky to get a GREAT TA (take Zhaowei Tan's section if you can!!). He is really clear and organized and he really tries to make me suffer as little as possible. The final is hard. I think what everyone is doing is basically print out as much project and online cheatsheets as they can and try to copy the right one onto their papers. I can't say this class is useless because after this class I find myself familiar with shell and python etc., but the experience is too much of a suffer.
I think most of the sentiments echoed in previous reviews hold true for me. The course IS tough, the workload IS heavy, it is extremely frustrating dealing with some of the requirements, and you WILL bang your head on the table. Sometimes the grading seems arbitrary. Sometimes you put in far more work than you feel your grade acknowledges. Sometimes you hate the way the TA's respond to you or your classmates. As far as all of that goes, nothing seems to have changed about the course compared to previous reviews.
I will say, however, that I am happy to have learned everything we went over in the course. It's nice to simply know the stuff, but it's even better to understand WHY and HOW. The knowledge of the material is not divorced from the knowledge you need in other courses. In fact, there was a surprising amount of overlap between classes I have taken and will need to take. The main difference is that this class is less theoretical, and focusses on more practical aspects of software and systems. Many people complain about how little practical application we get at UCLA. I think this course definitely satisfies the need, albeit in a difficult manner.
If you learn to enjoy the material, and you can get past the (sometimes) arbitrary grading (I got many low scores, but still got the A), then you should be alright.
35L has a bad reputation for a reason. I just took CS 111, and the workloads are pretty much the same except for the readings--which is insane. The TAs try their best to teach whatever language you're covering in two days, but there isn't much you can cram of the basics of C/python/Bash in four hours while also covering the spec. The specs are often confusing and in the case of my specific quarter, wrong (we had to check a google doc instead for one lab). If you have a bad TA, just go to a good one--your grade depends on it! You don't get your grades back before the next project and a few rely on the previous project. There isn't a test script like with 111 so if your program is consistently slightly wrong, you're screwed. Also,The beaglebone is used once and it costs $100. Overall, this class is trial by fire.
Oh boy! Now that I've completed the infamous 35L, I legit feel like I am ready to tackle ANYTHING. This course is ABSOLUTELY broken, and no other will probably ever top this one. My man Eggert made ANOTHER new assignment this quarter (aside from the insanely impossible Assignment 9), and the workload became even harder than ever before.
I am glad that I took this during S20 -- probably the wisest decision I've ever made so far. The grading was much quicker than any of the previous quarters, and the final was MUCH simpler. The average is around 70%, which is honestly unprecedented in an Eggert course.
I somehow ended up with a raw score of 94% total, but that still wasn't enough to get an A+ in the class. Guess that was just never an option to begin with... :(
I will recommend my TA Ritam, since he was completely reasonable with the Assignment 10 grading, and his lectures are very informative. However, sometimes it will be useful to use slides from other labs as well -- since each TA makes their own, and the information often differs quite a bit.
Lastly, quote the TA Daniel:
"The almighty egg"
This class sucks, plain and simple. Programming paradigms are actually something I have some genuine appreciation for, and I can understand Eggert's passion for how good programming language design choices affect project design. It's intuitive and interesting to me. But every aspect of this class is painful and stressful, almost as if by design. It is essentially 2 classes at once: one where you try 30-40 hours a week to keep up with Eggert's project specs and cobble together a working set of code each week, where the TAs (no fault on their part) are sometimes just as confused as you are. I wouldn't wish Project 2 on my worst enemy. The other is an actual programming language course, where the lectures are relatively hit-or-miss as far as how engaging and relevant they are to the course material. Did I mention that every page of the 500-page textbook is fair game for the exams?
The number of all-nighters I had to pull, the amount of time I had to take from other classes just to get the grade I did, the toll on my mental health, not worth it. Never again.
The class itself was pretty useful because we are exposed to different types of programming languages that are not just the usual imperative languages. The homeworks however are pretty difficult, especially the scheme and 2nd Ocaml ones. However, I enjoyed the Prolog assignment and the python project. Professor Eggert is extremely nice and I highly recommend going to his office hours for clarifications and extra help of concepts covered in class. I took CS111 with him as well and for me CS111 was definitely a lot easier than CS131. I recommend him for CS111 as he is really knowledgeable about the material and I learned a lot from that class. However, he is basically the only one that teaches 131 so you really have no choice for who to take it with this class. Good luck!
This class sucked p bad. Not really sure what I gained from this class. Partially to my own fault due to not trying as hard as I could have, but also the level of difficulty for each assignment was kind of ridiculous. I'd go to Lab and feel like I learned something, yet I'd start an assignment and often times have literally 0 clue how to do what I wanted to do. It felt like I got exposed to many topics, yet learned almost nothing. Completely unrelated topics each week definitely didn't help. It was a bad time. Just get it over with
note: class taken remotely during covid-19.
tl;dr his lectures are intense but pretty great, projects take a LONG LONG time, exams are nearly impossible, but VERY GENEROUS CURVE.
workload for this class is incredibly heavy even when I didn't do any of the readings assigned for this class. the projects simply are incredibly difficult and I wouldn't recommend you wasting too much time to figure them out yourselves. Definitely try it yourself first for 2-3 hrs, and then please do yourself a favor to reference github when you can't figure it out. otherwise, you will NOT have time for your other classes and will very likely not figure it out at all. don't feel bad about it because almost everyone i knew referenced github at some point. just make sure you understand the code from github 100% then you'll be fine for the assessments and will learn the material. hardest project was 2nd ocaml project and the scheme project, so brace yourself!
definitely attend TAs discussion because they will 130% help you and give you hints for doing the projects! s/o to kimmo who was an amazing TA this quarter :) honestly all the TAs were pretty great too.
his lectures are one of the best at ucla cs and i definitely learned a lot about programming languages from his lectures. these are concepts I can apply to even languages we didn't cover in class, and will definitely help me in my cs career in the future. So, definitely take eggert if you want to learn a lot.
personally, i ended up fine by not doing the readings, but if you have time, please do because you will be able to learn even more. don't worry too much about your performance in the midterm/final. I was around the top 30% and still managed to get a solid A. but maybe it was just because eggert was being nice because of covid and the protests that were going on.
this class will be rough, but if you actually understand the projects and attend lecture, you will do just fine !!
Like every other review on here, this class is hard. It's a ton of work. The exams are very eggert. He said on the day of the final that there was a question on it that he didn't know the answer to. The biggest piece of advice I can provide is to make sure that you do this with other courses that are easy because this class is a huge time suck.
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
I would say people should avoid this class if they can. However, I don't think there is a choice if this is a major req. Eggert will not appear in lab sessions, so the class experience kind of depend on the TA. I am pretty lucky to get a GREAT TA (take Zhaowei Tan's section if you can!!). He is really clear and organized and he really tries to make me suffer as little as possible. The final is hard. I think what everyone is doing is basically print out as much project and online cheatsheets as they can and try to copy the right one onto their papers. I can't say this class is useless because after this class I find myself familiar with shell and python etc., but the experience is too much of a suffer.
I think most of the sentiments echoed in previous reviews hold true for me. The course IS tough, the workload IS heavy, it is extremely frustrating dealing with some of the requirements, and you WILL bang your head on the table. Sometimes the grading seems arbitrary. Sometimes you put in far more work than you feel your grade acknowledges. Sometimes you hate the way the TA's respond to you or your classmates. As far as all of that goes, nothing seems to have changed about the course compared to previous reviews.
I will say, however, that I am happy to have learned everything we went over in the course. It's nice to simply know the stuff, but it's even better to understand WHY and HOW. The knowledge of the material is not divorced from the knowledge you need in other courses. In fact, there was a surprising amount of overlap between classes I have taken and will need to take. The main difference is that this class is less theoretical, and focusses on more practical aspects of software and systems. Many people complain about how little practical application we get at UCLA. I think this course definitely satisfies the need, albeit in a difficult manner.
If you learn to enjoy the material, and you can get past the (sometimes) arbitrary grading (I got many low scores, but still got the A), then you should be alright.
35L has a bad reputation for a reason. I just took CS 111, and the workloads are pretty much the same except for the readings--which is insane. The TAs try their best to teach whatever language you're covering in two days, but there isn't much you can cram of the basics of C/python/Bash in four hours while also covering the spec. The specs are often confusing and in the case of my specific quarter, wrong (we had to check a google doc instead for one lab). If you have a bad TA, just go to a good one--your grade depends on it! You don't get your grades back before the next project and a few rely on the previous project. There isn't a test script like with 111 so if your program is consistently slightly wrong, you're screwed. Also,The beaglebone is used once and it costs $100. Overall, this class is trial by fire.
Oh boy! Now that I've completed the infamous 35L, I legit feel like I am ready to tackle ANYTHING. This course is ABSOLUTELY broken, and no other will probably ever top this one. My man Eggert made ANOTHER new assignment this quarter (aside from the insanely impossible Assignment 9), and the workload became even harder than ever before.
I am glad that I took this during S20 -- probably the wisest decision I've ever made so far. The grading was much quicker than any of the previous quarters, and the final was MUCH simpler. The average is around 70%, which is honestly unprecedented in an Eggert course.
I somehow ended up with a raw score of 94% total, but that still wasn't enough to get an A+ in the class. Guess that was just never an option to begin with... :(
I will recommend my TA Ritam, since he was completely reasonable with the Assignment 10 grading, and his lectures are very informative. However, sometimes it will be useful to use slides from other labs as well -- since each TA makes their own, and the information often differs quite a bit.
Lastly, quote the TA Daniel:
"The almighty egg"
This class sucks, plain and simple. Programming paradigms are actually something I have some genuine appreciation for, and I can understand Eggert's passion for how good programming language design choices affect project design. It's intuitive and interesting to me. But every aspect of this class is painful and stressful, almost as if by design. It is essentially 2 classes at once: one where you try 30-40 hours a week to keep up with Eggert's project specs and cobble together a working set of code each week, where the TAs (no fault on their part) are sometimes just as confused as you are. I wouldn't wish Project 2 on my worst enemy. The other is an actual programming language course, where the lectures are relatively hit-or-miss as far as how engaging and relevant they are to the course material. Did I mention that every page of the 500-page textbook is fair game for the exams?
The number of all-nighters I had to pull, the amount of time I had to take from other classes just to get the grade I did, the toll on my mental health, not worth it. Never again.
The class itself was pretty useful because we are exposed to different types of programming languages that are not just the usual imperative languages. The homeworks however are pretty difficult, especially the scheme and 2nd Ocaml ones. However, I enjoyed the Prolog assignment and the python project. Professor Eggert is extremely nice and I highly recommend going to his office hours for clarifications and extra help of concepts covered in class. I took CS111 with him as well and for me CS111 was definitely a lot easier than CS131. I recommend him for CS111 as he is really knowledgeable about the material and I learned a lot from that class. However, he is basically the only one that teaches 131 so you really have no choice for who to take it with this class. Good luck!
This class sucked p bad. Not really sure what I gained from this class. Partially to my own fault due to not trying as hard as I could have, but also the level of difficulty for each assignment was kind of ridiculous. I'd go to Lab and feel like I learned something, yet I'd start an assignment and often times have literally 0 clue how to do what I wanted to do. It felt like I got exposed to many topics, yet learned almost nothing. Completely unrelated topics each week definitely didn't help. It was a bad time. Just get it over with
note: class taken remotely during covid-19.
tl;dr his lectures are intense but pretty great, projects take a LONG LONG time, exams are nearly impossible, but VERY GENEROUS CURVE.
workload for this class is incredibly heavy even when I didn't do any of the readings assigned for this class. the projects simply are incredibly difficult and I wouldn't recommend you wasting too much time to figure them out yourselves. Definitely try it yourself first for 2-3 hrs, and then please do yourself a favor to reference github when you can't figure it out. otherwise, you will NOT have time for your other classes and will very likely not figure it out at all. don't feel bad about it because almost everyone i knew referenced github at some point. just make sure you understand the code from github 100% then you'll be fine for the assessments and will learn the material. hardest project was 2nd ocaml project and the scheme project, so brace yourself!
definitely attend TAs discussion because they will 130% help you and give you hints for doing the projects! s/o to kimmo who was an amazing TA this quarter :) honestly all the TAs were pretty great too.
his lectures are one of the best at ucla cs and i definitely learned a lot about programming languages from his lectures. these are concepts I can apply to even languages we didn't cover in class, and will definitely help me in my cs career in the future. So, definitely take eggert if you want to learn a lot.
personally, i ended up fine by not doing the readings, but if you have time, please do because you will be able to learn even more. don't worry too much about your performance in the midterm/final. I was around the top 30% and still managed to get a solid A. but maybe it was just because eggert was being nice because of covid and the protests that were going on.
this class will be rough, but if you actually understand the projects and attend lecture, you will do just fine !!
Like every other review on here, this class is hard. It's a ton of work. The exams are very eggert. He said on the day of the final that there was a question on it that he didn't know the answer to. The biggest piece of advice I can provide is to make sure that you do this with other courses that are easy because this class is a huge time suck.