22C:18, Lecture Notes and Schedule, Summer 1997

Douglas W. Jones
University of Iowa Department of Computer Science

Tue June 10 AM -- What is this course?
Tue June 10 PM -- Number Systems
Wed June 11 -- no class!
Thu June 12 -- Arithmetic
Fri June 13 -- Memory, architecture and assembly language
Mon June 16 -- The Hawk architecture
Tue June 17 AM -- Hawk memory reference instructions
Tue June 17 PM -- Macros and assembly language
Wed June 18 -- Hawk branch instructions
Thu June 19 -- Control Structures
Fri June 20 -- Memory Mapped Output and Byte Addressing
Mon June 23 -- Debugging and Packed versus Unpacked Structures
Tue June 24 AM -- Relative Addresses, Procedures, Calling Sequences
Tue June 24 PM -- Hawk byte, half and doubleword arithmetic
Wed June 25 -- Russian Peasant Multiplication
Thu June 26 -- Separate Assembly, Linking and Commons
Fri June 27 -- Review
Mon June 30 -- Exam I
Tue July 01 AM -- Recursion and Activation Records
Tue July 01 PM -- Fixed Point Numbers
Wed July 02 -- Floating Point Numbers
Thu July 03 -- BCD, Double Precision, and Fast String Ops
Fri July 04 -- no class!!
Mon July 07 -- Arrays and the case statement
Tue July 08 AM -- Lexicographic trees and heaps
Tue July 08 PM -- Recursive tree traversal
Wed July 09 -- Object Oriented Programming
Thu July 10 -- Polymorphic Objecs in Assembly Language
Fri July 11 -- Review
Mon July 14 -- Exam II
Tue July 15 AM -- A large example (an RPN calculator)
Tue July 15 PM -- Extending the example
Wed July 16 -- Adding Control Sructures
Thu July 17 -- RPN in assembly language
Fri July 18 -- More RPN Alternatives, Advanced Macros
Mon July 21 -- Compiling Calls, While Loops and Case Statements
Tue July 22 AM -- Traps and Interrupts
Tue July 22 PM -- Extending the Instruction Set (Virtual Machines)
Wed July 23 -- Privilege, Protection and Security
Thu July 24 -- Memory Management and Virtual Memory
Fri July 25 -- I/O interrupts (Keyboard Input and Type-Ahead)
Mon July 28 -- Disk Geometry
Tue July 29 AM -- Disk Software
Tue July 29 PM -- Pedagogical Lies Revealed (pipelines, caches, bus structure)
Wed July 30 -- Review
Thu July 31 -- Review
Fri Aug. 01 --Final Exam