Difference between revisions of "AP Computer Science"
From WLCS
(→Wednesday (2/5/20)) |
(→Wednesday (2/5/20)) |
||
Line 8: | Line 8: | ||
'''Agenda:''' | '''Agenda:''' | ||
* ArrayList Quiz on '''Friday 2/7/20''' | * ArrayList Quiz on '''Friday 2/7/20''' | ||
− | * Card example | + | * [https://repl.it/@paulbui/Card-Example Card example] |
+ | *# Create a new repl.it called ArrayList Card Practice | ||
+ | *# Create a new file within the repl.it named Card.java | ||
+ | *# Copy and paste Mr. Bui's incomplete Card.java file into yours | ||
* public vs private | * public vs private | ||
** examples | ** examples |
Revision as of 09:28, 5 February 2020
Contents
- 1 Wednesday (2/5/20)
- 2 Monday (2/3/20)
- 3 Wednesday (1/29/20)
- 4 Monday (1/27/20)
- 5 Thursday (1/23/20)
- 6 Tuesday (1/21/20)
- 7 Thursday (1/16/20)
- 8 Tuesday (1/14/20)
- 9 Friday (1/10/20)
- 10 Wednesday (1/8/20)
- 11 Monday (1/6/20)
- 12 APCS - 1920 - December
- 13 APCS - 1920 - November
- 14 APCS - 1920 - October
- 15 APCS - 1920 - September
- 16 APCS - Archives
Wednesday (2/5/20)
Warmup:
- Write a Java program that creates an ArrayList<Double>
- Generate 100 random numbers (0 - 1000) and put them in your ArrayList
- Write a loop that finds the minimum and maximum values from your ArrayList
- Print them out
Agenda:
- ArrayList Quiz on Friday 2/7/20
- Card example
- Create a new repl.it called ArrayList Card Practice
- Create a new file within the repl.it named Card.java
- 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
Wednesday (1/29/20)
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:
- 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