CIT 593 Introduction to Computer Systems


Course Overview

This course provides an introduction to fundamental concepts of computer systems. You will learn the C programming language and an instruction set (machine language) as a basis for understanding how computers represent data, process information, and execute programs. The course also focuses on the Unix environment and tools, and serves as a foundation for the subsequent course, CIT 595.


Instructor

Dr. Thomas Farmer, tfarmer@seas.upenn.edu

 


Topics Covered

Computer Organization Basics

  • Computer numbers
  • Digital logic
  • Combinatorial circuits
  • Memory
  • von Neumann Architecture
LC-4: A simple Instruction Set Architecture
  • ALU instructions
  • Data movement instructions
  • Control instructions
  • I/O
  • Subroutines
  • Traps and interrupts
Intro to C Programming
  • Variables and datatypes
  • Functions
  • Arrays and strings
  • Memory model and memory management
  • Pointers
  • Basic data structures

 


Textbooks

The textbook for this course is Introduction to Computing Systems: from bits & gates to C & beyond by Yale N. Patt and Sanjay J. Patel.

 

 


Course Policies

Policies related to absences, regrade requests, academic honesty, etc. will be made available to registered students via Canvas.