| # | Day | Date | Comments | Topics | Handouts |
| Week 1: Introduction (Ch 1) + Number Systems (App B) + Unicode (App C) | |||||
| 1 | Tue | 15-Jan | Welcome! | Course Policies Introduction Number Systems Unicode |
notes hw1 (due Fri 18-Jan) blackboard how-to |
| 2 | Thu | 17-Jan | Introduction to Java Programming (Hello World!) |
notes | |
| -- | Fri | 18-Jan | hw1 due | Recitation | hw2 (due Fri 25-Jan) |
| Week 2: Data and Expressions + Graphics | |||||
| 3 | Tue | 22-Jan | quiz 1 | Ch 2: Data and Expressions (1 of 2) Character Strings + String concatenation Variables and Assignment "int" Variables Scanner (from console, files, Strings) |
notes |
| 4 | Thu | 24-Jan | Ch 2: Data and Expressions (2 of 2) Primitive Data Types Increment and Decrement Operators Assignment Operators + Precedence Data Conversion Graphics |
notes BasicGraphics.java BasicGraphicsDemo1.java DrawCenteredString.java DrawImageFromFile.java (and sampleImage.jpg) |
|
| -- | Fri | 25-Jan | hw2 due | Recitation | hw3 (due Fri 1-Feb) |
| Week 3: Using Classes and Objects | |||||
| 5 | Tue | 29-Jan | quiz 2 | Review Ch 2 + Quiz 2 | notes |
| 6 | Thu | 31-Jan | Ch 3: Using Classes and Objects (1 of 2) Creating Objects + Aliases The String, Random, and Math classes Packages |
notes | |
| -- | Fri | 1-Feb | hw3 due | Recitation | hw4 (due Fri 8-Feb) |
| Week 4: Using Classes and Objects + Intro to Writing Methods + Intro to Conditionals and Loops | |||||
| 7 | Tue | 5-Feb | quiz 3 | Style Ch 3: Using Classes and Objects (2 of 2) Converting Strings + Other Types The printf method Wrapper classes + Autoboxing |
notes |
| 8 | Thu | 7-Feb | On the Merits of Attending Recitation Ch 4+5: (1 of 3) Intro to Methods, Conditionals, and Loops |
notes | |
| -- | Fri | 8-Feb | hw4 due | Recitation | hw5 (due Fri 15-Feb) |
| Week 5: Conditionals, Loops, and Methods | |||||
| 9 | Tue | 12-Feb | Review: Methods, If Statements, For Loops |
notes bonus project 0 |
|
| 10 | Thu | 14-Feb | quiz 4 | Style (Test Cases) Ch 4+5 (2 of 3) Note: This material is covered on quiz 5. |
notes |
| -- | Fri | 15-Feb | hw5 due | Recitation | hw6 (due Fri 22-Feb) |
| Week 6: Practice (Conditionals, Loops, and Methods) | |||||
| 11 | Tue | 19-Feb | no quiz | Style Magic Numbers, Duplicate Code, Else... Ch 4+5 (3 of 3) Practice: Quiz 4 Redux (Quiz4.java) |
notes Bonus Lecture #1: How to turn a bucket of sand into a computer. (Circuits, Architecture, Machine + Assembly Language, etc) bonus notes |
| 12 | Thu | 21-Feb | Review | notes | |
| -- | Fri | 22-Feb | hw6 due | Recitation | hw7a (due Tue 26-Feb) |
| Week 7: More Practice (Conditionals, Loops, and Methods) | |||||
| 13 | Tue | 26-Feb | hw7a due quiz 5 |
Review: Methods, Loops, and Conditionals | hw7b (due Fri 29-Feb) notes |
| 14 | Thu | 28-Feb | Review | notes | |
| -- | Fri | 29-Feb | hw7b due | Recitation | hw7c (due Tue 4-Mar) |
| Week 8: Test Review + Test 1 | |||||
| 15 | Tue | 4-Mar | hw7c due no quiz |
Test Review Tic-Tac-Toe using strings, methods, loops, and conditionals |
notes |
| 16 | Thu | 6-Mar | Test 1 | Test 1 | Bonus Lecture #2: 2d Arrays, Matrix Inversion, Power Sums bonus notes |
| -- | Fri | 7-Mar | no hw due | No Recitation | |
| Spring Break -- No Classes | |||||
| -- | Tue | 11-Mar | No Classes | ||
| -- | Thu | 13-Mar | No Classes | ||
| Week 9: Arrays + Searching + Sorting | |||||
| 17 | Tue | 18-Mar | no quiz bonus1 due |
Ch 7: Arrays (of ints) | notes |
| 18 | Thu | 20-Mar | Ch 9.5: Searching linear and binary search Ch 9.4: Sorting bubble, insertion, selection sorts |
notes Bonus Lecture #3: How to write simple 2d Board Games (Space Invaders) bonus notes CoStarsComponent.java SampleGraphics.java Applet wrapper notes |
|
| -- | Fri | 21-Mar | no hw due | Recitation | hw8a (due Tue 25-Mar) MusicalNotePlayer.java |
| Week 10: Advanced Arrays (Combinatorial Iterators) + Writing Classes | |||||
| 19 | Tue | 25-Mar | quiz 6 bonus2 due hw8a due |
java.util.Arrays class Combinatorial Iterators Permutations, Combinations, Base-N Counting, and PowerSets |
notes Permutations.java Combinations.java BaseNCounting.java PowerSets.java hw8b (due Fri 28-Mar) |
| 20 | Thu | 27-Mar | Ch 4: Writing Classes Instance Methods Instance Fields (variables) |
notes | |
| -- | Fri | 28-Mar | hw8b due | Recitation | hw9a (due Tue 1-Apr) |
| Week 11: Writing Classes + The Java Collection Framework | |||||
| 21 | Tue | 1-Apr | quiz 7 bonus3 due hw9a due |
Ch 7.5: Variable-length Parameter Lists Ch 4: Writing Classes (cont) Encapsulation Visibility Modifiers Scope Disambiguating with "this" Accessors and Mutators Constructors toString methods |
notes hw9b (due Fri 4-Apr) Bonus Lecture #4: How to write Tetris |
| 22 | Thu | 3-Apr | Ch 12: Collections The Java Collection Framework (JCF) List, Set, Map, ArrayList, HashSet, HashMap, Stack, Queue, Arrays, Collections Generics |
notes | |
| -- | Fri | 4-Apr | hw9b due | Recitation | hw10a (due Fri 11-Apr) |
| Week 12: Writing a Custom ArrayList | |||||
| 23 | Tue | 8-Apr | quiz 8 | Ch 7.3: Arrays of Objects Writing a Custom ArrayList (1 of 2) |
notes hw10b (due Fri 11-Apr) |
| 24 | Thu | 10-Apr | (from Ch 6): Interfaces Comparable, Iterator, Iterable MouseListener + MouseAdapter class Writing a Custom ArrayList (2 of 2) |
notes | |
| -- | Fri | 11-Apr | hw10a due hw10b due |
Recitation | hw11 (due Fri 25-Apr) |
| Week 13: Object-Oriented Design | |||||
| 25 | Tue | 15-Apr | quiz 9 | Ch 6: Object-Oriented Design Software Development Activities Static Class Members Class Relationships Method Design Method Overloading Testing |
Bonus Lecture #5a: Maze Generation and Maze Solving Bonus Lecture #5b: How to write a (very simple) text adventure notes |
| - | Thu | 17-Apr | No Classes (Carnival) | ||
| -- | Fri | 18-Apr | no hw due | No Recitation (Carnival) | |
| Week 14: Inheritance + Polymorphism + Recursion | |||||
| 26 | Tue | 22-Apr | Sorting Redux: swap, compareTo bubblesort, insertionsort, selectionsort Ch 8: Inheritance Creating Subclasses Overriding Methods "this" and "super" references Class Hierarchies How to make a sortable custom ArrayList Implement List + ListIterator interfaces or Subclass AbstractList (part 1) |
notes | |
| 27 | Thu | 24-Apr | sortingQuiz10 | Inheritance: Subclassing AbstractList (part 2) Ch 9: Polymorphism (overview) Ch 11: Recursion (overview) |
notes |
| -- | Fri | 25-Apr | quiz11 hw11 due |
Recitation (Test 2 Review) | |
| Week 15: Test 2 + Everything Else... / Final Exam Prep | |||||
| 28 | Tue | 29-Apr | Test 2 | Test 2 | |
| 29 | Thu | 1-May | Ch 11: Recursion (continued) Towers of Hanoi Ch 10: Exception Handling (overview) Final Exam Information |
notes Final Exam Information Dr. Miller's Review
Bonus Lecture #6: |
|
| -- | Fri | 2-May | no hw due | Recitation (Final Exam Review) | |
| Week 16/17: | |||||
| -- | Mon | 5-May 5:30pm |
Final Exam, DH A310, 5:30pm - 8:30pm | ||