The following schedule is tentative and is subject to change as the semester proceeds. After each class, slides will be linked-to in PDF format.
For homeworks, check out the submission instructions. Solutions are available under the "due" link.
| # | Date | Theory | Java | Lecture notes, Sample code | Homework | |||
| Topic | Reading due (Schneider/Gersting) | Topic | Reading due (Lewis/Loftus) | Janak | William | |||
| 1 | 1/18 | Course introduction | Lecture | |||||
| 2 | 1/20 | Introduction to UNIX | Lecture | |||||
| 3 | 1/25 | Introduction to UNIX, cont'd. | Lecture | HW#1 out | ||||
| 4 | 1/27 | Introduction to CS | 1 | Lecture |
Diagrams HelloWorld |
|||
| 5 | 2/1 | Binary number system | 4.1-4.2 | Introduction to Java | 1.4-1.6 | Lecture | Slides | |
| 6 | 2/3 | Data and expressions | 2.1-2.4 |
Lecture Code |
Code | |||
| 7 | 2/8 | Data and expressions (cont'd). | 2.4-2.6 |
Lecture Code |
Code | HW#1 due; HW#2 out | ||
| 8 | 2/10 | Boolean logic, gates, circuits | 4.3-4.4 | Intro to graphics programming | 2.7-2.9 |
Lecture Code |
Code | |
| 9 | 2/15 | Computer architecture I | 4.4-4.6; 5.1-5.2 | Lecture | ||||
| 10 | 2/17 | Computer architecture II | 5.3-5.4 | Lecture | ||||
| 11 | 2/22 | Using objects I | 3.1-3.3 |
Lecture Code |
HW#2 due; HW#3 out | |||
| 12 | 2/24 |
Using objects II; Writing objects I |
3.4-3.8; 4.1-4.2 |
Lecture Code |
||||
| 13 | 3/1 | Writing objects II | 4.3-4.4 |
Lecture Code |
Code | |||
| 14 | 3/3 | Using objects III; Writing objects III; Conditionals/loops I |
3.9-3.11; 4.5-4.8; 5.1-5.4 |
Lecture Code |
||||
| 15 | 3/8 |
Lecture Code |
HW#3 due | |||||
| 3/10 | ||||||||
| 3/15 |
Vacation - No class |
|||||||
| 3/17 | ||||||||
| 16 | 3/22 | Conditionals/loops II | 5.5-5.6 |
Lecture Code |
HW#4 out | |||
| 17 | 3/24 | Conditionals/loops III | 5.7-5.8 |
Lecture Code |
||||
| 18 | 3/29 | Algorithms I | 2.1 | Arrays I | 7.1-7.4 |
Lecture Code |
||
| 19 | 3/31 | Algorithms II | 2.2-2.3 |
Lecture Code |
||||
| 20 | 4/5 | Algorithms III | 2.4; 3.1-3.6 |
Lecture Code |
HW#4 due; HW#5 out | |||
| 21 | 4/7 | Algorithms IV |
Lecture Code |
|||||
| 22 | 4/12 | OOP, software engineering | 8.8, 8.10 | OOD I | 6.1-6.2 |
Lecture Code |
||
| 23 | 4/14 | OOD II | 6.3-6.4 |
Lecture Code |
||||
| 24 | 4/19 | OOD III; Arrays II | 6.5-6.8; 7.7 |
Lecture Code |
HW#5 due; HW#6 out | |||
| 25 | 4/21 | OOD IV; Arrays III | 6.9; 7.7 cont'd. |
Lecture Code |
||||
| 26 | 4/26 | OS, networks | 6.1-6.2, 6.4, 7 | Lecture | ||||
| 27 | 4/28 | Computation theory, Artificial Intelligence | 11, 14 | Lecture | ||||
| 5/2 |
No class |
HW#6 due | ||||||
| 5/3-5/5 |
Reading week |
|||||||
| 5/10 | ||||||||
| 5/12 | ||||||||