Course Overview
# Lecture 01 Course Overview
- Class Web page (opens new window)
- Lab (opens new window)
- Textbooks (opens new window)
- Staff mailing list:
- 15-213-staff@cs.cmu.edu
# Programs and Data
Topics
- Bits operations, arithmetic, assembly language programs
- Representation of C control and data structures
- Includes aspects of architecture and compilers
Assignments
- L1 (datalab): Manipulating bits
- L2 (bomblab): Defusing a binary bomb
- L3 (attacklab): The basics of code injection attacks
# The Memory Hierarchy
Topics
- Memory technology, memory hierarchy, caches, disks, locality
- Includes aspects of architecture and OS
Assignments
- L4 (cachelab): Building a cache simulator and optimizing for locality.
- Learn how to exploit locality in your programs.
# Exceptional Control Flow
Topics
- Hardware exceptions, processes, process control, Unix signals, nonlocal jumps
- Includes aspects of compilers, OS, and architecture
Assignments
- L5 (tshlab): Writing your own Unix shell
- A first introduction to concurrency
# Virtual Memory
Topics
- Virtual memory, address translation, dynamic storage allocation
- Includes aspects of architecture and OS
Assignments
- L6 (malloclab): Writing your own malloc package
- Get a real feel for systems-level programming
# Networking, and Concurrency
Topics
- High level and low-level I/O, network programming
- Internet services, Web servers
- concurrency, concurrent server design, threads
- I/O multiplexing with select
- Includes aspects of networking, OS, and architecture
编辑 (opens new window)