- Home
- Search
- Paul R Eggert
- All Reviews
Paul Eggert
AD
Based on 350 Users
Let me be clear, GitHub and StackOverflow are your teachers in this class. That, and the phrase "20+hrs/week" are all you need to know about this class.
before I took this course, I used to like programming
As the last batch of this class, I find it to be my responsibility to pass on the information of this course to the lurkers who wish to find out what this class was and learn more about the prologue of what is now CS 97.
Quite contrary to many of the other reviewers, I... liked this class. As someone who didn't know CS terminologies and tools out of the box, like git, bash, text editors, etc, I find this to bring me up to speed with what a lot of people come into college knowing in CS.
I did the projects 100% on my own, and it was worth it. I learned so much from this course. Yes the topics were split up by week, completely different from the other so it seemed quite disorganized, but as Professor Eggert would put it, this class is to help you learn how to learn. In that respect, this class achieved the objective.
The final was 50% of the grade which sucked but it's a great excuse to make sure that you know your stuff well when you exit the class. Because, well, CS 111 will kick your ass harder if you don't know stuff from this one.
The course was also a stage for Professor Eggert to flex about his Emacs contributions and GNU Linux contributions. You'll see his name on the command line more than you'll ever see it in class (it is TA-led, after all) and half of the answers to the assignment questions had his name popping around somewhere or the other.
Well, I must say that there are two reasons that this class was significantly more mangeable and merrier than previous batches. Primarily, we had an autograder, so we kinda knew our scores on submitting and could ask TAs on and off about which test cases we weren't hitting. Secondly, it was online, so the final exam format was that you have the internet and the servers to your disposal when attempting the exam, and you're kinda expected to use it.
Shoutout to Madhu the TA for being awesome in this quarter.
Well, not like this course will be offered again so, adios. Hope you ace CS 97, or whatever CS class that might be the standard software construction lab in the future.
Special shoutout to Tang Mohan for being the most useless and careless TA of all time. Good job for not explaining jackshit and talking down on students who want to get clarity for the most convoluted questions ever written on the exams. You fucking suck.
Beware of this class! 35L drained so much of my time, so make sure to schedule your quarter appropriately. As others have stated, there needs to be some restructuring.
This class had 2 lab sections per week, with a lab assignment due at the beginning of each week. Attendance for these sections is not mandatory, and usefulness depends on ur TA. Labs 2, 4, 5, and 9 were especially time consuming for me, and all the other labs were still either difficult or annoying af. I turned in most of the labs late, so my lab average was about an 82. I did feel like I learned a lot from trying to do the labs, but this did not help at all for the final lmao. I pulled up with textbooks and hundreds of pages of notes and scored around the median (52), which got me a B. The final was 17 PAGES of the hardest shit ever. Each of the 10 questions were weighted equally and had to do with one of the labs. I straight up left a question blank after reading the directions lool and totally guessed on the multiple choice. There were basically no free points at all, so good luck on that lmao. 3 units does not correspond at all to the necessary workload of this course, and after hours and hours of work I escaped with a B. This class also takes hella time away from all your other courses, so be ready for that
This class is going to change your life, but not in a good way. CS 35L is basically a lower division capstone project, and takes up so much of your time. DO NOT take other challenging courses in the same quarter unless you're already familiar with Emacs, Git and a few programming languages.
By change your life, I mean that you will change all your schedules to work around Eggert. Your holidays and free time will be spent working on his homework or project. Say goodbye to a normal study schedule as assignments will probably take longer than you need.
I actually liked Eggert's lectures and he covered some interesting concepts (would be a great guest lecturer). However, it is so out of sync with the homework and project that you will find yourself thinking that the class is broken (I did several times). You have to remember that his lectures are more or less independent of the rest of the class. If the assignment involves coding in Python, don't wait for his Python lecture before starting. Use TA notes and your own knowledge to start projects ASAP, as that's the only way to not fall behind.
The group project at the end is about programming a web app from scratch, which is actually pretty fun if you have a good team. You are free to choose whatever idea and technology stack works for you, and there are lots of tutorials available as needed.
Eggert's exams though... if you have a mindset of aiming to get 100%, it's time to let that go. He makes his exams extremely challenging and long, and a lot of it is computer science theory (meaning answers are paragraphs and it almost seems like a philosophy exam). While you will almost definitely be depressed with your exam scores, remember that Eggert wants a bell curve and tries to use it as needed.
Best of luck, you'll need it
The other reviews are right. This class is a LOT of work. Labs are difficult. Lectures do not go over how to do them. You have to figure out a lot of it yourself (lots of googling). Discussions are also helpful, depending on your TA, with some good hints. Exams are also very hard, that's how Eggert exams are. Open book/notes, but somewhat more difficult conceptually (combine 2 ideas, pros and cons of a hypothetical program to create, etc), as well as some coding problems. Open notes helps, but not much. You need a good understanding of the material to succeed. Grading was very slow this quarter, we didn't have grades on any of the 6 assignments until after the final :/. Very untransparent, which was frustrating. All that being said, this class was VERY helpful. Eggert is a great lecturer, and incredibly smart. He definitely knows what he's talking about (ex: he coded part of emacs, which you use in this class). It's certainly difficult, and labs can be quite tedious, especially because his lectures just discuss the concepts/background of what you're doing, and you have to figure out the syntax/process. But I definitely am thankful I had this class, I learned a LOT. Might be an unpopular opinion, but I intend to take more classes with him (at least 131). You learn a lot in this class, and its a very valuable experience, potentially at the cost of a slightly lower GPA.
Eggert, as a lecturer, is very enthusiastic and knowledgable. I can tell he is super passionate about computer science and knows a ton. However, the workload and rigor of this class is TOO MUCH. I can barely catch a break while I was in this class. The professor's lectures were all over the place, with no clear direction and random concepts thrown in as a mush. I still do not understand many of the concepts of the class. Eggert's exams were impossible to study for, as he just puts whatever he wants. Overall, I applaud him for being a good lecturer, but the course needs to be organized better.
I think I learned a lot from this course, but at the expense of my mental health unfortunately. The lectures are a bit all over the place in terms of organization, and it is sometimes difficult to know what are the essential concepts to take away from a lesson are. I do appreciate the professor's enthusiasm and extensive domain knowledge on the subject, and his little tidbits and asides kept the lectures from being dull. He is also really good at addressing questions that are brought up during lecture and is approachable in that regard. Overall, the lectures were very informational, but not very digestible. Sometimes the "bigger picture" was lost in the focus on minute details.
The homework/projects, on the other hand, are an utter mess. I wish I was being hyperbolic. The assignments are written in a way that almost seems like they are intentionally trying to be confusing and frustrating for students. I quickly learned that there is very little point in starting the homework before discussion section because it is simply not worth my time to decipher (and probably misinterpret) the assignment. Luckily, the TAs are great in filling the gaps in this respect, but their absolute necessity to make any meaningful progress on the assignments is very telling of their quality. Keeping updated on every Piazza post is a must to not lose points on arbitrary requirements that were mentioned vaguely, if at all in the assignment. For example, the Scheme parsing assignment is nearly impossible to complete by just reading the very open-ended specifications -- you almost have to code against the already additional sample test cases provided by the TAs to have a chance to do well or spend hours writing code to handle edge cases at random. This was especially frustrating because new test cases would be updated multiple times throughout the assignment period, though I am at least thankful they existed to make up for the shortcomings of the specification.
The stress of these assignments that many students complain about come from this dispiriting experience of programming based on assumptions that they are forced to make while waiting on TA's to confirm/deny via Piazza. It is sad to say that it is actually a viable strategy to wait for these Piazza clarification posts before starting the assignment. Overall, even though the assignments could be better formulated, I did feel like I learned a lot about the different programming styles by completing them. It's just a shame that my experience had to be this way, and although I think the TAs did a great job considering these circumstances, the course should be able to stand on its own.
did not actually take this class but it fully fucked my friend. prayers up for my billah boys
As the last batch of this class, I find it to be my responsibility to pass on the information of this course to the lurkers who wish to find out what this class was and learn more about the prologue of what is now CS 97.
Quite contrary to many of the other reviewers, I... liked this class. As someone who didn't know CS terminologies and tools out of the box, like git, bash, text editors, etc, I find this to bring me up to speed with what a lot of people come into college knowing in CS.
I did the projects 100% on my own, and it was worth it. I learned so much from this course. Yes the topics were split up by week, completely different from the other so it seemed quite disorganized, but as Professor Eggert would put it, this class is to help you learn how to learn. In that respect, this class achieved the objective.
The final was 50% of the grade which sucked but it's a great excuse to make sure that you know your stuff well when you exit the class. Because, well, CS 111 will kick your ass harder if you don't know stuff from this one.
The course was also a stage for Professor Eggert to flex about his Emacs contributions and GNU Linux contributions. You'll see his name on the command line more than you'll ever see it in class (it is TA-led, after all) and half of the answers to the assignment questions had his name popping around somewhere or the other.
Well, I must say that there are two reasons that this class was significantly more mangeable and merrier than previous batches. Primarily, we had an autograder, so we kinda knew our scores on submitting and could ask TAs on and off about which test cases we weren't hitting. Secondly, it was online, so the final exam format was that you have the internet and the servers to your disposal when attempting the exam, and you're kinda expected to use it.
Shoutout to Madhu the TA for being awesome in this quarter.
Well, not like this course will be offered again so, adios. Hope you ace CS 97, or whatever CS class that might be the standard software construction lab in the future.
Special shoutout to Tang Mohan for being the most useless and careless TA of all time. Good job for not explaining jackshit and talking down on students who want to get clarity for the most convoluted questions ever written on the exams. You fucking suck.
Beware of this class! 35L drained so much of my time, so make sure to schedule your quarter appropriately. As others have stated, there needs to be some restructuring.
This class had 2 lab sections per week, with a lab assignment due at the beginning of each week. Attendance for these sections is not mandatory, and usefulness depends on ur TA. Labs 2, 4, 5, and 9 were especially time consuming for me, and all the other labs were still either difficult or annoying af. I turned in most of the labs late, so my lab average was about an 82. I did feel like I learned a lot from trying to do the labs, but this did not help at all for the final lmao. I pulled up with textbooks and hundreds of pages of notes and scored around the median (52), which got me a B. The final was 17 PAGES of the hardest shit ever. Each of the 10 questions were weighted equally and had to do with one of the labs. I straight up left a question blank after reading the directions lool and totally guessed on the multiple choice. There were basically no free points at all, so good luck on that lmao. 3 units does not correspond at all to the necessary workload of this course, and after hours and hours of work I escaped with a B. This class also takes hella time away from all your other courses, so be ready for that
This class is going to change your life, but not in a good way. CS 35L is basically a lower division capstone project, and takes up so much of your time. DO NOT take other challenging courses in the same quarter unless you're already familiar with Emacs, Git and a few programming languages.
By change your life, I mean that you will change all your schedules to work around Eggert. Your holidays and free time will be spent working on his homework or project. Say goodbye to a normal study schedule as assignments will probably take longer than you need.
I actually liked Eggert's lectures and he covered some interesting concepts (would be a great guest lecturer). However, it is so out of sync with the homework and project that you will find yourself thinking that the class is broken (I did several times). You have to remember that his lectures are more or less independent of the rest of the class. If the assignment involves coding in Python, don't wait for his Python lecture before starting. Use TA notes and your own knowledge to start projects ASAP, as that's the only way to not fall behind.
The group project at the end is about programming a web app from scratch, which is actually pretty fun if you have a good team. You are free to choose whatever idea and technology stack works for you, and there are lots of tutorials available as needed.
Eggert's exams though... if you have a mindset of aiming to get 100%, it's time to let that go. He makes his exams extremely challenging and long, and a lot of it is computer science theory (meaning answers are paragraphs and it almost seems like a philosophy exam). While you will almost definitely be depressed with your exam scores, remember that Eggert wants a bell curve and tries to use it as needed.
Best of luck, you'll need it
The other reviews are right. This class is a LOT of work. Labs are difficult. Lectures do not go over how to do them. You have to figure out a lot of it yourself (lots of googling). Discussions are also helpful, depending on your TA, with some good hints. Exams are also very hard, that's how Eggert exams are. Open book/notes, but somewhat more difficult conceptually (combine 2 ideas, pros and cons of a hypothetical program to create, etc), as well as some coding problems. Open notes helps, but not much. You need a good understanding of the material to succeed. Grading was very slow this quarter, we didn't have grades on any of the 6 assignments until after the final :/. Very untransparent, which was frustrating. All that being said, this class was VERY helpful. Eggert is a great lecturer, and incredibly smart. He definitely knows what he's talking about (ex: he coded part of emacs, which you use in this class). It's certainly difficult, and labs can be quite tedious, especially because his lectures just discuss the concepts/background of what you're doing, and you have to figure out the syntax/process. But I definitely am thankful I had this class, I learned a LOT. Might be an unpopular opinion, but I intend to take more classes with him (at least 131). You learn a lot in this class, and its a very valuable experience, potentially at the cost of a slightly lower GPA.
Eggert, as a lecturer, is very enthusiastic and knowledgable. I can tell he is super passionate about computer science and knows a ton. However, the workload and rigor of this class is TOO MUCH. I can barely catch a break while I was in this class. The professor's lectures were all over the place, with no clear direction and random concepts thrown in as a mush. I still do not understand many of the concepts of the class. Eggert's exams were impossible to study for, as he just puts whatever he wants. Overall, I applaud him for being a good lecturer, but the course needs to be organized better.
I think I learned a lot from this course, but at the expense of my mental health unfortunately. The lectures are a bit all over the place in terms of organization, and it is sometimes difficult to know what are the essential concepts to take away from a lesson are. I do appreciate the professor's enthusiasm and extensive domain knowledge on the subject, and his little tidbits and asides kept the lectures from being dull. He is also really good at addressing questions that are brought up during lecture and is approachable in that regard. Overall, the lectures were very informational, but not very digestible. Sometimes the "bigger picture" was lost in the focus on minute details.
The homework/projects, on the other hand, are an utter mess. I wish I was being hyperbolic. The assignments are written in a way that almost seems like they are intentionally trying to be confusing and frustrating for students. I quickly learned that there is very little point in starting the homework before discussion section because it is simply not worth my time to decipher (and probably misinterpret) the assignment. Luckily, the TAs are great in filling the gaps in this respect, but their absolute necessity to make any meaningful progress on the assignments is very telling of their quality. Keeping updated on every Piazza post is a must to not lose points on arbitrary requirements that were mentioned vaguely, if at all in the assignment. For example, the Scheme parsing assignment is nearly impossible to complete by just reading the very open-ended specifications -- you almost have to code against the already additional sample test cases provided by the TAs to have a chance to do well or spend hours writing code to handle edge cases at random. This was especially frustrating because new test cases would be updated multiple times throughout the assignment period, though I am at least thankful they existed to make up for the shortcomings of the specification.
The stress of these assignments that many students complain about come from this dispiriting experience of programming based on assumptions that they are forced to make while waiting on TA's to confirm/deny via Piazza. It is sad to say that it is actually a viable strategy to wait for these Piazza clarification posts before starting the assignment. Overall, even though the assignments could be better formulated, I did feel like I learned a lot about the different programming styles by completing them. It's just a shame that my experience had to be this way, and although I think the TAs did a great job considering these circumstances, the course should be able to stand on its own.