- Home
- Search
- Paul R Eggert
- All Reviews
Paul Eggert
AD
Based on 373 Users
I learned a lot in this class and I believe is very good for the overall structure of the computer science degree.
Lectures are interesting but all over the place. I would recommend watching the recording to make sure you don't miss ANYTHING. If Eggert spends more than two sentences talking about a topic, it is fair game to assume it's on the exam.
Assignments are a pain, so start them early. And take notes on them. I think Eggert aims for about 40% average on his exams, so expect to do bad. Bare minimum you need to understand every thing he said in class, and that should get you a median grade. If you want to do better, try printing out hundreds of pages of command manuals, guides, and tutorials to make sure you are proficient in JS, Python, shell scripting, and C. Aim for partial credit.
Class participation is 10x endorsed answers on Piazza for 0.1% each. I'm not sure why this is a thing because that means TAs have to endorse 2400 answers for everyone to get full credit.
Make sure you have at least one or two people you know will pull their weight in your project group. It's 35% of your grade, and I had a groupmate that authored one commit. I don't think the TAs give af.
TLDR: Pretend this class is 15 units.
I HATE THIS CLASS
I mean there's no real point in saying whether you should take this class since if you're reading this you probably have no choice.
Project: Grading for this is pretty generous, just be very explicit about all the requirements for the report in it and you should be okay there. Even if you start early like we did you're still going to be in a time crunch at the end.
HW: They're all tedious, they vary in difficulty, they're not really relevant for the exam (or the effort you put in is very low yield), so just do them in whatever way you can and get the points...
Exams:
Eggert used an unusually large amount of conceptual essay style questions for our quarter. Having extensive notes will really serve you well here. I printed out man pages (these were very low yield), rules on globbing/regex, tutorials on shell scripting and emacs lisp, and my lecture notes along with vinlin's that you can find on github (very useful). I also made chatgpt explain some particularly hard concepts and printed out that as well. Unless you're really cash-constrained, print out as much as you can. In addition, write tons of information for every essay question on the test, I suspect I lost quite a bit of points on the final from not doing this. You never know what will show up on a final..
One more thing, though it didn't show up that often for us, ACTUALLY PRACTICE the coding techniques (barely taught) from class. Most students will not know how to write code in Lisp or Bash and knowing how to do this stuff can give you a decent advantage on tests.
This is a review for people who feel as if they are a "below average UCLA student."
Now I can confidently say this, because I am a transfer from CC as a Ling & CS major (35% acceptance rate). So yes, I was not a top 5-10% handpicked CS student like the majority of the students in this class. In fact, I recently switched to Ling & CS, making me still pretty extremely new to coding and all CS-related topics. CS 35L was my first CS class at UCLA.
As a result, I struggled heavily. I don't think I have ever struggled this much in a class EVER. If you are not familiar with the topics and are not considered a superstar student, this class will be extremely difficult; there's no way around it. I even got 2 std below the mean on the midterm (raw score of 16/100).
The odds say that you are definitely a better student/coder than me for being at UCLA, but for those of you who are or believe that you are around me level, I hope that some insights from my experience can make it easier for you.
The first thing I would say is to GPT everything you don't understand. I can confidently say that I would easily have failed/dropped this class if it wasn't for the help of AI cutting the learning curve significantly when it comes to the pace of this class. Eggert goes through several topics pretty quickly, such as Shell Scripting, Emacs, Regex/Globbing, Python, C, git, debugging, security, etc.
The lectures don't go over the content needed to complete the assignments (each takes 5+ hours), so you need to get help from the TAs as much as possible, or use GPT to help break down the assignments or guide you.
Also, you need SOME web dev experience to be of use to your teammates for the group project. I had little to no web experience, so it made my time more stressful/difficult. Try to get a decent/good group, and try to start as early as possible. Make frequent meetings and set goals for each week. Leaving this last minute IS NOT A GOOD IDEA.
For Eggert's tests, you need to pretty much take impeccable notes to at least get the mean. My notes for the midterm were subpar at best, and ability to shell script / apply REGEX were extremely weak, which led to a horrible score.
HOWEVER, for the final, I completely changed my strategy, and even though my grade for it is not out, I believe I did extremely better on it compared to the midterm. Here was my strategy:
- Sign up to StudyFetch with your UCLA email (gives you the full benefits).
- Go to "Media Gallery" on Canvas/CS 35L class and go to each lecture and download the transcript.
- In class, Eggert gives around a 5-10 min break for each lecture. Take the 1st half of the lecture, plug it into StudyFetch for AI Notes, and let it generate "In Depth Notes". Do the same for the 2nd half. This strategy ensures that StudyFetch makes the notes as detailed as possible. If you want, you could split the lectures into 3 or even 4 parts.
This strategy gave me way better notes, and for the conceptual questions, I believe it will give me good enough partial credit for questions that I got completely wrong (I haven't gotten back the final yet).
Eggert still included Node/Python/JS coding/syntax questions that heavily favored those who have experience in coding in those languages. So for the questions that need you to apply the information, I would highly suggest practicing shell scripting, regex, python, C, and JS.
Overall, this class is unlike any other class I have ever taken, and even though it will completely tank my GPA, I still did learn a lot, and I will be trying to improve my CS knowledge over the summer to try to at least be somewhat on par with the average UCLA CS student.
I wish you the best of luck and try not to get egged on the exams! ;)
Eggert is extremely knowledgeable. However,
The main weakness of this course is that it's incredibly difficult to be prepared for the tests. The content of the lecture is interesting and presented in an entertaining way (although the lectures can drag on) but the tests are full of content we didn't learn.
This class is definitely challenging, and the material moves at a very fast pace. That said, Professor Eggert is the best lecturer I’ve had at UCLA. His explanations of software development concepts are clear, and it’s obvious he has deep knowledge of the subject. Whenever a student asked a question, he would explain thoroughly and make sure they fully understood the answer. The main drawback, as others have mentioned, is the difficulty of the tests. Still, if you take solid notes and review the lectures before each exam, you should be able to at least hit the median.
most winnable eggert class imo, textbook is hugely important
131 is definitely better than 35L, but I think that's mostly just because its our second shot at an Eggert class. HW is RIDICULOUS, I mean essentially impossible to do the right way without spending 10+ hours a week. Exams weren't too crazy this quarter, but that doesn't say anything about what future exams will be like. Just like 35L, a lot of this class is very interesting and useful, and a lot of it is a complete waste of time and effort. Overall, I would recommend him for 131, and this really is just one of the classes of all time.
Lectures are interesting but all over the place. I would recommend watching the recording to make sure you don't miss ANYTHING. If Eggert spends more than two sentences talking about a topic, it is fair game to assume it's on the exam.
Assignments are a pain, so start them early. And take notes on them. I think Eggert aims for about 40% average on his exams, so expect to do bad. Bare minimum you need to understand every thing he said in class, and that should get you a median grade. If you want to do better, try printing out hundreds of pages of command manuals, guides, and tutorials to make sure you are proficient in JS, Python, shell scripting, and C. Aim for partial credit.
Class participation is 10x endorsed answers on Piazza for 0.1% each. I'm not sure why this is a thing because that means TAs have to endorse 2400 answers for everyone to get full credit.
Make sure you have at least one or two people you know will pull their weight in your project group. It's 35% of your grade, and I had a groupmate that authored one commit. I don't think the TAs give af.
TLDR: Pretend this class is 15 units.
I mean there's no real point in saying whether you should take this class since if you're reading this you probably have no choice.
Project: Grading for this is pretty generous, just be very explicit about all the requirements for the report in it and you should be okay there. Even if you start early like we did you're still going to be in a time crunch at the end.
HW: They're all tedious, they vary in difficulty, they're not really relevant for the exam (or the effort you put in is very low yield), so just do them in whatever way you can and get the points...
Exams:
Eggert used an unusually large amount of conceptual essay style questions for our quarter. Having extensive notes will really serve you well here. I printed out man pages (these were very low yield), rules on globbing/regex, tutorials on shell scripting and emacs lisp, and my lecture notes along with vinlin's that you can find on github (very useful). I also made chatgpt explain some particularly hard concepts and printed out that as well. Unless you're really cash-constrained, print out as much as you can. In addition, write tons of information for every essay question on the test, I suspect I lost quite a bit of points on the final from not doing this. You never know what will show up on a final..
One more thing, though it didn't show up that often for us, ACTUALLY PRACTICE the coding techniques (barely taught) from class. Most students will not know how to write code in Lisp or Bash and knowing how to do this stuff can give you a decent advantage on tests.
This is a review for people who feel as if they are a "below average UCLA student."
Now I can confidently say this, because I am a transfer from CC as a Ling & CS major (35% acceptance rate). So yes, I was not a top 5-10% handpicked CS student like the majority of the students in this class. In fact, I recently switched to Ling & CS, making me still pretty extremely new to coding and all CS-related topics. CS 35L was my first CS class at UCLA.
As a result, I struggled heavily. I don't think I have ever struggled this much in a class EVER. If you are not familiar with the topics and are not considered a superstar student, this class will be extremely difficult; there's no way around it. I even got 2 std below the mean on the midterm (raw score of 16/100).
The odds say that you are definitely a better student/coder than me for being at UCLA, but for those of you who are or believe that you are around me level, I hope that some insights from my experience can make it easier for you.
The first thing I would say is to GPT everything you don't understand. I can confidently say that I would easily have failed/dropped this class if it wasn't for the help of AI cutting the learning curve significantly when it comes to the pace of this class. Eggert goes through several topics pretty quickly, such as Shell Scripting, Emacs, Regex/Globbing, Python, C, git, debugging, security, etc.
The lectures don't go over the content needed to complete the assignments (each takes 5+ hours), so you need to get help from the TAs as much as possible, or use GPT to help break down the assignments or guide you.
Also, you need SOME web dev experience to be of use to your teammates for the group project. I had little to no web experience, so it made my time more stressful/difficult. Try to get a decent/good group, and try to start as early as possible. Make frequent meetings and set goals for each week. Leaving this last minute IS NOT A GOOD IDEA.
For Eggert's tests, you need to pretty much take impeccable notes to at least get the mean. My notes for the midterm were subpar at best, and ability to shell script / apply REGEX were extremely weak, which led to a horrible score.
HOWEVER, for the final, I completely changed my strategy, and even though my grade for it is not out, I believe I did extremely better on it compared to the midterm. Here was my strategy:
- Sign up to StudyFetch with your UCLA email (gives you the full benefits).
- Go to "Media Gallery" on Canvas/CS 35L class and go to each lecture and download the transcript.
- In class, Eggert gives around a 5-10 min break for each lecture. Take the 1st half of the lecture, plug it into StudyFetch for AI Notes, and let it generate "In Depth Notes". Do the same for the 2nd half. This strategy ensures that StudyFetch makes the notes as detailed as possible. If you want, you could split the lectures into 3 or even 4 parts.
This strategy gave me way better notes, and for the conceptual questions, I believe it will give me good enough partial credit for questions that I got completely wrong (I haven't gotten back the final yet).
Eggert still included Node/Python/JS coding/syntax questions that heavily favored those who have experience in coding in those languages. So for the questions that need you to apply the information, I would highly suggest practicing shell scripting, regex, python, C, and JS.
Overall, this class is unlike any other class I have ever taken, and even though it will completely tank my GPA, I still did learn a lot, and I will be trying to improve my CS knowledge over the summer to try to at least be somewhat on par with the average UCLA CS student.
I wish you the best of luck and try not to get egged on the exams! ;)
The main weakness of this course is that it's incredibly difficult to be prepared for the tests. The content of the lecture is interesting and presented in an entertaining way (although the lectures can drag on) but the tests are full of content we didn't learn.
This class is definitely challenging, and the material moves at a very fast pace. That said, Professor Eggert is the best lecturer I’ve had at UCLA. His explanations of software development concepts are clear, and it’s obvious he has deep knowledge of the subject. Whenever a student asked a question, he would explain thoroughly and make sure they fully understood the answer. The main drawback, as others have mentioned, is the difficulty of the tests. Still, if you take solid notes and review the lectures before each exam, you should be able to at least hit the median.
131 is definitely better than 35L, but I think that's mostly just because its our second shot at an Eggert class. HW is RIDICULOUS, I mean essentially impossible to do the right way without spending 10+ hours a week. Exams weren't too crazy this quarter, but that doesn't say anything about what future exams will be like. Just like 35L, a lot of this class is very interesting and useful, and a lot of it is a complete waste of time and effort. Overall, I would recommend him for 131, and this really is just one of the classes of all time.