Date |
Book Sections |
Lecture Topics |
Due |
Mon 8/30
|
|
Welcome and Announcements |
|
Wed 9/1
|
1.2 |
Hardware Components |
Orientation |
Fri 9/3
|
1.2, 1.3, 1.4 |
Hardware Components, Networks, The Java Programming Language |
|
Wed 9/8
|
1.4, 1.5, 1.6, 2.1 |
The Java Programming Language, Program Development, Object-Oriented Programming, Character Strings |
Lab 1 |
Fri 9/10
|
2.2, 2.3, 2.4, 2.5 |
Variables and Assignment, Primitive Data Types, Expressions, Data Conversion |
|
Mon 9/13
|
2.5, 2.6, 2.7, 2.8, 2.9 |
Data Conversion, Interactive Programs, Graphics, Applets, Drawing Shapes |
|
Wed 9/15
|
2.9, 3.1, 3.2, 3.3 |
Drawing Shapes, Creating Objects, The String Class, Packages |
Lab 2 |
Fri 9/17
|
3.3, 3.7, 3.4, 3.9, 3.10 |
Packages, Enumerated Types, The Random Class, Components and Containers, Nested Panels |
|
Mon 9/20
|
3.10, 3.11, 4.1, 4.2, 4.3 |
Nested Panels, Images, Classes and Objects Revisited, Anatomy of a Class, Encapsulation |
|
Wed 9/22
|
4.3, 4.4, 4.5 |
Encapsulation, Anatomy of a Method, Constructors Revisited |
|
Fri 9/24
|
4.5, 4.6 |
Constructors Revisited, Graphical Objects |
Lab 3 |
Mon 9/27
|
4.6, 4.7 |
Graphical Objects, Graphical User Interfaces |
|
Wed 9/29
|
4.7, 4.8, 5.1, 5.2, 5.3 |
Graphical User Interfaces, Buttons, Boolean Expressions, The if Statement, Comparing Data |
|
Fri 10/1
|
5.3, 5.4 |
Comparing Data, The switch Statement |
Lab 4 |
Mon 10/4
|
5.4, 5.5, 5.6 |
The switch Statement, The while Statement, Iterators |
Exam 1 |
Wed 10/6
|
5.6, 5.7, 5.8, 5.9 |
Iterators, The do Statement, The for Statement, Drawing with Loops and Conditionals |
Fri 10/8
|
5.9, 5.10, 5.12, 6.1 |
Drawing with Loops and Conditionals, Determing Event Sources, More Button Components, Software Development Activities |
|
Mon 10/11
|
6.1, 6.2, 6.3, 3.5, 3.6, 3.8 |
Software Development Activities, Identifying Classes and Objects, Static Class Members, The Math Class, Formatting Output, Wrapper Classes |
|
Wed 10/13
|
3.8, 6.4, 6.5 |
Wrapper Classes, Class Relationships, Interfaces |
Lab 5 |
Fri 10/15
|
6.5, 6.6 |
Interfaces, Enumerated Types Revisited |
|
Mon 10/18
|
6.6, 6.7, 6.8 |
Enumerated Types Revisited, Method Design, Method Overloading |
|
Wed 10/20
|
6.8, 6.9, 4.9, 5.11 |
Method Overloading, Testing, Text Fields, Dialog Boxes |
Lab 6 |
Fri 10/22
|
5.11, 6.10, 6.11, 6.12, 6.13 |
Dialog Boxes, GUI Design, Layout Managers, Borders, Containment Hierarchies |
|
Mon 10/25
|
6.13, 7.1, 7.2, 7.3 |
Containment Hierarchies, Array Elements, Declaring and Using Arrays, Arrays of Objects |
|
Wed 10/27
|
7.3, 7.4 |
Arrays of Objects, Command-Line Arguments |
|
Fri 10/29
|
7.4, 7.7, 12.1, 12.2, 12.3 |
Command-Line Arguments, The ArrayList Class, Collections and Data Structures, Dynamic Representations, Linear Data Structures |
Lab 7 |
Mon 11/1
|
12.3, 12.4, 12.5 |
Linear Data Structures, Non-Linear Data Structures, The Java Collections API |
|
Wed 11/3
|
12.5, 7.5, 7.6, 11.1, 11.2 |
The Java Collections API, Variable Length Parameter Lists, Two-Dimensional Arrays, Recursive Thinking, Recursive Programming |
|
Fri 11/5
|
11.2, 11.3, 11.4 |
Recursive Programming, Using Recursion, Recursion in Graphics |
|
Mon 11/8
|
11.4, 7.8 |
Recursion in Graphics, Polygons and Polylines |
|
Tue 11/9 |
|
|
Lab 8 |
Wed 11/10
|
7.8, 7.9, 7.10 |
Polygons and Polylines, Mouse Events, Key Events |
|
Fri 11/12
|
7.10, 10.1, 10.2 |
Key Events, Exception Handling, Uncaught Exceptions |
|
Mon 11/15
|
10.2, 10.3, 10.4, 10.6, 10.7 |
Uncaught Exceptions, The try-catch Statement, Exception Propagation, I/O Exceptions, Tool Tips and Mnemonics |
Lab 9 |
Tue 11/16 |
|
|
Exam 2 |
Wed 11/17
|
10.7, 10.8, 10.9, 10.10, 8.1 |
Tool Tips and Mnemonics, Combo Boxes, Scroll Panes, Split Panes, Creating Subclasses |
Thu 11/18 |
|
|
Fri 11/19
|
8.1, 8.2 |
Creating Subclasses, Overriding Methods |
|
Mon 11/22
|
8.2, 8.3 |
Overriding Methods, Class Hierarchies |
|
Tue 11/23
|
8.3, 10.5, 8.4 |
Class Hierarchies, The Exception Class Hierarchy, Visibility |
|
Mon 11/29
|
8.4, 8.5, 8.6, 8.7, 8.8, 9.1 |
Visibility, Designing for Inheritance, The Component Class Hierarchy, Extending Adapter Classes, The Timer Class, Late Binding |
Lab 10 |
Wed 12/1
|
9.1, 9.2, 9.3 |
Late Binding, Polymorphism via Inheritance, Polymorphism via Interfaces |
|
Fri 12/3
|
9.3, 9.4, 9.5 |
Polymorphism via Interfaces, Sorting, Searching |
|
Mon 12/6
|
9.5, 9.6 |
Searching, Designing for Polymorphism |
|
Wed 12/8
|
9.6, 9.7, 9.8, 9.9, 9.10 |
Designing for Polymorphism, Event Processing, File Choosers, Color Choosers, Sliders |
|
Thu 12/9 |
|
|
Lab 11 |
12/13-12/18 |
|
|
Final Exam |