Current Catalog Description:
Interaction between low-level computer architectural properties and high-level program behaviors: instruction set design; digital logics and assembly language; processor organization; the memory hierarchy; multicore and GPU architectures; and processor interrupt/exception models. Credit will not be given for both CSE 201 and CSE 202. Prerequisite: CSE 17 or CSE 18.
Instructor: Mark Erle, Houria Oudghiri (Spring 2022)
Textbook:
Randal E. Bryant and David R. O'Hallaron, "Computer Systems: A Programmer's Perspective", 3rd Edition, Pearson, 2016, ISBN 978-0134092669
COURSE OUTCOMES
Student will have
- Understand data representations as they are interpreted by the machine
- Link high-level programming understanding to low-level logic
- Understanding of the different levels of the memory hierarchy and how they influence the machine
Prerequisites by Topic
- Top-down design
- Primitive data types
- Repetition and selection
- Recursion
- Object-oriented programming
- Fluency with Java
Major Topics Covered in the Course
- Data Representations: Bits/Bytes
- Data Representations: Integers/Floating Point
- Data Manipulation: Integers/Floating Point
- Machine Programming: Control Flow
- Machine Programming: Procedures and the Stack
- Machine Programming: Alignment and Memory
- Selected Machine Optimization Topics
- The Memory Hierarchy
- Linking
- Exceptions and Processes
- Signals and Nonlocal Jumps
- Virtual Memory
- Dynamic Memory Allocations
- System I/O
- Network Programming