15-100: Schedule
Sections T & U
Spring 2008


 
# 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:
Making it "real":
   Swing GUI
      Menus, Buttons,
      TextFields, Layouts
   Applets
   Jars (very briefly)
   Servlets (very briefly)
bonus notes

-- 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