Welcome Schedule Lab Hours Style Guide

CSE 361S: Introduction to Systems Software, Spring 2018

Instructor Teaching Assistants Class Time / Location
Steve Cole
Office hours: Tuesday
Jolley 223
Aaron Handleman, Peter Olson, Sabrina Ho,
Feiyang Jin, John Kirchenbauer, Jingchao Wang,
Lawrence Yuan
Monday / Wednesday
Lopata 101



All enrolled students will be automatically signed up for the Piazza site. Please register as soon as you get your invitation. All questions should be posted to Piazza. Questions of a personal nature can be submitted as a private message. All questions emailed directly to the instructors or the TAs will receive the response "Please repost to Piazza," where both the question and the answer will reach its full audience. It is in everyone's interest that we maintain this policy; this is absolutely the most effective way to communicate.

Course Description

Introduction to the hardware and software foundations of computer systems. This course provides a programmer's perspective of how computer systems execute programs, store information, and communicate. The course material aims to enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for other system courses, such as 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.


CSE 131 and CSE 132

Suggested prerequisite: CSE 260 or something that makes you think a little bit about hardware. Having CSE 330 also helps, but it's not required. There is no single class that will serve as the perfect prerequisite, but certainly having a few computer science classes under your belt will be a helpful preparation.

Required Text

Bryant and O'Hallaron, Computer Systems: A Programmer's Perspective, Third edition, Pearson, 2015.
(ISBN-10: 013409266X / ISBN-13: 978-0134092669)

Recommended Text: Kernighan & Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1998.
(ISBN-10: 0131103628 / ISBN-13: 978-0131103627)

Other Material

Lecture notes, lab assignments, sample exams and their solutions will be posted on Piazza.

Grading Policy

Midterm: 20% Final: 27% Labs: 50% Exercises: 2% Course eval: 1%

Late Policy

You are granted ten late days total, at a maximum of two late days per lab. This process is automatic, so you don't even need to ask or let me know that you want to use late days. However, this also means that beyond the given late days, additional extensions will be very unlikely. It is highly recommended that you save some late days for the later projects in the semester.


The midterm exam will be in class on March 7th.
The final exam will be on Monday, May 7th, from 3:30-5:30pm.
Plan to attend both, as no alternate exam times will be available.

Disability Resources

Students with disabilities or suspected disabilities are strongly encouraged to both bring any additional considerations to the attention of the instructor and make full use of the University's Disability Resource Center.

Academic Integrity

Short version: Cheating is destructive to your own learning and to the integrity of the class and will not be tolerated.
Medium version: Violations of the Student Academic Integrity Policy include, but are not limited to:
(0) Looking for solutions online, (1) Plagiarism, (2) Cheating or not following instructions in any way on an exam, (3) Copying or collaborating on assignments without permission, (4) Fabrication or falsification of data or records, (5) Other forms of deceit, dishonesty, or inappropriate conduct.
Academic integrity cases and sanctions will be handled in cooperation with the Academic Integrity Office in the School of Engineering.
Long version: see the Undergraduate Student Academic Integrity Policy.