Your feedback has been sent to our team.
8 Ratings
Hours/Week
No grades found
— Students
While the class average was D+, the professor constantly threatened students that he would fail them because he is not going to curve. He does not really care what the class average is. However, if you ask him to explain things during office hours, he will spend some time with you. You must get all the help you can get from the undergraduate TA's in order to pass, because his lectures are not really helpful for homework assignments, which is 35% of the course grade.
However, if you can avoid this professor, you should.
Class had about 70 students, and there was only one TA. Homework assignments were brutal and very time consuming, and there was a clear lack of communication between professor and the TA, since the TA would send the students required formats of the homework THE DAY BEFORE they were due! Each homework assignment took about 20 hours to complete, and it feels as if Grimshaw thinks the only class you're enrolled in is this one. There was one midterm, and many students did poorly on it because he simply gave no partial credit. Missed one line of code? You lost 40% on the test. I would tell everyone to stay away from this course, but sadly it is required to graduate with a degree in CS/CpE.
Grimshaw gets a bad rap, but he is honestly one of the best professors in the department. Go to his office hours and you'll see that he actually cares about you learning. He's not "looking to fail you". He just has higher expectations and stricter requirements than most others. Yes, it's a hard class, but by this point in the major you should be a reasonably proficient programmer that is able to handle difficult assignments.
Logistically there were some issues simply because some requirements were not communicated clearly and there was only one TA, but the course itself is very worthwhile, challenging, and stimulating.
This is a very hard course, but also a very good course. Grimshaw is one of the better lecturers in the CS department and very clearly is an expert in the subject. If you put in the work, you will come away with a strong understanding of operating systems. This means actually reading the textbook when he tells you to and starting homeworks early. The homeworks were hard. I agree with the other review that said they take ~20 hours each to do. That's accurate for the first and third homeworks. However, there are only 5 of them, so the weekly workload of ~10 hours per week is not unreasonably bad. What I never understood was why people continued to put off starting the homeworks after the first one. There was no excuse in my opinion for people not being able to finish the third homework. It was announced 3 weeks in advance and we went over a solution to the hardest part of it in class 1.5 weeks before the due date. I know many people started this homework late and had trouble finishing it. That reflects on them, not the class. The homework was hard but it was doable. HW2 and HW5 were very easy and helped to offset the other 3 from a difficulty perspective.
The tests were very reasonable in that they didn't ask absurd questions about small details in the textbook - they tested important concepts that Grimshaw emphasized in class. I saw one reviewer mentions "missing one line of code? -40 % on your exam". This is true. Grimshaw announces at the beginning of the course that there will be one problem on synchronization that will be 40% of the midterm and 25% of the final. He tells you the problem in advance and emphasizes that if there is one thing to take away from the class, the solution to this particular problem is it. Answering this problem is easy - either memorize or understand a 10 line solution to a synchronization problem. It's announced so far in advance and repeated so often that I see no reason for people to complain about it being unfair. Aside from the big synchronization problems, the tests are either straightforward conceptual problems or coding problems similar to homework problems. Grimshaw has something called a "No BS bonus" where if you leave a problem blank, you get 20% of the points. If you give a wrong solution, you get no points. To the person who complained about "-40%", this policy was explained in advance. If you are not confident about your answer, take the no BS bonus, don't put something wrong down.
The bad: the end of the course was a mess. We had two homeworks due in the 1.5 weeks after thanksgiving, and did not recieve feedback until well after the final. The grading criteria for these homeworks was not specified well in advance, and many people got 0s on the code portion because of this. They were allowed to resubmit, but the criteria should have been specified beforehand to avoid this problem. It was unreasonable to have students redo homeworks during finals because the instructions were not clear.
Overall, this is a good course and Grimshaw is a good lecturer. The homeworks and material are hard, but that is to be expected from a 4000 level course. This isn't databases - it's not a GPA booster. It's a follow on to computer architecture. It is very possible to get a B in the course with a reasonable level of effort. Expect to work hard and you will do well.
While I thought the exams were much more fair than I was led to believe by others, I strongly disagreed with how the homework assignments were laid out.
While the coding part of the homework was by far the hardest part of the assignments, the homework written report was weighed equally. This would be fine, except for the fact that the instructions for how this report was to be structured was very vague and did not line up with what the graders were looking for. Furthermore, we were not given any sort of written assignment template until AFTER the first assignment was due, and the template we were given was impossibly vague. That is to say that the written response template focused on restating the problem our homework was meant to solve and then describing our particular solution to the problem, including any data structures or algorithms we designed to complete the assignment. The template gave me, and judging by the grades every time, others, the impression that we were to describe how we, as an individual, approached the assignment; however, the TAs were told to grade based on how well we restated what was already described at length in class. While there is certainly merit to demonstrating that you understood the general solution, this was NOT the made clear in what little directions we were provided, as I feel I was grading relatively arbitrarily because of this. We were provided with a sample report at the start of the semester, BUT it was written for a different class, was over a decade old, and did not even use the same sections we were told to use, making the sample document effectively worthless.
Additionally, the massive grade penalty incurred by failure to turn in the homework was, as I understood, new this semester. A particularly high number of students, myself included, were forced to turn in several assignments late simply because the required a great deal of time and effort that not all of us could offer by the deadlines, which was a fact the instructor was well aware of from teaching the class for around a decade. He even joked repeatedly how ~40% of the class received an incomplete in the prior semester because they could not finish the assignments on time. Instead of redesigning or otherwise simplifying the problem assignments in response to the obvious issues they had posed in past semesters, we were given the exact same homework assignments, often without the dates changed over from last semester. Additionally, while several issues were known from previous semesters (such as information in the problem description being incorrect or incomplete), the problem description documents were never updated. Instead, we were forced to meticulously watch Piazza for every single post or response to learn about the small (and big) special cases that were never specified in the problem statement. This was endlessly frustrating, and reflects on the poor understanding of the professor on how to assign useful, fair, and effective graded assignments.
While I learned a "great deal" in this course, it was despite the course layout and content, not because of it. This class represents a very important part of any CS curriculum, and it is clearly in need of significant restructuring. Because of how long this class has been taught by this instructor, it is doubly shameful to not have figured out the most basic issues by this point.
Get us started by writing a question!
It looks like you've already submitted a answer for this question! If you'd like, you may edit your original response.
No course sections viewed yet.