- Home
- Search
- Paul R Eggert
- COM SCI 35L
AD
Based on 150 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.
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
This TA-taught class is terrible. Straight up. I'm sure some of you have seen the "Bing is banned in China" memes on Reddit if you're taking this class--yeah, that post was for my section. This class is an absolute farce and doesn't even teach you what the syllabus says the labs will cover. Every single lab is confusing and doesn't even begin to care about the student--one of the labs just throws the word "frobnicate" at you like you should know what it means. It's absolutely ridiculous the lack of care this class shows the student. The prerequisites for this class simply list CS31--this is 100% a horrible idea. I took it concurrently with CS32 my winter quarter after 31, and unless you are literally a programming god who already knows the ins and outs of Unix-based environments, Python, C, and C++, there is no way to understand what is happening for the majority of the labs.
The TAs that I had the (dis)pleasure of coming across were a mixed bag, some were nice and helpful and some were just downright rude when you were trying to ask for help. There was also, of course, the incident with the TA who claimed Bing was not banned in China and straight up argued and fought with a group who was presenting about a news article they read that said Bing had been banned in China. I don't know whether or not it affected their grade, but I have a feeling it did.
The class suffers from a lack of cohesion in that every week is a completely unrelated concept compared to previous weeks. There were only ever 2 labs that were useful for further labs, and one of them required you to use a solution from a previous lab--however, the TAs didn't give you a solution for it and you didn't know your grade for the one you turned in, so you just had to work with your prior solution under the assumption that yeah, it probably works...? It took legitimately until the last week before grades were due to get 7 of the 10 lab scores back, meaning going into the final I knew only 15% of my grade (each lab is 5%).
The final was a massacre and Eggert (the first time I'd ever even seen the man) prefaced it with that they designed it to have a median of 50%. Furthermore, this quarter they decided to do a shared final with the other TAs instead of each TA having their own final, so I have no idea how that affected the curve. They didn't release the information, either.
Overall, I hated this class, and the amount of time I spent on it directly impacted by grade in CS32--a C+. My final recommendation here is to take it after CS33 (at the VERY least) and definitely DO NOT take it concurrently with other CS courses.
Workload, as stated by everyone before, is horrendous. Like I honestly don't know what was Eggert thinking(I still to this day have never seen the man because TA's do everything for 35L), so much is packed into each assignment and there is very little guidance on how to start it. Assignment 1 is an absolute pain. Assignment 2 is a maze of hieroglyphs that will take you hours to do, and there are many complaints to be said about other assignments. I did learn a lot, however, and there's the useful stuff like emacs, git, ssh, threading, but there is also the concepts that are put in there just because Eggert made them so he wants to show off(be ready for GNU Shuf), and are of zero practical use. But you will learn like 5 or 6 new things every assignment and the workload is insane for the class.
The final my quarter was also the first time it was a cumulative final for the entire class(all sections), very hard and sort of confusing, hopefully, they don't repeat it in later years, but Eggert is Eggert so you never know.
The saving grace of this class is by random chance, and I mean TA's. If you get a good TA as I did, who can articulate well and is helpful and actually cares, then you will be a bit better off because they will help you with the assignment(lab and hw) in the slides and all that, but if you get a TA who only cares about the stipend for his tuition, then you are in deep doo doo and I recommend going to other TA's office hours to get help.
God this class is awful. Graduating UCLA and the most awful experience of my life. There are way too many projects and too much material to review. It's great if you get some TAs who give most of the class great grades and is clear. If you get a ass of TA like mine, good luck. Doesn't explain and yells in class. Grades awfully and the average turns out to be 30~%. I still have nightmares.
Hi guys. I am leaving this comment to wish anyone who wil be in this class good luck. I just walked out of the lab after sitting there for 6 hours and completed nothing. The last assignment I have requires a hardware called beagalbone. Well, half of people in my session get worng item and I am one of those idiot.🙂 if you are required to take 35l, PLEASE GET WIRELESS BEAGALBONE GREEN. For this assigment, eggert tells you nothing about what you need to do. Literarily NOTHING. While you are counting on your TA, sadly they don’t seems to know these stuff than you. When I had a problem and ask for help, guess what my TA said? “There are another group having the same problem. Let me go and ask them how did they solve this.” Haha. People argue that this class is just how working likes in the real life. It’s funny how I paid huge tuition just for sitting in a lab using my own Mac to teach myself something super confusing while getting no help from anyone who is supposed to help me and may be receiving my tuition as salary. If you hate this class as well as I do, please please leave your voice. I sincerely hoping my tuition could be used better and someone could take over this class and pay more attention to teaching 35l well.
Unfortunately, this class is based on your TA. Eggert basically tells the TAs "Here are the topics and projects you have to teach, now go have fun" and the TAs are left to sift through the madness that is Eggert. They are there to help you get through his cryptic projects while somehow learning Linux, Python, Git, and seemingly random elements of C. I was lucky enough to have a competent TA. My friend was not so lucky. Along with a 3rd friend, we slaved over the harder projects (have fun with multithreading). I highly recommend taking this class with people you know, even if they're not in your section; for 2 of the projects, they actually require you to find a partner; with the other projects, you will benefit from having an extra set of eyes to collaborate with.
Over time, you'll appreciate how smart Eggert is. Though his specs are a nightmare to understand, once you get through it, you'll look at it and feel amazing for having completed it. A bunch of the projects feature bugs and patches in real-life open-source software that Eggert himself programmed back in the day. Holistically, it's really quite impressive.
Lastly, you will benefit from using Linux on your personal laptop. It's super easy to install alongside Windows, and took me more time to download Ubuntu than to actually install it. I say this because SEASNet Linux is infuriating to use if you don't have a strong internet connection. Therefore, it's easier to do the projects on your personal Linux, and test them on SEASNet every once in a while. In addition, the projects have weird requirements such as "making sure your files are ASCII text files that have no more than 80 characters per line, with no carriage returns." This is basically making sure the file is easily readable from the Linux command line, which isn't a problem if you're already using Linux.
The other comments speak truth in regards to your final and grade distributions.
This class is a lab... and it is curved based on the section. I ended up with a smart section unluckily and got a raw score of 88%. The final was apparently too easy...
I would say the concepts are very useful but the course is still poorly structured despite the changes including use of Beaglebone for one of the assignments. It is just that there is not really any real way to learn these concepts unless you practice using these tools outside of class. People who are familiar with Python and git will probably be in an advantage over the others just because there are just some things that if you are a beginner, you just won't know. You just won't suddenly master the nuances of a particular tool over one week - years of software engineering experience, or at the very least experiences with multiple side projects, will fare you better in learning these tools than reading the manual or something of that kind.
Although the class is poorly structured and definitely way too much work, I have to say I appreciate how I was taught to learn the material: with the steep learning curve from covering new topics every week. I am currently in my first software engineering internship and I have to say that the thought process from 35L has allowed me to acclimate to the steep learning curve of the tech stack used in the company I am interning at.
The assignments are tough since everything is new; I suggest to go through fire and take cs33 too at the same time (I did this plus cs33 Eggert): this is because later on, the linking and threads concepts overlap between these two classes.
For the final, it is luck as your TA writes it. I would suggest printing TA slides, assignments (using small font like 4 point font), ascii table, emacs reference card, regex cheat sheet, and Computer Systems: A Programmer's Perspective (literally, the CS33 textbook). Again, go through fire and take cs33 too since I wouldn't have been able to answer some questions on the final had I not learned it in cs33 or has the book as reference.
Good luck, and I came to UCLA with ZERO programming experience and I was able to pull an A going through 10 weeks of fire and suffering. You can do this; just put in ALOT of work! I certainly think it is very helpful for internships and software engineering in general.
This class is supposed to teach you the basics of software and languages used in upper division courses. You certainly will learn them, but saying that you are "taught" them might not quite be right.
First important thing to know is that the course is not taught by the professor - he only writes the assignments, and possibly the slides as well. The actual instruction is done entirely by the TAs, and as such the class is heavily dependent on whether you have the good fortune to end up with a helpful TA. Most of them like to read off the slides, and office hours can be difficult to make sometimes (assuming the TA even shows up to them, which I found they frequently did not.) The end result is having to brute force your way through things with Google. That being said, it's still important to show up to your Lab section; some TAs may divulge hints for how to do the assignments or what will be on the final.
Assignments vary greatly in difficulty. The simplest ones might take half an hour, the hardest ones could take the entire week. The good news is that the late policy is generous, costing you 2 ^ (n-1) % for a submission n days late. The bad news is that the assignments can often be very vague, and it's hard to know how to even start without ripping the answers from previous years off Github. Cheating is widespread, as the assignments don't change much (if at all) from year to year, but if you do choose to pull answers off Github, be warned that you do so at great risk: the assignment numbers are swapped, and slight details are usually added or removed each time. Not to mention that you don't actually learn anything if you just copy the answers.
The final is worth 50% of your grade, but it is open note and open book. The questions and grading are entirely at the discretion of the TA, so again, your mileage may vary. Linux commands, regular expressions, shell scripting, and C make up the core of the points, so make sure you have those down pat.
I scraped by with an A-, but I probably just got lucky with my TA and section (got one of the few that wasn't filled with CS majors.) The curve can be pretty harsh - some quarters they actually may curve downward. I wouldn't recommend this class to anyone who doesn't need it, but the material is undeniably useful, even if you have to struggle a bit to understand it at all.
I think the material in this class is really good. It gives you exposure to a lot of software that will relevant your future classes and jobs (i.e. Linux environment, etc.).
That being said, this TWO UNIT class is a lot of work and honestly pretty hard, since I'm assuming most people who take this class have never used Linux, git, ssh, threads, dynamic libraries, or done C programming (i.e. malloc, realloc, and free). A few people I'd assume would've touched on python a little bit, but not enough to make the project associated with the language any easier. Because of your noobiness, you're most likely going to find your entire quarter consumed by this TWO UNIT class because learning something new every week is really hard. A good number of people cope with the workload by just cheesing the class and using online sources to make every project rather trivial... but that kinda defeats the purpose of this class, which is to get acclimated to a lot of software at the steepest learning curve possible.
So that being said, I would say that the time and work that you put into this class is worth it because you learn a lot. It is kinda lame because Eggert could do a much better job at structuring the class to make it easier for the noobs who didn't know what they were getting into (i.e. be more elaborate in his specs). After all, I was one such noob. However, it is definitely a good class to take, and you'll realize this even more so as the years pass by during your journey to becoming a software engineer.
N.B. The finals are pretty random because they're all made by TAs. Some of them were jokingly easy while others were 60% the level of a typical Eggert exam. When I took it, I think had the hardest final (my TA was Lauren Samy). Honestly, it doesn't really matter, because if you know the material and did all the projects legitimately, you'll do fine.
I hate to say it but you learn a lot from this class. However, you get the information forced into you in the most difficult way possible because most of the time, your TA isn't that good. The only resource you have is the powerpoint which is definitely insufficient so you're kind of stuck if you don't know the materials. At least for CS 33, you get a book to read. This isn't so. I wished the TA is better or at least provide some book for you to study so you don't get stuck doing something that should have been very basic. The projects themselves are really hard and very time consuming. TA office hours are not bad, depending on the TA you go to. Overall, this class is very informative but it could have been a lot easier if the classroom was taught correctly.
This TA-taught class is terrible. Straight up. I'm sure some of you have seen the "Bing is banned in China" memes on Reddit if you're taking this class--yeah, that post was for my section. This class is an absolute farce and doesn't even teach you what the syllabus says the labs will cover. Every single lab is confusing and doesn't even begin to care about the student--one of the labs just throws the word "frobnicate" at you like you should know what it means. It's absolutely ridiculous the lack of care this class shows the student. The prerequisites for this class simply list CS31--this is 100% a horrible idea. I took it concurrently with CS32 my winter quarter after 31, and unless you are literally a programming god who already knows the ins and outs of Unix-based environments, Python, C, and C++, there is no way to understand what is happening for the majority of the labs.
The TAs that I had the (dis)pleasure of coming across were a mixed bag, some were nice and helpful and some were just downright rude when you were trying to ask for help. There was also, of course, the incident with the TA who claimed Bing was not banned in China and straight up argued and fought with a group who was presenting about a news article they read that said Bing had been banned in China. I don't know whether or not it affected their grade, but I have a feeling it did.
The class suffers from a lack of cohesion in that every week is a completely unrelated concept compared to previous weeks. There were only ever 2 labs that were useful for further labs, and one of them required you to use a solution from a previous lab--however, the TAs didn't give you a solution for it and you didn't know your grade for the one you turned in, so you just had to work with your prior solution under the assumption that yeah, it probably works...? It took legitimately until the last week before grades were due to get 7 of the 10 lab scores back, meaning going into the final I knew only 15% of my grade (each lab is 5%).
The final was a massacre and Eggert (the first time I'd ever even seen the man) prefaced it with that they designed it to have a median of 50%. Furthermore, this quarter they decided to do a shared final with the other TAs instead of each TA having their own final, so I have no idea how that affected the curve. They didn't release the information, either.
Overall, I hated this class, and the amount of time I spent on it directly impacted by grade in CS32--a C+. My final recommendation here is to take it after CS33 (at the VERY least) and definitely DO NOT take it concurrently with other CS courses.
Workload, as stated by everyone before, is horrendous. Like I honestly don't know what was Eggert thinking(I still to this day have never seen the man because TA's do everything for 35L), so much is packed into each assignment and there is very little guidance on how to start it. Assignment 1 is an absolute pain. Assignment 2 is a maze of hieroglyphs that will take you hours to do, and there are many complaints to be said about other assignments. I did learn a lot, however, and there's the useful stuff like emacs, git, ssh, threading, but there is also the concepts that are put in there just because Eggert made them so he wants to show off(be ready for GNU Shuf), and are of zero practical use. But you will learn like 5 or 6 new things every assignment and the workload is insane for the class.
The final my quarter was also the first time it was a cumulative final for the entire class(all sections), very hard and sort of confusing, hopefully, they don't repeat it in later years, but Eggert is Eggert so you never know.
The saving grace of this class is by random chance, and I mean TA's. If you get a good TA as I did, who can articulate well and is helpful and actually cares, then you will be a bit better off because they will help you with the assignment(lab and hw) in the slides and all that, but if you get a TA who only cares about the stipend for his tuition, then you are in deep doo doo and I recommend going to other TA's office hours to get help.
God this class is awful. Graduating UCLA and the most awful experience of my life. There are way too many projects and too much material to review. It's great if you get some TAs who give most of the class great grades and is clear. If you get a ass of TA like mine, good luck. Doesn't explain and yells in class. Grades awfully and the average turns out to be 30~%. I still have nightmares.
Hi guys. I am leaving this comment to wish anyone who wil be in this class good luck. I just walked out of the lab after sitting there for 6 hours and completed nothing. The last assignment I have requires a hardware called beagalbone. Well, half of people in my session get worng item and I am one of those idiot.🙂 if you are required to take 35l, PLEASE GET WIRELESS BEAGALBONE GREEN. For this assigment, eggert tells you nothing about what you need to do. Literarily NOTHING. While you are counting on your TA, sadly they don’t seems to know these stuff than you. When I had a problem and ask for help, guess what my TA said? “There are another group having the same problem. Let me go and ask them how did they solve this.” Haha. People argue that this class is just how working likes in the real life. It’s funny how I paid huge tuition just for sitting in a lab using my own Mac to teach myself something super confusing while getting no help from anyone who is supposed to help me and may be receiving my tuition as salary. If you hate this class as well as I do, please please leave your voice. I sincerely hoping my tuition could be used better and someone could take over this class and pay more attention to teaching 35l well.
Unfortunately, this class is based on your TA. Eggert basically tells the TAs "Here are the topics and projects you have to teach, now go have fun" and the TAs are left to sift through the madness that is Eggert. They are there to help you get through his cryptic projects while somehow learning Linux, Python, Git, and seemingly random elements of C. I was lucky enough to have a competent TA. My friend was not so lucky. Along with a 3rd friend, we slaved over the harder projects (have fun with multithreading). I highly recommend taking this class with people you know, even if they're not in your section; for 2 of the projects, they actually require you to find a partner; with the other projects, you will benefit from having an extra set of eyes to collaborate with.
Over time, you'll appreciate how smart Eggert is. Though his specs are a nightmare to understand, once you get through it, you'll look at it and feel amazing for having completed it. A bunch of the projects feature bugs and patches in real-life open-source software that Eggert himself programmed back in the day. Holistically, it's really quite impressive.
Lastly, you will benefit from using Linux on your personal laptop. It's super easy to install alongside Windows, and took me more time to download Ubuntu than to actually install it. I say this because SEASNet Linux is infuriating to use if you don't have a strong internet connection. Therefore, it's easier to do the projects on your personal Linux, and test them on SEASNet every once in a while. In addition, the projects have weird requirements such as "making sure your files are ASCII text files that have no more than 80 characters per line, with no carriage returns." This is basically making sure the file is easily readable from the Linux command line, which isn't a problem if you're already using Linux.
The other comments speak truth in regards to your final and grade distributions.
This class is a lab... and it is curved based on the section. I ended up with a smart section unluckily and got a raw score of 88%. The final was apparently too easy...
I would say the concepts are very useful but the course is still poorly structured despite the changes including use of Beaglebone for one of the assignments. It is just that there is not really any real way to learn these concepts unless you practice using these tools outside of class. People who are familiar with Python and git will probably be in an advantage over the others just because there are just some things that if you are a beginner, you just won't know. You just won't suddenly master the nuances of a particular tool over one week - years of software engineering experience, or at the very least experiences with multiple side projects, will fare you better in learning these tools than reading the manual or something of that kind.
Although the class is poorly structured and definitely way too much work, I have to say I appreciate how I was taught to learn the material: with the steep learning curve from covering new topics every week. I am currently in my first software engineering internship and I have to say that the thought process from 35L has allowed me to acclimate to the steep learning curve of the tech stack used in the company I am interning at.
The assignments are tough since everything is new; I suggest to go through fire and take cs33 too at the same time (I did this plus cs33 Eggert): this is because later on, the linking and threads concepts overlap between these two classes.
For the final, it is luck as your TA writes it. I would suggest printing TA slides, assignments (using small font like 4 point font), ascii table, emacs reference card, regex cheat sheet, and Computer Systems: A Programmer's Perspective (literally, the CS33 textbook). Again, go through fire and take cs33 too since I wouldn't have been able to answer some questions on the final had I not learned it in cs33 or has the book as reference.
Good luck, and I came to UCLA with ZERO programming experience and I was able to pull an A going through 10 weeks of fire and suffering. You can do this; just put in ALOT of work! I certainly think it is very helpful for internships and software engineering in general.
This class is supposed to teach you the basics of software and languages used in upper division courses. You certainly will learn them, but saying that you are "taught" them might not quite be right.
First important thing to know is that the course is not taught by the professor - he only writes the assignments, and possibly the slides as well. The actual instruction is done entirely by the TAs, and as such the class is heavily dependent on whether you have the good fortune to end up with a helpful TA. Most of them like to read off the slides, and office hours can be difficult to make sometimes (assuming the TA even shows up to them, which I found they frequently did not.) The end result is having to brute force your way through things with Google. That being said, it's still important to show up to your Lab section; some TAs may divulge hints for how to do the assignments or what will be on the final.
Assignments vary greatly in difficulty. The simplest ones might take half an hour, the hardest ones could take the entire week. The good news is that the late policy is generous, costing you 2 ^ (n-1) % for a submission n days late. The bad news is that the assignments can often be very vague, and it's hard to know how to even start without ripping the answers from previous years off Github. Cheating is widespread, as the assignments don't change much (if at all) from year to year, but if you do choose to pull answers off Github, be warned that you do so at great risk: the assignment numbers are swapped, and slight details are usually added or removed each time. Not to mention that you don't actually learn anything if you just copy the answers.
The final is worth 50% of your grade, but it is open note and open book. The questions and grading are entirely at the discretion of the TA, so again, your mileage may vary. Linux commands, regular expressions, shell scripting, and C make up the core of the points, so make sure you have those down pat.
I scraped by with an A-, but I probably just got lucky with my TA and section (got one of the few that wasn't filled with CS majors.) The curve can be pretty harsh - some quarters they actually may curve downward. I wouldn't recommend this class to anyone who doesn't need it, but the material is undeniably useful, even if you have to struggle a bit to understand it at all.
I think the material in this class is really good. It gives you exposure to a lot of software that will relevant your future classes and jobs (i.e. Linux environment, etc.).
That being said, this TWO UNIT class is a lot of work and honestly pretty hard, since I'm assuming most people who take this class have never used Linux, git, ssh, threads, dynamic libraries, or done C programming (i.e. malloc, realloc, and free). A few people I'd assume would've touched on python a little bit, but not enough to make the project associated with the language any easier. Because of your noobiness, you're most likely going to find your entire quarter consumed by this TWO UNIT class because learning something new every week is really hard. A good number of people cope with the workload by just cheesing the class and using online sources to make every project rather trivial... but that kinda defeats the purpose of this class, which is to get acclimated to a lot of software at the steepest learning curve possible.
So that being said, I would say that the time and work that you put into this class is worth it because you learn a lot. It is kinda lame because Eggert could do a much better job at structuring the class to make it easier for the noobs who didn't know what they were getting into (i.e. be more elaborate in his specs). After all, I was one such noob. However, it is definitely a good class to take, and you'll realize this even more so as the years pass by during your journey to becoming a software engineer.
N.B. The finals are pretty random because they're all made by TAs. Some of them were jokingly easy while others were 60% the level of a typical Eggert exam. When I took it, I think had the hardest final (my TA was Lauren Samy). Honestly, it doesn't really matter, because if you know the material and did all the projects legitimately, you'll do fine.
I hate to say it but you learn a lot from this class. However, you get the information forced into you in the most difficult way possible because most of the time, your TA isn't that good. The only resource you have is the powerpoint which is definitely insufficient so you're kind of stuck if you don't know the materials. At least for CS 33, you get a book to read. This isn't so. I wished the TA is better or at least provide some book for you to study so you don't get stuck doing something that should have been very basic. The projects themselves are really hard and very time consuming. TA office hours are not bad, depending on the TA you go to. Overall, this class is very informative but it could have been a lot easier if the classroom was taught correctly.
Based on 150 Users
TOP TAGS
- Tough Tests (67)