Java Favorites (this grows frequently)
Textbook: Big Java (2nd ed.) by Cay Horstmann.
Supplement: Advanced Placement Computer Science Study Guide (4th ed.)
by Fran Trees.
Homework problem codes:
Grading online tests is hard. Here are some rules I plan to use going forward.
PP8.2: Conway's Game of Life; this is the most important project for the yearyou may do it in either Java or Processing
WEEK  TOPIC(S)  READING  HOMEWORK 
1/61/9  Introduction/Get Started  Chapter 1  Download and install Eclipse If you are interested in 3D animation and modeling, consider looking at Processing R1.4, R1.5, R1.6, R1.10, PE1.1 
1/121/16  Using Objects  Chapter 2 
R2.1, R2.2, R2.3, R2.8, R2.9, R2.10, PE2.4, PP2.2 
1/191/23  Implementing Classes  Chapter 3 
An explanation of the BankAccount problem; includes both Main and BankAccount classes (Note: the BankAccount class will be in place by end of day, Wednesday, January 23.) R3.1, R3.3, R3.6, PE3.1, PE3.12 
1/261/30  Fundamental Data Types Make sure to read Random Fact 4.2, pp. 133135 Also read Quality Tip 4.1 on page 115. It is really, really important in the programming world. Also make sure to read about the Scanner class, starting on p. 135 
Chapter 4 
CH: R4.3, R4.4 (use a byte), R4.6, R4.8, R4.11, R4.16 (predict first, then test to check your answers), PE 4.3, PE4.8, PE4.12, PE 4.13 Solution to PE 4.3 (Don't look until you have given this an honest effort.) 
2/22/6  Graphics  Chapter 5 
Practice problems with Strings It might seem like we are getting ahead of ourselves as this is problem 6.18, but it makes for great review material for the test. Some practice with the String class at javabat.com PE5.6, PE5.8, PE5.14 Practice test solutions (Don't peek until you have tried the problems first!) 
2/92/11  Decisions (aka Conditionals) Read Advanced Topics 6.1, 6.2, and 6.5 on pp. 195, 205, and 218 
Chapter 6 
Midterm 1 on chapters 14: Monday, February 10 R6.1, R6.5, R6.6, R6.8, R6.10, R6.13, PE6.1, PE6.4 (use a Scanner object), PE6.18; 
2/172/20  Iteration  Chapter 7  CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12 
2/232/27  Iteration  Chapter 7  CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12 
3/23/6  Iteration  Chapter 7  CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12 Solution to squiral problem (PE7.9) Paley @SIGCSE Wednesday thru Friday; be nice to sub; if you have questions, ask Mr. Bell or send email Finish Chapter 7 homework 
3/93/12  Arrays and ArrayLists  Chapter 8 
R8.8, R8.9, R8.11, R8.12, P8.18 (READ NOTES), PP8.2 (Conway's Game of Life; this is the most important project for the year) 
3/163/20  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life  
3/233/27  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life  Midterm 2 on chapters 6 and 7: Monday, March 24
Solution to the magic square problem Continue Conway's Game of Life; 
3/304/2  SPRING BREAK  SPRING BREAK  Power Loafing 
4/64/10  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life 
Continue Conway's Game of Life 
4/134/17  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life  Continue Conway's Game of Life Find a Nifty for extra credit if you have CGoL done. 
4/204/24  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life 
The most excellent Bell Number Problem. Solution to Bell Number Problem The Josephus problem Solution to the Josephus problem Continue Conway's Game of Life Find a Nifty for extra credit if you have CGoL done. 
4/275/1  The Big Project: Conway's Game of Life  The Big Project: Conway's Game of Life 
Solution to swap and reverse for ArrayLists of type Integer Midterm 3 practice problem solutions FINISH Conway's Game of Life; Find a Nifty for extra credit if you have CGoL done. 
5/45/8  Interfaces and Polymorphism  Chapter 11 
Midterm 3 Monday, May 5 (covers chapters 18, but not Graphics stuff) Write a method that takes an array of type Object and prints its contents. Go to http://java.sun.com and look up the documentation for the Comparable interface. PE11.10 (Use the coin class on pp. 793794; yes, it is later in the book, but it is stuff you already have seen. Promise!) 
5/115/15  Inheritance Interfaces and Polymorphism 
Chapter 11  The Point and Polygon problems Write a method that takes an array of type Object and prints its contents. Go to http://java.sun.com and look up the documentation for the Comparable interface. PE11.10 (Use the coin class on pp. 793794; yes, it is later in the book, but it is stuff you already have seen. Promise!) 
5/185/22  Recursion  Chapter 18 
R18.1, R18.6, PE18.1; Write two methods that find the Fibonacci numbers, one using a loop, the other using recursion. The Fibonacci numbers are 1, 1, 2, 3, 5, 8, 13, 21, 34, etc. 
5/265/30 



6/16/4  Finals  THE FINAL EXAM (Chapters 18 and 11; everything up through ArrayLists plus Interfaces/Polymorphism) 
A Period: Wednesday, 5/28, 8:30am Have a great summer! 
Readings are due each Monday. Homeworks and projects are due AT THE BEGINNING OF CLASS on the following Monday unless it is a holiday. In that case they are due the first class period following the Monday.
Example: Chapter 2 should be read by Monday, 1/31, so we can talk about it during class. The written/programming homework for Chapter 1 is also due on Monday 1/31. (The chapter 1 reading cannot possibly be due on 1/24 because it is the first day of class. It is an exception to the rule and should be read along with chapter 2 by Monday, 1/31. Don't panicyou can skim it.)
Unexcused late homework, projects, quizzes, and tests will be given a score of zero. If you expect to have problems meeting a deadline, I need to know about it in advance. Excuses after the fact will be given zero tolerance, barring a medical excuse signed by parents. Note that I hate being this way, but being overly lenient makes it impossible for me to get my job done.