Spring 2018 - Eggert's class never fail to piss me off. The amount of work required for this class is ridiculous, and the pacing is just way too fast. On top of that, we all know Eggert writes these impossible exams where the average is 40%. I put so much time into this class and still struggled. No one really knows what's going on and everyone copies code off Github.
I HIGHLY recommend Millstein for CS 131. I very thoroughly enjoyed the class. I might even say it's been my favorite so far. Compared to what the class would have been and compared to other CS classes, Millstein makes CS 131 pretty easy and very pleasant. My only complaint would be that he spent way too much time on ML because he absolutely loves that language. The first half of the class (homeworks 1-4 and all of the midterm) is based on OCaml (i.e. ML). Then the next two homeworks are based on Java and the last one is Prolog. His exams don't involve a lot of coding problems, and the few that are given are all pretty easy. What makes his exams a bit tough is that they are largely multiple choice. The multiple choice questions on the midterm were pretty tricky, especially because a lot of them are like "Circle all that apply," but I think the final was better for me. My tip for answering them would just be not to second guess your answer. If you know that one is right, but you also think another one MIGHT be right just because it sounds like it could be, just don't circle it. Be SURE that it's right, especially on those "Circle all that apply" questions. However, his exams are certainly not that difficult, but as a result, the averages for the midterm and final were pretty high (in the 80's). Homeworks were very enjoyable and doable. There are 7 HW's total and there was only 1 or 2 that were pretty challenging. He gives you about a week to finish each one, but most of them can easily be done if you start about 3 days ahead of time. A good majority of the class got nearly full points on their homework assignments. There is also one language exploration report that we did on C#, but it's only a maximum of 2-3 pages and you write it with a partner. Like someone else said, he probably gives you full points as long as you follow instructions. Just to give you an idea of the grading, I received nearly full points on all of my homework assignments, got a few points below the average on the midterm, and did fairly well above average on the final. I ended up getting an A. Make sure you don't mess around on the homework though because he incorrectly graded one of my homeworks, giving me only half the points, and that was enough to put me down to an A-. (He immediately fixed it though). Millstein isn't the perfect teacher though. He canceled a few of the lectures and many of his office hours, which may be irritating to people who prefer professors that are always there for his students. However, I will say that he DOES care for his students and he is concerned with your learning, but I guess he's not 100% reliable in terms of presence. Also, he does seem quite dry and stiff in lecture most of them, aside from a few jokes he makes about other languages that he considers inferior to ML, but overall, he's a pretty nice guy and his interactive teaching style (typing examples on his computer, kind of like Smallberg) makes up for it. All in all, I'd say definitely don't miss the chance to take CS 131 with Professor Millstein.