14-513/18-613: Computer Systems

Summer 2020
Instructor: Gregory Kesden
Zoom Meetings: MTWTR 8:30PM-9:50PM ET
6 or 12 units

The ICS course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, 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, networking technology and protocols, and supporting concurrent computation.

Course Syllabus

Prerequisites: 15-122 or equivalent education and/or experience


What's New?

  • 15 July 2020
    • To help you keep up with the class and prepare for the final exam we're releasing pratice problems each class. We promise that they are not only helpful to understanding the course material but 100% relevant to prepare for the midterm exam. Use your AndrewID to access them. (Google Drive)
    • 2 June 2020
      • To help you keep up with the class and prepare for the exam we're releasing pratice problems each class. We promise that they are not only helpful to understanding the course material but 100% relevant to prepare for the midterm exam. Use your AndrewID to access them. (Google Drive)
    • 21 May 2020
      • We've put together this quick little guide to getting help when you need it. Take a look: (pdf) / (docx)
    • 18 May 2020
      • Welcome! Today is the first day! We're so glad you are here!

    Getting Help

    Piazza Piazza
    Email Please use Piazza for help, instead of email. Posts to Piazza are private by default.
    Office Hours TA Office Hours Schedule

    Course Materials

    Schedule Lecture schedule, slides, recitation notes, readings, and code
    Assignments Details of assignments, due dates, and policies
    Exams Information about quizzes, exams, and final
    Lab Machines Instructions for using the lab machines
    Resources Additional course resources

    Course Information

    Textbooks Randal E. Bryant and David R. O'Hallaron,
    Computer Systems: A Programmer's Perspective, Third Edition, Pearson, 2016
      Brian W. Kernighan and Dennis M. Ritchie,
    The C Programming Language, Second Edition, Prentice Hall, 1988
    Credit 12 units
    Grading Composed from total lab performance (50%) and total exam performance (50%).
    Labs There are 8 labs (L0-L7), not evenly weighted. See the assignments page for the breakdown.
    Exams There is one midterm exam, in class, closed book (20%).
    There is a final exam, in class, closed book (30%).
    Home http://www.andrew.cmu.edu/course/18-613/
    Questions Piazza, office hours
    Canvas We are using Canvas for this course to conduct ungraded, in-class quizzes. Your grading information will be kept up to date in Autolab, not in Canvas.

    Instructors

    Name Greg Kesden
    Contact gkesden@andrew.cmu.edu
    412-268-5943
    Office INI 124
    Office Hours Schedule / Virtual Office Hours