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

6.7 / 10
5.0 / 10
10-15 hrs/week
3.3 / 10


    Quarter Taken: Fall 2021 In-Person
    Grade: B+

    The class is very hard, especially with Eggert. The tests will be difficult but the projects and coding assignments are alright.

    Quarter Taken: Spring 2022 In-Person
    Grade: A


    Quarter Taken: Spring 2022 In-Person
    Grade: B

    Screw this dude. Screws us over with ridiculous projects and insane exams that are so hard to answer because he gets philosophical in his questions. He delves into a lot of redundant history and just generally goes on long tangents for extended periods of time, makes him seem like a good professor who wants to make students learn in depth but also makes me question what the point of some of his lectures is when they never make the exam. And after all this shithousery, he doesn't even curve our final grades. I ended up with a C despite being a consistently A/A- student because I did dogshit on his exams. He may have helped amplify my passion for CS, but I'm never taking another class with him again. My GPA and mental wellbeing took a strong hit with this dude.

    TLDR - If you care a lot about cs at the risk of your own sanity/free time/grades, by all means ignore this review. If you just want to learn stuff and do exams and do a project, be very careful about this man and this class. It will screw you over if you're not at the very top of your game.

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    The lectures seem a little disorganized at first, but once you get to the middle of the course, you will be able to see the big picture. There is no textbook, so make sure you are attending lectures and taking notes. I personally didn't like the group project, because of how little guidance was given for it. That said, the grading for it is pretty lenient.

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    The class itself needs lots of self-study, but that being said, it also prepares you a lot for real-life software development settings. Also, the materials relating to shell scripting and makefile is useful if you are interested in cybersecurity or fields that require rigorous low-level programming. Also, the professor is a die-hard scholar: he knows a lot of things in a great depth and you will learn a lot by asking many questions throughout the class. Overall, I would recommend this class for any fledgling programmers who would like to take their skills to the next level.

    One thing I say as a caveat though is that this class needs some serious work! Be expected to be stuck at homeworks so keep good use of Piazza, study groups, and office hours, whichever works best for you.

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    If you have to take this class, buckle up because, in my 2 years here, it has given me the most workload of any class by far.
    Eggert himself is pretty friendly and a super engaging lecturer. His lectures sound like TED talks, and I never found myself dozing off in his class. He is very intelligent, and I respect him as a software engineer. You will need to show up to lectures to do well on the exams because, for certain questions, he might allude to random points he makes during lectures.
    Speaking of the exams, they are notoriously difficult and there's not much you can do to study for them. The exams are conceptual and expect you to have mastered the material. Most people end up printing the entirety of their notes, myself included, which can help for 1 or 2 questions. The best way to study is to go over previous exams and the LA practice exams.
    Another major part of the class is the homework/labs. Eggert's late policy is very generous, but my advice is to only use it when you need to and just start the assignments early. You'll need the time. Google is your best friend here.
    You also have a final project where you create a full-stack web app, usually in a group of 5. If this is starting to sound like a lot of work, that's because it is. In my opinion, this is the most rewarding part of the class, but I encourage you to meet people early in the class and group up with people you trust. I made the mistake of grouping with randos, and maybe I'm just unlucky but none of them wrote a single line of code. So I spent every day from Friday Week 8 to Wednesday Week 10 working on this damn project.
    Similar to other reviews, I was disappointed with the lack of transparency and the obscene delays in grading. One of our assignments was due Week 4-5 but was returned a few days before grades were due. It took a toll on my mental health stressing over these grades, and looking back I should have just accepted that I get what I get. I don't understand how the curve works, but I'm pretty sure he goes for a B/B- average.
    Overall, you will learn a lot, but know what you're getting yourself into.

    Quarter Taken: Fall 2022 In-Person
    Grade: B+

    Eggert is an amazing lecturer, and I found most of the material very interesting. However, despite this, his tests and assignments are incredibly difficult and unfair. In his first lecture this quarter, he even admitted that he aims for the midterm score to be about 50%, and he claims to write parts of the midterm by randomly choosing a timestamp in a random recorded lecture and testing on it. And no, he does not curve grades. The tests are so poorly designed and integrated into the class that no amount of studying could have ever prepared me for them. The questions can test on random parts of the homework assignments, or anything he mentions for as little as a couple seconds during lecture.

    The homework assignments are very helpful to understanding the material but are typically very long. Unless you had prior knowledge in the material, a lot of the homework will take out 10+ hours of your week. Be prepared to do all-nighters because those deadlines come quick.

    Also, the final project (which is worth more than the final) will be an absolute dumpster fire if your groupmates don't do their work. Start early, and if you procrastinate, you will suffer.

    A final note to those who are NOT CS MAJORS: Unless you need this class to graduate, do NOT take this class. It is not worth the time or the effort. Well, that is unless you don't care about your grade possibly taking a hit, dumping in hundreds of hours of your time, or dealing with the emotional stress after failing an exam.

    Quarter Taken: Fall 2022 In-Person
    Grade: A-

    Eggert tended to ramble in lecture. You don't get much guidance in anything in the class especially with the group project and hws.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Hard. Eggert tests are impossible. Group project was fun. Assignments were pretty tough, in order of difficulty: 3 < 2 < 4 < 1 < 5 << 6.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Honestly just something you have to suffer through.


Paul R. Eggert
Previously taught
24S 24W 23F 23S 23W 22F 22S 22W 21F 21S
Formerly offered as

Grading Information

  • Has a group project

  • Attendance not required

  • 1 midterm

  • Finals week final

  • 13% recommend the textbook

Previous Grades

Grade distributions not available.