| Java References: Java homepage, Java language, Java Overview, Java in a NutShell, D. Flanagan, Ch 2 | |
| 4/22 | Simple Objects in Java | 
| 4/24 | Object Inheritance in Java | 
| 4/25-26 | Precept: Primality testing continued. | 
| 4/26 | Exception Handling in Java; How Java differs from C. Reading: Java in a NutShell, D. Flanagan, Ch 2 | 
| 4/15 | Bignum arithmetic, Finish signal handling. | 
| 4/17 | Quiz | 
| 4/18-19 | Precept: Primality testing. | 
| 4/19 | Compilation Pipeline; assembly languages; assemblers Linking and Loading; relocation Readings: Paul 1.9, 9.1-8 | 
| 4/8 | Finish exception handling, Operating Systems; privileged instructions; modes; virtual resources; traps Readings: Paul Ch. 12. | 
| 4/10 | UNIX System calls for processes Readings: Kernighan&Pike, The UNIX Programming Environment, Sec. 7.4. | 
| 4/11-12 | No precept this week. | 
| 4/12 | UNIX System calls for signals and interrupts Readings: Kernighan&Pike, The UNIX Programming Environment, Sec 7.5. | 
| 4/1 | Procedure calls. | 
| 4/3 | Quiz, Finish Procedure Calls. | 
| 4/4-5 | Precept: Procedures in assembly language | 
| 4/5 | Exception Handling notes Exception handling code | 
| 3/25 | Review Midterm, Condition Codes; carry and overflow; branches; control transfer Readings: Paul Sec 4.6, 4.8-9 | 
| 3/27 | Instruction Pipelining; delay slots; annul bit Reading: Paul Sec. 2.5, 2.8-11. | 
| 3/28-29 | Precept: SPARC Assembly language examples | 
| 3/29 | Procedure calls Readings: Paul Ch. 5, 7. | 
| 3/11 | Basic SPARC Architecture Readings: Paul Ch. 1, 2.1-4, Ch 8-9 | 
| 3/13 | Arithmetic Instructions; data movement; 
        synthetic instructions; floating point Readings: Paul Sec. 4.7, 4.10-12, 11.5-6, 11.10. | 
| 3/14-3/15 | No precept this week | 
| 3/15 | Midterm | 
| 3/4 | Programming Style; layout and indentation; structure; efficiency Readings: Pike, Notes on Programming in C; | 
| 3/6 | Number Systems; arithmetic; two's complement; floating point Readings: Paul Sec. 3.1-3, 4.1-5, 4.10, 11.1-4, 11.7-8. | 
| 3/7-3/8 | Precept: Recursive data types | 
| 3/8 | Finish numbers, Computer Organization; memory; assembly language; execution Readings: Paul Ch. 1, 2.1-4, Ch 8-9 | 
| 2/26 | Finish simple pointers, Structures; pointers to structures; unions; bit fields; typedefs Readings: K&R Sec. 6.1-3, 6.7-9. | 
| 2/28 | Quiz, Finish structures, etc. | 
| 2/29-3/1 | Precept: Recursion and Linked Lists | 
| 3/1 | K&R Sec. 7.3, B1.2. | 
| 2/19 | Make; version control; RCS Readings: make and RCS man pages | 
| 2/21 | Arithmetic Operators; portability; conversions; evaluation order Readings: K&R Sec. 2.4-12; Maquire Ch. 6. | 
| 2/22-23 | Precept: Program Design | 
| 2/23 | Pointers; pointer arithmetic; pointers and arrays; pointers to functions Readings: K&R Sec. 5.1-12. | 
| 2/12 | ANSI C Programming Language; program structure; declarations; scope Readings: K&R Sec 2.1-3, Ch. 4; Maquire Ch. 5. | 
| 2/14 | Quiz, Types; constants; arrays; strings; enumerations Readings: K&R Sec. 4.11, 7.1, 7.4-7. | 
| 2/15-16 | Precept: Abstract Data Types, Specifications, and Testing | 
| 2/16 | C Preprocessor; macros; I/O Readings: K&R Sec. 4.11 | 
| 2/5 | Interfaces and Implementations; abstract data types; assertions Readings: K&R Ch. 1; Maquire Introduction, Ch. 1-2. | 
| 2/6-8 | Precept: Using GDB (and Netscape) | 
| 2/7 | Quiz, Finish up Interfaces, etc. | 
| 2/9 | Talk about Assignment 1 and go over Quiz. |