- Home
- Search
- Paul R Eggert
- COM SCI 111
AD
Based on 37 Users
TOP TAGS
- Engaging Lectures
- Tough Tests
- Tolerates Tardiness
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
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.
Eggert is a very good lecturer, it just seemed like there was only time to give a handful of details about a giant subject matter. The exams, though, expected you to have a broad understanding of it all, so it made it tough to score anything presentable. Tuan is a great TA and has taught this class a few times before. He's a really big help. Go to his discussion if he's still teaching.
The other TAs seemed to be off the rails when it came to grading the non-technical projects, like the essay and the scribe notes. Really harsh grading on those. When you ask those TAs about this grading, they give totally baffling reasons. Ridiculous.
Most importantly, get a good lab partner, and remember that you can change partners between projects if it's not working out.
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.
Eggert is a very good lecturer, it just seemed like there was only time to give a handful of details about a giant subject matter. The exams, though, expected you to have a broad understanding of it all, so it made it tough to score anything presentable. Tuan is a great TA and has taught this class a few times before. He's a really big help. Go to his discussion if he's still teaching.
The other TAs seemed to be off the rails when it came to grading the non-technical projects, like the essay and the scribe notes. Really harsh grading on those. When you ask those TAs about this grading, they give totally baffling reasons. Ridiculous.
Most importantly, get a good lab partner, and remember that you can change partners between projects if it's not working out.
Based on 37 Users
TOP TAGS
- Engaging Lectures (13)
- Tough Tests (13)
- Tolerates Tardiness (12)