Difference between revisions of "AP Computer Science"

From WLCS
(Friday (2/28/20))
Line 34: Line 34:
 
'''Homework:'''
 
'''Homework:'''
 
* Complete eIMACS: Activity 13: Recursion
 
* Complete eIMACS: Activity 13: Recursion
* You can review recursion concepts in the reading: Java Basics -> Methods -> Recursive Methods
+
** You can review recursion concepts in the reading: Java Basics -> Methods -> Recursive Methods
 +
* Complete repl.it: Recursion - Counting chars
 +
* Complete repl.it: Recursion - Reverse String
  
 
== Wednesday (2/26/20) ==
 
== Wednesday (2/26/20) ==

Revision as of 10:30, 28 February 2020

Friday (2/28/20)

Agenda:

  • Complete rubric grading of Question #1 from 2019 AP CS FRQ
  • Introduction to Recursion
    • Recursion slides
    • Recursion practice problems
      1. Write a recursive method that returns the sum of all the numbers from N down to 1: int sum(int N)
      2. Write a recursive method that prints every other letter of a string: void printSkipping(String s)
      3. 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 == 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
  • Complete repl.it: Recursion - Counting chars
  • Complete repl.it: Recursion - Reverse String

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

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:

  1. Write a Java program that creates an ArrayList<Double>
  2. Generate 100 random numbers (0 - 1000) and put them in your ArrayList
  3. Write a loop that finds the minimum and maximum values from your ArrayList
  4. Print them out

Agenda:

  • ArrayList Quiz on Friday 2/7/20
  • Card example
    1. Create a new repl.it called ArrayList Card Practice
    2. Create a new file within the repl.it named Card.java
    3. 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

APCS - 1920 - January

APCS - 1920 - December

APCS - 1920 - November

APCS - 1920 - October

APCS - 1920 - September

APCS - Archives