.
Philhour
"The
art of teaching is the art of assisting discovery." - Mark Van Doren
2008-09 AP Computer Science - Second Semester Course Weblog
Most recent update:
May 19, 2009 1:22 PM
Computer science is the study of information processing and algorithm design in the context of computer programming. In this course, students learn to write programs in the Java programming language then use Java to solve a variety of computational problems with algorithms of their own design. Units of study include program design, control structures, data structures, object-oriented programming, inheritance, abstraction, collections, recursion, and standard algorithms. Projects vary each year but may include text-based and graphics-based game programming, interactive web development, and database design and maintenance. Students are required to take the Advanced Placement test AP Computer Science A administered in May.
Week of Wednesday, January 7th
- Day 1 (45 min activity schedule)
- JavaBat: makeBricks and check out Project Euler
- Sketch of semester (.doc, .pdf)
- Change in weblog & public folders
- Activity: Type in & execute example 7.5 GUI Temperature Conversion
- HW
- Begin Problem Set GUI D (.doc, .pdf) (due Day 1 of next week)
- Day 2 (45 min activity schedule)
- JavaBat: pre4
- Project Euler: register (make an account), login, and work Problem 1 - please on your honor do not share answers
- Activity: Continue to type in & execute example 7.5 GUI Temperature Conversion
- Activity: work Ch 7 GUI-D projects
- HW
- Continue working Problem Set GUI D (.doc, .pdf) (due Day 1 of next week)
- Day 3 (45 min activity schedule)
- JavaBat: canBalance
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Log on to your Google account and make a Google document called 'AP CS Problem Sets - YOUR FIRST & LAST NAME' -- this is where you will copy & paste your screenshots, etc. -- this replaces the Catlink uploads thingy we used last semester. You'll use the same document for all your problem sets, just put the most recent one on top.
- Lecture: Recap Arrays and introduce Two Dimensional Arrays
- HW
- Finish working Problem Set GUI D (.doc, .pdf) (due Day 1 of next week) -- note that you should share your Google document with my GOOGLE account, not my SI account -- so the address is still bphilhour but the domain is gmail.com not siprep.org. Thank you!
Week of Monday, January 12th
- Day 1
- Upload Problem Set GUI D (.doc, .pdf) -- note that you should share your Google document with my GOOGLE account, not my SI account -- so the address is still bphilhour but the domain is gmail.com not siprep.org. Thank you!
- JavaBat: seriesUp
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Recap use of Public Folders & weblog
- Lecture: enhanced for loop: for (element : arrayName) {}
- Lecture: initializer lists: int [] a = { 1, 6, 8, 2, 3 };
- HW
- Begin
working Problem Set 9 (includes GUI material) (.doc, .pdf) due Day 1 of next week
- Bring your book to class this week for the Student Test Scores Case study
- Day 2
- JavaBat: linearIn
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Programming Project: Student Test Scores Case Study
- HW
- Continue working
Problem Set 9 (includes GUI material) (.doc, .pdf) due Day 1 of next week
- Bring your book to class this week for the Student Test Scores Case study
- Day 3
- JavaBat: countClumps
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Programming Project: Student Test Scores Case Study
- HW
- Continue working
Problem Set 9 (includes GUI material) (.doc, .pdf) due Day 1 of next week
- Day 4
- Quiz on material of Chapter 9 (not including GUI material)
- HW
- Finish working
Problem Set 9 (includes GUI material) (.doc, .pdf) due Day 1 of next week
- Attach Problem Set 9 to your Google Document for problem sets (the same one as before) -- newer problem sets should go at the TOP of the document.
Week of Tuesday, January 20th
- Monday is a holiday - Rev. Dr. Martin Luther King, Jr.
- Day 1
- Note: attach Problem Set 9 to your Google Document for problem sets (the same one as before) -- newer problem sets should go at the TOP of the document.
- JavaBat: scoreUp
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Lecture: class (static) variables and methods - note that we'll SKIP the programming material in Chapter 10 on Turtle Graphics in favor of Gridworld work -- you should still read this material but we will not enter in the programs
- HW
- Day 2
- JavaBat: wordsWithoutList
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Lecture: Inheritance, super keyword, this keyword, final keyword
- More with our Drink/Cafe classes
- In-class activity: continue Problem Set Gridworld 3 due next week (date TBA)
- HW
- Day 3
Week of Monday, January 26th
- Day 1 (activity schedule)
- JavaBat: dividesSelf
- Project Euler: find and solve a problem of your choice -- share your solution with a partner
- Lecture: the final keyword
- In-class project: work in groups of three to create a UML diagram (see also Figure 10-7 on p. 380) that shows the lines of communication among classes, subclasses, interfaces, and abstract classes for a (made-up) project of your design. Each class should have instance variables, some should have class variables. Each class should have one or more methods, some should have class (static) methods.
- One student should be primarily responsible for drawing the UML diagram using PowerPoint, some other software program (like Gliffy), or pencil-and-paper
- A second student should be primarily responsible for coming up with the classes & methods
- The third student should be primarily responsible for writing a 'tester' method that shows how the classes & methods are used and interchanged.
- The Cafe/Drink/Latte example is what we're looking for here, but NOT with any code (except in the tester method -- which doesn't have to compile, just give the basic idea)
- HW
- Day 2
- Day 3
- Day 4
Week of Monday, February 2
- Day 1
- Day 2
- Warmup: check out the Zamplizer
- Lecture: back to Gridworld - why it is important (Gridworld Crib Sheet)
- Remember, if you're trying to compile something that requires the Gridworld package, you have to include it in your classpath. If you want to do this manually, you need to refer up two directories (hence the ../../) to the .jar file:
javac -classpath .:../../gridworld.jar BugRunner.java
java -classpath .:../../gridworld.jar BugRunner
- Continue working Problem Set Gridworld 4
- HW
- Continue working Problem Set Gridworld 4
- Continue to work on your programming project from last semester (the game)
- Day 3
- Warmup: if you haven't already, check out the Zamplizer
- Continue working Problem Set Gridworld 4
- Continue to work on your programming project from last semester (the game)
- HW
- Continue working Problem Set Gridworld 4 due Day 4 of next week
- Continue to work on your programming project from last semester (the game)
Week of Monday, February 9th
- Day 1
- No JavaBat or other warm-up today: let's launch right into Gridworld
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)
- HW
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)

