Difference between revisions of "AP Computer Science"

From WLCS
Line 1: Line 1:
== Friday (2/7/20) ==
+
== Tuesday (2/11/20) ==
 
'''Agenda:'''
 
'''Agenda:'''
* ArrayList Quiz
+
* NetBeans review
* APS Robotics Day volunteers needed
 
** Saturday, February 8th from 8:30-12:30
 
** Career Center
 
* BrickBreaker w/ ArrayLists demos
 
 
* Complete the ArrayList repl.its
 
* Complete the ArrayList repl.its
 
** sum()
 
** sum()
Line 35: Line 31:
 
*** Employee getLowestPaid() - returns the highest paid Employee
 
*** Employee getLowestPaid() - returns the highest paid Employee
 
*** double getSumOfSalaries() - returns the sum total of all the salaries in employees
 
*** double getSumOfSalaries() - returns the sum total of all the salaries in employees
 +
 +
== 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) ==
 
== Wednesday (2/5/20) ==
Line 75: Line 86:
 
*** Insertion sort
 
*** Insertion sort
  
== Wednesday (1/29/20) ==
+
== [[APCS - 1920 - January]] ==
'''Agenda:'''
 
* ArrayLists
 
** Creating/instantiating an ArrayList
 
** ArrayList methods
 
** ArrayList traverals
 
*** regular for loop
 
*** enhanced for loop
 
** ArrayList of primitives?
 
*** Wrapper classes (Integer, Double, Boolean)
 
* Activity 16: On the Menu
 
* BrickBreaker w/ ArrayLists
 
*# Go back to your BrickBreaker game and save it as a new version
 
*# Modify BrickBreaker so that it uses ArrayLists instead of arrays
 
 
 
'''Homework:'''
 
* Activity 16: On the Menu
 
* BrickBreaker w/ ArrayLists
 
 
 
== Monday (1/27/20) ==
 
'''Agenda:'''
 
* Read eIMACS: ArrayLists (all 12 pages that begins on page 181)
 
* Complete Activity 16: On the Menu
 
* BrickBreaker w/ ArrayLists
 
*# Go back to your BrickBreaker game and save it as a new version
 
*# Modify BrickBreaker so that it uses ArrayLists instead of arrays
 
 
 
== Thursday (1/23/20) ==
 
'''Agenda:'''
 
