- Home
- Search
- Paul R Eggert
- COM SCI 111
AD
Based on 38 Users
TOP TAGS
- Engaging Lectures
- Tough Tests
- Tolerates Tardiness
- Snazzy Dresser
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Sorry, no enrollment data is available.
AD
Paul Eggert is an absolute legend. A veteran of the software development industry, he shines in his lectures while he doles out wisdom from his years of experience. He is irreplaceable.
In terms of exams, yes, they are hard, but one can easily get away with 1-2 standard deviations above the mean by writing down what seems reasonable. Much easier than other exams where you absolutely must know the answer.
Readings were a little bit harsh. Too many readings, not much useful content on them in the exams. One of the books, Principles of Computer System Design: An Introduction by Jerome H. Saltzer and M. Frans Kaashoek (SK), was way too stuffy.
Projects were an absolute disaster this quarter. Way too easy, the skeleton gives everything away. Takes me only like 2 hours to complete. Absolute disgrace, learning nothing from them. Please note that I talked to the professor about this—this isn't his fault, he says he has to keep the labs because the TAs are only trained on them.
I didn't really attend discussion, but the first one was pretty good. Solid TA. Just by design of the course, this discussion wasn't very useful. Reading over the PDF worked just as well for me.
I took this course in Fall 22 and have to say, the course seems to have become a lot less work in recent years. Now, Professor Eggert uses Eyolfson's Labs for the majority of his assignments (excluding a short paper at the end) which are far easier than the assignments he used to give out (though they're a bit less interesting). The decrease in workload coupled with Eggert's fantastic lectures makes this class a pretty great one. The tests are the only real beast to beat but I managed an A with around a 60 on the midterm and a 75 on the final. Just stay on top of things and print out all your notes and assignments and you should be good to go. I would also recommend paying attention to the resources provided by your TAs for help with the assignments.
Overall, 10/10 would take again.
CS 111 is already a very hard class. The materials are condensed and the projects definitely cost tens of hours to finish. However, having Professor Eggert makes this class even harder. His exams are not predictable at all - which means, he could give his finals in two totally different styles on two consecutive quarters. One could score 80 in the previous quarter but 40 in the current quarter. The only way to score an A - at least what I could think of - is to prepare yourself with any kind of hard questions. Go to his office hours regularly and ask him tricky questions so that you could follow his answer as an example of how your thinking process should be when facing a similar question in the final. And when attending lectures, don't just drop down notes about concepts he mentions but how he actually gets there as well, that being very important.
This course is extremely rewarding if you put in the work. You will walk away having learnt something. But if you are not a hard-core CS major who just wants to coast by with little work, do not take it with Paul Eggert. If you want to get a rigorous introduction to Systems then take Eggert. This is what you have to do to learn well and do well:
1. Do the 100 or so pages of reading from Arpaci and Duseau before every lecture and take notes on them! You can ignore SK, maybe it helps with lecture or exams? Also do the readings on the course page. You will find that Dr. Eggert offers a perspective that is distinct from what is in the readings. It is much easier to follow the lecture if you do the readings.
2. Start projects early. Obviously not the day its assigned (everything is assigned on day 1 in Eggert's classes). I mean start 2-3 days before the deadline and be willing to stay up until 3am coding them up. It is also important to discuss edge cases with friends as these will for sure be tested by the grader.
3. Pay rapt attention in lecture. Type down everything he says. It will come to 1500-2000 words per lecture. I advise you to not have classes during his office hours. The TAs are, for most part, clueless about the material especially if they are Masters students (shoutout to Vishwas for reading the man page in all its glory). But TA Zhaoxing Bu, was quite useful. Eggert's office hours are not packed despite how much you can learn from him in those hours. I basically had close to one on one attention and was able to clarify all my questions. I personally felt that discussion for this class are useless as all they do is give project hints which are not that hard for you to figure on your own, if you love coding in C/C++ or enjoyed 35L.
The syllabus and projects for this class were completely revamped in 2016, so reviews prior to that may not be as relevant. That said, the overall details are mostly correct: this class is quite tough.
The class had two textbooks, both of which are free to access. I'd highly recommend doing the recommended reading from the Arpaci-Dusseau book, it's free and not dense at all. The reading will help you follow along in lecture.
Eggert himself is a pretty engaging lecturer, but he doesn't use slides. He writes on the board in a pretty disorganized manner, and zoning out for a few minutes will probably leave you confused for the rest of lecturer. It's really important to note down everything he says in class, and I mean everything. His exams are usually based on expanding off the ideas he went over in lecture, so if you can follow along in lecture, you should be okay.
Coming to his exams, they're really difficult, but by doing the readings and following along in lecture, you should get at least a little above the median. While the questions don't make sense initially, it's important to read them clearly and write at least something coherent for every question. Even if it's not entirely correct, you'll get good partial credit. I managed to score well on the final by regurgitating a few of Eggert's ideas from lecture. Also, each exam has some giveaway questions, so look for those.
The projects are quite difficult, and a lot of people cheat on them and get high scores. That's why it's important to get above the median on the exams to differentiate yourself.
Eggert himself is a really nice guy, and is great to talk to in office hours. However, he usually doesn't offer specific help on the projects. For that, use the Piazza or go to the TA office hours. Alexandre Tiard is a great TA, and is quite helpful.
CS 111 is a hard class, but is a great way to learn about how computers work and how software is built. Don't shirk, and you'll be fine. Also make liberal use of Eggert's late policy.
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.
It's honestly been a while since I've taken this class, so I can't really give a really detailed overview of what the class was like. However, I would highly recommend taking Operating Systems with Eggert because he really knows his stuff. His philosophy towards software, his passion, his humour... I really think he's the embodiment of what all prospective software engineers should aspire to be.
So, I would recommend Eggert because he's a really awesome person and you learn the most by being around awesome people. That being said, Eggert is not exactly the best "teacher" per se and he will use a lot of computer science terms without bothering to define them and sometimes, his lectures will be really hard to follow because his knowledge of the material trumps your knowledge of the material a thousandfold. Also, the class is a lot of work and maybe a little overwhelming at times.
However, as Professor Eggert frequently emphasizes, a lot of software is about tradeoffs. In the situation here, what you're trading for your "free" time, unimportant hobbies, and uninspiring social life is an opportunity to learn a very cool subject at the steepest learning curve possible. I would say that's a worthwhile trade.
Edit: Also, I took this class back in Winter 2015, which is the last class based on the old curriculum. The labs have been changed decently so the class might not be the same experience as before.
Eggert is very decent for 111. IMO he's the best 111 lecturer in UCLA. His lectures are engaging and clear (unlike his 33). His 111 exams are not as hard as those from 33.
His final has a lot of multiple choice problems, which are basically quizzes for the assigned reading. I suspect that's why he doesn't have quizzes like other 111 instructors. If you read all required readings from either textbook (I used the online version), those multiple choices are very doable (some questions can be directly found in boldface texts from the book).
Labs won't cover kernel code at all, which is a shame, as USC's OS course has a few kernel assignments.
Lab 0 and 1 are ok since they teach us how to correctly use system calls, etc.
Lab 2 basically reiterates through what we learn in class so we basically didn't learn anything new from Lab 2. I don't know if it's a good thing or a bad thing.
Lab 3 is a total disaster. I learn absolutely ZERO from this lab and it costs me days to finish it. Reiher's spec is also the most unclear I have ever seen. Compared to Reiher's specs, Eggert's 35L specs are pretty amazing.
Lab 4 requires us to buy a $100+ Intel Edison device. From this lab, I learned how to adapt sample code online. I really can't think of anything else I learned.
Unfortunately all 111 labs are the same, so we have to live through that.
Pretty decent lecturer, but not as good as everyone says, and the class not as hard as everyone says. One thing I do not like is his exam, absolutely nonsense, you may get the same score as those who have not taken 111..It's pretty irrelevant to the class.
Paul Eggert is an absolute legend. A veteran of the software development industry, he shines in his lectures while he doles out wisdom from his years of experience. He is irreplaceable.
In terms of exams, yes, they are hard, but one can easily get away with 1-2 standard deviations above the mean by writing down what seems reasonable. Much easier than other exams where you absolutely must know the answer.
Readings were a little bit harsh. Too many readings, not much useful content on them in the exams. One of the books, Principles of Computer System Design: An Introduction by Jerome H. Saltzer and M. Frans Kaashoek (SK), was way too stuffy.
Projects were an absolute disaster this quarter. Way too easy, the skeleton gives everything away. Takes me only like 2 hours to complete. Absolute disgrace, learning nothing from them. Please note that I talked to the professor about this—this isn't his fault, he says he has to keep the labs because the TAs are only trained on them.
I didn't really attend discussion, but the first one was pretty good. Solid TA. Just by design of the course, this discussion wasn't very useful. Reading over the PDF worked just as well for me.
I took this course in Fall 22 and have to say, the course seems to have become a lot less work in recent years. Now, Professor Eggert uses Eyolfson's Labs for the majority of his assignments (excluding a short paper at the end) which are far easier than the assignments he used to give out (though they're a bit less interesting). The decrease in workload coupled with Eggert's fantastic lectures makes this class a pretty great one. The tests are the only real beast to beat but I managed an A with around a 60 on the midterm and a 75 on the final. Just stay on top of things and print out all your notes and assignments and you should be good to go. I would also recommend paying attention to the resources provided by your TAs for help with the assignments.
Overall, 10/10 would take again.
CS 111 is already a very hard class. The materials are condensed and the projects definitely cost tens of hours to finish. However, having Professor Eggert makes this class even harder. His exams are not predictable at all - which means, he could give his finals in two totally different styles on two consecutive quarters. One could score 80 in the previous quarter but 40 in the current quarter. The only way to score an A - at least what I could think of - is to prepare yourself with any kind of hard questions. Go to his office hours regularly and ask him tricky questions so that you could follow his answer as an example of how your thinking process should be when facing a similar question in the final. And when attending lectures, don't just drop down notes about concepts he mentions but how he actually gets there as well, that being very important.
This course is extremely rewarding if you put in the work. You will walk away having learnt something. But if you are not a hard-core CS major who just wants to coast by with little work, do not take it with Paul Eggert. If you want to get a rigorous introduction to Systems then take Eggert. This is what you have to do to learn well and do well:
1. Do the 100 or so pages of reading from Arpaci and Duseau before every lecture and take notes on them! You can ignore SK, maybe it helps with lecture or exams? Also do the readings on the course page. You will find that Dr. Eggert offers a perspective that is distinct from what is in the readings. It is much easier to follow the lecture if you do the readings.
2. Start projects early. Obviously not the day its assigned (everything is assigned on day 1 in Eggert's classes). I mean start 2-3 days before the deadline and be willing to stay up until 3am coding them up. It is also important to discuss edge cases with friends as these will for sure be tested by the grader.
3. Pay rapt attention in lecture. Type down everything he says. It will come to 1500-2000 words per lecture. I advise you to not have classes during his office hours. The TAs are, for most part, clueless about the material especially if they are Masters students (shoutout to Vishwas for reading the man page in all its glory). But TA Zhaoxing Bu, was quite useful. Eggert's office hours are not packed despite how much you can learn from him in those hours. I basically had close to one on one attention and was able to clarify all my questions. I personally felt that discussion for this class are useless as all they do is give project hints which are not that hard for you to figure on your own, if you love coding in C/C++ or enjoyed 35L.
The syllabus and projects for this class were completely revamped in 2016, so reviews prior to that may not be as relevant. That said, the overall details are mostly correct: this class is quite tough.
The class had two textbooks, both of which are free to access. I'd highly recommend doing the recommended reading from the Arpaci-Dusseau book, it's free and not dense at all. The reading will help you follow along in lecture.
Eggert himself is a pretty engaging lecturer, but he doesn't use slides. He writes on the board in a pretty disorganized manner, and zoning out for a few minutes will probably leave you confused for the rest of lecturer. It's really important to note down everything he says in class, and I mean everything. His exams are usually based on expanding off the ideas he went over in lecture, so if you can follow along in lecture, you should be okay.
Coming to his exams, they're really difficult, but by doing the readings and following along in lecture, you should get at least a little above the median. While the questions don't make sense initially, it's important to read them clearly and write at least something coherent for every question. Even if it's not entirely correct, you'll get good partial credit. I managed to score well on the final by regurgitating a few of Eggert's ideas from lecture. Also, each exam has some giveaway questions, so look for those.
The projects are quite difficult, and a lot of people cheat on them and get high scores. That's why it's important to get above the median on the exams to differentiate yourself.
Eggert himself is a really nice guy, and is great to talk to in office hours. However, he usually doesn't offer specific help on the projects. For that, use the Piazza or go to the TA office hours. Alexandre Tiard is a great TA, and is quite helpful.
CS 111 is a hard class, but is a great way to learn about how computers work and how software is built. Don't shirk, and you'll be fine. Also make liberal use of Eggert's late policy.
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.
It's honestly been a while since I've taken this class, so I can't really give a really detailed overview of what the class was like. However, I would highly recommend taking Operating Systems with Eggert because he really knows his stuff. His philosophy towards software, his passion, his humour... I really think he's the embodiment of what all prospective software engineers should aspire to be.
So, I would recommend Eggert because he's a really awesome person and you learn the most by being around awesome people. That being said, Eggert is not exactly the best "teacher" per se and he will use a lot of computer science terms without bothering to define them and sometimes, his lectures will be really hard to follow because his knowledge of the material trumps your knowledge of the material a thousandfold. Also, the class is a lot of work and maybe a little overwhelming at times.
However, as Professor Eggert frequently emphasizes, a lot of software is about tradeoffs. In the situation here, what you're trading for your "free" time, unimportant hobbies, and uninspiring social life is an opportunity to learn a very cool subject at the steepest learning curve possible. I would say that's a worthwhile trade.
Edit: Also, I took this class back in Winter 2015, which is the last class based on the old curriculum. The labs have been changed decently so the class might not be the same experience as before.
Eggert is very decent for 111. IMO he's the best 111 lecturer in UCLA. His lectures are engaging and clear (unlike his 33). His 111 exams are not as hard as those from 33.
His final has a lot of multiple choice problems, which are basically quizzes for the assigned reading. I suspect that's why he doesn't have quizzes like other 111 instructors. If you read all required readings from either textbook (I used the online version), those multiple choices are very doable (some questions can be directly found in boldface texts from the book).
Labs won't cover kernel code at all, which is a shame, as USC's OS course has a few kernel assignments.
Lab 0 and 1 are ok since they teach us how to correctly use system calls, etc.
Lab 2 basically reiterates through what we learn in class so we basically didn't learn anything new from Lab 2. I don't know if it's a good thing or a bad thing.
Lab 3 is a total disaster. I learn absolutely ZERO from this lab and it costs me days to finish it. Reiher's spec is also the most unclear I have ever seen. Compared to Reiher's specs, Eggert's 35L specs are pretty amazing.
Lab 4 requires us to buy a $100+ Intel Edison device. From this lab, I learned how to adapt sample code online. I really can't think of anything else I learned.
Unfortunately all 111 labs are the same, so we have to live through that.
Pretty decent lecturer, but not as good as everyone says, and the class not as hard as everyone says. One thing I do not like is his exam, absolutely nonsense, you may get the same score as those who have not taken 111..It's pretty irrelevant to the class.
Based on 38 Users
TOP TAGS
- Engaging Lectures (14)
- Tough Tests (14)
- Tolerates Tardiness (12)
- Snazzy Dresser (12)