Difference between revisions of "AP Computer Science"

From WLCS
(Friday (1/10/20))
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== 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) ==
 
== Wednesday (1/8/20) ==
 
'''Warmup:'''
 
'''Warmup:'''

Revision as of 08:31, 10 January 2020

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 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:

  1. Take out a piece of paper
  2. 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)
  3. 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
  • 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 - November

APCS - 1920 - October

APCS - 1920 - September

APCS - Archives