CPSC 031. Introduction to Computer Systems

This course is a broad introduction to computer science that focuses on how a computer works and how programs run on computers. We examine the hardware and software components required to go from a program expressed in a high-level programming language like C or Python to the computer actually running the program. This course takes a bottom-up approach to discovering how a computer works. Topics include theoretical models of computation, data representation, machine organization, assembly and machine code, memory, I/O, the stack, the operating system, compilers and interpreters, processes and threads, and synchronization. This course also introduces parallel and distributed computing with a specific focus on shared memory parallelism for multicore and SMP systems.
Prerequisite: CPSC 021  or equivalent.
Natural sciences and engineering practicum.
Lab work required.
1 credit.
Fall 2023. Chaganti.
Spring 2024. Venkatagiri.
Fall 2024. Staff.
Spring 2025. Staff.
Catalog chapter: Computer Science  
Department website: https://www.swarthmore.edu/computer-science

Access the class schedule to search for sections.

Print-Friendly Page (opens a new window)