Lecture, four hours; discussion, two hours; outside study, nine hours. Enforced requisite: course 32. Introductory course on computer architecture, assembly language, and operating systems fundamentals. Number systems, machine language, and assembly language. Procedure calls, stacks, interrupts, and traps. Assemblers, linkers, and loaders. Operating systems concepts: processes and process management, input/output (I/O) programming, memory management, file systems. Letter grading.

Review Summary

Clarity
6.7 / 10
Organization
6.7 / 10
Time
5-10 hrs/week
Overall
8.3 / 10

Reviews

    Quarter Taken: Spring 2019 In-Person
    Grade: A

    Reinman is great! He gave fair exams and the labs were pretty fun.

    Quarter Taken: Spring 2021 Online
    Grade: B+

    Reinmann was extremely boring during lecture and his tests were extremely difficult. Think avg 50 score on midterm. Overall grade distro was A-33/B-33/C-33

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

    Lectures: CS 33 under Reinman was a flipped classroom structure in which you watch a lecture video before attending the actual lecture. This proved to be an awful structure - it was time consuming, yet Reinman was a very confusing lecturer, meaning that despite having to spend 6+ hours listening to lectures per week, you were unlikely to understand the material that well. To make things worse, some of the material on the exam only appeared in Reinman's in person lecture, so you had to attend them. It doesn't help that Reinman is not very engaging either.
    Labs/Homeworks: Homework consists of textbook problems. Labs consist of the Data, Bomb, Attack, and Parallel Lab - the first three are copied from CMU's 15-213 class. I honestly enjoyed Bomb and Attack lab, however data lab was very difficult due to the lack of hints, and parallel lab was just stupid - there was really only one way to approach the lab which was given away by the TA, so why bother? Also, the latter three labs all have extra credit - make sure to get them.
    Discussion: They are mandatory, however, even if they were not, they're 100% worth going. The TA's really do hard carry this class - they explain better than Reinman, and provide worksheets that are good practice for the Exams.
    Exams: What the fuck happened here. The midterm was only 40 minutes long, and consisted of 4 very hard questions. The average for this midterm was a 49. The final was a bit better, but was still very difficult with the average being a 62. As stated before, the final involved material covered only in Reinman's very dry in person lecture, so the final still didn't feel all that fair tbh.
    Reinman's Attitude: Reinman's attitude this quarter was something. After the first midterm, Reinman sent two very condescending emails accusing most of the class of cheating due to the low averages on the midterm, while failing to take into account the lack of time on the midterm as well as the very difficult and confusing nature of the questions. After the final, Reinman once again sent a condescending email, this time complaining about the poor course evaluations he received. Reinman, if you are reading this, maybe try being less condescending and take some responsibility for the issues with this class for once!
    Grading: The curves on Bruinwalk are a lie. The actual curve was a roughly 33 - 33 - 33 distribution for A, B and C grades respectively (+'s and -'s included).
    Overall I wouldn't recommend Reinman - he was not a good lecturer and was very condescending as well. That said, Spring is still the most convenient quarter to take CS 33 for most CS students, and CS 33 is a hard class regardless, so I don't think avoiding Reinman and taking Nowatzki in the fall is a must either. However, do consider the pros and cons of this class before taking it.

    Quarter Taken: Spring 2022 In-Person
    Grade: B-

    Pre-class lecture vids were pretty unhelpful, as were the examples he blazed through in class. It felt like he was talking a mile a minute with the assumption we had a baseline understanding of the material. He did say he would be changing his teaching strategies moving forward.

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

    This class was far harder than it should've been. It almost felt like Reinman was deliberately trying to make students' lives harder. Exams were weighted very heavily, and points were given only if you got the final answer correct.

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

    It was OK, Reinman said he was getting rid of his flipped classroom approach next quarter

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    I agree with the other reviews from Spring '22 that this quarter did not go so well, and I'm surprised Reinman has such good reviews from previous quarters.

    This class used a flipped classroom approach. Normally, I'm okay with (and even prefer) flipped classrooms, but in this class it was not executed well. Before each in-person lecture, there would be a prerecorded lecture (usually between 30-70 mins). The prerecorded lectures were extremely dense. In the in-class lectures, Reinman would go over some content from the videos, answer questions, and do examples. The in-class lectures were extremely disorganized; I definitely got more out of them by watching the recordings afterwards instead of attending live. That way, I could watch the unimportant parts at 2x speed and focus more on the examples, pausing and making sure I really understand them. The in-class examples are super important for exams, so be sure to focus on those. Definitely don't try to memorize every detail of the pre-recorded lectures, because that won't help you for the tests (though still understand them). The midterm and final both contained questions that were very similar to the in-class examples. Overall though, the flipped classroom approach was extremely inefficient. Despite Reinman's insistence that the flipped classroom approach doesn't require more time, we'd be spending 5-6 hours per week just on lecture, and only some of it was relevant for the exams or labs. I'm sure there must be a more efficient way to teach the class.

    There were four labs, each worth 8% of the grade. I'd say the order of difficulty, from hardest to easiest, was data lab, bomb lab, attack lab, and parallel lab. Basically, the labs got easier as the course went on. Bomb and parallel lab had extra credit. I found bomb and attack labs to be quite fun! It's important not to procrastinate -- start labs at least 2 days in advance. I learned this the hard way by ending up in the hospital due to a stomach ulcer from drinking too much caffeine the day parallel lab was due because I falsely assumed it would be super easy and procrastinated on starting it, lol. The deadlines on labs (and homework) are very firm, so you won't have as much leeway as you did with CS31/32 projects. Unlike the CS31/32 projects though, you can definitely get 100% or more on each lab since all the test cases are provided, allowing you to know what grade you will get before you submit. It's possible to do the labs using brute force and other tactics, but I'd strongly recommend against that since you won't be able to do that on the tests. Attack lab and particularly bomb lab are emphasized on the final, so make sure you truly understand each step on a deep conceptual level and don't over-rely on the debugger.

    There was one homework each week. The first homework was super difficult for some reason but the rest were fine. They are graded on completion, but don't slack off on them because they are important for the exams. Some test questions were similar to homework problems.

    Discussion was mandatory, which was annoying, but overall I kind of liked it since we can get an easy 10% of our grade by just attending. I found discussion, particularly the LA worksheets, to be very helpful. The worksheets are graded on completion and our LA's compiled a document with in-depth solutions and explanations.

    The exams were very tough. We only got 40 minutes for the midterm, which wasn't enough, and I found the questions to be quite difficult. The class average was 50%, the lowest Reinman had seen in his 20+ years teaching at UCLA. He accused us of cheating on the midterm since we had done well on the labs, which I personally thought was a bit unfair since we had 2 weeks to do each lab vs. 40 mins for the midterm, so of course we would have done better on the labs. However, I really like how Reinman replaced our midterm score with our final exam score if we improved a lot on the final. That really came in clutch for me. I got a 40% on the midterm (53% after the TA's gave out partial credit). It was the worst I'd ever done on a test in my life and it really motivated me to grind for the final. To redeem myself, I started studying two weeks in advance of the final and created an intense study routine which involved reviewing my lecture notes, making flashcards, redoing homeworks, redoing LA worksheets, and redoing labs. I was scared that the final exam would be super difficult and that my hard work would end up being all for nothing, but I was pleasantly surprised. The final was quite doable and we got the full 3 hours. I managed to get an 83%, and since that replaced my midterm score, with Reinman's generous curve I was able to get an A in the class. I found the class to be quite stressful and it took a toll on my mental and physical health, but it ended fine and I learned interesting stuff.

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    Midterm was poorly handled and a time crunch

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

    The lectures were often very hard to understand, but office hours with the prof and the TAs were super helpful. Professor Reinman is one of the coolest professors I've ever had and he's extremely receptive to student feedback. I actually think the content was pretty useful to understand a little bit more about coding and what's happening at a lower level. The projects were frustrating at times but also fun. I put so much time and effort into this class, but I thought it was extremely rewarding.

    Quarter Taken: Fall 2023 In-Person
    Grade: A

    Reinman is hard to follow at times but the CMU lectures posted online are a perfect alternative for following along. The labs are all pretty fun puzzles too.

Course

Instructor
Glenn D. Reinman
Previously taught
24S 23F 23S 22S 21S 20S 19S 18S 16S 14S 13S 12S 11S 10S 09F
Formerly offered as
COM SCI 33

Grading Information

  • No group projects

  • Attendance not required

  • 1 midterm

  • Finals week final

  • 39% recommend the textbook

Previous Grades

Grade distributions not available.