CS 135: Course Outline and
Syllabus
Fall 2009
Schedule of Topics
When appropriate the chapters (from the textbook) are listed next to
each topic in the schedule.
- Introduction and Course Overview :
Chapter 1
- Data representation and
operations: Chapter 2, Notes
- Bits and data types, binary
representation
- 2’s complement representation,
Floating point, ASCII codes.
- Arithmetic and logic operations
- Homework 1
- Digital Logic structures :
Chapter 3, Notes
- Introduction to transistors and
logic gates- DeMorgan’s laws. Use simulator from CSci 41 in lab.
- Combinational logic: Decoder, Mux,
Adder, and intro to PLAs
- Sequential Logic: Latches,
registers, states and finite state machines
- Concept of memory, address space.
- Homework 2
- The von Neumann Model of Computers :
Chapter 4, Chapter 5
- Basic components: memory, CPU, I/O
- Instruction processing: inst cycle,
control
- Intro to the LC3 computer
instruction set
- Machine level representation of
programs:The Instruction Set Architecture (ISA) and Assembly
Programming : Chapter 5, Chapter 6, Chapter 7
- The ISA overview of the LC-3
processor: registers, inst types, addressing, opcodes, condition codes,
data types; Data movement instructions and Control Instructions
- Simple Assembly Language programming
- The assembly, linking, loading
processes
- Homework 3
- Exam
1.
- Overview of I/O, Trap routines and
subroutines: Chapters 8,9
- Device registers, memory mapped io,
interrupt driven io.
- Intro to TRAP mechanism, routines
for handling I/O
- The subroutine Call/Return mechanism
- The system Stack Chapter 10
- Intro, Implementation of stacks,
interrupt driven I/O
- Safety in using the Stack
- Introduction to Systems Programming:
Running programs on a system : Chapter 11, Notes
- Review of C programming Chapter
12,13,14
- Variables, operators, pointers,
functions, recursion, stack.
- Program Execution process:
Chapter 11, Chapter 18, Notes
- Compiling, Linking, Loading,
Assembly
- I/O in C
- Make files
- Gcc compiler
- Testing and Debugging
Chapter 15
- Debugging using the gdb debugger
- Run-time stack: implementing C
functions on the LC-3 -- how does a C program get executed on LC3.
Chapter 16,17,18
- Exceptional control flow, Stack –
smashing the stack attacks Notes
- Exam
2.
- Memory management
Chapters 16,17, 18, 19, Notes
- Memory layout and Pointers, Malloc
- The memory hierarchy and memory
management
- Cache Memory
- Virtual memory management and memory
hierarchy
- Code optimization for memory
- Measuring program performance and Code
Optimization Notes
- Review
Back to course
homepage