Following is a tentative schedule of topics for this course:
Date | Topic | Reading | Work Due |
|
---|---|---|---|---|
Mon Aug 21 | Introduction | Course overview; Introduction to Computer Science [Slides: PDF, PDF 6up] | ||
Wed Aug 23 | Computer Science: Concepts and tools | Sec. 1.1 - 1.5 | ||
Thu Aug 24 | Lab 1 - | |||
Fri Aug 25 | Writing and compiling Java programs | Sec. 1.6 - 1.8 | Quiz Ch 1 (Vikingweb) | |
Mon Aug 28 | Java Objects |
Types, classes, and methods [Slides: PDF, PDF 6up] | Sec. 2.1 - 2.5 | |
Wed Aug 30 | Working with objects [Code] | Sec. 2.6 - 2.8 | ||
Thu Aug 31 | Lab 2 - | |||
Fri Sep 1 | Objects, and the Java API | Sec. 2.9 - 2.10 | Quiz Ch 2 (Vikingweb) | |
Mon Sep 4 | No class - Labor Day | |||
Wed Sep 6 | Java Classes |
Designing classes
[Slides: PDF,
PDF 6up] Code: BankAccount.java |
Sec. 3.1 - 3.3 | |
Thu Sep 7 | Lab 3- | |||
Fri Sep 8 | Implementing classes | Sec. 3.4, 3.5 | ||
Mon Sep 11 | Testing and using classes | Sec. 3.6 - 3.8 | Quiz Ch 3 (Vikingweb) | |
Wed Sep 13 | Data Types |
Data types, numbers, and constants
[Slides: PDF,
PDF 6up] Code: CashRegister.java, CashRegisterTester.java |
Sec. 4.1 - 4.2 | |
Thu Sep 14 | Lab 4- | |||
Fri Sep 15 | Binary numbers | Handout, Appendix L | ||
Mon Sep 18 | Arithmetic expressions | Sec. 4.3 - 4.5 | ||
Wed Sep 20 | Strings, user input, formatted output | Sec. 4.6, 4.7 | ||
Thu Sep 21 | Lab 5- | |||
Fri Sep 22 | Review | |||
Mon Sep 25 | Exam 1 | |||
Wed Sep 27 | Graphics | Drawing shapes [Slides: PDF, PDF 6up] | Sec. 5.1, 5.2 | |
Thu Sep 28 | Lab 6- | |||
Fri Sep 29 | Applets, graphics, and text | Sec. 5.3, 5.6 | ||
Mon Oct 2 | Colors, and complex drawing | Sec. 5.4 - 5.7 | ||
Wed Oct 4 | Decisions | Decisions [Slides: PDF, PDF 6up] | Sec. 6.1, 6.2 | |
Thu Oct 5 | Lab 7- | |||
Fri Oct 6 | Decisions (cont.) | Sec. 6.3 | ||
Mon Oct 9 | Boolean expressions | Sec. 6.4 | ||
Wed Oct 11 | Iteration (Looping)/span> |
while loops [Slides: PDF, PDF 6up] | Sec. 7.1, 7.2 | |
Thu Oct 12 | Lab 8- | |||
Fri Oct 13 | Loops (cont.) | Sec. 7.3, 7.4 | ||
Mon Oct 16 | No class - Fall Weekend | |||
Wed Oct 18 | Iteration | File I/O | Sec. 16.1 | |
Thu Oct 19 | Lab 9- | |||
Fri Oct 20 | Random numbers and simulation | Sec. 7.5 | ||
Mon Oct 23 | Arrays | Arrays, and array lists [Slides: PDF, PDF 6up] | Sec. 8.1, 8.2 | |
Wed Oct 25 | Wrapper classes, and array algorithms | Sec. 8.3 - 8.5 | ||
Thu Oct 26 | Lab 10 | |||
Fri Oct 27 | 2D arrays, other array topics | Sec. 8.6, 8.7 | ||
Mon Oct 30 | File I/O, arrays, and review | Sec. 16.2, 16.3 | ||
Wed Nov 1 | Exam 2 | |||
Thu Nov 2 | Lab 11- | |||
Fri Nov 3 | O-O Design |
Designing classes [Slides: PDF, PDF 6up] | Sec. 9.1-9.3, 9.9 | |
Mon Nov 6 | OO design | Sec. 17.1-17.3, 17.5 | ||
Wed Nov 8 | Side effects, pre/postconditions | Sec. 9.4, 9.5 | ||
Thu Nov 9 | Lab 12- | |||
Fri Nov 10 | Static methods/fields, and scope | Sec. 9.6 - 9.8 | ||
Mon Nov 13 | Recursion | Recursion | Sec. 18.1, 18.2 | |
Wed Nov 15 | Recursion: Helper methods and efficiency | Sec. 18.3, 18.4 | ||
Thu Nov 16 | Lab 13- | |||
Fri Nov 17 | Recursion (cont.) | Sec. 18.5 | ||
Mon Nov 20 | Review ExpressionTokenizer.java, Evaluator.java, EvaluatorTester.java |
|||
Wed Nov 22 |
No
class - Thanksgiving
|
|||
Thu Nov 23 | ||||
Fri Nov 24 | ||||
Mon Nov 27 | Wrap-up | Testing | Sec. 10.1 - 10.3 | |
Wed Nov 29 | JUnit testing, and logging | Sec. 104, 10.5 | ||
Thu Nov 30 | Lab 14 | |||
Fri Dec 1 | Debugging | Sec. 10.6, 10.7 | ||
Mon Dec 4 | Review | |||
Wed Dec 6 (Last class) |
Review and wrap-up |