- Home
- Search
- Paul R Eggert
- COM SCI 131
AD
Based on 93 Users
TOP TAGS
- Tough Tests
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.
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.
Grade distributions are collected using data from the UCLA Registrar’s Office.
Sorry, no enrollment data is available.
AD
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 !!
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 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 textbook for this class is actually amazing. Highly recommend dishing out the fat stacks of cash to buy it because it is well worth it. It is easy to understand, often funny, engaging, AND it covers EVERYTHING Eggert talks about in lecture. Seriously. Honestly, don't go to a single lecture. It's a waste of time. Just read the textbook, it's much better at explaining than Eggert.
Just to give you some general tips to help you succeed in this class:
hw1 and hw2 are OCaml functional programming. hw1 is easy, but hw2 is exponentially harder (probably the hardest one), so make sure you start early on this one.
hw3 (concurrency in Java) is probably the easiest, but you need to derive data and write report.
hw4 (prolog) is intermediate difficulty, but lots of people may find functional programming hard to understand at first, and you need to figure out how to optimize performance to get full score.
hw5 (scheme) is also intermediate difficulty, but I personally find this one the hardest to understand. Personally, I insist the spec and my solution on this one is quite sloppy, even though I got full score.
hw6 basically requires no programming.
Project (asyncio in Python) is not hard on the logic side, but you need to understand the asyncio library in Python and the concept of server and client.
As for the lecture, you can learn a lot if you do the reading and pay full attention to Eggert's lecture. However, unlike the experience of others, I found his lecture quite hard to follow (I feel like I have not mastered adequate background knowledge in CS to understand his points).
As for the exam, based on the response of my peers, the midterm tends to be easier than the final, although I did better on the final (I score fairly above the median in both and get an A). One thing to notice is that some open-end questions are actually quite hard to get points, so fully develop you arguments and provide enough technical details to back it up. One general strategy to eggert's exam is always to remain calm, pick the battle you can fight, and aim for every possible points.
Some side notes: go the the discussion as the TA will explain the spec for you; I personally find that CS131+CS181 combo is quite helpful since both of them talks about grammar, and I notice that there are handful of students in both lecture (although CS181 is usually recommended as the last CS class to take).
Haven't gotten a grade for this class yet. The first two homeworks are insanely hard (and its only like a couple functions you need to write for each) but when you finish them it's smooth sailing (for the most part). There is only one midterm which is nice and I found it to be a lot easier than every Eggert midterms I've ever taken. The final was rough though and left me leaving with the same sadness that Eggert usually does on a test. There is one project in this class which isn't too bad on the coding end and mostly focuses on the report. The homeworks are difficult but piazza is your best friend. The scheme and prolog homeworks were medium difficulty. The java homework is really easy and is mainly focused on the report as well and so is the last homework (the language for this one varies). Lectures are SUPER useful and I find that he is a lot better at teaching this course than cs 33 (but maybe that's just cuz 33 is a harder subject). You don't need to read the book really but it is also helpful and gives a deeper understanding. He pretty much goes over whatever's in the book in lecture a few days later. Best Eggert class I've taken but still difficult as always.
I really wanted to like this class because Eggert was legitimately an interesting lecturer (unlike his CS33). I felt I learned a lot by going to class. Unfortunately that's ruined by every other part of this course.
TAs are one of the most important parts of getting through this class. Go to different discussions and compare with your friends. A good TA makes all the difference and some are more generous about giving tips on the homework than others. A few of the assignments involve written reports, which is annoying but at the same time is easier than the 100% code ones. I'd rather write more reports than pull my hair out over OCaml .
Tests are your standard Eggert tests. It's open book/note so bring all the things you want but it just comes down to whether you're lucky enough that the things you focus on happen to be what he write questions about.
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.
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 !!
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 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 textbook for this class is actually amazing. Highly recommend dishing out the fat stacks of cash to buy it because it is well worth it. It is easy to understand, often funny, engaging, AND it covers EVERYTHING Eggert talks about in lecture. Seriously. Honestly, don't go to a single lecture. It's a waste of time. Just read the textbook, it's much better at explaining than Eggert.
Just to give you some general tips to help you succeed in this class:
hw1 and hw2 are OCaml functional programming. hw1 is easy, but hw2 is exponentially harder (probably the hardest one), so make sure you start early on this one.
hw3 (concurrency in Java) is probably the easiest, but you need to derive data and write report.
hw4 (prolog) is intermediate difficulty, but lots of people may find functional programming hard to understand at first, and you need to figure out how to optimize performance to get full score.
hw5 (scheme) is also intermediate difficulty, but I personally find this one the hardest to understand. Personally, I insist the spec and my solution on this one is quite sloppy, even though I got full score.
hw6 basically requires no programming.
Project (asyncio in Python) is not hard on the logic side, but you need to understand the asyncio library in Python and the concept of server and client.
As for the lecture, you can learn a lot if you do the reading and pay full attention to Eggert's lecture. However, unlike the experience of others, I found his lecture quite hard to follow (I feel like I have not mastered adequate background knowledge in CS to understand his points).
As for the exam, based on the response of my peers, the midterm tends to be easier than the final, although I did better on the final (I score fairly above the median in both and get an A). One thing to notice is that some open-end questions are actually quite hard to get points, so fully develop you arguments and provide enough technical details to back it up. One general strategy to eggert's exam is always to remain calm, pick the battle you can fight, and aim for every possible points.
Some side notes: go the the discussion as the TA will explain the spec for you; I personally find that CS131+CS181 combo is quite helpful since both of them talks about grammar, and I notice that there are handful of students in both lecture (although CS181 is usually recommended as the last CS class to take).
Haven't gotten a grade for this class yet. The first two homeworks are insanely hard (and its only like a couple functions you need to write for each) but when you finish them it's smooth sailing (for the most part). There is only one midterm which is nice and I found it to be a lot easier than every Eggert midterms I've ever taken. The final was rough though and left me leaving with the same sadness that Eggert usually does on a test. There is one project in this class which isn't too bad on the coding end and mostly focuses on the report. The homeworks are difficult but piazza is your best friend. The scheme and prolog homeworks were medium difficulty. The java homework is really easy and is mainly focused on the report as well and so is the last homework (the language for this one varies). Lectures are SUPER useful and I find that he is a lot better at teaching this course than cs 33 (but maybe that's just cuz 33 is a harder subject). You don't need to read the book really but it is also helpful and gives a deeper understanding. He pretty much goes over whatever's in the book in lecture a few days later. Best Eggert class I've taken but still difficult as always.
I really wanted to like this class because Eggert was legitimately an interesting lecturer (unlike his CS33). I felt I learned a lot by going to class. Unfortunately that's ruined by every other part of this course.
TAs are one of the most important parts of getting through this class. Go to different discussions and compare with your friends. A good TA makes all the difference and some are more generous about giving tips on the homework than others. A few of the assignments involve written reports, which is annoying but at the same time is easier than the 100% code ones. I'd rather write more reports than pull my hair out over OCaml .
Tests are your standard Eggert tests. It's open book/note so bring all the things you want but it just comes down to whether you're lucky enough that the things you focus on happen to be what he write questions about.
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.
Based on 93 Users
TOP TAGS
- Tough Tests (33)