* [https://djangogirls.org/arlington/ Django Girls workshop]
 
* 2nd Quarter Exam
 
** 25 multiple-choice AP-style questions, 1 hour
 
* Complete [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper]
 
*# Upload your entire Minesweeper Processing folder to Google Drive (Documents -> Processing -> Minesweeper)
 
*# Submit a shared link to the Canvas assignment
 
 
 
== Tuesday (1/21/20) ==
 
'''Agenda:'''
 
* 2nd Quarter Exam on '''Thursday (1/23/20)'''
 
** Topics: everything that we've done so far
 
** 25 multiple-choice AP-style questions, 1 hour
 
* Complete [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper]
 
 
 
== Thursday (1/16/20) ==
 
'''Agenda:'''
 
* Classes, Object Usage, and Object Arrays quiz
 
* 2nd Quarter Exam on '''Thursday (1/23/20)'''
 
** Topics: everything that we've done so far
 
** Timed multiple-choice
 
* Complete [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper]
 
 
 
'''Homework:'''
 
* Complete [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper]
 
 
 
== Tuesday (1/14/20) ==
 
'''Agenda:'''
 
* Class construction quiz on '''Thursday (1/16/19)'''
 
* Objects & Arrays Quiz on '''Thursday (1/16/19)'''
 
* ButtonGrid --> Simple [http://minesweeperonline.com/ Minesweeper]
 
** We will first create a single Button object that can be pressed in and out (pressed and depressed)
 
*** What appropriate characteristics (instance variables) should we have for a Button?
 
*** What appropriate behaviors (methods) should we have for a Button?
 
** We will then create a row of Button objects that can be pressed in and out
 
** We will then create a simple grid of Button objects on the screen
 
* Design and implement a simple version of Minesweeper
 
** What do you want to call each of the objects on the screen?
 
** What instance variables should they have?
 
** What methods should they have?
 
** What variables or data structures are necessary for our game?
 
** What steps are necessary to setup and initialize the game?
 
** How do you lose? and check for this?
 
** How do you win? and check for this?
 
* [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper specifications document]
 
 
 
== Friday (1/10/20) ==
 
'''Agenda:'''
 
* Demonstrate a Brick Breaker game that uses arrays of objects
 
** Only one row of Bricks will give you partial credit
 
** [][] two-dimensional array of objects gives you full credit (or a [] one-dimensional array able to track multiple rows)
 
** Challenge: implement a two-dimensional grid of Bricks using a single dimensional array (Hint: You determine row and column number from the object's index and how many Bricks are in a row)
 
* ButtonGrid --> Simple [http://minesweeperonline.com/ Minesweeper]
 
** We will first create a single Button object that can be pressed in and out (pressed and depressed)
 
*** What appropriate characteristics (instance variables) should we have for a Button?
 
*** What appropriate behaviors (methods) should we have for a Button?
 
** We will then create a row of Button objects that can be pressed in and out
 
** We will then create a simple grid of Button objects on the screen
 
* Design and implement a simple version of Minesweeper
 
** What do you want to call each of the objects on the screen?
 
** What instance variables should they have?
 
** What methods should they have?
 
** What variables or data structures are necessary for our game?
 
** What steps are necessary to setup and initialize the game?
 
** How do you lose? and check for this?
 
** How do you win? and check for this?
 
 
 
== Wednesday (1/8/20) ==
 
'''Warmup:'''
 
# Take out a piece of paper
 
# Draft the layout of one or more rows of Brick
 
#* Include the x-y coordinates of each Brick
 
#* Include the dimensions of the window, each Brick, and any gaps
 
#* Number each Brick from 0, 1, 2, etc. horizontally (top-most left Brick is 0)
 
# Find a pattern!
 
 
 
'''Agenda:'''
 
* for-loop initialization tricks
 
* Two-dimensional for-loop tricks
 
* boolean checkWin(Brick[] bricks) method
 
** What are the different ways to determine if a we have cleared all the Brick objects?
 
* Re-implement Brick Breaker such that it utilizes an array of Brick objects
 
** Be sure to create a new sketch and do *not* to lose or overwrite your old program
 
** Implement a one row of Brick in your object arrays Brick Breaker
 
** Implement and demonstrate a multi-row Brick Breaker game that has winning and losing
 
 
 
== Monday (1/6/20) ==
 
'''Agenda:'''
 
* Re-familiarize yourself with everything
 
* [https://csteachers.org/page/csta-acm-cutler-bell-prize CSTA/ACM Cutler-Bell Scholarship]
 
* Object-oriented programming review
 
* Brick Breaker (bad) demo and debrief
 
* '''null''' keyword review
 
* Arrays of objects
 
** Object array instantiation (creation)
 
** Object array initialization
 
** Object array usage
 
** Iteration through an object array
 
* for-loop initialization tricks
 
* Two-dimensional for-loop tricks
 
* Re-implement Brick Breaker such that it utilizes an array of Brick objects
 
** Be sure to create a new sketch and do *not* to lose or overwrite your old program
 
 
 
 
== [[APCS - 1920 - December]] ==
 
== [[APCS - 1920 - December]] ==
 
== [[APCS - 1920 - November]] ==
 
== [[APCS - 1920 - November]] ==

Revision as of 06:00, 11 February 2020

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
      • experience
      • salary
    • methods
      • 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
      • constructors (default and specific) - instantiate your 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 highest paid Employee
      • double getSumOfSalaries() - returns the sum total of all the salaries in employees

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