15-110: Schedule
Sections M-Q
Fall 2009


 
Week #

Dates

Event / Topics

Labs / Homeworks

Week
#1

Mon 24-Aug to
Fri 28-Aug
Getting Started
Data and Expressions
Writing Static Methods
Lab1 (due Mon 31-Aug)
Hw1 (due Thu 3-Sep)

Week
#2

Mon 31-Aug to
Fri 4-Sep
Data and Expressions (continued)
Writing Static Methods (continued)
Step + Repeat:  The Shape of Div and Mod
Style and Code Conventions + Style Rubric
Getting Started with Graphics
Problem-Solving Practice
Practice Quiz1 (from Fall 2008)
Lab2 (due Mon 7-Sep)
Hw2 (due Thu 10-Sep)

Week
#3

Mon 7-Sep to
Fri 11-Sep
Quiz1 (on Tue 8-Sep, through Week1, Lab1, Hw1)
Conditionals
Getting Started with Events
Bonus Lecture #1:  Circuits and Assembly
Lab3 (due Mon 14-Sep)
Hw3 (due Thu 17-Sep)
Week
#4

Mon 14-Sep to
Fri 18-Sep

Quiz2 (on Thu 17-Sep, through Week2, Lab2, Hw2)
Loops
Bonus Lecture #2:  Matrices and Linear Algebra
Lab4 (due Thu 24-Sep)
Hw4 (due Thu 1-Oct)
Week
#5

Mon 21-Sep to
Fri 25-Sep

No classes (Gates Opening + G20 Summit)  
Week
#6

Mon 28-Sep to
Fri 2-Oct

Quiz3 (on Fri 2-Oct, through Week3, Lab3, and Hw3)
Scanner Methods and Console UI
String and Character Methods
Math and Random Methods
Bonus Lecture #3:  Making and Solving Mazes (Backtracking)
Lab5 (due Tue 6-Oct)
Read: Ch 1 (all)
Read: Ch 2 (Secs 1-6)
Week
#7

Mon 5-Oct to
Fri 9-Oct

Quiz4 (on Thu 8-Oct, through Week5, Lab4, and Hw4)
More Loops
One-Dimensional Arrays (part 1 of 2)
Case Studies:  Monte Carlo Methods and Arrays
Hw5 (due Tue 13-Oct)
Read: Ch 3 (Secs 1-5, 8)
Read: Ch 5 (Secs 1-5, 7-8)
Week
#8
Mon 12-Oct to
Fri 16-Oct
One-Dimensional Arrays (part 2 of 2)
Case Study:  Writing Snake Using 2d Arrays
Midterm #1 (on Thu 15-Oct, through Week7, Lab5, Hw5)
Lab6 (due Thu 22-Oct)
Read: Ch 7 (Secs 1-2, 4-6)
    Mid-semester break  
Week
#9
Mon 19-Oct to
Fri 23-Oct
Ch ch ch ch changes
Core:
   Graphics, Color, and Polygon Methods
Extensions:
   JComponentWithEvents API + EventsDemo
   Case Study:  How to Draw a Star
   Two-Dimensional Arrays + Case Study: 2D Board Search
Bonus Lecture #4:  More Backtracking (NQueens + NPuzzle)
Hw6-7 (due Sat 31-Oct)
Read: Ch 7 (all)
Week
#10
Mon 26-Oct to
Fri 30-Oct
Quiz5 (on Tue 27-Oct, covers Snake and Lab6)
Core:
  Code Tracing
  Getting Started with Writing Classes
  Case Study:  Parity Card Trick
Extensions:
   More D&E (split, format, and printf)
   The Enhanced "for" Loop
Bonus Lecture #5:  How to Write a (Simple) Lisp Interpreter
 
Week
#11
Mon 2-Nov to
Fri 6-Nov
Quiz6 (on Fri 6-Nov, covers Hw6-7 core and week9 core)
Core:
  Writing Classes
Extensions:
  Case Study:  How to Write a Text Adventure
  More D&E (overflow, underflow, StringBuffer)
  Variable-Length Parameter Lists
Lab7-8: Tetris (due Sat 14-Nov)
Hw8 (due Mon 9-Nov)
Read: Ch 4 (Secs 1-5)
Read: Ch 6 (Secs 1-4, 7-9)
 
Week
#12
Mon 9-Nov to
Fri 13-Nov
Quiz7 (on Thu 12-Nov, covers week10 core)
Core:
  Searching and Sorting
Extensions:
  More Writing Classes
Bonus Lecture #6: Sub-quadratic Sorts (merge/quick/heap/radix)
Hw9 (due Thu 19-Nov)
Read: Ch 9 (Secs 4-5)
Week
#13
Mon 16-Nov to
Fri 20-Nov
Quiz8 (on Tue 17-Nov, covers Lab7-8 and week11+12 core)
Core:
  Case Study:  How to Write an Animated Process (Sorting)
  The JCF, Part 1 (Lists, Sets, Maps)
  Getting Started with Packaging (Jars and Applets)
Extensions:
  Samir's Sliding-Rod Mechanical Logic Gates
Bonus Lecture #7: AI: Minimax (2-Player Games)
Lab9 (Optional, due Thu 3-Dec)
Hw10-13/Term Project (due Fri 4-Dec)
Read: Ch 12 (Collections)
 
Week
#14
Mon 23-Nov to
Tue 24-Nov
Midterm #2 (on Tue 24-Nov)  
    Thanksgiving Break
(No Classes on Wed 25-Nov thru Fri 27-Nov)
 
Week
#15
Mon 30-Nov to
Fri 4-Dec
Core:
  Getting Started with Recursion
  Student Project Gallery
Extensions / Odds'n'Ends:
  JCF Part 2:  Collections class, PriorityQueues (and Heapsort)
  Steganography
  UI tidbits (JOptionPane, full-screen + non-resizable frames)
  The Halting Problem
Optional Reading:
   Read:  Ch 8 (Inheritance)
   Read:  Ch 9 (Polymorphism)
   Read:  Ch 10 (Exceptions)
   Read: Ch 11 (Recursion)
--- Mon 7-Dec Final Exam, Mon 7-Dec, 8:30am (DH 2315)