Home AP Computer Science A FOOP Capstone Summer Homework for AP CS A AP Computer Science Principles
Current Schedule Favorites Class(room) Policy Blog Gunn Girls Tech Club Send Me Email

Object-Oriented Programming


Java 8 API documentation

Stuff you need to know for the final

The AP Computer Science summer homework (mandatory if you do not take Object-Oriented Programming)

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

  • If you have a Mac, you already have Java. If you have a PC, download Sun's SDK. You want to be working with J2SE version 5 or later; the current version is 7.
  • Download the latest version of Eclipse Classic (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.

    PP8.2: Conway's Game of Life; this is the most important project for the year--you may do it in either Java or Processing

    WEEK TOPIC(S) READING HOMEWORK
    1/6--1/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

    Make a cow!

    1/12--1/16 Using Objects Chapter 2

    The distance problem

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

    Friday, 1/17: TEDx Gunn

    1/19--1/23 Implementing Classes Chapter 3

    Week 2 notes

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

    A sample bank account class

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

    1/26--1/30

    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

    VERY EXCITING NOT-A-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 PE 4.3 (Don't look until you have given this an honest effort.)

    Solution to the VERY EXCITING NOT-A-QUIZ

    2/2--2/6 Graphics Chapter 5

    String demo from lecture

    Practice problems with Strings

    Test 1 review problems

    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

    Practice test solutions (Don't peek until you have tried the problems first!)

    Solution to Bullseye problem (PE5.6)

    2/9--2/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 1--4: 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/17--2/20 Iteration Chapter 7

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

    Guess my number game (while loop example)

    2/23--2/27 Iteration Chapter 7

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

    Guess my number game (while loop example)

    3/2--3/6 Iteration Chapter 7

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

    Squiral starter kit

    Solution to problem 7.11

    Solution to problem 7.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/9--3/12 Arrays and ArrayLists Chapter 8

    Jeopardy review game

    PRACTICE TEST

    PRACTICE TEST SOLUTIONS

    Introductory arrays practice

    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/16--3/20 The Big Project: Conway's Game of Life The Big Project: Conway's Game of Life

    The Fibonacci array problem

    The dice histogram problem

    Jeopardy review for Midterm 2

    Magic square quiz (challenge problem)

    3/23--3/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

    Array review problems

    Solution to the magic square problem

    Continue Conway's Game of Life;

    3/30--4/2 SPRING BREAK SPRING BREAK Power Loafing
    4/6--4/10 The Big Project: Conway's Game of Life The Big Project: Conway's Game of Life

    Continue Conway's Game of Life

    4/13--4/17 The Big Project: Conway's Game of Life The Big Project: Conway's Game of Life

    Continue Conway's Game of Life

    ArrayList practice

    ArrayList practice solutions

    Find a Nifty for extra credit if you have CGoL done.

    4/20--4/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/27--5/1 The Big Project: Conway's Game of Life The Big Project: Conway's Game of Life

    The swap and reverse problems

    Solution to swap and reverse

    Solution to swap and reverse for ArrayLists of type Integer

    2013 Midterm 3

    2013 Midterm 3 solutions

    Midterm 3 practice problems

    Midterm 3 practice problem solutions

    FINISH Conway's Game of Life;

    Find a Nifty for extra credit if you have CGoL done.

    5/4--5/8 Interfaces and Polymorphism Chapter 11

    Lecture/demo notes

    Midterm 3 Monday, May 5 (covers chapters 1--8, 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. 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/11--5/15

    Inheritance

    Interfaces and Polymorphism

    Chapter 11

    Lecture/demo notes

    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. 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/18--5/22 Recursion

    Chapter 18

    JEOPARDY REVIEW THING

    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.

    JEOPARDY REVIEW THING

    A practice problem for the final.

    5/26--5/30  

     

     

    6/1--6/4 Finals

    THE FINAL EXAM (Chapters 1--8 and 11; everything up through ArrayLists plus Interfaces/Polymorphism)

    A Period: Wednesday, 5/28, 8:30am
    C Period: Wednesday, 5/28, 10:32am
    F Period: Thursday, 5/29, 10:32am

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