CS306 Computing Systems and Structures Lockwood, Spring 2004

Course Schedule

This schedule will change often over the course of the semester.
For up-to-date listings of deadlines, refresh the on-line page.
 
 
Monday Wednesday
Mon, Jan 19;
  • Martin Luther King Day
    (Campus Holiday, No class)

Wed, Jan 21: 
  • Lecture 1: Course goals; Course overview; history; review of binary number systems, 2's complement, and base conversion. 
  • Reading: Irvine: Assembly Language for Intel-Based Computers: Fourth Edition, Chapter 1
  • Reading: Hyde: Art of Assembly: Forward and Sections 1.0-1.3, 1.7, 1.11
Mon, Jan 26: 
  • Lecture 2: Computer System Architecures; Specifics on the 80x86 (registers, memory, periphials); Hints for first machine problem  
  • Reading: Irvine: Chapter 2 (IA-32)
  • Reading: Hyde: Art of Assembly: Sections 3.0-3.1, 3.3.1-3.3.4, 4.2-4.3, 4.5
  • HW0 assigned 
Wed, Jan 28: 
  • Lecture 3: Programming with registers; Assembly Opcodes; Complex addressing modes. 
  • Reading: Hyde: Art of Assembly: Sections 3.3.1-3.3.13, 4.1, 4.4, 4.6-4.8, 6.3, 6.5.1-6.5.5
  • Reading: Irvine: Chapter 3 (Assembly/MASM)
  • HW0 Due (Fri, 5pm, on-line) 
Mon, Feb 2:
  • Lecture 4: Logical and Shifting Operations, Math operations. Overflows & carries, flags settings.
  • Reading: Irvine: Chapter 4 (Data transfer, Addressing, and Arithmetic); Chapter 7.1-7.3 (Shift/Rotate); 7.5 (Extended Addition/Subtraction)
  • Reading: Hyde: Art of Assembly: Sections 6.1, 6.6, 6.9, 6.11
  • HW1 assigned 
Wed, Feb 4: 
  • Lecture 5: Conditional branching; Numerical comparisons; Mapping loop/branch paradigms to linear code. 
  • Lecture 6: Program organization, Assembly and debugging techniques, MASM directives; 
  • Reading: Irvine, Chapter 6 (Conditional Processing)
  • MP0 assigned 
  • HW1 Due(Fri, 5pm, on-line)
Mon Feb 9
  • Lecture 7: Multiplication; Division, MACROs
  • Reading: Hyde: Art of Assembly: Sections: 6.5.6-6.5.7, 8.14, 8.18
  • Readine: Irvine: Chapter 7.4 (Multiplication and Division)
  • HW2 assigned 
Wed, Feb 11: 
  • Lecture 8: The stack: Implementation, PUSH & POP operations, direct access, procedures, recursion 
  • Reading: Hyde: Art of Assembly: Sections: 6.3.5, 11.9
  • Reading: Irvine: Chapter 5.4 (Stack operations); 5.5-5.6 (Defining and using Procedures)
  • MP0 Due (Thr, 2pm, in Lab) 
Mon, Feb 16
  • Lecture 10: Programming with high-level languages; Combining C with ASM: (assemble, compile, link, and run) 
  • HW2 Due (11pm, on-line)
  • Reading: Irvine: Chapter 8.1-8.5 (Advanced Procedures)
Wed, Feb 18: 
Mon, Feb 23 Web, Feb 25: 
  • EXAM I (in class)
Mon, Mar 1 Web, Mar 3: 
  • Lecture 12: Text Mode Video 
  • Reading: Hyde: Art of Assembly: Sections: 23.1-23.3
Spring Break
Mon, Mar 15: 
  • Lecture 13: Table-Lookup Functions, Jump Tables, Interrupt Vectors, Hash Functions 
  • Reading: Hyde: Art of Assembly: Sections: 9.8, 13.1-13.2
  • HW3 assigned 
Wed, Mar 17
Mon, Mar 22: 
  • No Class: Work on Homework
    and machine problem!
  • HW3 Due(Mon, 5:30pm, on-line)
Wed, Mar 24
  • Lecture 14: Interrupt-Driven I/O, Hardware Interrupt Service Routines (ISR's), Terminate & Stay Resident (TSR) Programs 
Mon, Mar 29: 
  • Lecture 15: Interrupt Topics: Timer Demo, Critical Sections, 8259 PIC, Scheduling 
  • Reading: Hyde: Art of Assembly: Sections: 3.1.3, 3.4, 6.7, 21.1-21.3
  • MP2 Due(3 pm, in Lab) 
Wed, Mar 31
  • Lecture 16: PC Hardware I/O with Ports: IN/OUT, 8253 Timer, Parallel Port, Joystick 
  • Reading: Hyde: Art of Assembly: Sections: 17.4
Mon, Apr 5: 
  • Lecture 17: Video Graphics using efficient instructions for data transfer (continued)
  • MP3 Due(3 pm, in Lab) 
Wed, Apr 7 : 
  • Lecture 22:Bitmap graphic:, PCX files, BMP files, Programming Techniques 
  • Reading: Hyde: Art of Assembly: Sections: 6.8, 15.1
  • HW4 assigned 
Mon, Apr 12:  Wed, Apr 14
Mon, Apr 19: 
  • Lecture 24: MMX, SSE, Parallelism, SIMD Vector Instructions. 
  • Reading: Browse AMD K6 MMX manual
  • Final Project Signup Due
    (6 pm, on-line)
Wed, Apr 21
  • Work on Final Projects
  • No Lecture: Meet with your final project team in lab during regular class period.
  • MP4 Due(2pm, in lab)
Mon, Apr 26: 
  • Work on Final Projects
  • No Lecture: Meet with your final project team in lab during regular class period.
  • HW5 assigned 
  • Meet with TA in lab to review project status
    • Demonstrate current version of software
    • Review current version of project writeup (15 pts)
      • Well-defined data structures: +4 points
      • Procedures with well-defined inputs & outputs: +4 points
      • Well planned overall program design: +4 points
      • Equally divided work among the team: +3 points
    • Identify the work remaining to be implemented
Wed, Apr 28
  • Work on Final Projects
  • No Lecture: Meet with your final project team in lab during regular class period.
  • MP5 Due(2pm, in lab)
Mon, May 3:  Fri, May 7
  • Special Session: 12:30-3:30pm
  • Final Project Presentations (in Class)
    [with Bonus of +0 points]
Final Exam: Thursday, May 6, 2004, 10:30a - 12:30pm