CSE 3601
Introduction to Systems Software
This course is an introduction to the hardware and software foundations of computer processing systems. The course provides a programmer's perspective of how computer systems execute programs and store information. The course material aims to enable students to become more effective programmers, especially when dealing with issues of performance, portability and robustness. It also serves as a foundation for other system courses (e.g., those involving compilers, networks, and operating systems), where a deeper understanding of systems-level issues is required. Topics covered include machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, and supporting concurrent computation. Prerequisites: CSE 131 and CSE 132.
Instructors
Reviews
10+ hrs/week
361 is a notoriously difficult class and is personally for me the hardest one I've ever taken at WashU so far in four semesters (normalized for 3 credits). Very content-heavy and having everything squeezed into 15 weeks is already challenging in and of itself; a decent amount of material is really boring and hard to describe, but there are some very interesting topics e.g. security vulnerabilities in C & C++. Orr does a great job teaching it though and he's always willing to help & is decent at explaining things and answering questions. The labs are nothing short of straight up demoralizing, but most of them make you learn so much and you feel so rewarding after doing them. In terms of of difficulty and time consumption, Labs 2 and 3 are somewhat reasonable, Lab 1 completely makes no sense, and Lab 5 is the literal definition of the final boss that takes away all your mental sanity. As for exams, our midterm had a raw median of 47.66%...
5/9/2025
this class is not bad at all. labs r so interesting and rewarding plus there's only 5. u learn so much. I think other washu cs classes r for coasting. ppl don't go to lecture which is not orrs fault. autograder on labs always tells u what ur gonna get. OH r so helpful if u get the right ta. tests r so straightforward if u understand the class
8/6/2024
Orr's a nice guy and very willing to help, but be ready to spend countless hours self-studying this course. The lectures were not very helpful, and the labs were super time consuming and this class was pretty poorly organized. It felt like you were learning nothing in lecture and then expected to know everything when it came to exams/labs
6/5/2024
8-10 hrs/week
Class is death. 2 semester of material squeezed into 1. Exams are extremely hard. This entire course was essentially taken from a CMU course started around 2015, so nothing novel here. Don't expect to get an A if you have a busy semester when you're taking this class; it requires a TON of time. A pro about this class though is that you leave with a really good understanding of the material, and good programming skills.
5/24/2024
CSE 361 is a difficult class, but Orr does a decent job of delivering the content. Grades are harsh, as there are few opportunities for partial credit on assignments. Exams are difficult, but not unreasonable if you study. Orr was kind and often moved back deadlines. Cares about students, it's just a difficult course that should've been broken up.
5/21/2024
6-8 hrs/week
One of my favorite classes it ever; it tried to kill me, but super interesting.nn361 is great for CS majors interested in lower-level programming (C, x86 assembly) and how hardware influences software. It is challenging (time, mostly), especially compared to 200-level CS courses, but it's currently not required for the CS major.nnThere were two professor-led, slides-based lectures and a TA-led recitation weekly. Attendance isn't required for any of them, but there was a weekly Canvas quiz about the week's content.nnThe 5 labs are the meat of the class. Lab 1: implement functions using low level types (ints, floats) and operations (bitwise, boolean). Lab 2: disassemble code to find the magic values to defuse a bomb; the bomb exploding took off points from grade. Lab 3: disassembly code to find and exploit vulnerabilities. Lab 4: simulate cache functionality; optimize matrix transposition. Lab 5: efficiently implement dynamic memory allocation. Labs 1-3 are doable, 4 sneaks up on you and hurts, and 5 makes you question whether you really want your degree.nnThere's one midterm and a final. Most did bad on the midterm. It covers a lot of content. There was a 6 point curve my semester. Most did better on the final since half of it had been seen before on the midterm, and new topics mimicked previous problems.nnOrr is a good professor who's enthusiastic and versed with the course. He struggles a bit in the lecture setting, occasionally stumbling. He shines, though, in his office hours and 1-on-1s after lecture. Very approachable.nnThere were ~5 TAs. What they lack in quantity they make up for in quality. Great understanding of course content; they could all probably lead a lecture. Also, amazing debuggers. Though they're not expected to fix code, their knowledge from doing the labs themselves is invaluable. Going to TA office hours is the best way to get help on labs and get stuff done. For labs 4 & 5, the help list gets long because a lot of people need help, but the TAs do their best to get to everyone.nnGrade breakdown: weekly Quizzes 5%, Labs: 56% (Breakdown: 10/11/11/12/12), Midterm: 15%, Final: 24%.
5/19/2024
10+ hrs/week
Very time intensive course- material is really interesting and good knowledge if you are interested in how lower level systems function and it will definitely make you a better programmer. Would recommend taking it during a lighter semester due to how time intensive the labs can be. Also, Orr's lectures are boring, but can be supplemented with lectures from other universities since many universities have copied it from CMU (virtually the same course)
5/18/2024
This class was very tough, but Orr's clear lectures make it manageable. Professor Orr set up lots of office hour opportunities and provided clear guidance for the assignments.
4/23/2024
Professor Orr is absolutely over-hated. His teaching style is not particularly exciting but he presents the material in a coherent way and he fully answers questions during lecture or in office hours.nnThe main problems with 361, cheating and low lecture attendance, are not Orr's fault and cause many students to perform poorly.
12/20/2022
There is no doubt that this class is difficult, but Orr's lectures are clear and informative. The tests are similar to practice exams and the weekly participation quizzes. Orr also curved the midterm exam (which professors in the past have not done). The labs can be difficult ant time consuming, but they come with an automatic 2 day extension.
12/17/2022
Barely teaches. You could learn more by just going online and learning about GDB and C. All the stuff is CMU 213 anyway. Lectures are lifeless. Monotone. TAs basically don't care about the course. You can get good grades on the first three assignments, but you WILL bomb the test and you WILL bomb the next two labs. Don't take if you care about GPA.
11/16/2022
I think Orr gets a lot of flack for teaching classes that are broken to begin with. 361 is hard, but Orr teaches it fine. He gave us more extra credit + curved exams than past profs. He does want students to succeed, and is always willing to explain anything ppl are confused by on piazza or after class. Overall, nice guy and fine lecturer.
7/21/2022
Better self-learn than going to lectrures. He's like a PowerPoint Reader.
1/5/2022
She doesn't care about undergrads at all and is so focused on her own research. Her lecture videos were so boring, and she basically read the slides. Her exam was T/F on super minor points. Really? It's just lazy to give a T/F exam in college. I went to her OH and she was incredibly unhelpful. I regret taking this course with her.
12/20/2020
This professor sucks. The lecture is straight from CMU and she just reads off the slides and sometimes stares at them cause she constantly doesn't know what she was talking about. She's extremely unreasonable with accommodations.
4/6/2020
The pace and the structure of the course is perfect for a junior year CSE student. Slides are clear and the prof is always accessible outside of class.
12/26/2019
Lectures are hard but really helpful. Materials are really good (because it's from CMU). Be prepared to challenge yourself in labs and exams.
2/27/2019
Class was insanely hard. She's not great at teaching, she mostly just reads off the slides, which frequently have mistakes in them. 5 lab homeworks, the first 2 aren't bad but the others are pretty hard. Midterm and final were brutal. I don't recommend this class, but if you need it then take it with someone else if you can.
2/24/2019