C S 224
Download as PDF
Introduction to Computer Systems
Course Description
How a computer works to execute sequential code: low level data representation and abstraction, the relationship between C and assembly, computer architecture and pipelining, the memory hierarchy, dynamic memory allocation, and linking.\n
When Taught
Fall, Winter, Summer
Min
3
Fixed/Max
3
Fixed
3
Fixed
2
Other Prerequisites
or instructor's consent.
Title
C programming memory model
Learning Outcome
Write programs that use pointers to pass by reference and manipulate data. Students will demonstrate how variables are connected to specific memory locations, an intellectually enlarging exercise that reveals the rigorous logical structure underlying high-level abstractions.
Title
Command line
Learning Outcome
Work fluently in a command-line environment to edit, compile, run, and debug C programs. Developing this technical autonomy is character building, as it requires the discipline and persistence to master a demanding professional environment.
Title
Machine representation of programs
Learning Outcome
Represent and manipulate information at a machine level. This deep dive into the foundational "bits and bytes" of computing is intellectually enlarging, providing students with a clearer understanding of the fundamental truths of digital information.
Title
Machine code
Learning Outcome
Read and analyze machine code, focusing on the runtime stack for storage and control transfer. This intricate analysis fosters character building through the patience and precision required to understand how a processor executes complex instructions.
Title
Processor architecture
Learning Outcome
Explain how machine code is assembled and how binary code moves through a sequential micro-architecture. Understanding these core principles facilitates lifelong learning, giving students a conceptual foundation that remains constant even as specific technologies evolve.
Title
Caches
Learning Outcome
Demonstrate how processors find data in a cache and how hit rates impact code performance. Students will view the optimization of these resources as a form of stewardship, a spiritually strengthening pursuit of excellence in using one's talents to create efficient, impactful solutions.