- Home
- Search
- Paul R Eggert
- All Reviews

Paul Eggert
AD
Based on 357 Users
This is definitely a much better version of 35L, you have to do a lot of work, however, the work is super rewarding and you learn a ton. Lectures are super useful comparing with 35L, overall, I think this is a super useful and practical class.
nothing new, homie Eggert, "interesting" exams, annoying specs, satisfying curves :|
Eggert takes you on quite the roller coaster. I actually liked the readings, I felt it was important for the exams to actually do all the assigned AD readings. Of course, most important was lecture material. But it was difficult to decipher lecture material often, so you had to really pay attention. Other than Yadi, the other TA's weren't super helpful, and we only had 2 out of our 5 labs graded before the final, which was bad, since I had no idea how I was doing.
But overall, the labs were interesting and I think I came out with better knowledge on C programming than anything else.
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
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.
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. :(
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 :)
Ok so this is probably an unpopular opinion but I didn't find 131 to be as tough as people make it out to be. Yes it's still hard. Yes I still struggled. And I'm surprised I got an A (was honestly expecting a B+) so hear me out:
I took CS33 with him and that was an absolute madhouse so I was prepared for 131 to be so much worse but was surprised when it wasn't. I actually understood what he was talking about for like 70% of lectures and the stuff that I didn't get I would go online and read articles, watch YouTube, and go through the textbook to make sense of it. If you go into the class with the mindset of being ready to work hard, you will learn a lot in this class. The textbook was really helpful to read (it doesn't cover everything though) but it's a good way to gain a simple understanding of material if you have no idea what's happening.
The TAs are all super good and super active on piazza and also had hint code on github for us to refer to (tbh it wasn't that helpful after the first homework). Homeworks 2 and 5 (Scheme) were the hardest imo. It's difficult conceptually to wrap your head around let alone code yourself so be prepared to be super frustrated with these. Homeworks 3 and 6 were the easiest and took like 2 and 4 hours respectively. It's really important that you put in effort for the project report and HW6 because these are more conceptual and high level and are more than likely to be tested.
Also, I took 111 with Harry Xu before 131 and I think that helped me out a little bit because I had the analytical skills of weighing pros/cons that you do a lot in 111.
Tests are open notes like usual and our midterm average was like 70% which is ridiculously high for an Eggert test and most people thought that this midterm was easy. It definitely felt more straightforward and the questions weren't as convoluted as usual. The final was online because of the whole COVID-19 situation and the average was bout 65% which is again, super high but we had open internet access and 24 hours to do the test.
35L was definitely one of the most unique classes I've taken. Since this class is taught by TAs, everyone's experience seems to be different. Having a good TA is critical to understanding everything in this class, however without any ratings on TAs, it is kind of a wildcard when signing up for the class. Thankfully my TA (Shivam Dalmia) was phenomenal and explained everything thoroughly while also being very helpful with projects. The projects in this class are all over the place with new topics coming up every week. Some projects were extremely tedious like learning Eggert's beloved Emacs in Project 1 and literally logging every single key you press in a text file. Projects varied in difficulty and usefulness overall with most projects just being Eggert flexing some patch he made to Coreutils or another GNU project. Project 9 was new this quarter and took a lot of people by surprise. Overall it wasn't too difficult if you gave it some time, but it seemed kind of pointless dedicating a whole project to digging around the git internals.
The final in this class was interesting to say the least. Eggert (who does not show up until the final) strolled in with a stack of exams that were ridiculously thick (at least twice as long as the practice final that was given out). He prefaced the final by saying that he didn't have time to edit the final which was why it was "a little bit longer than he wanted". This was an understatement. I don't think a single person finished the final and the point distributions of questions were completely off. For example, answering in a few words what a git branch is was equivalent in points to writing an entire Makefile for a C program that you also had to write by hand. If you take this class, be sure to do the easy questions first on the final to maximize your points.
Overall this class was a wild ride, but the material you learn is undoubtedly extremely useful. After 35L, it's amazing how much faster and competently I can work on linux servers and use all of the tools that are provided.
I would argue that this is one of the most important classes for being able to understand software development practically. You learn a good deal of skills that are useful in the software development industry - Git, Linux/CLI, web development, etc. That being said, the class is intense in terms of workload. There are six "lab" assignments going over a variety of topics (Linux/Emacs, Python, Javascript React, Git, C, lower-level Git) that are very loosely related to what is covered during lecture (sometimes the lecture reaches the topic AFTER the assignment is already due), so there is a lot of learning on your own time. You also have a group project involving a full-stack web application, typically using Javascript and React, which is another time sink.
The exams are by far the hardest part of the class though, since Eggert makes his exams with the intention of a 50% average, despite being open-note. A lot of people say there is no way to study for them, but I'd recommend paying attention to the topics and overarching ideas during lecture as he tends to base exam questions on these ideas, though the questions themselves often require you to think beyond those ideas. You can think of his exams as testing your intuition behind certain computer science topics rather than specific, concrete concepts.
Advice:
- Plan out what you're going to create for the group project accordingly and try to learn what you need to on your own time. At the bare minimum, you'll probably need to know Javascript and React. For your backend, if you plan to use a dedicated backend framework it would probably be best to learn ExpressJS and a database (usually MongoDB or mySQL). It would probably be easier to use a backend-as-a-service platform such as Firebase or AWS.
- Find reliable people to group with - groups are usually of five.
- Assignment Difficulty (Easiest to Hardest): Two (Python) < Three (Javascript/React) < Four (Git Basics) < One (Linux) < Five (C) <<< Six (Git Internals)
This is definitely a much better version of 35L, you have to do a lot of work, however, the work is super rewarding and you learn a ton. Lectures are super useful comparing with 35L, overall, I think this is a super useful and practical class.
Eggert takes you on quite the roller coaster. I actually liked the readings, I felt it was important for the exams to actually do all the assigned AD readings. Of course, most important was lecture material. But it was difficult to decipher lecture material often, so you had to really pay attention. Other than Yadi, the other TA's weren't super helpful, and we only had 2 out of our 5 labs graded before the final, which was bad, since I had no idea how I was doing.
But overall, the labs were interesting and I think I came out with better knowledge on C programming than anything else.
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
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.
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. :(
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 :)
Ok so this is probably an unpopular opinion but I didn't find 131 to be as tough as people make it out to be. Yes it's still hard. Yes I still struggled. And I'm surprised I got an A (was honestly expecting a B+) so hear me out:
I took CS33 with him and that was an absolute madhouse so I was prepared for 131 to be so much worse but was surprised when it wasn't. I actually understood what he was talking about for like 70% of lectures and the stuff that I didn't get I would go online and read articles, watch YouTube, and go through the textbook to make sense of it. If you go into the class with the mindset of being ready to work hard, you will learn a lot in this class. The textbook was really helpful to read (it doesn't cover everything though) but it's a good way to gain a simple understanding of material if you have no idea what's happening.
The TAs are all super good and super active on piazza and also had hint code on github for us to refer to (tbh it wasn't that helpful after the first homework). Homeworks 2 and 5 (Scheme) were the hardest imo. It's difficult conceptually to wrap your head around let alone code yourself so be prepared to be super frustrated with these. Homeworks 3 and 6 were the easiest and took like 2 and 4 hours respectively. It's really important that you put in effort for the project report and HW6 because these are more conceptual and high level and are more than likely to be tested.
Also, I took 111 with Harry Xu before 131 and I think that helped me out a little bit because I had the analytical skills of weighing pros/cons that you do a lot in 111.
Tests are open notes like usual and our midterm average was like 70% which is ridiculously high for an Eggert test and most people thought that this midterm was easy. It definitely felt more straightforward and the questions weren't as convoluted as usual. The final was online because of the whole COVID-19 situation and the average was bout 65% which is again, super high but we had open internet access and 24 hours to do the test.
35L was definitely one of the most unique classes I've taken. Since this class is taught by TAs, everyone's experience seems to be different. Having a good TA is critical to understanding everything in this class, however without any ratings on TAs, it is kind of a wildcard when signing up for the class. Thankfully my TA (Shivam Dalmia) was phenomenal and explained everything thoroughly while also being very helpful with projects. The projects in this class are all over the place with new topics coming up every week. Some projects were extremely tedious like learning Eggert's beloved Emacs in Project 1 and literally logging every single key you press in a text file. Projects varied in difficulty and usefulness overall with most projects just being Eggert flexing some patch he made to Coreutils or another GNU project. Project 9 was new this quarter and took a lot of people by surprise. Overall it wasn't too difficult if you gave it some time, but it seemed kind of pointless dedicating a whole project to digging around the git internals.
The final in this class was interesting to say the least. Eggert (who does not show up until the final) strolled in with a stack of exams that were ridiculously thick (at least twice as long as the practice final that was given out). He prefaced the final by saying that he didn't have time to edit the final which was why it was "a little bit longer than he wanted". This was an understatement. I don't think a single person finished the final and the point distributions of questions were completely off. For example, answering in a few words what a git branch is was equivalent in points to writing an entire Makefile for a C program that you also had to write by hand. If you take this class, be sure to do the easy questions first on the final to maximize your points.
Overall this class was a wild ride, but the material you learn is undoubtedly extremely useful. After 35L, it's amazing how much faster and competently I can work on linux servers and use all of the tools that are provided.
I would argue that this is one of the most important classes for being able to understand software development practically. You learn a good deal of skills that are useful in the software development industry - Git, Linux/CLI, web development, etc. That being said, the class is intense in terms of workload. There are six "lab" assignments going over a variety of topics (Linux/Emacs, Python, Javascript React, Git, C, lower-level Git) that are very loosely related to what is covered during lecture (sometimes the lecture reaches the topic AFTER the assignment is already due), so there is a lot of learning on your own time. You also have a group project involving a full-stack web application, typically using Javascript and React, which is another time sink.
The exams are by far the hardest part of the class though, since Eggert makes his exams with the intention of a 50% average, despite being open-note. A lot of people say there is no way to study for them, but I'd recommend paying attention to the topics and overarching ideas during lecture as he tends to base exam questions on these ideas, though the questions themselves often require you to think beyond those ideas. You can think of his exams as testing your intuition behind certain computer science topics rather than specific, concrete concepts.
Advice:
- Plan out what you're going to create for the group project accordingly and try to learn what you need to on your own time. At the bare minimum, you'll probably need to know Javascript and React. For your backend, if you plan to use a dedicated backend framework it would probably be best to learn ExpressJS and a database (usually MongoDB or mySQL). It would probably be easier to use a backend-as-a-service platform such as Firebase or AWS.
- Find reliable people to group with - groups are usually of five.
- Assignment Difficulty (Easiest to Hardest): Two (Python) < Three (Javascript/React) < Four (Git Basics) < One (Linux) < Five (C) <<< Six (Git Internals)