AP Computer Science-A Daily Lessons - syllabus

April 2018
Date Warm-up Class Activities Objectives. SWBAT: Homework
26 If a 100X100 picture were stored in a 1d array of Pixels, where would the first pixel of the last column be?
  1. Do the prisoner in bars: notes and powerpoint
  2. Write out code for Picture class
  • Manipulate arrays of pixels

HW#31: Log in through clever.com do CodeHS AP Java review parts 1-3 - take notes

due date 4/30. Drop dead date 5/3

25 Given Pixel p1 and Pixel p2, ask if p1 is lighter than p2
  1. Look at CodeHS AP Java review
  2. Work on the Picture Lab
  • Iterate a 2d array to gather or change information
24 Create a Color object that is purple.
  1. Review the last part of the worksheet in OneNote on 2d arrays and loops.
  2. Work on the Picture Lab together. Find darkest, and lightest Colors of a whole picture and each quadrant.
  • Code with color objects.
  • Scan a 2d array
23 Write the code to ask if the first element in array x[][] is even
  1. Review the worksheet in OneNote on 2d arrays and loops.
  2. Work on the Picture Lab together. Set up the project and explore pictures. pixLab - student works in Dr. Java.
  • Access color, pixel and picture objects
20 What is x[0].length from yesterday's array?
  1. Review 2-d array problems in CodingBat
  2. Do the worksheet in Edhesive on 2d arrays and loops. (in OneNote)
  3. Look at the Picture Lab
  4. Copy the picture lab files to your H drive from Handout and
  • Code pixels in a 2d array

HW #30: Complete Edhesive Lesson 21 Tracing Code

due date 4/23. Drop dead date 4/27

19 How many elements are in x[2][3]?
  1. Review sumHeights, sumHeights2, scoresIncreasing
  2. Plan a 2-d array problem: generate a random tic tac to board and determine if there is a winner.
  3. Do the 2-d array problems in CodingBat
  • Code with 2-d arrays
