Difference between revisions of "AP Computer Science"

From WLCS
(Tuesday (1/14/20))
 
(106 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 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 - November]] ==
 
== [[APCS - 1920 - October]] ==
 
== [[APCS - 1920 - September]] ==
 
 
== [[APCS - Archives]] ==
 
== [[APCS - Archives]] ==

Latest revision as of 08:28, 13 September 2023