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.
Fall 2017. Newhall.
Spring 2018. Wicentowski.
Fall 2018. Webb.
Spring 2019. Staff.
Catalog chapter: Computer Science
Department website: https://www.swarthmore.edu/computer-science
Check the Spring 2018 Schedule of Courses
Check the Fall 2018 Schedule of Courses