The following schedule is tentative and is subject to change as
the semester proceeds. After each class and lab, slides will be
linked-to in PDF format. Readings (listed below each topic) are
from Brookshear (theory), Practical C (C lab), Java Gently (Java
lab).
Week of: |
Theory
(Tuesday)
(All slides in outline form) |
C
(All slides in outline form) |
Java
(All slides in outline form) |
Homework |
Jan 20 |
Introduction
(no required reading) |
Intro to UNIX (Note: only one session, held in 207 Math, Thurs
11am-12:15pm)
(no required reading) |
HW#0 out |
Jan 27 |
Language basics
Ch. 0, 5.1-5.3 |
Starting C
Ch. 1-4 |
Starting Java
Ch. 1, 2 |
HW#1 out |
Feb 3 |
Data representation and manipulation
Ch. 1.1-1.6 |
Data types, manipulation, basic I/O
Ch. 5 |
Data types, manipulation [ Maryam | William ]
Ch. 3.1 |
|
Feb 10 |
Abstraction, algorithms I (concepts, design, iteration)
Ch. 4.1-4.4 (sample code) |
Decision and control statements
Ch. 6 |
Basic loops, methods/abstraction
Ch. 3.2-3.7 |
HW#1 due; HW#2 out |
Feb 17 |
Algorithms II (examples)
Ch. 4.5-4.6 (sample code) |
Decision/control II
Ch. 8 |
Basic I/O, decision & control statements
Ch. 4 |
|
Feb 24 |
Algorithms III (recursion, running time)
(no required reading) |
Functions/abstraction
Ch. 9 |
Flow control, arrays
Ch. 5, 6.1 |
HW#3 out |
Mar 2 |
Algorithms IV (running time, sorting)
(no required reading) |
Coding practices, debugging
Ch. 7 |
Coding practices, debugging |
HW#2 due |
Mar 9 |
Midterm |
C preprocessor, bit operations
Ch. 10, 11 |
Formatting, advanced I/O
Ch. 7 |
|
Mar 16 |
Vacation - No classes or labs |
Mar 23 |
Data structures (concepts, design, pointers)
Ch. 7.1-7.3, 7.7-7.8 |
enums, structs, typedef
Ch. 12 |
OO I (Design, properties, references)
Ch. 8 (sample code) |
HW#3 due; HW#4 out |
Mar 30 |
Data structures II
Ch. 7.4-7.6 |
Pointers I (call-by-reference)
Ch. 13 (sample code) |
OO II
(sample code) |
|
Apr 6 |
Computer architecture
Ch. 2 |
Pointers II (assignment, arithmetic) (sample code) |
OO III (abstraction, inheritance)
Ch. 9 |
HW#4 due; HW#5 out (C | Java) |
Apr 13 |
Operating systems & networks
Ch. 3 |
Pointers III (malloc), basic data structures
Ch. 17 (pp. 279-288) |
Basic AWT/Swing
Ch. 10 (sample code) |
|
Apr 20 |
Networks, Artificial Intelligence
Ch. 10 |
File I/O
Ch. 14 |
Event-based programming
Ch. 11 (sample code) |
HW#5 due; HW#6 out (C | Java) |
Apr 27 |
Computation theory
Ch. 11.1-11.5 |
Modularity (header files, Makefile) (sample code)
Ch. 18 |
Review, Miscellany |
|
May 4 |
Reading week (review session schedule) |
HW#6 due |
May 11 |
Final exam (5/11, 9am-noon, 207 Math) |