22C:18, Lecture Notes and Schedule, Fall 1996

Douglas W. Jones
University of Iowa Department of Computer Science

Mon Aug 26 -- What is this course?
Wed Aug 28 -- Number Systems
Fri Aug 30 -- Arithmetic
Mon Sep. 2 [Labor Day, no class!]
Wed Sep. 4 -- Memory, architecture and assembly language
Fri Sep. 6 -- The Hawk architecture
Mon Sep. 9 [Last free drop/add] -- Hawk memory reference instructions
Wed Sep 11 -- Macros and assembly language
Fri Sep 13 -- Hawk branch instructions
Mon Sep 16 [Last add] -- Control Structures
Wed Sep 18 -- Memory Mapped Output and Byte Addressing
Fri Sep 20 -- Debugging and Packed versus Unpacked Structures
Mon Sep 23 [Yom Kippur] -- No classes!
Wed Sep 25 -- Relative Addresses, Procedures, Calling Sequences
Fri Sep 27 -- Hawk byte, half and doubleword arithmetic
Mon Sep 30 -- Russian Peasant Multiplication
Wed Oct. 2 -- Review
Fri Oct. 4 -- Exam I
Mon Oct. 7 -- Separate Assembly, Linking and Commons
Wed Oct. 9 -- Recursion and Activation Records
Fri Oct 11 -- Fixed Point Numbers
Mon Oct 14 -- Floating Point Numbers
Wed Oct 16 [Midpoint] -- BCD, Double Precision, and Fast String Ops
Fri Oct 18 -- Arrays and the case statement
Mon Oct 21 -- Lexicographic trees and heaps
Wed Oct 23 -- Recursive tree traversal
Fri Oct 25 -- Object Oriented Programming
Mon Oct 28 -- Polymorphic Objecs in Assembly Language
Wed Oct 30 -- Review
Fri Nov. 1 -- Exam II
Mon Nov. 4 [Drop deadline] -- A large example (an RPN calculator)
Wed Nov. 6 -- Compilers (illustrated with compiling RPN)
Fri Nov. 8 -- Compiling Procedure Calls
Mon Nov 11 -- Design Choices and Adding Loops to the RPN Example
Wed Nov 13 -- Compiling Control Structures, Advanced Macros
Fri Nov 15 -- A Second Approach to Compiling While Loops
Mon Nov 18 -- Traps and Interrupts
Wed Nov 20 -- Extending the Instruction Set (Virtual Machines)
Fri Nov 22 -- Privilege, Protection and Security
Mon Nov 25 -- Memory Management and Virtual Memory
Mon Dec. 2 -- I/O interrupts (Keyboard Input and Type-Ahead)
Wed Dec. 4 -- Disk Geometry
Fri Dec. 6 -- Disk Software
Mon Dec. 9 -- Pedagogical Lies Revealed (pipelines, caches, bus structure)
Wed Dec 11 -- Review
Fri Dec 13 -- Review
Final Exam
Mon Dec 16, 2:15 PM