- Home
- Search
- Paul R Eggert
- All Reviews

Paul Eggert
AD
Based on 269 Users
Overall not that bad of a class, as long as you attend the lectures or get notes, and then do a good bit of self-studying. The projects are hard (especially project 2) but if you start early, most of them are pretty doable. The exams are okay if you have the ability to BS and make convincing arguments, and are curved generously.
Selling the textbook - message me at (408) 772-8170
Jesus.. I am so glad that I don't have to deal with this bullshit anymore. Like others said, this class SO BROKEN. I got an excellent TA, Zhaowei Tan (the GOAT), but still struggled. The professor posted Assignment 9 late and made it due the same day as Assignment 10 which is brutal. One assignment is already extremely time-consuming and they make it TWO and Final on the next next day.
Final Exam - just like others said it is impossible.
Unfortunately, this class is based on your TA. Eggert basically tells the TAs "Here are the topics and projects you have to teach, now go have fun" and the TAs are left to sift through the madness that is Eggert. They are there to help you get through his cryptic projects while somehow learning Linux, Python, Git, and seemingly random elements of C. I was lucky enough to have a competent TA. My friend was not so lucky. Along with a 3rd friend, we slaved over the harder projects (have fun with multithreading). I highly recommend taking this class with people you know, even if they're not in your section; for 2 of the projects, they actually require you to find a partner; with the other projects, you will benefit from having an extra set of eyes to collaborate with.
Over time, you'll appreciate how smart Eggert is. Though his specs are a nightmare to understand, once you get through it, you'll look at it and feel amazing for having completed it. A bunch of the projects feature bugs and patches in real-life open-source software that Eggert himself programmed back in the day. Holistically, it's really quite impressive.
Lastly, you will benefit from using Linux on your personal laptop. It's super easy to install alongside Windows, and took me more time to download Ubuntu than to actually install it. I say this because SEASNet Linux is infuriating to use if you don't have a strong internet connection. Therefore, it's easier to do the projects on your personal Linux, and test them on SEASNet every once in a while. In addition, the projects have weird requirements such as "making sure your files are ASCII text files that have no more than 80 characters per line, with no carriage returns." This is basically making sure the file is easily readable from the Linux command line, which isn't a problem if you're already using Linux.
The other comments speak truth in regards to your final and grade distributions.
You learn nothing from Professor Eggert. You learn everything from TA's slides, so this class would have been much easier if you had a good TA.
Assignment specs are vague and slides usually do not cover everything you need to know. Everything is fast-paced and basically I forgot most of them after the final. However, I do really remember how to use man command and google...
Assignment 2, 3, 5 are very very very very time consuming. Please please please start early. Note that you only lose 1% of that particular homework grade, which counts just 0.05% of your final grade if you submit one day after the due date. Thus, if you have something malfunctioning on the due date, fix them completely and turn them in a day later.
Finals are not hard are very similar to practice finals, but make sure you really understand how to use Shell Script, Python, C. You should also FULLY understand how to use regular expressions and posix thread. Please please please prepare for the final because it counts 50% of your grade.
God this class is awful. Graduating UCLA and the most awful experience of my life. There are way too many projects and too much material to review. It's great if you get some TAs who give most of the class great grades and is clear. If you get a ass of TA like mine, good luck. Doesn't explain and yells in class. Grades awfully and the average turns out to be 30~%. I still have nightmares.
This class is supposed to teach you the basics of software and languages used in upper division courses. You certainly will learn them, but saying that you are "taught" them might not quite be right.
First important thing to know is that the course is not taught by the professor - he only writes the assignments, and possibly the slides as well. The actual instruction is done entirely by the TAs, and as such the class is heavily dependent on whether you have the good fortune to end up with a helpful TA. Most of them like to read off the slides, and office hours can be difficult to make sometimes (assuming the TA even shows up to them, which I found they frequently did not.) The end result is having to brute force your way through things with Google. That being said, it's still important to show up to your Lab section; some TAs may divulge hints for how to do the assignments or what will be on the final.
Assignments vary greatly in difficulty. The simplest ones might take half an hour, the hardest ones could take the entire week. The good news is that the late policy is generous, costing you 2 ^ (n-1) % for a submission n days late. The bad news is that the assignments can often be very vague, and it's hard to know how to even start without ripping the answers from previous years off Github. Cheating is widespread, as the assignments don't change much (if at all) from year to year, but if you do choose to pull answers off Github, be warned that you do so at great risk: the assignment numbers are swapped, and slight details are usually added or removed each time. Not to mention that you don't actually learn anything if you just copy the answers.
The final is worth 50% of your grade, but it is open note and open book. The questions and grading are entirely at the discretion of the TA, so again, your mileage may vary. Linux commands, regular expressions, shell scripting, and C make up the core of the points, so make sure you have those down pat.
I scraped by with an A-, but I probably just got lucky with my TA and section (got one of the few that wasn't filled with CS majors.) The curve can be pretty harsh - some quarters they actually may curve downward. I wouldn't recommend this class to anyone who doesn't need it, but the material is undeniably useful, even if you have to struggle a bit to understand it at all.
Workload, as stated by everyone before, is horrendous. Like I honestly don't know what was Eggert thinking(I still to this day have never seen the man because TA's do everything for 35L), so much is packed into each assignment and there is very little guidance on how to start it. Assignment 1 is an absolute pain. Assignment 2 is a maze of hieroglyphs that will take you hours to do, and there are many complaints to be said about other assignments. I did learn a lot, however, and there's the useful stuff like emacs, git, ssh, threading, but there is also the concepts that are put in there just because Eggert made them so he wants to show off(be ready for GNU Shuf), and are of zero practical use. But you will learn like 5 or 6 new things every assignment and the workload is insane for the class.
The final my quarter was also the first time it was a cumulative final for the entire class(all sections), very hard and sort of confusing, hopefully, they don't repeat it in later years, but Eggert is Eggert so you never know.
The saving grace of this class is by random chance, and I mean TA's. If you get a good TA as I did, who can articulate well and is helpful and actually cares, then you will be a bit better off because they will help you with the assignment(lab and hw) in the slides and all that, but if you get a TA who only cares about the stipend for his tuition, then you are in deep doo doo and I recommend going to other TA's office hours to get help.
There are two parts to this class: the team project, and the tests (midterm and final)
The tests focus on theory, which you get by going to lecture and reading the book. If you do one, you don't really need the other one, in my opinion. Eggert is a great lecturer and his test was incredibly easy for me. It is more North-campusy, meaning the questions are open-ended. Just show you know the material decently well and argue your point. I got a 91% on the midterm (studied for 1 hour, but I did the readings and went to lecture), but the average was around 75!!! I guess most CS people can't handle open-ended questions....
The team project is where you put theory into practice. You choose a real-world project that is being offered by a real-world client. It will probably end up taking a lot of time, but you LEARN SOOOOO MUCH. It is the real-deal; a software engineering project from start to finish.
So, Eggert did a great job.
This class is really hard. Eggert's lectures are unclear at some times. Assignments take 15-20 hours per week, 2nd assignment is especially difficult (took me 40 hours even with a ton of TAs help). I did all the assignments legitimately, but it left a sour taste in my mouth knowing that others were using past solutions and getting the same grades as me. Thus, this leads to a more heavy emphasis on doing well on exams. However, exams are also really difficult with an average of roughly ~40%. I got slightly below median on both exams and ended up with a B+. Though to be fair, I only studied for an hour or two for each exam. Because the exam is hard for everyone, you don't have to study as much and still get a median score.
With all this being said though, Eggert has good intentions. I think both the hard assignments and exams defines what UCLA CS education is all about. Finishing an assignment legitimately also gives you a small ego boost. Your GPA might take a hit, but luckily I'm not planning on applying for grad school.
I studied HARD for this class. I almost all the readings, but it didn't really matter because his test questions didn't really relate to the readings. Everyone pretty much gets 100% or near 100% on the projects. I got 100% on the paper and I'm sure it wasn't really graded hard. The tests is what determines your grade pretty much.
Eggert has the most generous grading distribution out of all of the professors who teach this class. However, the variation between the different grades can just be a matter of a few points on an exam and your performance can sometimes be determined by luck. The exams are so hard and do not have to do with any of the readings and go beyond the difficulty of lecture so much, that your grade essentially is determined by your ability to BS and also luck. I got around the bottom 15% on the midterm and then around average for the final.
If you're the type of student who does not really study or spend a lot of time for classes and just wants to pass, then take this class. Your grade will be determined by your BSing skills and luck. If you're the type of student who studies hard, it won't really help you. I would suggest taking another professor.
Overall not that bad of a class, as long as you attend the lectures or get notes, and then do a good bit of self-studying. The projects are hard (especially project 2) but if you start early, most of them are pretty doable. The exams are okay if you have the ability to BS and make convincing arguments, and are curved generously.
Selling the textbook - message me at (408) 772-8170
Jesus.. I am so glad that I don't have to deal with this bullshit anymore. Like others said, this class SO BROKEN. I got an excellent TA, Zhaowei Tan (the GOAT), but still struggled. The professor posted Assignment 9 late and made it due the same day as Assignment 10 which is brutal. One assignment is already extremely time-consuming and they make it TWO and Final on the next next day.
Final Exam - just like others said it is impossible.
Unfortunately, this class is based on your TA. Eggert basically tells the TAs "Here are the topics and projects you have to teach, now go have fun" and the TAs are left to sift through the madness that is Eggert. They are there to help you get through his cryptic projects while somehow learning Linux, Python, Git, and seemingly random elements of C. I was lucky enough to have a competent TA. My friend was not so lucky. Along with a 3rd friend, we slaved over the harder projects (have fun with multithreading). I highly recommend taking this class with people you know, even if they're not in your section; for 2 of the projects, they actually require you to find a partner; with the other projects, you will benefit from having an extra set of eyes to collaborate with.
Over time, you'll appreciate how smart Eggert is. Though his specs are a nightmare to understand, once you get through it, you'll look at it and feel amazing for having completed it. A bunch of the projects feature bugs and patches in real-life open-source software that Eggert himself programmed back in the day. Holistically, it's really quite impressive.
Lastly, you will benefit from using Linux on your personal laptop. It's super easy to install alongside Windows, and took me more time to download Ubuntu than to actually install it. I say this because SEASNet Linux is infuriating to use if you don't have a strong internet connection. Therefore, it's easier to do the projects on your personal Linux, and test them on SEASNet every once in a while. In addition, the projects have weird requirements such as "making sure your files are ASCII text files that have no more than 80 characters per line, with no carriage returns." This is basically making sure the file is easily readable from the Linux command line, which isn't a problem if you're already using Linux.
The other comments speak truth in regards to your final and grade distributions.
You learn nothing from Professor Eggert. You learn everything from TA's slides, so this class would have been much easier if you had a good TA.
Assignment specs are vague and slides usually do not cover everything you need to know. Everything is fast-paced and basically I forgot most of them after the final. However, I do really remember how to use man command and google...
Assignment 2, 3, 5 are very very very very time consuming. Please please please start early. Note that you only lose 1% of that particular homework grade, which counts just 0.05% of your final grade if you submit one day after the due date. Thus, if you have something malfunctioning on the due date, fix them completely and turn them in a day later.
Finals are not hard are very similar to practice finals, but make sure you really understand how to use Shell Script, Python, C. You should also FULLY understand how to use regular expressions and posix thread. Please please please prepare for the final because it counts 50% of your grade.
God this class is awful. Graduating UCLA and the most awful experience of my life. There are way too many projects and too much material to review. It's great if you get some TAs who give most of the class great grades and is clear. If you get a ass of TA like mine, good luck. Doesn't explain and yells in class. Grades awfully and the average turns out to be 30~%. I still have nightmares.
This class is supposed to teach you the basics of software and languages used in upper division courses. You certainly will learn them, but saying that you are "taught" them might not quite be right.
First important thing to know is that the course is not taught by the professor - he only writes the assignments, and possibly the slides as well. The actual instruction is done entirely by the TAs, and as such the class is heavily dependent on whether you have the good fortune to end up with a helpful TA. Most of them like to read off the slides, and office hours can be difficult to make sometimes (assuming the TA even shows up to them, which I found they frequently did not.) The end result is having to brute force your way through things with Google. That being said, it's still important to show up to your Lab section; some TAs may divulge hints for how to do the assignments or what will be on the final.
Assignments vary greatly in difficulty. The simplest ones might take half an hour, the hardest ones could take the entire week. The good news is that the late policy is generous, costing you 2 ^ (n-1) % for a submission n days late. The bad news is that the assignments can often be very vague, and it's hard to know how to even start without ripping the answers from previous years off Github. Cheating is widespread, as the assignments don't change much (if at all) from year to year, but if you do choose to pull answers off Github, be warned that you do so at great risk: the assignment numbers are swapped, and slight details are usually added or removed each time. Not to mention that you don't actually learn anything if you just copy the answers.
The final is worth 50% of your grade, but it is open note and open book. The questions and grading are entirely at the discretion of the TA, so again, your mileage may vary. Linux commands, regular expressions, shell scripting, and C make up the core of the points, so make sure you have those down pat.
I scraped by with an A-, but I probably just got lucky with my TA and section (got one of the few that wasn't filled with CS majors.) The curve can be pretty harsh - some quarters they actually may curve downward. I wouldn't recommend this class to anyone who doesn't need it, but the material is undeniably useful, even if you have to struggle a bit to understand it at all.
Workload, as stated by everyone before, is horrendous. Like I honestly don't know what was Eggert thinking(I still to this day have never seen the man because TA's do everything for 35L), so much is packed into each assignment and there is very little guidance on how to start it. Assignment 1 is an absolute pain. Assignment 2 is a maze of hieroglyphs that will take you hours to do, and there are many complaints to be said about other assignments. I did learn a lot, however, and there's the useful stuff like emacs, git, ssh, threading, but there is also the concepts that are put in there just because Eggert made them so he wants to show off(be ready for GNU Shuf), and are of zero practical use. But you will learn like 5 or 6 new things every assignment and the workload is insane for the class.
The final my quarter was also the first time it was a cumulative final for the entire class(all sections), very hard and sort of confusing, hopefully, they don't repeat it in later years, but Eggert is Eggert so you never know.
The saving grace of this class is by random chance, and I mean TA's. If you get a good TA as I did, who can articulate well and is helpful and actually cares, then you will be a bit better off because they will help you with the assignment(lab and hw) in the slides and all that, but if you get a TA who only cares about the stipend for his tuition, then you are in deep doo doo and I recommend going to other TA's office hours to get help.
There are two parts to this class: the team project, and the tests (midterm and final)
The tests focus on theory, which you get by going to lecture and reading the book. If you do one, you don't really need the other one, in my opinion. Eggert is a great lecturer and his test was incredibly easy for me. It is more North-campusy, meaning the questions are open-ended. Just show you know the material decently well and argue your point. I got a 91% on the midterm (studied for 1 hour, but I did the readings and went to lecture), but the average was around 75!!! I guess most CS people can't handle open-ended questions....
The team project is where you put theory into practice. You choose a real-world project that is being offered by a real-world client. It will probably end up taking a lot of time, but you LEARN SOOOOO MUCH. It is the real-deal; a software engineering project from start to finish.
So, Eggert did a great job.
This class is really hard. Eggert's lectures are unclear at some times. Assignments take 15-20 hours per week, 2nd assignment is especially difficult (took me 40 hours even with a ton of TAs help). I did all the assignments legitimately, but it left a sour taste in my mouth knowing that others were using past solutions and getting the same grades as me. Thus, this leads to a more heavy emphasis on doing well on exams. However, exams are also really difficult with an average of roughly ~40%. I got slightly below median on both exams and ended up with a B+. Though to be fair, I only studied for an hour or two for each exam. Because the exam is hard for everyone, you don't have to study as much and still get a median score.
With all this being said though, Eggert has good intentions. I think both the hard assignments and exams defines what UCLA CS education is all about. Finishing an assignment legitimately also gives you a small ego boost. Your GPA might take a hit, but luckily I'm not planning on applying for grad school.
I studied HARD for this class. I almost all the readings, but it didn't really matter because his test questions didn't really relate to the readings. Everyone pretty much gets 100% or near 100% on the projects. I got 100% on the paper and I'm sure it wasn't really graded hard. The tests is what determines your grade pretty much.
Eggert has the most generous grading distribution out of all of the professors who teach this class. However, the variation between the different grades can just be a matter of a few points on an exam and your performance can sometimes be determined by luck. The exams are so hard and do not have to do with any of the readings and go beyond the difficulty of lecture so much, that your grade essentially is determined by your ability to BS and also luck. I got around the bottom 15% on the midterm and then around average for the final.
If you're the type of student who does not really study or spend a lot of time for classes and just wants to pass, then take this class. Your grade will be determined by your BSing skills and luck. If you're the type of student who studies hard, it won't really help you. I would suggest taking another professor.