- Day 2
- No JavaBat or other warm-up today: let's launch right into Gridworld
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)
- HW
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)
- Day 3
- No JavaBat or other warm-up today: let's launch right into Gridworld
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)
- HW
- Continue working Problem Set Gridworld 4 due Day 4
- Continue to work on your programming project from last semester (the game)
- Day 4
- QUIZ on all Gridworld Material (you will be allowed the
Gridworld Crib Sheet)
- Continue to work on your programming project from last semester (the game)
- HW
- Begin Problem Set 11 (.doc, .pdf) - you'll want to bring your textbook next week to type in the Deck of Cards case study
Week of Monday, February 16th
- Day 1
- Warmup: javaBat wordEnds
- Lecture: advanced String methods
- char charAt(int i)
- boolean equals(String s)
- boolean equalsIgnoreCase(String s)
- int indexOf(Char c) -- note that chars look like 's' not "s"
- int indexOf(Char c, int beginIndex) -- like above, but start only at beginIndex
- int indexOf(String s) -- returns -1 if it doesn't find the substring s
- int indexOf(String s, int beginIndex)
- int length()
- String replace(Char c1, Char c2) -- replaces all the c1s in the String with c2s.
- String substring(int beginIndex) -- returns the string made up of beginIndex through the end
- String substring(int beginIndex, int endIndex) -- returns the String that goes from beginIndex to endIndex-1 -- so if you put (5, 6) it will take JUST the character at 5, not both 5 and 6.
- String toLowerCase() -- does not change original String
- String toUpperCase() -- does not change original String
- String trim() -- removes leading and trailing spaces -- does not change original String
- In-class activity: Play an Infocom text adventure online
- HW
- Continue working Problem Set 11 (.doc, .pdf)
- Day 2
- Warmup: javaBat notReplace
- Lecture & activity:
- Why is searching an array important? Why must it be done quickly/efficiently?
- We'll do this activity with birthdays (BJP must collate birthday data)
- Linear Search
- brute force - best for something that is just in random order, because what else can you do?
- just go down the array until you find the thing you're looking for
- Binary Search
- more elegant -- analogy is when you look for a name in a phone book that begins with L, you open the phonebook in the middle! -- split the phonebook into 2 = binary
- useful for ordered arrays (see next day for how to order the array first before searching)
- Continue working Problem Set 11 (.doc, .pdf)
- HW
- Continue working Problem Set 11 (.doc, .pdf)
- Day 3
- Warmup: javaBat sumDigits
- Lecture & activity:
- Why is sorting an array important? Why must it be done quickly/efficiently?
- Selection Sort
- For each index position i
- Find the smallest data value in the array from positions i through length-1
- Exchange the smallest value you find with the value where you are
- go to the next index position (a smaller search now)
- Bubble Sort
- For each index position i
- If i+1 is smaller, swap i and i+1
- Keep going through the array again and again
but note that:
- After each complete pass, the biggest value should show up at the bottom, so on the next pass you don't have to go ALL the way through
- If you find you've made no changes during a pass, just stop totally -- don't do the rest of the passes
- Insertion Sort
- Holding the first (k-1) cards in order, a person will pick up the kth card and compare it with cards 1 - k until its appropriate spot is found
- Continue working Problem Set 11 (.doc, .pdf)
- HW
- Continue working Problem Set 11 (.doc, .pdf) due Day 4 of next week
- Prepare for Quiz on Day 1 which will cover Ch 11 Sections 11.1 through 11.3
Week of Monday, February 23rd
- Day 1
- BJP on retreat
Monday & Tuesday - Mr. Castro will host your quiz on Tuesday morning
- Quiz on String Methods & Searching & Sorting (Ch 11.1 - 11.3)
(Unit 3, Step 2)
- HW
- Continue working Problem Set 11 (.doc, .pdf) due Day 4
- Day 2
- Introduction to the Deck of Cards case study
- Suit.java, Card.java, and Deck.java
- TestCard.java, TestHand.java, TestDeck.java
- Work the Deck of Cards case study
- Continue working Problem Set 11 (.doc, .pdf)
- HW
- Continue working Problem Set 11 (.doc, .pdf) due Day 4
- Day 3
- Work the Deck of Cards case study
- Continue working Problem Set 11 (.doc, .pdf)
- HW
- Continue working Problem Set 11 (.doc, .pdf) due Day 4
- Day 4
- Work the Deck of Cards case study
- Write a new method that will compare two 5-card "hands" (ArrayLists of Card elements containing 5 Cards) and tell you which is the better POKER hand by returning an integer 0 if the hands are 'tied', 1 if the 1st hand is better than the 2nd, and 2 if the 2nd hand is better than the first.
- Here's the method declaration:
public int betterPokerHand(ArrayList<Card> a1, ArrayList<Card> a2) {}
- Continue working Problem Set 11 (.doc, .pdf) due TODAY
- HW
- If you didn't finish in class, finish the method we began today (betterPokerHand())
- Begin preparations for Quiz on Day 1 (see note below) and Midterm Exam (see further below)
- The best plan is to review old quizzes & tests and learn from your mistakes
- Also please review your Gridworld solution keys
- I will be referring to the Deck of Cards classes during the exam
Week of Monday, February 23rd
- Day 1 - Activity Schedule
- Quiz -- this is a Step 2 "version" of the Midterm Exam that will allow you to see the types & style of problems in advance
- Midterm Exam
- Your midterm exam will consist of a Step 3 exam for Unit 1 (Data Structures), Unit 2 (Classes & OOP), Unit 3 (Advanced Algorithms) and Unit 5 (Gridworld) -- for part of the exam (but not all of it) you will have access to the Gridworld Cribsheet
- HW
- No homework over midterm break -- enjoy yourself!
- Coming up next quarter: Gridworld/Greenfoot Card Game, Recursion, Fractals, and AP Exam review
Week of Monday, March 9th
- Day 1
- Card game project
- Card images (this is a compressed folder -- you'll want to save these in a subdirectory of your Deck of Cards directory called 'images')
- Greenfoot folder for the project (in .zip format)
- Note that you will demonstrate your card game to the class in the two days before Spring Break (this sets a deadline)
- Goals for today:
- Make a "cursor" -- this is a hand that can be controlled (that is, moved around the screen) using keystrokes (you should check out the Greenfoot.isKeyDown static method) -- this is what you'll use to select cards -- note that many of you have already figured out how to do this, so please share your experience
- Make a Deck object, shuffle it, and deal a card from it when the cursor "clicks" on it (perhaps when you hit space)
- Begin deciding on the game you'll actually be implementing -- you'll need to negotiate with the rest of the class and with your instructor for approval -- I'll ask you for your project on Day 3
- Begin Problem Set 12 (.doc, .pdf)
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Day 2
- Card game project
- Goals for today:
- continue thinking about what game you're going to implement -- negotiate with the rest of the class and with me for approval, and tell me on Day 3 what you're going to do
- Use your poker hand comparator program from before midterm break to compare two (visible) hands of poker and tell the user which is better
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Day 3
- Card game project
- Goal for today: tell me what game you're going to implement -- I'll list them here:
- Avila: Five-card draw
- Brooks: Go Fish
- Chavez: Multihand Blackjack
- Datlag: Crazy 8s
- Dunn: Baccarat
- Falzon: Concentration
- Gee: Spider Solitaire
- Jose: Gin
- Kham: Regular Solitaire
- Lawrence: Blackjack
- Magdaleno: Napoleon
- Ng: SlapJack (with modifications per Wikipedia article)
- Quinn: Cribbage
- Safreno: Texas Hold'Em
- Tate: Free Cell Solitaire
- Yau: Egyptian War
- Figure out how to "deal" your cards and place them on the screen properly
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Day 4
- Quiz on use of the Deck of Cards classes (put in as AP review grade)
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
Week of Monday, March 16th
- Day 1
- javaBat: factorial
- Recursion
- definition: a method is said to be 'recursive' if it calls itself
- Write a recursive method that figures out the nth value of the Fibonacci sequence
- Explanation of the Towers of Hanoi problem
- Explanation of the Many Queens problem
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Day 2
- javaBat: triangle
- Recursion
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Day 3
- javaBat: sumDigits (recursion)
- Mandelbrot Set
Project
- You are going to write a program that displays the Mandelbrot Set
- Definition of a complex number a + bi --> a is the real component and b is the imaginary component, and i is the square root of -1
- Adding complex numbers: (a + bi) + (c + di) = (a + c) + (b + d)i
- Squaring a complex number (a + bi)^2 = a^2 +2abi -b^2 = (a^2 + b^2) + (2ab)i ... so the real component is a^2 + b^2 and the imaginary component is 2ab
- The recursive method describing the set: for any point (x, y) on the plane, the point is in the set if the complex number c = x + yi is "bounded" (meaning it doesn't blow up) after repeated application of the formula z = z^2 + c, beginning with z = 0.
- Here's the pseudo-code (from the Wikipedia site above):

Here's a very basic GUI framework you can use:
// GUIWindow.java
import javax.swing.*;
import java.awt.*;
public class GUIWindow {
public static void main(String [] args) {
JFrame theGUI = new JFrame();
theGUI.setTitle("Mandelbrot Set");
theGUI.setSize(500,500);
theGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MandelPanel m = new MandelPanel(Color.BLACK);
Container pane = theGUI.getContentPane();
pane.add(m);
theGUI.setVisible(true);
}
}
// MandelPanel.java
import javax.swing.*;
import java.awt.*;
public class MandelPanel extends JPanel {
public MandelPanel(Color backColor) {
setBackground(backColor);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.fillOval(100,100,5,5);
}
}
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Continue working Mandelbrot Project from today, due next week
- Day 4
- Quiz on Recursion
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf)
- Continue working Mandelbrot Project from today, due next week
- Next week we'll have a guest speaker, Dr. Jeremy Friedberg, from Spongelab -- check out the websites below!!!
Week of Monday, March 23rd
- Day 1
- javaBat: splitArray (from recursion-2!!!)
- Guest Speaker
from Spongelab Interactive
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf) due next week
- Continue working Mandelbrot Project from today, due Day 4
- Bring your book to class Days 2 & 3!
- Day 2
- javaBat: splitOdd10 (from recursion-2!!!)
- Recursion & fractals
- Read "Recursive Patterns in Abstract Art" beginning on p. 491.
- Type in Example 12.5 (Mondrian art)
- Modify the Mondrian art project so the rectangles are color-filled
- Type in Example 12.6 (C-curves)
- Modify this example to do something creative and fun.
- This is due with Problem Set 12 next week
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf) due next week
- Continue working Mandelbrot Project from today, due Day 4
- Bring your book to class Days 2 & 3
- Day 3
- javaBat: split53 (from recursion-2!!!)
- Recursion & fractals
- Modify your Mandelbrot program (almost finished, right?) so that it includes some special functionality not given in the main project
- Be sure to include, when turning in the Mandelbrot program by tomorrow (to your google homework document) all of the following: screenshots in action, the code for the GUI Window AND the JFrame subclass, etc. Everything
- HW
- Continue working the Card game project -- it might be worth setting up Greenfoot on your home computer
- Continue working Problem Set 12 (.doc, .pdf) due next week
- Continue working Mandelbrot Project from today, due Day 4
- Day 4
- Exam on Recursion & Fractals
- HW
- Continue working the Card game project
- Continue working Problem Set 12 (.doc, .pdf) due next week
- Continue working on Mondrian & C-curve material due next week
Week of Monday, March 30th
- Day 1
- In lieu of a warmup, please continue working the Card game project
- Everybody will present for just 5 minutes next week -- I am seeking volunteers to present their game on Day 1.
- In order to present your grade, you'll need to run it from the teacher's computer at the front of the room. This means you're going to have to 'zip' (compress) your project file, e-mail it to yourself, and open & run it on a new computer. PRACTICE THIS by figuring out how to open and run the project on any computer in the lab (my faculty computer will be no different)
- Complexity Analysis
- Counting time t1, t2, t3, t4, etc.
- "Big-O" notation
- O(n) "order 'n'" complexity
- simple loops
- act like "limits" where everything drops out that isn't large when n->infinity
- linear searches
- O(n^2)
- nested loops (like bubble sort)
- O(r^n)
- exponential
- Fibonacci sequences
- HW
- Continue working the Card game project
- Continue working Problem Set 12 (.doc, .pdf) due Day 4
- Continue working on Mondrian & C-curve material due Day 4
- Day 2
- Please continue working the Card game project in class today
- HW
- Continue working the Card game project
- Continue working Problem Set 12 (.doc, .pdf) due Day 4
- Continue working on Mondrian & C-curve material due Day 4
- Day 3
- In lieu of a warmup, please continue working the Card game project - last day of in-class work
- QuickSort
- QuickSort is O(nlogn) rather than O(n^2) so it is slightly faster to use
- See p. 479 in the textbook - QuickSort is NOT covered on the AP Computer Science A exam, but is perhaps the most common sorting algorithm, so worth reading about
- QuickSort uses recursion
- MergeSort
- MergeSort also uses recursion
- MergeSort IS tested on the AP Computer Science A exam
- From the textbook (p. 482):
- "Compute the middle position of an array and recursively sort its left and right subarrays (divide and conquer)."
- "Merge the two sorted subarrays back into a single sorted array."
- "Stop the process when subarrays can no longer be subdivided."
- Rely on three methods:
- mergeSort - public method called by client programs
- mergeSortHelper - private helper method (this is recursive)
- merge - private helper method that actually performs the merge of previously separated components
- Display figures on p. 484
- What MergeSort exploits is the fact that it is (a) faster to sort a small array than a large array, and (b) faster to merge two smaller sorted arrays than two smaller unsorted arrays
- HW
- Continue working the Card game project
- Continue working Problem Set 12 (.doc, .pdf) due Day 4
- Continue working on Mondrian & C-curve material due Day 4
- Day 4
- Please continue working the Card game project in class today
- HW
- FINISH YOUR CARD GAME PROJECT
Week of Monday, April 6th
- Day 1
- Continue working on your Gridworld/Greenfoot game(s)
- Demonstrations of Card Game projects
(note email regarding postponement!!!!)
- Safreno: Texas Hold'Em
- Jose: Gin
- Chavez: Multihand Blackjack
- Day 2
- Continue working on your Gridworld/Greenfoot game(s)
- Demonstrations of Card Game projects
(note email regarding postponement!!!!)
- Falzon: Concentration
- Dunn: Baccarat
- Quinn: Cribbage
- HW
Spring Break!!!!
***** Optional emergency review plan *****
Week of Monday, April 20th
- Day 1
- javaBat: AP Computer Science problems
- Demonstrations of Card Game projects
- Ng: SlapJack (with modifications per Wikipedia article)
- Lawrence: Blackjack
- Tate: Free Cell Solitaire
- HW
- continue working on your Gridworld/Greenfoot game(s)
- prepare for final exam next week!
- Bring questions to class -- from any topic all year!
- Optional emergency review plan
- Day 2
- javaBat: AP Computer Science problems
- Demonstrations of Card Game projects
- Avila: Five-card draw
- Yau: Egyptian War
- Kham: Regular Solitaire
- Gee: Spider Solitaire
- Continue working on your Gridworld/Greenfoot game(s)
- Self-directed final exam review: print out & take a practice final exam or review exam from my test prep site
- HW
- continue working on your Gridworld/Greenfoot game(s)
- prepare for final exam next week! Self-directed final exam review: print out & take a practice final exam from my test prep site
- Bring questions to class -- from any topic all year!
- Optional emergency review plan
- Day 3
- javaBat: AP Computer Science problems
- Demonstrations of Card Game projects
- Brooks: Go Fish
- Datlag: Crazy 8s
- Magdaleno: Napoleon
- Continue working on your Gridworld/Greenfoot game(s)
- Practice AP problem
- HW
- continue working on your Gridworld/Greenfoot game(s)
- prepare for final exam next week! Self-directed final exam review: print out & take a practice final exam from my test prep site
- Bring questions to class -- from any topic all year!
- Optional emergency review plan
- Day 4
- javaBat: AP Computer Science problems
- Continue working on your Gridworld/Greenfoot game(s)
- Self-directed final exam review
- Note that we'll be taking exams every day next week!
- Practice AP problems
- Generic Project Rubric (.pdf, .doc) -- used to assess student performance on the card game projects & your games
- HW
Week of Monday, April 27th
- Day 1
- Final Exam - Multiple Choice
Part 1 of 2
- HW
- Day 2
- Final Exam - Multiple Choice Part 2 of 2
- HW
- Day 3
- Final Exam - Free Response Part 1 of 2
- HW
- Day 4
- Final Exam - Free Response Part 2 of 2
- HW
- prepare for AP exam on Tuesday!
Week of Monday, May 4th - AP EXAMS THIS WEEK
- Day 1
- AP Computer Science exam Tuesday morning
- Day 2
- Some seniors taking AP Calculus exam Wed morning
- Continue working on your Gridworld/Greenfoot game(s)
- Text adventures & the Inform programming language
- Day 3
- Some seniors taking English Literature exam Thu morning
- Continue working on your Gridworld/Greenfoot game(s)
- Text adventures & the Inform programming language
- Day 4
Week of Monday, May 11th - AP EXAMS THIS WEEK

Week of Monday, May 18th
- Day 1
& Day 3 - Seniors gone
- Day 2
- Activity Schedule
- Student book project (short - TBA)
- Game Demonstrations