Difference between revisions of "IB Computer Science 1"

From WLCS
Line 1: Line 1:
== Tuesday - Wednesday (5/2/16 - 5/3/17) =  
+
== Tuesday - Wednesday (5/2/16 - 5/3/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
 
* What you should have as of now:
 
* What you should have as of now:

Revision as of 07:04, 2 May 2017

Tuesday - Wednesday (5/2/16 - 5/3/17)

Agenda:

  • What you should have as of now:
    • A BrickClassTest that defines a Brick class and declares and sets up a Brick[] (array)
    • The draw() should loop through the Brick[] and display each brick
  • Today, you should:
    1. Create a new sketch named BrickBreaker or Breakout
    2. Copy over the Brick class and its setup and display code
    3. Copy over your Ball and Paddle from Ping
    4. Go through the code and clean it up, making any necessary changes
    5. Add a new method named checkBrickBottomCollision(Brick br, Ball ba)
      • It should check if a Ball ba collides with a Brick br's bottom edge, return true and false accordingly
  • Demonstrate your preliminary BrickBreaker/Breakout game for credit

Friday - Monday (4/28/17 - 5/1/17)

Warmup:

  • Look at the board's drawing
  • Look at your nested for-loop that drew the bricks
  • Determine a single for-loop that would calculate and generate the same brick coordinates as the nested for-loop

Agenda:

  • Create a Brick class with all the appropriate attributes (x, y, w, h, c)
  • Your Brick class should have default and specific constructors
  • Implement the Brick class's display() method
  • Create a BrickClassTest sketch that does the following
    1. Create a Brick[] named bricks
    2. Setup your window
    3. Within setup(), use a for-loop to initialize all the Brick objects in the Brick array
    4. Within draw(), use a for-loop to display all the bricks

Wednesday - Thurdsay (4/26/17 - 4/27/17)

Warmup:

  1. Go to Google Classroom
  2. Complete the Breakout prompt: List the major functional requirements of the game Breakout
    • e.g. A moving paddle that responds to user input
    • e.g. A moving ball that bounces at the edges
    • etc.

Agenda:

  • Breakout
    • What do we already know how to do?
    • What do we still need to figure out how to do?
  • How to draw bricks efficiently

Monday - Tuesday (4/24/17 - 4/25/17)

Agenda:

Thursday - Friday (4/20/17 - 4/21/17)

Agenda:

Tuesday - Wednesday (4/18/17 - 4/19/17)

Agenda:

  • Object & classes review
  • Emoji Assignment
    1. Add a new mood to your Emoji class
    2. In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
    3. Display and demo your program to Mr. Bui
  • Begin working on OOP: Ping

Monday - Friday (4/10/17 - 4/14/17)

  • Spring Break!

Friday (4/7/17)

Agenda:

  • Emoji Assignment
    1. Add a new mood to your Emoji class
    2. In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
    3. Display and demo your program to Mr. Bui
  • Ping w/ Objects
    1. Convert your Ping game so that it uses objects
    2. Create a new sketch named PingWithObjects
    3. Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
    4. Create a new class in a new tab named Paddle
    5. Move the Ping paddle attribute variables to the Paddle class
    6. Create a default constructor in the Paddle class
    7. Add methods moveLeft() and moveRight() to the Paddle class
    8. Complete and demo the PingWithObjects conversion

Wednesday - Thursday (4/5/17 - 4/6/17)

Agenda:

  • Introduction to Objects Review
    • Emoji class walk-through
  • Object & Class Rules
    1. Separate classes in separate tabs or files
    2. Capitalize class names (e.g. Ball, Emoji)
    3. Remember to indent!
    4. Order of sections:
      • attributes
      • constructors
      • methods
    5. All class constructors and methods can access attributes
    6. Use common sense to organize which code happens in which methods (i.e. each method has a specific purpose, and it should only worry about that purpose)
  • Default constructor vs "specific" constructors
  • Ping w/ Objects
    1. Convert your Ping game so that it uses objects
    2. Create a new sketch named PingWithObjects
    3. Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
    4. Create a new class in a new tab named Paddle
    5. Move the Ping paddle attribute variables to the Paddle class
    6. Create a default constructor in the Paddle class
    7. Add methods moveLeft() and moveRight() to the Paddle class
    8. Complete and demo the PingWithObjects conversion

Monday - Tuesday (4/3/17 - 4/4/17)

Agenda:

  • Complete and demo OOP: My First Object
  • Challenge: Create the Multiple Bouncing Balls using an array of Ball objects
  • Ping w/ Objects
    1. Convert your Ping game so that it uses objects
    2. Create a new sketch named PingWithObjects
    3. Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
    4. Create a new class in a new tab named Paddle
    5. Move the Ping paddle attribute variables to the Paddle class
    6. Create a default constructor in the Paddle class
    7. Add methods moveLeft() and moveRight() to the Paddle class
    8. Complete and demo the PingWithObjects conversion

Archives