Difference between revisions of "AP Computer Science"
From WLCS
(→Friday (2/28/20)) |
|||
Line 14: | Line 14: | ||
public static int mystery(int n) | public static int mystery(int n) | ||
{ | { | ||
− | + | if (n 55 0) | |
− | + | return 1; | |
− | + | else | |
− | + | return 3 * mystery(n - 1); | |
} | } | ||
What value is returned as a result of the call mystery(5) ? | What value is returned as a result of the call mystery(5) ? |
Revision as of 06:41, 28 February 2020
Contents
- 1 Friday (2/28/20)
- 2 Wednesday (2/26/20)
- 3 Monday (2/24/20)
- 4 Thursday (2/20/20)
- 5 Tuesday (2/18/20)
- 6 Thursday (2/13/20)
- 7 Tuesday (2/11/20)
- 8 Friday (2/7/20)
- 9 Wednesday (2/5/20)
- 10 Monday (2/3/20)
- 11 APCS - 1920 - January
- 12 APCS - 1920 - December
- 13 APCS - 1920 - November
- 14 APCS - 1920 - October
- 15 APCS - 1920 - September
- 16 APCS - Archives
Friday (2/28/20)
Agenda:
- Complete rubric grading of Question #1 from 2019 AP CS FRQ
- Introduction to Recursion
- Recursion slides
- Recursion practice problems
- Write a recursive method that returns the sum of all the numbers from N down to 1: int sum(int N)
- Write a recursive method that prints every other letter of a string: void printSkipping(String s)
- Write a recursive method that returns true if a particular character is in the String: boolean findChar(char ch, String s)
- Recursive versions of Looping Exercises
- mystery() multiple choice question
Consider the following recursive method.
public static int mystery(int n)
{
if (n 55 0)
return 1;
else
return 3 * mystery(n - 1);
}
What value is returned as a result of the call mystery(5) ?
(a) 0
(b) 3
(c) 81
(d) 243
(e) 6561
- Practice Free Response
- 22.5 minutes per question (90 minutes for 4 questions)
- Complete Question #2 from 2019 AP CS FRQ
- Rubric grade as a class
Homework:
- Complete eIMACS: Activity 13: Recursion
- You can review recursion concepts in the reading: Java Basics -> Methods -> Recursive Methods
Wednesday (2/26/20)
Agenda:
- static keyword (for methods or for variables)
- binds the method or variable to the class NAME as opposed to the object instance
- static methods may *not* modify instance variables
- static method example
- static variable exists as a single copy for all objects
- static variable example
- final keyword
- makes the variable unchangeable
- final variable example
- Practice Free Response
- 22.5 minutes per question (90 minutes for 4 questions)
- Most questions have multiple parts
- Complete Question #1 from 2019 AP CS FRQ
- Rubric grading
Monday (2/24/20)
Agenda:
- Review eIMACS: Test 14: Inheritance & Polymorphism
- Inheritance & Polymorphism Quiz
- Complete eIMACS: Activity 18: Components
Thursday (2/20/20)
Warmup:
- Complete the Point class repl.it warmup
Agenda:
- Inheritance & Polymorphism Quiz on Monday (2/24/20)
- Inheritance review
- Used to create superclasses comprised of common attributes (instance variables) and behaviors (methods)
- extends keyword - subclasses inherit all things public from the super class (except for constructors)
- super() - method can be used to call any of the superclass's constructors (0 or more parameters can be used if it matches)
- Class Hierarchies
- A superclass reference variables can reference a subclass object
- Polymorphism - same method names but different ... (parameters or objects)
- Overriding methods - subclass method overriding superclass method of the same name
- ...casting may be necessary depending on your reference variable type
- Where else have we seen overriding methods?
- Object super class
- equals()
- toString()
- Animal class example
Homework:
- Complete eIMACS: Test 14: Inheritance & Polymorphism
Tuesday (2/18/20)
Warmup:
- Complete the Circle class repl.it warmup
Agenda:
- Inheritance and Polymorphism
- Extending classes - extends keyword
- super() method call
- Complete Activity 17: Airplanes
- Demonstrate Employee and Company classes
Thursday (2/13/20)
Agenda:
- Work on and complete the Employee & Company classes (specifications below)
- Prepare your own main() to demonstrate that everything works
- Classes should be completed as homework and over the long weekend
- Code will be submitted (details to come)
- Demonstrations will begin on Tuesday (2/18/20)
Tuesday (2/11/20)
Agenda:
- NetBeans review
- Complete the ArrayList repl.its
- sum()
- min() & max()
- ArrayList<Card> examples
- Total the value of your hand
- Finding the smallest Card (minimum)
- Finding the largest Card (maximum)
- Finding a card (i.e. search)
- Sort your Cards
- Expectation: you should be able to repeat any of the above with any object!
- Employee class
- instance variables: (these should be private)
- name (text)
- experience (whole number years of experience)
- salary (floating point number)
- methods (these should be public)
- constructors (default and specific)
- setters and getters (accessors and mutators) for all instance variables
- String toString() - returns a String that represents the Employee (all the attributes)
- instance variables: (these should be private)
- Company class
- instance variable:
- ArrayList<Employee> employees
- methods (these should be public)
- constructors (default and specific) - instantiate your ArrayList
- void addEmployee(Employee e) - adds the Employee object e to your employees ArrayList
- void listAllEmployees() - prints out all the employees
- Employee getMostExperienced() - returns most experienced Employee
- Employee getHighestPaid() - returns the highest paid Employee
- Employee getLowestPaid() - returns the lowest paid Employee
- double getSumOfSalaries() - returns the sum total of all the salaries in employees
- void sortByYearsOfExperience() - sorts employees by years of experience
- instance variable:
Friday (2/7/20)
Agenda:
- ArrayList Quiz
- APS Robotics Day volunteers needed
- Saturday, February 8th from 8:30-12:30
- Career Center
- BrickBreaker w/ ArrayLists demos
- ArrayList<Card> examples
- Total the value of your hand
- Finding the smallest Card (minimum)
- Finding the largest Card (maximum)
- Finding a card (i.e. search)
- Sort your Cards
- Expectation: you should be able to repeat any of the above with any object!
Wednesday (2/5/20)
Warmup:
- Write a Java program that creates an ArrayList<Double>
- Generate 100 random numbers (0 - 1000) and put them in your ArrayList
- Write a loop that finds the minimum and maximum values from your ArrayList
- Print them out
Agenda:
- ArrayList Quiz on Friday 2/7/20
- Card example
- Create a new repl.it called ArrayList Card Practice
- Create a new file within the repl.it named Card.java
- Copy and paste Mr. Bui's incomplete Card.java file into yours
- public vs private
- examples
- ArrayList<Card> examples
- Total the value of your hand
- Finding the smallest Card (minimum)
- Finding the largest Card (maximum)
- Finding a card (i.e. search)
- Sort your Cards
- Expectation: you should be able to repeat any of the above with any object!
Monday (2/3/20)
Agenda:
- ArrayList Quiz on Friday 2/7/20
- Minesweeper demos
- BrickBreaker w/ ArrayLists demos
- AP CS Guide
- Review Unit 7: ArrayList's Essential Knowledge
- AP-expected algorithms:
- Min/Max
- Searching
- Linear search
- Binary search
- Sorting
- Selection sort
- Insertion sort