Schedule

Part I: How computers work
Thu 28 Aug Introduction (Ch 1)
Logic circuits (Sec 2.1)
Mon 1 Sep Labor Day (no classes)
Tue 2 Sep Circuit design (Sec 2.2)
Circuit minimization (Sec 2.3)
Thu 4 Sep Binary representation (Sec 3.1)
Mon 8 Sep Integer representation (Sec 3.2)
Quiz 0
Wed 10 Sep Floating-point representation (Sec 3.3)
Fri 12 Sep Multimedia representation (Sec 3.4)
Tue 16 Sep Memory circuits (Sec 4.2, 4.3)
Quiz 1
Thu 18 Sep Lab preparation
Mon 22 Sep Addition circuits (Sec 4.1)
CPU architecture (Sec 5.1)
Wed 24 Sep Machine language (Sec 5.2)
Fri 26 Sep Assembly language (Sec 5.3)
Quiz 2
Tue 30 Sep Pseudocode (PDF Handout)
Thu 2 Oct Pseudocode, cont'd
Mon 6 Oct TBA
Wed 8 Oct Exam 0
9-10 Oct Fall Break (no classes)
 
Part II: High-level programming
Tue 14 Oct Java overview (Ch J1, J2)
Wed 15 Oct Lab quiz 0
Thu 16 Oct Java arithmetic (Ch J3)
Mon 20 Oct Java loops (Ch J4)
Wed 22 Oct Java conditions (Ch J6)
Quiz 3
Fri 24 Oct Java strings (Ch J5)
Tue 28 Oct Java arrays (Ch J7)
Thu 30 Oct Java methods (Ch J8)
Quiz 4
Mon 3 Nov TBA
Wed 5 Nov Exam 1
 
Part III: The extent of computational power
Fri 7 Nov Operating systems (Sec 6.1)
Multiprocess CPU allocation (Sec 6.2.1-2)
Mon 10 Nov Lab quiz 1
Tue 11 Nov Multiprocess memory allocation (Sec 6.2.3)
Wed 12 Nov No lab today
Thu 13 Nov Game playing AI (Sec 7.1)
Artificial intelligence (Sec 7.2)
Mon 17 Nov Neural networks (Sec 7.3)
Quiz 5
Tue 18 Nov No lab today
Wed 19 Nov TBA
Fri 21 Nov Structural linguistics (Sec 8.1)
Context-free grammars (Sec 8.2)
Tue 25 Nov Regular expressions (Sec 8.3)
Quiz 6
26-30 Nov Thanksgiving (no classes)
Tue 2 Dec Finite automata (Sec 9.1)
Thu 4 Dec Turing machines (Sec 9.2.1-2)
Mon 8 Dec Reductions (Sec 9.2.3)
Quiz 7
Wed 10 Dec Halting problem (Sec 9.3)
Thu 11 Dec No lab today
Fri 12 Dec Conclusion (Ch 10)
Review
Thu 18 Dec Final, 11am, PEngl 225