C S 224

Download as PDF

Introduction to Computer Systems

Computer Science College of Computational, Mathematical, & Physical Sciences

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.