AP Java Course Schedule

All readings and exercises are in Java Software Solutions (fourth (Java 1.4) edition) by John Lewis and William Loftus except where noted.

AB Webpage: http://www4.ncsu.edu/~spbalik/java/AB.html

Course URL: http://www4.ncsu.edu/~spbalik/java/schedule.html

Sample Exams

Email:   spbalik@unity.ncsu.edu       Java API:  http://java.sun.com/j2se/1.4.2/docs/api/

      Unofficial AP Java Subset API (courtesy of Owen Astrachan, Duke University):  http://www.cs.duke.edu/csed/ap/subset/doc/

DATE TOPICS READING/EXERCISES
Aug 24 LAB Exercises (due Mon Aug 30): 1.1 - 1.8 (p 54)
CHALLENGE: 1.11 (p 55)
Aug 25 History of Computing, Computer Systems Reading: History of Computing, Sec 1.0
In-class exercise: Who Wants to be a Millionaire?
Aug 26 LAB Exercises (due Mon Aug 30): 1.1 - 1.8 (p 54)
CHALLENGE: 1.11 (p 55)
Aug 27 Binary Number System Reading: Sec 1.1 - 1.2, App B
In-class exercise
Aug 30 First Java Program Reading: Sec 1.3 - 1.4
In-class exercise
Aug 31 LAB Lab 1 Goals 3 - 5
Sep 1 Graphical User Interfaces
Primitive Data Types
Reading: Sec 1.5, 2.3 - 2.4
In-class exercise
Sep 2 LAB Programming Projects 1.1 - 1.5 (p 56)
Sep 3 Strings and Output Reading: Sec 2.1, 2.2, 2.5
Sep 6 NO CLASS LABOR DAY
Sep 7 LAB Lab 2
Syntax.java
Runtime.java
Logic.java
Sep 8 Arithmetic and Boolean Expressions In-class exercise
Sep 9 LAB Finish Lab 2
Programming Projects 2.2, 2.3, 2.6, 2.7 (p 123)
Sep 10 Selection Statements Reading: Sec 2.6 - 2.9, Sec 3.0 - 3.4
In-class exercise
Sep 13 If else Examples Exercises 2.2 - 2.7, 2.9 - 2.10 (pp. 120 - 121)
Reading: Sec 3.5
Sep 14 LAB LeapYear.java
IslamicLeapYear.java
CrossStreet.java
Sep 15 Introduction to Loops  
Sep 16 LAB Finish Lab 2, IslamicLeapYear, CrossStreet
Programming Projects 2.2, 2.3, 2.6, 2.7 (p 123)
Your choice: Programming Projects 2.8 - 2.13 (pp. 123 - 124)
Sep 17 More Loops Reading: Sec. 3.6 - 3.8
Sep 20 do-while loops and nested loops In-class for Loop Exercise
In-class while Loop Exercise
In-class Loop Exercise
Exercises 3.1 - 3.6 (p. 198)
Sep 21    
Sep 22    
Sep 23 LAB Complete Arithmetic.java
Complete Loop.java
Sep 24 LAB Programming Project 3.13 (p. 203)
Sep 27 QUIZ: expressions, syntax, logic, and runtime errors and selection statements  
Sep 28 Strings and String Tokenization Exercises 3.8 - 3.14, 3.18 - 3.20 (pp. 199-200) DUE TODAY!!
Sep 29 StringTokenizer
In-class exercise
Sep 30 LAB Write a Program for Exercise 3.20 (p. 200)
Programming Projects 3.5, 3.7, 3.15 (pp. 201-203)
Oct 1 LAB Continue projects
Oct 4 NO CLASS  
Oct 5 RandomExample class Reading: Section 2.7
Exercises 3.7, 3.21, 3.22, 3.23 (pp. 198-201) DUE TODAY!!
Oct 6 QUIZ: selection statements and loops  
Oct 7 LAB Programming Projects 3.4, 3.6 (p. 201)
Programming Projects 3.11, 3.16 (pp. 202-203)
(see Random class in Sec. 2.7)
Oct 8 LAB Happy Homecoming
Oct 11 Introduction to Classes Chapter 4
Oct 12  
 
Oct 13 Classes, Objects, and Methods  
Oct 14 LAB Lab 3     ZellerGUI.java
Oct 15 LAB Continue Lab 3     ZellerGUI.java
Oct 18 LAB Finish Lab 3     ZellerGUI.java
Oct 19 More Classes In-class exercise (Country class) 
Oct 20 LAB Implement Country class
Lab 4     Car.java     CarGUI.java
Oct 21 LAB Lab 4     Car.java     CarGUI.java
Oct 22 NO CLASS TEACHER WORKDAY
Oct 25 Class Crossword Puzzle  
Oct 26 BankAccount class
BankAccount class API
 
Oct 27 LAB Lab 5     JavaIsFun.java     WindChill.java
Oct 28 LAB Lab 5     JavaIsFun.java     WindChill.java
Oct 29 LAB Lab 5     JavaIsFun.java     WindChill.java
Nov 1 Static Variables and private Methods
Reading: Sec 5.0 - 5.1
Nov 2 LAB PROJECT 1
Nov 3 NO CLASS  
Nov 4 LAB Work on Project 1
Exercises 4.1 - 4.10 (pp. 262 - 263) DUE TODAY
Nov 5 NO SCHOOL TEACHER WORKDAY
Nov 8 - 12 LAB Work on Project 1
Nov 15 LAB Work on Project 1
Nov 16 Scope, Lifetime, and Hiding
Variable Kinds, Scope, Lifetime
 
