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