Software Construction
Lecture, four hours; discussion, two hours; outside study, six hours. Requisite: course 31. Fundamentals of tools and environments for software construction projects, particularly open-source platforms used in upper-division computer science courses. Software practice through collaborative student project. Letter grading.
Review Summary
- Clarity
-
6.7 / 10
- Organization
-
5.0 / 10
- Time
-
10-15 hrs/week
- Overall
-
3.3 / 10
Reviews
Eggert is very knowledgeable but he tends to just drown you with information in lecture and he kinda jumps all over the place as he things of things. It's a tough class but definitely doable as long as you get with the right group for your quarter-long project which is building a web app. Definitely take thorough notes on everything he says in lecture and make sure to start studying early and you should be fine.
It's no secret that this class is a horribly designed class with long assignments, an absolutely insane project that you have no support for, and horrible exams, so instead, I'm dedicating this review to the TA's, who are to be blunt pretty awful. The class was so poorly organized with very long waits to get grades, and the TA's would often contradict the professor and each other about the requirements for each assignment/project. Additionally, we would receive grades for different assignments for different places, and they would take points off for regrade requests deemed insufficient. Special shoutouts to Arvind Vepa, who is easily one of the worst TA's I've come across. Vepa was super anal about grading, whether it be the project or assignments or tests. Hell, in Fall 2022, Vepa apparently graded his section's projects so harshly that Eggert of all people had to intervene and give that section better grades for their projects.
Anyways, if you don't need this class, don't take it. It's not worth the stress.
Each Paul Eggert lecture feels like an open window into his mind. He is incredibly expressive during lectures—his over 50 years of experience in software development truly provides profound insights.
Topics such as shell scripting, regular expressions, and Git internals may seem boring, but Eggert finds a way to make them engaging, topical and interesting.
Yes, his exams are difficult, but they are questions pulled directly from lecture. If you print out your lecture notes, you should be able to answer every question on his exams. I am not sure what the other reviews are talking about.
However, while Eggert was an absolute charm to learn under, his TAs were the most unprofessional, embarrassing, and unorganized I've ever seen. Particular TAs, such as Jason Kimko, were power-hungry and arrogant, and would take off points for "wasting his time." Regrade requests were met with defensive comments suggesting that their point of view could never be wrong.
In addition, each TA would have guidelines for how the project would be graded. Some have more emphasis on Git commits, others on presentation, etc. You could get massively screwed over if your TA decides to grade it ever so differently than the others.
However, I will say that the TA I had, Yuxing Qiu, was the nicest TA ever. She also had very fair grading for the project.
Overall, this class was an amazing experience. Eggert is a natural lecturer and provides a lot of experience and wisdom about the field.
Eggert is amazing and very knowledgable on everything he is teaching. His tests are some of the hardest tests you will ever take. Some of the questions HE doesn't even know the answer to he just wants to see how you would answer it. However, overall it is a very worthwhile class to take.
The class is very time-consuming but all of the topics are useful.
It's pretty difficult to keep up with the homeworks, so I suggest mainly focusing on understanding the assignments until test time, and rewatch the lecture recordings before the exams.
The assignments come out of nowhere relative to the lectures sometimes, the lectures are sometimes irrelevant, sometimes necessary, the by week 9 we currently have 1 of 6 assignments graded which is very frustrating, the test content is all over the place, of varying depth and relation to what we actually learned, and for some questions were graded on rubrics that were overly biased toward the one solution they had. The group project is fun though, although I am not sure on how harsh the grading will be. Overall the issue is that the course while having very interesting content, has assignments and grading that make it a huge headache.
Professor Eggert is a very good lecturer, but it seems that he does not communicate with his TAs much and takes a very hands-off approach for the homework. Sometimes I felt that our assignments were graded in a way that didn't match the instructions which we were given.
Great lecturer, just got railed by the assignments. Taking 111 with eggert now I would say is actually easier than 35L. Just make sure to start the assignments early and print them out for the midterm and final, there's always one question expanding on one of the assignments.
Professor Eggert is notorious at UCLA for being incredibly difficult. I acknowledge that he knows what he's talking about and is an expert; a walking encyclopedia. However, the class itself was formatted poorly. We learned content needed for the homework after the homework was due. There was little guidance and I really struggled with this. However, I learned a lot from this class and definitely could learn more.
Course
Grading Information
-
Has a group project
-
Attendance not required
-
1 midterm
-
Finals week final
-
12% recommend the textbook
Previous Grades
Grade distributions not available.