Nov 17 Aggregation, static variables, Model/View
Cake class
Bakery class
BakeryGUI class
TURN IN HARDCOPY OF Project 1 TODAY!!
Nov 18 2nd Quarter Quiz 1  
Nov 19 LAB Lab 6  ComboExample.java     CalendarGUI.java
Nov 22 Go over Lab 6  
Nov 23 LAB Lab 6
Nov 24 NO CLASS THANKSGIVING
Nov 25 NO CLASS THANKSGIVING
Nov 26 NO CLASS THANKSGIVING
Nov 29 Go over Quiz and Lab 6  
Nov 30 The Big Picture  
Dec 1 LAB Work on Lab 6 & PI & Palindrome programs
Dec 2 LAB  
Dec 3 LAB  
Dec 6 Go over PROJECT 2  
Dec 7 LAB Work on Project 2
Dec 8 LAB Work on Project 2
Dec 9 LAB Work on Project 2
Dec 10 LAB Work on Project 2
Dec 13 EXAM WEEK AP Computer Science Final Exam 1:30 - 3:30 pm
Dec 14 EXAM WEEK  
Dec 15 EXAM WEEK  
Dec 16 EXAM WEEK  
Dec 17 EXAM WEEK  
Dec 20 - Jan 2 NO CLASS HOLIDAY BREAK
Jan 3 Arrays Reading: Sec 6.0
Jan 4 Array Methods In-class exercise
Jan 5 LAB Work on Project 2
Jan 6 Arrays of Objects
Command Line Arguments
Reading: Sec. 6.1
Jan 7 LAB ArrayPractice.java     ExpectedOutput
Jan 10 Arrays as Lists PROJECT 2 DUE!
Jan 18 LAB Write your own class
Jan 19 LAB Write your own class
Jan 20 LAB Start on PROJECT 3
(You can add the file operations when we learn about files after the AP exam.)
Jan 21 More Lists  
Jan 24 Ordered Lists  
Jan 25 Ordered Lists  
Jan 26 Ordered Lists  
Jan 27 LAB Work on Project 3
Jan 28 LAB Work on Project 3
Jan 31 "Expandable" Arrays  
Feb 1 - 4 LAB Work on List classes
Project 3
Dec 5 Temperature class
AdditionTable class
Exercises 6.1, 6.3 (pp. 374)
Feb 7 Sorting PROJECT 3 DUE TODAY!!!
Feb 8 Merge Sort In-class exercise
Feb 9 LAB Timing Study
Feb 14
The ArrayList Class
GroceryList Class Using an ArrayList
AnsweringMachine Class Using an ArrayList
PhoneMessage Class (used by AnsweringMachine)
 
Feb 15 LAB Use ArrayList class for WaitingRoomList AND Dictionary classes
WaitingRoomList Class
Patient Class (used by WaitingRoomList)
Dictionary Class
Feb 16 Searching Algorithms In-class exercise
Feb 28 Discuss Sorting/Searching
Recursion
Reading: Chapter 11
Mar 1 More Recursion In-class exercise
Mar 2 LAB  
Mar 7 More Recursion  
Mar 8 Recursive In Order Example
Recursive Reverse Example
Recursive Binary Search
Maze Example
 
Mar 9 LAB Work on Maze
Mar 10 LAB Two-dimensional Arrays
     Matrix.java
Mar 11 QUIZ on Recursion Classes and Objects Homework DUE Today
Mar 14 LAB Two-dimensional Arrays
     Matrix.java
Mar 15 Inheritance and Polymorphism  
Mar 16 LAB Complete TwoDimArray.java and Matrix.java
Apr 12 Shape Class with compareTo and equals methods
Test Shape Class with compareTo and equals methods
MBCS Chapter 2
 
May 10 Files Sections 8.0 - 8.3
May 11 LAB Lab 7 - Files    
DrawingPanel.java      TrackerGUI.java
path1.txt     path2.txt path3.txt    
path4.txt path5.txt     path.txt
usa.txt
May 12 Keyboard Input Example  
May 13 LAB Lab 7 - Files
May 14 LAB Lab 7 - Files
May 17 More File Examples  
May 18 LAB Lab 8 - 2D Arrays    
SimpleGraphics.java      PostalGUI.java
postal/Bar.java     postal/FullBar.java postal/PostalBarCode.java    
postal/SmallBar.java
May 19 Appending to a File Example  
May 20 LAB Lab 8 - 2D Arrays
May 21 LAB Lab 8 - 2D Arrays
May 24 LAB Lab 9 - List Manipulation    
DrawCircle.java      ListManager.java
Rect.java     WindowManager.java
May 25 LAB Lab 9 - List Manipulation
May 26 LAB Lab 9 - List Manipulation
May 27 LAB Lab 10 - Java Applets    

Suzanne Balik ( spbalik@unity.ncsu.edu)
Last modified: Mon May 9 2005