|Instructor||Teaching Assistants||When & Where|
Office hours: Monday 5:30-6:30pm
|Steve Janovitz, Jing Lu, Alicia Sun,
Alex Tran, Edward Xie, Alice Wang,
Hunter Wills, Joey Woodson, Jeff Zhang
|Monday / Wednesday,
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.
Formerly CS 306S. 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 computer engineering maturity
CSE 260 or something that makes you think a little bit about hardware.
If you have only ever taken 131, 361 will be a rather painful experience for you. This class is rather intense. 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.
Bryant and O'Hallaron, Computer Systems: A Programmer's
Perspective, Third edition, Pearson, 2015.
(ISBN-10: 013409266X / ISBN-13: 978-0134092669)
Kernighan & Ritchie, The C Programming Language,
Second Edition, Prentice Hall, 1998.
(ISBN-10: 0131103628 / ISBN-13: 978-0131103627)
Lecture notes, lab assignments, sample exams and their solutions will be posted on Piazza.
Midterm: 20% Final: 30% Labs: 50%
I reserve the right to tweak these values as the semester evolves.
Late work will not be accepted.
Due to large number of enrollment, handling late work becomes an issue. Special arrangements, either due to emergencies or made well in advance, will be considered individually when the circumstance warrants it.
The day before an assignment is due is not well in advance.
The midterm exam will be in class on October 28.
The final exam will be on Friday, December 11, from 6-8pm.
Plan to attend both. No alternate exam times will be available.
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.
Short version: Do not cheat.
Medium version: Violations of the Student Academic Integrity Policy include, but are not limited to:
(1) Plagiarism, (2) Cheating on an Examination, (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. Long version: see the Undergraduate Student Academic Integrity Policy.