Difference between revisions of "AP Computer Science"
From WLCS
(45 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Thursday (1/23/20) == |
− | |||
− | |||
− | |||
'''Agenda:''' | '''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:''' | '''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:''' | '''Agenda:''' | ||
− | * [https:// | + | * 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:''' | '''Homework:''' | ||
− | * Complete | + | * Complete [https://docs.google.com/document/d/184kTQrY-sIxX-OoIQp1z4bgQQ8tEddIXIxMrHvzaOf0/edit?usp=sharing Minesweeper] |
− | == | + | == Tuesday (1/14/20) == |
'''Agenda:''' | '''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:''' | '''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:''' | '''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 ( | + | == Monday (1/6/20) == |
'''Agenda:''' | '''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 - October]] == | ||
− | |||
== [[APCS - 1920 - September]] == | == [[APCS - 1920 - September]] == | ||
− | |||
== [[APCS - Archives]] == | == [[APCS - Archives]] == |
Revision as of 09:16, 23 January 2020
Contents
Thursday (1/23/20)
Agenda:
- Django Girls workshop
- 2nd Quarter Exam
- 25 multiple-choice AP-style questions, 1 hour
- Complete 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 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 Minesweeper
Homework:
- Complete Minesweeper
Tuesday (1/14/20)
Agenda:
- Class construction quiz on Thursday (1/16/19)
- Objects & Arrays Quiz on Thursday (1/16/19)
- 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
- We will first create a single Button object that can be pressed in and out (pressed and depressed)
- 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?
- 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 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
- We will first create a single Button object that can be pressed in and out (pressed and depressed)
- 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
- 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