# | Day | Date | Comments | Topics | Handouts |
Week
1: Introduction (Ch 1) + Number Systems (App B) + Unicode (App C) Data and Expressions + Graphics (Ch 2) |
|||||
1 | Mon | 30-Jun | Welcome! | Course Policies Introduction, Number Systems, Unicode |
notes hw1 (due Wed 2-Jul) |
2 | Tue | 1-Jul | Introduction to Java Programming (Hello World!) |
notes Bonus #1 (Self-paced): Captcha! bonus notes |
|
3 | Wed | 2-Jul | hw1 due quiz 0 (practice) |
Ch 2: Data and Expressions (1 of 2) Character Strings + String concatenation Variables and Assignment "int" Variables Scanner (from console, files, Strings) |
notes hw2 (due Mon 7-Jul) Bonus #2 (Lecture): How to turn a bucket of sand into a computer. (Circuits, Architecture, Machine + Assembly Language, etc) bonus lecture notes |
4 | Thu | 3-Jul | quiz 1 | 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 | 4-Jul | No Classes | ||
Week
2: Using Classes and Objects (Ch 3) Intro to Writing Methods + Intro to Conditionals and Loops |
|||||
5 | Mon | 7-Jul | hw2 due | Graphics Redux | notes hw3 (due Thu 10-Jul) |
6 | Tue | 8-Jul | quiz 2 | Ch 3: Using Classes and Objects (1 of 2) Creating Objects + Aliases The String, Random, and Math classes Packages |
notes |
7 | Wed | 9-Jul | Review | notes | |
8 | Thu | 10-Jul | hw3 due | Style Ch 3: Using Classes and Objects (2 of 2) Converting Strings + Other Types The printf method Wrapper classes + Autoboxing Try/Catch and Exceptions |
notes |
9 | Fri | 11-Jul | quiz 3 | Methods, Conditionals, and Loops (1 of 3) |
notes hw4 |
Week
3:
Conditionals and Loops (Ch 5) ArrayLists and Arrays (Ch 7) Searching and Sorting (Ch 9.4-5) |
|||||
10 | Mon | 14-Jul | hw4 due | Methods, Conditionals, and Loops (2 of 3) |
notes hw5 (due Thu 17-Jul) hw5-bonus (due Tue 22-Jul) |
11 | Tue | 15-Jul | quiz 4 | Methods, Conditionals, and Loops (3 of 3) | notes |
12 | Wed | 16-Jul | Review Quiz 4 | ||
13 | Thu | 17-Jul | hw5 due | Review: Methods, Conditionals, and Loops | notes |
14 | Fri | 18-Jul | quiz 5 | Review: Methods, Conditionals, and Loops | |
Week
4: Arrays + Searching + Sorting Midterm! How to write Tetris! |
|||||
15 | Mon | 21-Jul | Arrays | notes | |
16 | Tue | 22-Jul | hw5 bonus due | Ch 9.5: Searching linear and binary search Ch 9.4: Sorting bubble, insertion, selection sorts Sub-Quadratic Sorting: iterative merge sort |
notes IterativeMergeSort.java IterativeQuickSort.java |
17 | Wed | 23-Jul | MIDTERM | Midterm Exam | |
18 | Thu | 24-Jul | Tetris (1 of 2) | hw6 (Tetris, due Tue
29-Jul) PreTetrisConnect4.java TetrisMidi.java + tetris.midi MusicalNotePlayer.java |
|
19 | Fri | 25-Jul | Tetris (2 of 2) | ||
Week
5: Writing Classes (Ch 4) Object-Oriented Design (Ch 6) Inheritance (Ch 8) |
|||||
20 | Mon | 28-Jul | Tetris Lab | ||
21 | Tue | 29-Jul | quiz 6 (sorting)hw6 due (Tetris) |
Writing a custom Fraction class Writing a custom Polynomial class |
hw7a (due Fri 1-Aug) FractionDemo.java PolynomialDemo.java |
22 | Wed | 30-Jul | "Writing Classes" topics: (Ch 4): Instance Methods + Fields (variables), Constructors, toString methods, Encapsulation, Visibility Modifiers, Scope, Disambiguating with "this", Accessors and Mutators, Variable-length Parameter Lists (Ch 7.5) |
notes |
|
23 | Thu | 31-Jul | Writing a custom StringBuffer class "OO Design" topics: (Ch 6): Software Development Activities Static Class Members, Class Relationships, Method Design, Method Overloading, Testing |
notes StringBufferDemo.java |
|
24 | Fri | 1-Aug | hw7a due | Writing a custom sortable ArrayList by subclassing AbstractList "Inheritance" topics: (Ch 8): Creating Subclasses, Overriding Methods, "this" and "super", Class Hierarchies |
hw7b (due Tue 5-Aug) |
Week
6: Polymorphism (Ch 9) +
Exceptions (Ch 10) + Recursion (Ch 11) + Collections (Ch 12) + Final Exam + Term Projects |
|||||
25 | Mon | 4-Aug | Ch 9: Polymorphism (overview) Ch 10: Exceptions (overview) |
Polymorphism.java SortableLinkedList.java |
|
26 | Tue | 5-Aug | hw7b due quiz 7 |
Ch 12: Collections (overview) | JcfDemo.java sortedDictionary.txt |
27 | Wed | 6-Aug | Final Exam | Final Exam | hw8 (due Fri 8-Aug) |
28 | Thu | 7-Aug | 8:15am: Bonus Lecture on Minimax Lecture: Ch 11: Recursion (overview) Pascal's Triangle, Towers of Hanoi Recitation: Review of week 5+6 |
RecursionDemo.java Connect4WithMinimax0.java Connect4WithMinimax1.java Connect4WithMinimax2.java |
|
29 | Fri | 8-Aug | hw8 due hw 9-10: Term Projects due quiz 8 |
8:15am: Bonus Lecture on jar files + applets How to make/use jar files jar files, manifests, resources, temp files, ... How to make/use applets 9:00am: Quiz 8 Recitation: Term Project Presentations |
bonus notes (jars + applets) |