- Home
- Search
- Paul R Eggert
- COM SCI 35L
AD
Based on 146 Users
TOP TAGS
- Tough Tests
- Has Group Projects
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.
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
Everything everyone had said about this class is true. But I really liked it. It's the "computer science sampler plate". You look into 9 different CS elements/programs/systems during the class. I thought it was very simillar to my previous tech internship experience.
My TA was very good and I learned a lot from her (Lauren Samy). Like in all CS classes, if you don't like your TA, GET OUT and get into another TA's discussion. Fast.
The projects were tricky, but they're not huge, like in CS31 or CS32.
No midterm and the project 10 presentations were really interesting.
You will be doing yourself a favor is you know Linux before you get in here. Just become familliar with basic navigation in the terminal and you'll have a good foundation. You'll be using Linux to get a round almost always.
The final wasn't horrifying, but it was long.
Like I said, overall, I liked this class.
All the below and probably above comments about 35L are very accurate. This is a tough class. Enough said. You have to make work in groups for all the labs because I believe that they will be unfinishable if you don't.
Like all the complaints about grading, lab grades just pop up on your gradebook and that's it. Maybe if your TA is nice about it, they might put the averages on Piazza. Oh wait, the TAs grade the labs AFTER the final. Ohhhhh...so that's how I learn from...uh...what?
Furthermore, the final was absolutely disastrous. Apparently each section had a different amount of points on the final. I think one section had 100 points while Section 5 (my section) had 180 points. To put it concretely, I got 33% on the final but managed to get a B in the class which I am very satisfied.
Maybe if the grading wasn't horrendous and your sanity wasn't on the line, then this class would have been enjoyable AND useful. I mean in retrospect, I think I learned a lot about Python and scripting and Git. No kidding. But with all the grading and ridiculous assignment specs, it's just too much!
And about them specs... like the commentor below put it, Smallberg's specs are a godsend compared to this crap. Thankfully, Jerry's (TA) slides helped sooooo much because he walks you through the assignment. I mean how does Eggert expect a n00b to breeze through Git or master Python language in ONE WEEK?? How does he expect to know how to even START the assignment? Without Jerry's slides, this class would have been even more hell.
On the Googling aspect of the class, my friend and I thought about proposing to change 35L's course title on "How to search in Google." I'll let your imagination run from there.
Some positive things? I thought the SSH and buffer overflow assignment was really cool and the last paper assignment. It's always good to flex some of the writing and analysis muscles of the mind.
All in all, this is a class where NO ONE of higher seniority teaches you (i.e. a professor or TA). It's the random people on the web who give you the best guidance. Don't get me wrong, CS35L has great material to teach us but it was poorly poorly POORY designed and executed. Someone else should take over.
This is more an evaluation of the course rather than the professor, who I may mention did not respond to emails very well and did not interact with the class at all.
This course is a disgrace. For the amount of useful content this course aims to provide, I cannot believe teaching of the material and handling of the class was so poorly executed. It really is sad because these skills are actually really valuable if you are interested in working in industry.
I understand that TA's are given a fairly big responsibility in this class, but the presentations they made were not at all very useful. Furthermore, when my peers and I went for help on labs, we were at many times told to go and google what we needed help in. I understand that "this is the way the real world works", but I am certainly not paying over $3,000 worth of tuition every single quarter for this bs.
Specs are pretty shitty and LADEN with vagueness everywhere. They make Smallberg's specs look like godsends. Don't expect the TA's to clarify what you need - in many cases they will not be able to.
The grading is lazy and cryptic. The syllabus does not clarify how projects are graded, and I received grades for labs MANY WEEKS after I turned them in (the quarter has ended, and I only recently received my grade for lab 6/7). For a TA who is getting PAID to do this job, this is unacceptable service. It cannot take that long to grade labs, and the feedback is required when labs for one week require segments from labs for previous weeks (ex. lab 7 depended on lab 5, which a lot of people ended up failing).
I have to this day been unable to inquire about how labs are graded. Some (I speculate) are graded solely for correctness (no mention in the syllabus), others are graded for answers to questions (subjective, but one can only provide an answer accurate enough to what the vague spec asks), others are mix and match combinations, but above all, grading scheme is NEVER revealed. When projects are worth 50%, this is unacceptable. When I asked the TA's about how much a particular error will penalize me, I was told to never worry about it too much. Most labs ended up turning out well, but I ended up getting an F on lab 5 AFTER being told this same story - again absolutely unacceptable.
Averages are NEVER posted for projects or the final, so you have NO idea how you are doing relative to your peers. Did I also mention that your final has the potential to be exceptionally difficult depending on your TA? Example: Has anyone seen a for - else statement in Python before?
Overall, this is the WORST CLASS I have ever taken as a STUDENT - not just an undergrad. I truly expected better from the CS department for such valuable material, and it saddens me to know that this same issue will continue every single year.
Firstly, Eggert didn't interact with my class a single time (in person or online). He leaves all the instruction to the TAs, who don't really know what they're doing. My TA was a nice guy, but I didn't really learn much from him.
The class is a crash-course on Unix environments, everything from Vim to SSH plus some C and Python thrown in. I think it's trying to prepare you for real work in software engineering. The problem with this is that everything the class teaches can be learned very easily on-the-job. I knew most of the topics already through previous work, and I had a better understanding of them through work then through this class. So in my opinion, this class presented everything in the most complicated manner and I don't think it would actually help people to understand professional software engineering.
The assignments are formatted horribly, so you have to expend a lot of time and effort to just figure out what they want you to do. The actual topics, as I said earlier, are quite easy. The hard thing about this class is dealing with the terrible specs.
The final was a bit rough. You should bring a bunch of examples of Python and C and bash programming (print out all your code from the quarter).
In conclusion, this is probably the worst class I've taken at UCLA. Since it's a requirement, I really hope they fix it. But if you are taking it, I recommend just pushing through and working heavily with your friends. Good luck.
(FWIW, I still ended up with an A in the class)
I spent most of my quarter on 35L. The concepts/projects aren't really difficult, it's just figuring EVERYTHING out by yourself. The lectures the TA's give don't teach you how to approach the problem or anything really useful about solving them. One of the TA's named Joseph (I think) had slides that went over the steps for the labs (i.e. what you need to do/how to do it) that were extremely helpful. The 10th homework was great! :) (just needed to write a review about an article, which was great as all my other classes were piling it on during 10th week)
I heard someone mention that the difficulty in CS35L is in the concepts, not the project. This is mildly true, but the projects are completely non-conducive to learning the concepts.
I myself knew everything there was to know in this class beforehand, and each project took a max of 2 hours. However, I had a friend in the class who had never done anything with Linux, and his frustration was palpable. The only help the TAs really gave us is to "use the man page," which is a hell of a lot of help when you're having small corner case issues that really just take experience to get know.
He could have structured the projects in a more progressive and educative way, kindof like how many video games include a semi-tutorial level to help you get acquainted with the controls, but he didn't. Just jumped to a mini-boss straight from the start.
The difficulty in 35L is lies in not in the projects, but in understanding the content. Like many have suggested before the quality of the TA fluctuates significantly for any given quarter. Also since there is a new assignment every week on a new subject area, it may be harder to grasp a concept in only 4 hours of class time. That being said, Google is your best friend for this class. There is definitely a lot of resourceful documentation available online for each topic because the scope of this class is introductory. However, I would recommend only limited to no use of Google for assignment 1. That way you gain a better understanding of navigating the Linux man pages.
The assignment that took me the longest time was assignment 9. I found this link useful: https://computing.llnl.gov/tutorials/pthreads/ . Try drawing parallels with parallel computing in CS33(OMP and CUDA).
Other recommendations:
• Take advantage of Piazza (an online forum) that we will be using for this class.
• Use some sort of virtual machine (ie VirtualBox, VMWare Player,etc). Dual booting is really annoying.
• Sounds lame, but bring some sort of Linux/Shell Scripting textbook to the final(it’s open book and notes). Unless you’re already some godly guru, having this reference is invaluable
• Learn HotKeys for Ubuntu/Vim/Emacs ie.
o In Ubuntu:
Alt-t to open terminal
Ctrl-Shift-t to create new tab
Alt-number to navigate between tabs
Reflections: I came into this class having little to no experience with Linux and CLI(Command Line Interface). At first Vim/Emacs may seem difficult at first, but you’ll be fine once you get in to the flow of things. Although this class is only 2 units, the stuff you learn is pretty practical. Good luck!
This course is kind of hard and tedious. I was only able to finish all of the assignents by going to my TA's office hours. For me, the hardest assignments were weeks 2,3,5, and 9, so start early on those. Googling topics was helpful, especially for the 2nd and 3rd assignments. This link was helpful for the Python assignment: http://docs.python.org/library/optparse.html
The assignments are ok in terms of work and difficulty. The experience of this course depends almost entirely on the TA that you have. Avoid a bad TA at all costs. My TA for this quarter can't explain things as clearly. What's worse, the grading procedure is like, each TA has about three assignments to grade. My TA spends almost the entire quarter to grade his first assignment. But it turns out he just uses two test cases, which means if your code has a tiny flaw and happens to fail his one test, you get 50% of the grade. I understand only the perfect code deserves full credit, but I can't imagine what is more unfair than to have your grades depend in such a big proportion on luck, given that everyone has a chance to make small mistakes.
Ok, so I'm about to graduate and I'm writing in response to the people that say Eggerts 35L is too hard and will hurt your gpa. Firstly, if you're struggling with 35L you should probably just change your major, because frankly, 35L is probably one of the easiest classes you will take in your undergraduate cs career. Secondly, get used to shitty specs, they will only get worse, just wait until you take 131.
Everything everyone had said about this class is true. But I really liked it. It's the "computer science sampler plate". You look into 9 different CS elements/programs/systems during the class. I thought it was very simillar to my previous tech internship experience.
My TA was very good and I learned a lot from her (Lauren Samy). Like in all CS classes, if you don't like your TA, GET OUT and get into another TA's discussion. Fast.
The projects were tricky, but they're not huge, like in CS31 or CS32.
No midterm and the project 10 presentations were really interesting.
You will be doing yourself a favor is you know Linux before you get in here. Just become familliar with basic navigation in the terminal and you'll have a good foundation. You'll be using Linux to get a round almost always.
The final wasn't horrifying, but it was long.
Like I said, overall, I liked this class.
All the below and probably above comments about 35L are very accurate. This is a tough class. Enough said. You have to make work in groups for all the labs because I believe that they will be unfinishable if you don't.
Like all the complaints about grading, lab grades just pop up on your gradebook and that's it. Maybe if your TA is nice about it, they might put the averages on Piazza. Oh wait, the TAs grade the labs AFTER the final. Ohhhhh...so that's how I learn from...uh...what?
Furthermore, the final was absolutely disastrous. Apparently each section had a different amount of points on the final. I think one section had 100 points while Section 5 (my section) had 180 points. To put it concretely, I got 33% on the final but managed to get a B in the class which I am very satisfied.
Maybe if the grading wasn't horrendous and your sanity wasn't on the line, then this class would have been enjoyable AND useful. I mean in retrospect, I think I learned a lot about Python and scripting and Git. No kidding. But with all the grading and ridiculous assignment specs, it's just too much!
And about them specs... like the commentor below put it, Smallberg's specs are a godsend compared to this crap. Thankfully, Jerry's (TA) slides helped sooooo much because he walks you through the assignment. I mean how does Eggert expect a n00b to breeze through Git or master Python language in ONE WEEK?? How does he expect to know how to even START the assignment? Without Jerry's slides, this class would have been even more hell.
On the Googling aspect of the class, my friend and I thought about proposing to change 35L's course title on "How to search in Google." I'll let your imagination run from there.
Some positive things? I thought the SSH and buffer overflow assignment was really cool and the last paper assignment. It's always good to flex some of the writing and analysis muscles of the mind.
All in all, this is a class where NO ONE of higher seniority teaches you (i.e. a professor or TA). It's the random people on the web who give you the best guidance. Don't get me wrong, CS35L has great material to teach us but it was poorly poorly POORY designed and executed. Someone else should take over.
This is more an evaluation of the course rather than the professor, who I may mention did not respond to emails very well and did not interact with the class at all.
This course is a disgrace. For the amount of useful content this course aims to provide, I cannot believe teaching of the material and handling of the class was so poorly executed. It really is sad because these skills are actually really valuable if you are interested in working in industry.
I understand that TA's are given a fairly big responsibility in this class, but the presentations they made were not at all very useful. Furthermore, when my peers and I went for help on labs, we were at many times told to go and google what we needed help in. I understand that "this is the way the real world works", but I am certainly not paying over $3,000 worth of tuition every single quarter for this bs.
Specs are pretty shitty and LADEN with vagueness everywhere. They make Smallberg's specs look like godsends. Don't expect the TA's to clarify what you need - in many cases they will not be able to.
The grading is lazy and cryptic. The syllabus does not clarify how projects are graded, and I received grades for labs MANY WEEKS after I turned them in (the quarter has ended, and I only recently received my grade for lab 6/7). For a TA who is getting PAID to do this job, this is unacceptable service. It cannot take that long to grade labs, and the feedback is required when labs for one week require segments from labs for previous weeks (ex. lab 7 depended on lab 5, which a lot of people ended up failing).
I have to this day been unable to inquire about how labs are graded. Some (I speculate) are graded solely for correctness (no mention in the syllabus), others are graded for answers to questions (subjective, but one can only provide an answer accurate enough to what the vague spec asks), others are mix and match combinations, but above all, grading scheme is NEVER revealed. When projects are worth 50%, this is unacceptable. When I asked the TA's about how much a particular error will penalize me, I was told to never worry about it too much. Most labs ended up turning out well, but I ended up getting an F on lab 5 AFTER being told this same story - again absolutely unacceptable.
Averages are NEVER posted for projects or the final, so you have NO idea how you are doing relative to your peers. Did I also mention that your final has the potential to be exceptionally difficult depending on your TA? Example: Has anyone seen a for - else statement in Python before?
Overall, this is the WORST CLASS I have ever taken as a STUDENT - not just an undergrad. I truly expected better from the CS department for such valuable material, and it saddens me to know that this same issue will continue every single year.
Firstly, Eggert didn't interact with my class a single time (in person or online). He leaves all the instruction to the TAs, who don't really know what they're doing. My TA was a nice guy, but I didn't really learn much from him.
The class is a crash-course on Unix environments, everything from Vim to SSH plus some C and Python thrown in. I think it's trying to prepare you for real work in software engineering. The problem with this is that everything the class teaches can be learned very easily on-the-job. I knew most of the topics already through previous work, and I had a better understanding of them through work then through this class. So in my opinion, this class presented everything in the most complicated manner and I don't think it would actually help people to understand professional software engineering.
The assignments are formatted horribly, so you have to expend a lot of time and effort to just figure out what they want you to do. The actual topics, as I said earlier, are quite easy. The hard thing about this class is dealing with the terrible specs.
The final was a bit rough. You should bring a bunch of examples of Python and C and bash programming (print out all your code from the quarter).
In conclusion, this is probably the worst class I've taken at UCLA. Since it's a requirement, I really hope they fix it. But if you are taking it, I recommend just pushing through and working heavily with your friends. Good luck.
(FWIW, I still ended up with an A in the class)
I spent most of my quarter on 35L. The concepts/projects aren't really difficult, it's just figuring EVERYTHING out by yourself. The lectures the TA's give don't teach you how to approach the problem or anything really useful about solving them. One of the TA's named Joseph (I think) had slides that went over the steps for the labs (i.e. what you need to do/how to do it) that were extremely helpful. The 10th homework was great! :) (just needed to write a review about an article, which was great as all my other classes were piling it on during 10th week)
I heard someone mention that the difficulty in CS35L is in the concepts, not the project. This is mildly true, but the projects are completely non-conducive to learning the concepts.
I myself knew everything there was to know in this class beforehand, and each project took a max of 2 hours. However, I had a friend in the class who had never done anything with Linux, and his frustration was palpable. The only help the TAs really gave us is to "use the man page," which is a hell of a lot of help when you're having small corner case issues that really just take experience to get know.
He could have structured the projects in a more progressive and educative way, kindof like how many video games include a semi-tutorial level to help you get acquainted with the controls, but he didn't. Just jumped to a mini-boss straight from the start.
The difficulty in 35L is lies in not in the projects, but in understanding the content. Like many have suggested before the quality of the TA fluctuates significantly for any given quarter. Also since there is a new assignment every week on a new subject area, it may be harder to grasp a concept in only 4 hours of class time. That being said, Google is your best friend for this class. There is definitely a lot of resourceful documentation available online for each topic because the scope of this class is introductory. However, I would recommend only limited to no use of Google for assignment 1. That way you gain a better understanding of navigating the Linux man pages.
The assignment that took me the longest time was assignment 9. I found this link useful: https://computing.llnl.gov/tutorials/pthreads/ . Try drawing parallels with parallel computing in CS33(OMP and CUDA).
Other recommendations:
• Take advantage of Piazza (an online forum) that we will be using for this class.
• Use some sort of virtual machine (ie VirtualBox, VMWare Player,etc). Dual booting is really annoying.
• Sounds lame, but bring some sort of Linux/Shell Scripting textbook to the final(it’s open book and notes). Unless you’re already some godly guru, having this reference is invaluable
• Learn HotKeys for Ubuntu/Vim/Emacs ie.
o In Ubuntu:
Alt-t to open terminal
Ctrl-Shift-t to create new tab
Alt-number to navigate between tabs
Reflections: I came into this class having little to no experience with Linux and CLI(Command Line Interface). At first Vim/Emacs may seem difficult at first, but you’ll be fine once you get in to the flow of things. Although this class is only 2 units, the stuff you learn is pretty practical. Good luck!
This course is kind of hard and tedious. I was only able to finish all of the assignents by going to my TA's office hours. For me, the hardest assignments were weeks 2,3,5, and 9, so start early on those. Googling topics was helpful, especially for the 2nd and 3rd assignments. This link was helpful for the Python assignment: http://docs.python.org/library/optparse.html
The assignments are ok in terms of work and difficulty. The experience of this course depends almost entirely on the TA that you have. Avoid a bad TA at all costs. My TA for this quarter can't explain things as clearly. What's worse, the grading procedure is like, each TA has about three assignments to grade. My TA spends almost the entire quarter to grade his first assignment. But it turns out he just uses two test cases, which means if your code has a tiny flaw and happens to fail his one test, you get 50% of the grade. I understand only the perfect code deserves full credit, but I can't imagine what is more unfair than to have your grades depend in such a big proportion on luck, given that everyone has a chance to make small mistakes.
Ok, so I'm about to graduate and I'm writing in response to the people that say Eggerts 35L is too hard and will hurt your gpa. Firstly, if you're struggling with 35L you should probably just change your major, because frankly, 35L is probably one of the easiest classes you will take in your undergraduate cs career. Secondly, get used to shitty specs, they will only get worse, just wait until you take 131.
Based on 146 Users
TOP TAGS
- Tough Tests (67)
- Has Group Projects (58)