18 Is there such a thing as a 3d array in Java? (look it up if you're not sure) 
  1. Finish Edhesive lesson 8-19 on 2 dimensional arrays. We will discuss these and do some 2-d array coding in class tomorrow 

  2. Do CodingBat AP exercises sumHeights and sumHeights2. We'll also go over these and the other 2 codingBat from last week in class tomorrow 

  • Perform operations on 2d arrays
17 What is a disadvantage of binary search over linear/sequential search?
  1. Any questions about the review?
  2. Quiz 4
  3. Continue work on Edhesive 8-19 on 2 dimensional arrays
  • Desmonstrate understand of class structure and search/sort algorithms
16 What is a linear search: O(n) or O(n2)
  1. Do a review for tomorrow's quiz for points TODAY. When you finish, check your answers.
  2. Start Edhesive lesson 8-19 on 2 dimensional arrays
  • Use code to create 2 dimensional arrays
13 O(n) refers to the time it takes to go through an array of n elements once, O(n2) is the time it takes to go through an array n times for each of n elements. Which is the time for a selection sort?
  1. Get ready for Quiz 4 on Tuesday (part 2)
  2. Do CodingBat AP questions: scoresIncreasing and scoresIncreasing
  3. Complete Edhesive lesson on Merge Sort 7-18
  • Complete searching and sorting routines

HW #29: Complete Edhesive Lesson 17 Binary Search.

due 4/16 drop dead date 4/20

12 What is a very efficient sort routine?
  1. Discuss comparisons of sorts
  2. Review Quiz 3, Get ready for Quiz 4 on Tuesday (part 1)
  3. Work on Edhesive lesson on Merge Sort 7-18
  • Implement merge sort algorithm, compare different sort advantages on different data sets.
11 Why does a merge sort use more memory than a selection or insertion sort?
  1. Do the worksheet on Comparing searches and sorts in OneNote in Edhesive Term 2
  • Compare sort efficiencies 

10 In 5 words or less describe a binary search.
  1. Learn about and look at the Merge Sort routine together.
  2. Work on Edhesive Lesson 18 Merge Sort. (or take the quiz if you missed it)
  • Compare different sorts
  • Describe Merge sort pseudocode
9 Why must a collection be sorted to use a binary search?
  1. Binary search worksheet.
  2. Develop the binary search algorithm.
  3. Compare kinds of searching and sorting routines: linear search, binary search, selection sort, insertion sort & lists
  • Develop binary search psuedocode
  • Step through a binary search
  • Compare searches
6 When does a subclass constructor call the superclass constructor? How does a subclass call on methods in the superclass with the same name?
  1. Quiz 3 (10 questions) in term 2 Unit 7 lesson 14.
  2. Complete GameWheel.
  • Review class structure

HW #28: Complete Edhesive Lesson 16 Insertion Sort.

due 4/9 drop dead date 4/13

5 Given arraylists a and b, what does this code do
  1. Act out insertion and selection sorts
  2. Work on GameWheel main program.
  3. Quiz tomorrow.
  • walk through code
  • complete main method
4 When is (x>y)||(y>x) true?
  1. Watch how Insertion Sort works. How can you tell when Insertion or Selection sort are complete?
  2. Review Arrays and recursion worksheets. Prepare for Quiz Friday. Practice writing out steps in problem solving
  3. Complete GameWheel by Friday. Here are hints.
  • translate pseudocode to code
  • trace code
March 2018
Date Warm-up Class Activities Objectives. SWBAT: Homework
29 How can you tell when an array is sorted during a selection sort?
  1. Do some array review problems together
  2. Go over GameWheel together with alternate algorithms. (submissions don't look very promising.)
  3. Complete the arrays and recursion worksheets. Take home if needed to review together when we return.
  • Review arrays and array methods

HW#27: Complete Edhesive Lesson 15 Selection Sort including the Coding Activity.

Due 4/4 Drop dead date 4/6

28 Complete the if statement for a selection sort for the ArrayList a:
for(int i=0;i<a.size()-1;i++)
for(int j=i+1;j<a.size();j++)
if(_______) swap(i,j);
  1. Complete OneNote planning sheet with pseudocode for GameWheel in Edhesive Term 2 for due today.
  2. Submit code in Edhesive for GameWheel to scramble the wheel.
  • Plan a strategy in pseudocode after studying supporting class structure and then code.
27 Write a swap method that swaps the values of 2 items in an ArrayList at positions i and j;
  1. Analyze the GameWheel in OneNote
  2. Create a solution.
  • Implement selection sort code
  • Create a random sorting routine.
26 What must be different in the data used for a binary search vs a linear search?
  1. Preview selection sort.
  2. Preview the PrizeCard class and start the GameWheel.
  • Describe the algorithm for selection sort.
  • Convert word problems into code
23 How many comparisons are needed at most in a binary search of 10 sorted objects?
  1. Complete Term 2 Lesson 14 coding activity.
  • Convert word problems into code

Anyone interested in National Cyber League?

HW#26: Complete Edhesive Lesson 14 Linear Search including the Coding Activity.

due 3/26. Drop dead date 3/29

22 How many comparisons are needed at most in a linear search of 10 objects?
  1. Preview the linear search coding activity, ppt and activity
  • Search a collection
21 ~*~* snow day! *~*~
20 Write 1001001001 in octal, hex and decimal
  1. Review class structure from quiz and Ultimate Frisbee
  • Create complete class structures
19 Write the equals method for a Die class with an integer instance variable value.
  1. Quiz on class design with compareTo and toString.
  2. Continue the Elevens Lab.
  • Demonstrate class completion code
16 Write the method header for the equals method
  1. Quiz review using the Die class
  2. Continue the Elevens Lab.
  • Demonstrate class completion code



HW #25: Complete Edhesive Lessons 12, wrappers and 13 Algorithms due 3/19

15 Write the method header for the toString method.
  1. Work on the Elevens Lab. Complete Activities 1 and 2 in OneNote and at least start Activity 3.
  2. Quiz tomorrow on compareTo methods and a class similar to Card class.
  • Complete code for Ap Collegeboard lab
14 π Write the method header for the compareTo method.
  1. Review the Card class. You MUST be able to do this for the quiz.
  2. Work on the Elevens Lab.
  • Plan structure for a problem solution to a general type of problem.
  • Create a collection of objects.
13 Write the code for this psuedocode: add zeros to the value in string s until it is 10 characters long.
  1. Finish translating pseudocode to code for Dashboard
  2. Preview the Elevens Lab. Copy files from Handout drive.
  3. Quiz coming up this Friday
  • Create class objects for common items
12 What is the purpose of an interface?
  1. Translate pseudocode to code for Dashboard comparison methods. (See OneNote Edhesive Dashboard Pseudocode in Collaboration)
  • Implement code from pseudocode
9 Why does the compareTo method take in an Object parameter by default?
  1. Look at wrappers.
  2. Review steps needed to solve the comparison methods in the Dashboard class.
  • Make comparisons between objects of the same class

Consider a local summer internship

HW #24 Complete Edhesive Lesson 11 Interfaces due 3/12

8 What is "warm".compareTo("hot")?
  1. The specifications for CompareTo
  2. Implement the Comparable interface in the Dashboad class.
  3. Work on Edhesive Lesson 12
  • Complete CompareTo methods.
7 Which is more likely to be abstract, a superclass or subclass and why?
  1. Discuss interfaces and Comparable.
  2. Implement the Comparable interface for the CertainDay class. Write it down and hand it in.
  • Implement a comparable interface
6 How is an abstract class different from a superclass?
  1. Review is-a and has-a, and abstract classes.
  2. Do the worksheet in OneNote on Abstraction
  • Predict results of code between classes.
5 On a scale of 1-10 how hard would you say the post test was?
  1. Complete Edhesive lesson 10 is-a and has-a
  • Analyze relationships between classes
2 school cancelled for severe weather

Consider a Cybercorps scholarship

HW #23 Complete Edhesive Lesson 9 Abstract Classes due 3/5

1 Look at problem #16 Post Test SLO quarterly exam
February 2018
28 What is required to implement an interface?
  1. Quartery exam review in OneNote.
  • Review for quarterly exam
27 What is the relationship between the BoxCar and FreightTrain classes?
  1. Review Assignment #2 Boxcar together.
  2. Review for quarterly exam on 3/1.
  • Create collections of self-defined objects
  • Review for quarterly exam
26 What is the relationship between the Captain and Player classes in UltimateFrisbee?
  1. Review Assignments 1-3, work on Frisbee
  2. Review for quarterly exam on 3/1.
  • Reflect on self teaching format and content of lessons using class structure

All warmups and work will be in OneNote

Look for work in the Collaboration space on the Project Planning Page. Be sure to assign somebody to look in on the OUT SICK page each day.

  1. Embezzle quickly! Here are the files: BankAcct, Checking Acct, Savings, Embezzle
  2. Work with your team to plan lessons to teach this week and fill in the information in OneNote with links to your materials, who is doing what and other information.
  • Tuesday: Embezzle example
  • Wednesday: Assignment #1 Dashboard
  • Thursday: Assignment #2 BoxCar and Freight Train
  • Friday: Assignment #3: Ultimate Frisbee

HW #22 Complete Edhesive Lesson 8 Inheritance overriding due 2/26

Bunkyo visitors will be visiting the classroom on 2/23.

16 Write a for loop that counts from 10 to 2 by 2's
  1. Review BankAccount requirements.
  2. Plan for Embezzling on Tuesday
  3. Work with your team to plan lessons to teach next week.
  • Plan programs using classes and inheritance

HW#21 Finish Edhesive Lesson 6-7 Inheritance due 2/20

What will you teach next week? 3 teams plan 3 lessons.

Bunkyo visitors will be visiting the classroom on 2/23.

15 Meet in S208. Write 100101010 in hex, octal and decimal
  1. Work with your team to plan lessons to teach next week.
  • Use the software design process to attack a large problem as a team
14 valentine day If a Rose is a Flower, which is the superclass?
  1. Run test cases for BankAccounts.
  2. Plan lessons to teach next week.
  • Implement subclasses and ArrayLists of objects within a class structure.
13 What is single inheritance?
  1. Review BankAccount classes, with presentation of details.
  2. Create BankAcct, checking, savings and money market according to the directions and later we will do the Embezzle exercise
  • Implement subclasses and ArrayLists of objects within a class structure.
12 How is null different from void?
  1. Presentation: take notes about inheritance & do the quiz
  2. Work on Edhesive 6-7
  • Define super and subclasses.
9 What is NLP?
  1. Quick class vocab review
  2. Quiz
  3. Hand in Magpie lab papers.
  • Demonstrate use of class design and NLP code

HW #20 Create 2 classes: BankAcct, and TestBankRunner according to these directions. Copy and paste your code into Onenote. Due 2/12


DROP DEAD DATE for Edhesive Lessons 5-6 is this Friday 2/9.

8 What feature in the OneNote notebook allows the teacher to see a history of every single word that is typed into it?
  1. You can still get 80% if you put a good question or comment in OneNote Collaborative page on the homework about bank accounts.
  2. Finish the Magpie labs.
  3. Be ready for the quiz tomorrow and to hand in Magpie.
  • Complete College Board provided AP labs
7 What does this() mean?
  1. Finish Magpie Activites 3 and 4 using the student guide and writing answers in your paper packet. Hand in papers on Friday. Look up JavaDoc parts online because it doesn't work in our Dr. Java.
  2. Look over the homework about making bank accounts. Put a good question or comment in OneNote Collaborative page on Bank Accounts
  • Identify keywords and groups of keywords in natural language processing.
  • Generate AI responses.
6 Are there any parameters in the toString method?
  1. Review classes and constructors. The equals, toString methods, public, private, this, null and void,
  2. Work on Magpie Activity 3.
  3. Term 2 Quiz 1 coming Friday. (Magpie, classes, constructors, toString, equals, arraylists of objects and OOP vocab)
  • Write constructors with logic, equals methods
  • Use class vocabulary: public, private, null, void, this
5 What is the return type of an equals method?
  1. Work together on Dashboard. (Term 2 Assignment 1)
  • Write constructors to match test cases in a driver or runner program.
2 How does a chatbot use AI?
  1. Review code for Edhesive Lesson 5 Student class.
  2. Review AP methods written to solve the Time, Flight and Trip classes. (finish next week)
  3. Do Magpie Labs Activity 2. Implement the existing class, Magpie2.
  • Create code within class definitions.

HW #19 Complete Edhesive lessons 5 (Static) -6(AP review) beyond what is done in class. Due 2/5


DROP DEAD DATE for Edhesive Lessons 3-4 is this Friday 2/2.

1 Declare a static variable named flightNumber that holds a whole number.
  1. Finish Time, Flight and Trip classes. Run the driver.
  2. Magpie Labs Activity 1.
  • Fill in AP question code
January 2018
Date Warm-up Class Activities Objectives. SWBAT:
31 What is a static variable?
  1. Preview the Magpie labs.
  2. Work on the Time,Flight,and Trip classes
  3. Add toString methods and static variables.
  • Create toString methods for original classes.
30 Translate 2DC in hex to binary, octal and decimal.
  1. Enjoy a relaxing day working on Edhesive lessons 5 and 6. We will work on the Time,Flight,and Trip classes tomorrow and add static variables.
  • Define local, global, and static variables in classes.
  • Design programs using class structure.
29 Describe the difference between a constructor and a method.
  1. Presentation on Constructors
  2. Do the worksheet on constructors and solutions (OneNote)
  3. Complete the code for the Time, Flight and Trip classes.
  • Define classes with constructors.
  • Complete AP style free response code.
26 Meet in S208.
  1. Preview AP style questions about classes.
  • Test class methods. Create a driver file.
  • Use classes in written responses.
HW#18 Complete Edhesive lessons on classes and constructors. (Unit 5 lessons 3-4) Due 1/29
25 List 5 kinds of information about a Student.
  1. Review: what is in a method?
  2. Presentation: classes
  3. Define properties, methods and constructors for Circle and Studentclasses.
  • Define classes with properties and methods.

Go to first semester


CodingBat AP practice page.

CodeHS AP Java review. ebook from georgia tech.

Runestone Java review https://runestone.academy/runestone/static/JavaReview/index.html

20 question pretest https://runestone.academy/runestone/static/JavaReview/GettingStarted/ptest1.html

Inheritance: predict what this polymorphic code should do, then test it and check your answers. Enhance the monster classes to frighten.

  1. Review Classes, inheritance, interfaces from the PowerPoint and notes.


  1. Finish Freight Train and Frizbee








Add equals to Time and conversion of minutes in constructor.






T Term 2 lesson 5 static vs instance.

W presentation : static vs instance, Review code for the nickname problem.




















Review old free response solutions http://www.skylit.com/beprepared/fr.html

Arraylists are on edhesive index


Write the code to ask if the first letter in the String s is a blank space

Next week

  1. Do codingbat array-1 sameFirstLast together
  2. Do codingbat array-1 commonEnd on your own.


Product grade. from Edhesive.

play hexinvaders http://www.hexinvaders.com/

HW due Nov 3 17: while loops . 18: tracing code and counting iterations 19: More loops

in class: Do Assignment 3 planning together. Due next Tuesday.

W: 20: flag variables deMorgan's practice https://runestone.academy/runestone/static/JavaReview/Conditionals/cDeMorgans.html

Th: 21: strings as class types.

F: 22: string functions exam 2 review.

M: exam 2

HW#7 complete lessons 13 (else) and 14(Boolean and truth tables) on your own

National Cybersecurity Career Awareness Week Nov 13-18


prod.lifejourney.us class code 5pxcnvg

Review hw#2 (advanced students make codingbat problems) and for loop/print

HW #4: Complete all Edhesive activities for points in Unit 1 lessons 1-3
due Monday 10/8 7am

Homework #3: due next Friday 9/29: Complete Basic Java up through
Comparison Operators in CodeHS ( Clever.).

Homework #2: Write out the code for these programs on paper.

HOMEWORK #1: Complete at least 3 puzzles at each puzzle level from 21-29 (excluding 26)
of the Code.org Express course. (variables, for loops, functions)


be sure to use this http://interactivepython.org/runestone/static/JavaReview/index.html