Difference between revisions of "IB Computer Science 1"

From WLCS
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Wednesday - Thurdsay (4/26/17 - 4/27/17) ==
+
== Friday - Wednesday (6/9/17 - 6/14/17) ==
'''Warmup:'''
+
'''Agenda:'''
# Go to Google Classroom
+
* Turn in final exam exemption slips
# Complete the Breakout prompt: List the major functional requirements of the game Breakout
+
* Turn in any missing assignments
#* e.g. Moving paddle
+
** Completed Breakout
#* e.g. Moving ball
+
** Flowcharts
#* etc.
+
** IA: Criterion A
 +
* Work on anything productive
 +
** You could even finish your summer assignment before the summer!
 +
* Final Exam Review Guide
 +
** Review everything on the [https://docs.google.com/a/apsva.us/document/d/1NTBIKn4uxQmuIKDXWoQDboF_YNkCBaKrz2-gjf3dTxA/edit?usp=sharing Python vs. Java Reference] in your Google Drive
 +
** Values, types, variables
 +
*** [[Media:ValuesTypesVariables.ppt]]
 +
** Math operations
 +
** Logical and comparison operations
 +
*** [[Media:BooleanLogic.ppt]]
 +
*** [[Logical operators assignment]]
 +
*** [[Comparison operators assignment]]
 +
** Functions (Methods)
 +
*** [[Media:JavaMethods.pptx]]
 +
*** function definition
 +
*** function header
 +
*** function body
 +
*** function call
 +
*** function parameters
 +
** if-statements
 +
** if-else statements
 +
** while loops
 +
** for loops
 +
** strings
 +
*** [[Media:JavaStrings_Basic.ppt]]
 +
** arrays
 +
*** [[Media:JavaArrays_Basic.ppt]]
 +
 
 +
== Monday - Thursday (6/5/17 - 6/8/17) ==
 +
'''Agenda:'''
 +
* IB Summer Assignment will be working on IA: Criterion B
 +
** [[IBCS2 Summer Assignment]]
 +
* Final exam exemption slips due by June 12th (or asap)
 +
* Rock-Paper-Scissors Flowchart Assignment
 +
** Flowcharts - [[Media:Flowcharts.ppt]]
 +
** Create a flowchart for the Rock-Paper-Scissors game using [https://www.draw.io/ draw.io]
 +
** Submit a pdf of your flowchart via Google Classroom (due Wednesday (6/7/17))
 +
* Complete and demo Breakout
 +
* Work on Internal Assessment
  
 +
== Thursday - Friday (6/1/17 - 6/2/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* [https://en.wikipedia.org/wiki/Breakout_(video_game) Breakout]
+
* Complete and demo Breakout
** What do we already know how to do?
+
* Work on Internal Assessment
** What do we still need to figure out how to do?
 
* How to draw bricks efficiently
 
  
== Monday - Tuesday (4/24/17 - 4/25/17) ==
+
== Tuesday - Wednesday (5/30/17 - 5/31/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Complete and demo [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
+
* Complete and demo Breakout
* Implement the advanced challenges in [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
+
* Work on Internal Assessment
  
== Thursday - Friday (4/20/17 - 4/21/17) ==
+
== Monday (5/29/17) ==
 +
* Memorial Day
 +
 
 +
== Friday (5/26/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Work on [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
+
* Java 20Q Assessment
 +
* Complete Breakout
 +
* Turn in Internal Assessment: Criterion A: Planning
 +
** E-mail Mr. Bui if you need an extension
  
== Tuesday - Wednesday (4/18/17 - 4/19/17) ==
+
== Friday - Thursday (5/19/17 - 5/25/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Object & classes review
+
* Assignments thus far:
* Emoji Assignment
+
** Emoji
*# Add a new mood to your Emoji class
+
** Ping w/ Objects (Classes)
*# In the main setup() and draw(), create multiple Emoji objects of different sizes, colors, and moods at different locations on the screen.
+
** Preliminary Breakout (only needs bottom brick collision)
*# Display and demo your program to Mr. Bui
+
* Current assignment:
* Begin working on [https://docs.google.com/document/d/19wbHYrxSwuMyAqVs9lSUSieNncnAZfs0liFqO6rbYQM/edit?usp=sharing OOP: Ping]
+
** Breakout w/ collisions on left, right, and tops of bricks
 +
** Multiple lives
 +
** Game over when there are no more lives
 +
** Win screen when there are no more bricks
 +
* Internal Assessment: Criterion A: Planning
 +
** [[Internal Assessment]]
 +
** [[Media:IBCS_InternalAssessmentChecklist.doc]]
 +
** [http://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_1_e&part=4&chapter=5 IA Criteria Rubrics]
 +
** [https://ibpublishing.ibo.org/live-exist/rest/app/tsm.xql?doc=d_4_comsc_tsm_1201_2_e&part=4&chapter=7 IA Examples]
 +
** Criterion A Overview - due '''Friday (5/26/17)''' via Google Classroom
 +
*** Explicitly state your client
 +
*** Explicitly state your advisor
 +
*** Define and describe the problem or unanswered question (175-250 words)
 +
*** Explicitly reference to documentation or evidence that a client was consulted (e.g. interview notes, transcription, or e-mail thread)
 +
*** Justify your proposed product (175-250 words)
 +
*** List (bulleted sentences/phrases) your success criteria (functionality requirements)
 +
* Workplace Readiness Skills Assessment - '''Date TBD'''
 +
** Common-sense workplace questions
 +
** 1 hour - 100 multiple choice
 +
** [https://www.quia.com/quiz/1865016.html Practice WRS Test]
  
== Monday - Friday (4/10/17 - 4/14/17) ==
+
== Monday - Thursday (5/15/17 - 5/18/17) ==
* Spring Break!
+
'''Agenda:'''
 +
* Complete the [http://nova.mce.cc/ NVCC Dual Enrollment Evaluation]
 +
* Complete [https://docs.google.com/forms/d/1dCcfJnCaczrBzeQoagJsZMZxidRFEdI-s4E6h_DJqAM/viewform End-of-Course Survey]
 +
** Summary results will be shown when all students have finished
 +
* Complete and demonstrate the preliminary Breakout game with the Brick[] array
 +
** Displays bricks, paddle, and ball
 +
** Ball collides with both paddles and bottom of bricks
 +
** Bricks disappear upon collision
 +
* Once you have completed and demonstrated the preliminary Breakout game, continue implementing the following features:
 +
** Collisions with left, right, and tops of bricks
 +
** Multiple lives
 +
** Game over when there are no more lives
 +
** Win screen when there are no more bricks
 +
 
 +
== Thursday - Friday (5/11/17 - 5/12/17) ==
 +
'''Agenda:'''
 +
* Complete the [http://nova.mce.cc/ NVCC Dual Enrollment Evaluation]
 +
* Complete and demonstrate the preliminary Breakout game with the Brick[] array
 +
** Displays bricks, paddle, and ball
 +
** Ball collides with both paddles and bricks
 +
** Bricks disappear upon collision
  
== Friday (4/7/17) ==
+
== Monday - Wednesday (5/8/17 - 5/10/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Emoji Assignment
+
* Complete the preliminary Breakout game with the Brick[] array
*# 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) ==
+
== Thursday - Friday (5/4/17 - 5/5/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Introduction to Objects Review
+
* Interim grades are posting. Assignments thus far:
** Emoji class walk-through
+
** Emoji
* Object & Class Rules
+
** Ping w/ Classes/Objects
*# Separate classes in separate tabs or files
+
** Breakout/BrickBreaker Warmup
*# Capitalize class names (e.g. Ball, Emoji)
+
** Preliminary Breakout w/ Brick[] (array)
*# Remember to indent!
+
* Work on Breakout w/ Brick[] array
*# 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) ==
+
== Tuesday - Wednesday (5/2/17 - 5/3/17) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Complete and demo [https://docs.google.com/document/d/1ZoXB12Md1zbG_liXn1yfIDosZ2p9i2ZqqsU4Hx8WV5A/edit?usp=sharing OOP: My First Object]
+
* What you should have as of now:
* Challenge: Create the Multiple Bouncing Balls using an array of Ball objects
+
** A BrickClassTest that defines a Brick class and declares and sets up a Brick[] (array)
* Ping w/ Objects
+
** The draw() should loop through the Brick[] and display each brick
*# Convert your Ping game so that it uses objects
+
* Today, you should:
*# Create a new sketch named PingWithObjects
+
*# Create a new sketch named BrickBreaker or Breakout
*# Copy and paste your Ball class into a new tab in the sketch (separate classes should be in separate tabs)
+
*# Copy over the Brick class and its setup and display code
*# Create a new class in a new tab named Paddle
+
*# Copy over your Ball and Paddle from Ping
*# Move the Ping paddle attribute variables to the Paddle class
+
*# Go through the code and clean it up, making any necessary changes
*# Create a default constructor in the Paddle class
+
*# Add a new function named checkBrickBottomCollision(Brick br, Ball ba)
*# Add methods moveLeft() and moveRight() to the Paddle class
+
*#* It should check if a Ball ba collides with a Brick br's bottom edge, return true and false accordingly
*# Complete and demo the PingWithObjects conversion
+
* Demonstrate your preliminary BrickBreaker/Breakout game for credit
  
 
== Archives ==
 
== Archives ==
 +
* [[IBCS1 - 1617 - April]]
 
* [[IBCS1 - 1617 - March]]
 
* [[IBCS1 - 1617 - March]]
 
* [[IBCS1 - 1617 - February]]
 
* [[IBCS1 - 1617 - February]]

Revision as of 08:44, 12 June 2017

Friday - Wednesday (6/9/17 - 6/14/17)

Agenda:

Monday - Thursday (6/5/17 - 6/8/17)

Agenda:

  • IB Summer Assignment will be working on IA: Criterion B
  • Final exam exemption slips due by June 12th (or asap)
  • Rock-Paper-Scissors Flowchart Assignment
    • Flowcharts - Media:Flowcharts.ppt
    • Create a flowchart for the Rock-Paper-Scissors game using draw.io
    • Submit a pdf of your flowchart via Google Classroom (due Wednesday (6/7/17))
  • Complete and demo Breakout
  • Work on Internal Assessment

Thursday - Friday (6/1/17 - 6/2/17)

Agenda:

  • Complete and demo Breakout
  • Work on Internal Assessment

Tuesday - Wednesday (5/30/17 - 5/31/17)

Agenda:

  • Complete and demo Breakout
  • Work on Internal Assessment

Monday (5/29/17)

  • Memorial Day

Friday (5/26/17)

Agenda:

  • Java 20Q Assessment
  • Complete Breakout
  • Turn in Internal Assessment: Criterion A: Planning
    • E-mail Mr. Bui if you need an extension

Friday - Thursday (5/19/17 - 5/25/17)

Agenda:

  • Assignments thus far:
    • Emoji
    • Ping w/ Objects (Classes)
    • Preliminary Breakout (only needs bottom brick collision)
  • Current assignment:
    • Breakout w/ collisions on left, right, and tops of bricks
    • Multiple lives
    • Game over when there are no more lives
    • Win screen when there are no more bricks
  • Internal Assessment: Criterion A: Planning
    • Internal Assessment
    • Media:IBCS_InternalAssessmentChecklist.doc
    • IA Criteria Rubrics
    • IA Examples
    • Criterion A Overview - due Friday (5/26/17) via Google Classroom
      • Explicitly state your client
      • Explicitly state your advisor
      • Define and describe the problem or unanswered question (175-250 words)
      • Explicitly reference to documentation or evidence that a client was consulted (e.g. interview notes, transcription, or e-mail thread)
      • Justify your proposed product (175-250 words)
      • List (bulleted sentences/phrases) your success criteria (functionality requirements)
  • Workplace Readiness Skills Assessment - Date TBD

Monday - Thursday (5/15/17 - 5/18/17)

Agenda:

  • Complete the NVCC Dual Enrollment Evaluation
  • Complete End-of-Course Survey
    • Summary results will be shown when all students have finished
  • Complete and demonstrate the preliminary Breakout game with the Brick[] array
    • Displays bricks, paddle, and ball
    • Ball collides with both paddles and bottom of bricks
    • Bricks disappear upon collision
  • Once you have completed and demonstrated the preliminary Breakout game, continue implementing the following features:
    • Collisions with left, right, and tops of bricks
    • Multiple lives
    • Game over when there are no more lives
    • Win screen when there are no more bricks

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

Agenda:

  • Complete the NVCC Dual Enrollment Evaluation
  • Complete and demonstrate the preliminary Breakout game with the Brick[] array
    • Displays bricks, paddle, and ball
    • Ball collides with both paddles and bricks
    • Bricks disappear upon collision

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