CompSci 210 is an undergraduate introduction to computer systems software "close to the metal" on real machines. It provides a programmer's view of how computer systems execute programs and store information, with exercises using the C programming languge. It examines key computational abstractions behind high-level programming languages: number and data representations, instructions, memory hierarchy, programs and processes, and basics of multi-core/concurrency. The Big Ideas in this class are broadly applicable across the many subfields of computer systems and computer science, with specific instances demonstrated through labs and projects. Prerequisites: Compsci 201 or equivalent, and experience programming in a high-level language (e.g., Java).
For more information, please see the course syllabus.