Difference between revisions of "IB Computer Science 1"

From WLCS
Line 31: Line 31:
 
* Demonstrate your preliminary BrickBreaker/Breakout game for credit
 
* 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
 
*# Create a Brick[] named bricks
 
*# Setup your window
 
*# Within setup(), use a for-loop to initialize all the Brick objects in the Brick array
 
*# Within draw(), use a for-loop to display all the bricks
 
 
== Wednesday - Thurdsay (4/26/17 - 4/27/17) ==
 
'''Warmup:'''
 
# Go to Google Classroom
 
# 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:'''
 
* [https://en.wikipedia.org/wiki/Breakout_(video_game) 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:'''
 
* Complete and demo [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
 
* Implement the advanced challenges in [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
 
 
== Thursday - Friday (4/20/17 - 4/21/17) ==
 
'''Agenda:'''
 
* Work on [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
 
 
== Tuesday - Wednesday (4/18/17 - 4/19/17) ==
 
'''Agenda:'''
 
* Object & classes review
 
* Emoji Assignment
 
*# Add a new mood to your Emoji class
 
*# In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
 
*# Display and demo your program to Mr. Bui
 
* Begin working on [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
 
 
== Monday - Friday (4/10/17 - 4/14/17) ==
 
* Spring Break!
 
 
== Friday (4/7/17) ==
 
'''Agenda:'''
 
* Emoji Assignment
 
*# Add a new mood to your Emoji class
 
*# In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
 
*# Display and demo your program to Mr. Bui
 
* Ping w/ Objects
 
*# Convert your Ping game so that it uses objects
 
*# Create a new sketch named PingWithObjects
 
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
 
*# Create a new class in a new tab named Paddle
 
*# Move the Ping paddle attribute variables to the Paddle class
 
*# Create a default constructor in the Paddle class
 
*# Add methods moveLeft() and moveRight() to the Paddle class
 
*# 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
 
*# Separate classes in separate tabs or files
 
*# Capitalize class names (e.g. Ball, Emoji)
 
*# Remember to indent!
 
*# Order of sections:
 
*#* attributes
 
*#* constructors
 
*#* methods
 
*# All class constructors and methods can access attributes
 
*# 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
 
** [https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html Oracle Java Constructor Tutorial]
 
* Ping w/ Objects
 
*# Convert your Ping game so that it uses objects
 
*# Create a new sketch named PingWithObjects
 
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
 
*# Create a new class in a new tab named Paddle
 
*# Move the Ping paddle attribute variables to the Paddle class
 
*# Create a default constructor in the Paddle class
 
*# Add methods moveLeft() and moveRight() to the Paddle class
 
*# Complete and demo the PingWithObjects conversion
 
 
== Monday - Tuesday (4/3/17 - 4/4/17) ==
 
'''Agenda:'''
 
* Complete and demo [https://docs.google.com/document/d/1ZoXB12Md1zbG_liXn1yfIDosZ2p9i2ZqqsU4Hx8WV5A/edit?usp=sharing OOP: My First Object]
 
* Challenge: Create the Multiple Bouncing Balls using an array of Ball objects
 
* Ping w/ Objects
 
*# Convert your Ping game so that it uses objects
 
*# Create a new sketch named PingWithObjects
 
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
 
*# Create a new class in a new tab named Paddle
 
*# Move the Ping paddle attribute variables to the Paddle class
 
*# Create a default constructor in the Paddle class
 
*# Add methods moveLeft() and moveRight() to the Paddle class
 
*# Complete and demo the PingWithObjects conversion
 
  
 
== Archives ==
 
== Archives ==
 +
* [[IBCS1 - 1617 - April]]
 
* [[IBCS1 - 1617 - March]]
 
* [[IBCS1 - 1617 - March]]
 
* [[IBCS1 - 1617 - February]]
 
* [[IBCS1 - 1617 - February]]

Revision as of 09:18, 11 May 2017

Thursday - Friday (5/11/17 - 5/12/17)

Agenda:

Monday - Wednesday (5/8/17 - 5/10/17)

Agenda:

  • Complete the preliminary Breakout game with the Brick[] array

Thursday - Friday (5/4/17 - 5/5/17)

Agenda:

  • Interim grades are posting. Assignments thus far:
    • Emoji
    • Ping w/ Classes/Objects
    • Breakout/BrickBreaker Warmup
    • Preliminary Breakout w/ Brick[] (array)
  • Work on Breakout w/ Brick[] array

Tuesday - Wednesday (5/2/17 - 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 function 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


Archives