- 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
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.
Overall, this is a good class. You learn many valuable skills from a broad range of topics like git, multithreading, python, regex, and emacs. However, it is run quite poorly. You never see the professor, and only learn from the powerpoints given by your TA. My TA had a strong accent and I could barely understand him.
The projects vary in difficulty. Some take < 4 hours, some take 12+ hours. You are mostly left to figure out how to do the projects by yourself.
The final is written by your TA, so the difficulty depends on your TA. I thought my final was easy, but my friends in other sections said theirs was hard. You are graded on the curve of your section alone though.
A big problem in this class is the grading. Don't expect to get the grades back for assignments until after the final. And don't expect to find out what you got wrong. The grading policy lets you turn assignments in late for barely any penalty though, which is nice.
My advice is to start the projects early, even before the quarter starts (the website for past quarters is online, and it hardly changes from quarter to quarter.)
You learn nothing from Professor Eggert. You learn everything from TA's slides, so this class would have been much easier if you had a good TA.
Assignment specs are vague and slides usually do not cover everything you need to know. Everything is fast-paced and basically I forgot most of them after the final. However, I do really remember how to use man command and google...
Assignment 2, 3, 5 are very very very very time consuming. Please please please start early. Note that you only lose 1% of that particular homework grade, which counts just 0.05% of your final grade if you submit one day after the due date. Thus, if you have something malfunctioning on the due date, fix them completely and turn them in a day later.
Finals are not hard are very similar to practice finals, but make sure you really understand how to use Shell Script, Python, C. You should also FULLY understand how to use regular expressions and posix thread. Please please please prepare for the final because it counts 50% of your grade.
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.
Overall, this is a good class. You learn many valuable skills from a broad range of topics like git, multithreading, python, regex, and emacs. However, it is run quite poorly. You never see the professor, and only learn from the powerpoints given by your TA. My TA had a strong accent and I could barely understand him.
The projects vary in difficulty. Some take < 4 hours, some take 12+ hours. You are mostly left to figure out how to do the projects by yourself.
The final is written by your TA, so the difficulty depends on your TA. I thought my final was easy, but my friends in other sections said theirs was hard. You are graded on the curve of your section alone though.
A big problem in this class is the grading. Don't expect to get the grades back for assignments until after the final. And don't expect to find out what you got wrong. The grading policy lets you turn assignments in late for barely any penalty though, which is nice.
My advice is to start the projects early, even before the quarter starts (the website for past quarters is online, and it hardly changes from quarter to quarter.)
You learn nothing from Professor Eggert. You learn everything from TA's slides, so this class would have been much easier if you had a good TA.
Assignment specs are vague and slides usually do not cover everything you need to know. Everything is fast-paced and basically I forgot most of them after the final. However, I do really remember how to use man command and google...
Assignment 2, 3, 5 are very very very very time consuming. Please please please start early. Note that you only lose 1% of that particular homework grade, which counts just 0.05% of your final grade if you submit one day after the due date. Thus, if you have something malfunctioning on the due date, fix them completely and turn them in a day later.
Finals are not hard are very similar to practice finals, but make sure you really understand how to use Shell Script, Python, C. You should also FULLY understand how to use regular expressions and posix thread. Please please please prepare for the final because it counts 50% of your grade.
Based on 146 Users
TOP TAGS
- Tough Tests (67)
- Has Group Projects (58)