The University of Chicago Summer
Systems Programming II

Systems Programming II


Course Code

CMSC 14400 10

Course Description

This course is a direct continuation of CMSC 14300. It covers the basics of computer systems from a programmer's perspective.

Topics include machine language programming, exceptions, code optimization, performance measurement, system-level I/O, and concurrency.

Students will gain further fluency with debugging tools and build systems.

Instructor(s)

Adam Shaw

Session

Session 1

Course Dates

June 15th - August 7th

Class Days

Mon, Wed

Class Time

6:00 pm - 8:30 pm

Modality

In-Person

Other Courses to Consider

These courses might also be of interest.

  • Systems Programming I
    Systems Programming I

    This course is the first in a pair of courses designed to teach students about systems programming.

    In this course, students will develop a deeper understanding of what a computer does when executing a program. In order to make the operations of the computer more transparent, students will study the C programming language, with special attention devoted to bit-level programming, pointers, allocation, file input and output, and memory layout. In the context of the C language, the course will revisit fundamental data structures by way of programming exercises, including strings, arrays, lists, trees, and dictionaries. Furthermore, the course will examine how memory is organized and structured in a modern machine.

    Students will gain basic fluency with debugging tools such as gdb and valgrind and build systems such as make.

    Residential