Home AP Computer Science Animation Using Virtual Worlds Intro Java Programming Concepts  
Current Schedule Favorites Class(room) Policy Computing Club Gunn Girls Tech Club Send Me Email


Introduction to Programming with Java

Java 6 API documentation

Stuff you need to know for the final

The AP Computer Science summer homework (mandatory if you do not take Intro to Java)

Java snippets practice at javabat.com

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:

  1. R: Review
  2. PE: Programming Exercise
  3. PP: Programming Project

Installing Java and Eclipse

  • Eclipse.org
  • Download Sun's SDK. You want to be working with J2SE version 6. (Version 5 works just fine for what we are doing.)
  • Download Eclipse Build 3.1 SDK. (Odds are pretty good that whatever OS you are using, there will be a version of Eclipse that works.)
  • README notes; suggestions for improvement always welcome

    Grading online tests is hard. Here are some rules I plan to use going forward.

    Reading JPEGs, GIFs, etc.

    Finish Chapter 7 homework

    WEEK TOPIC(S) READING HOMEWORK
    1/25--1/29 Introduction/Get Started Chapter 1

    Download, install, and goof around with Eclipse;

    R1.4, R1.5, R1.6, R1.10, PE1.1

    2/1--2/5 Using Objects Chapter 2

    R2.1, R2.2, R2.3, R2.8, R2.9, R2.10, PE2.4, PP2.2

    2/8--2/10 Implementing Classes Chapter 3

    R3.1, R3.3, R3.6, PE3.1, PE3.12

    Make a cow!

    2/16--2/19

    Fundamental Data Types

    Make sure to read Random Fact 4.2, pp. 133--135

    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

    Wednesday: VERY EXCITING QUIZ

    Data types lecture notes

    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 the VERY EXCITING QUIZ

    2/22--2/26 Graphics Chapter 5

    A stroke example

    PE5.6, PE5.8, PE5.14

    3/1--3/5 Graphics Chapter 5

    Some practice with the String class at javabat.com

    Midterm 1 Wednesday on chapters 1--4

    PE5.6, PE5.8, PE5.14

    Solution to Bullseye problem (PE5.6)

    3/8--3/12

    Decisions (aka Conditionals)

    Read Advanced Topics 6.1, 6.2, and 6.5 on pp. 195, 205, and 218

    Chapter 6

    R6.1, R6.5, R6.6, R6.8, R6.10, R6.13, PE6.1, PE6.4 (use a Scanner object), PE6.18;

    Paley @SIGCSE Thursday and Friday; be nice to sub

    3/15--3/19 Iteration Chapter 7

    CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12

    3/22--3/26 Review/Test Review

    CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12

    Solution to spiral problem (PE7.9)

    3/29--4/2 Review/Test Review

    Finish: CH: R7.2, R7.4, R7.5, R7.6, PE7.9, PE7.11, PE7.12

    Guess my number game (while loop example)

    Solution to problem 7.11

    Midterm 2 Thursday

    4/5--4/9 Arrays and ArrayLists Chapter 8

    R8.8, R8.9, R8.11, R8.12, PP8.2 (Conway's Game of Life; this is the most important project for the year)

    4/12--4/16      
    4/19--4/23 Arrays and ArrayLists Chapter 8

    The swap and reverse problems

    Solution to swap and reverse

    Continue Conway's Game of Life;

    4/26--4/30    

    Tuesday: USACO US Open

    Friday: Magic square quiz

    5/3--5/7    

    Solution to problems 3 and 4 only

    Continue Conway's Game of Life

    5/10--5/14     Continue Conway's Game of Life

    You should know this for the test.

    Demo on arrays and arraylist problems solutions

    5/17--5/21    

    Midterm 3 Tuesday

    Continue Conway's Game of Life;

    If you are done with the Conway's Game of Life project, please find something you would like to try at http://nifty.stanford.edu. This is a nice way to get extra credit.

    5/24--5/28 Interfaces and Polymorphism Chapter 11

    Lecture/demo notes

    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. 793--794; yes, it is later in the book, but it is stuff you already have seen. Promise!)

    Sorting problems

    Coin class and Comparable interface example from class

    5/31--6/4 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.
    6/7--6/11 Finals

    JEOPARDY REVIEW THING

    THE FINAL EXAM (Chapters 1--8 and some recursion on the multiple choice part)

    A Period: Wednesday, 6/13, 10:00am
    E Period: Thursday, 6/14, 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, 2/1, so we can talk about it during class.  The written/programming homework for Chapter 1 is also due on Monday 2/1. (The chapter 1 reading cannot possibly be due on 1/25 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, 2/1. Don't panic--you 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.