Difference between revisions of "IB Computer Science 1"

From WLCS
 
(501 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Wednesday (10/31/18) ==
+
== [[IBCS1 - Archives]] ==
'''Agenda:'''
 
* Demo any missing assignments
 
** [https://docs.google.com/document/d/1i6iUV20KXDF_yKr4mn5X4JQQPc4hF7lklkp5DlDpMCE/edit?usp=sharing Functions: Hover Buttons] is the last assignment of the quarter
 
* Complete and demo [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
* Sound Board Project
 
*# Create a completely new Processing project called Sound Board
 
*# You will use your experience from the [https://docs.google.com/document/d/1i6iUV20KXDF_yKr4mn5X4JQQPc4hF7lklkp5DlDpMCE/edit?usp=sharing Hover Buttons] and [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Sound Lab] to design and create a sound board
 
*# Download 6 school-appropriate sound clips of your favorite TV/movie character
 
*# Design and implement your 6 of your own buttons in your program. The buttons must have text on them indicating the sound each will play.  The buttons must also highlight when you hover over them
 
*# When you press a button, there should be a quick animation like a color change to indicate the button was hit.
 
*# Also when you press a button, play the appropriate sound that corresponds to the button's label
 
 
 
== Monday (10/29/18) ==
 
'''Agenda:'''
 
* Demo Tic-Tac-Toe: Function Assignment (if you did not get to demo last class)
 
* Demo [https://docs.google.com/document/d/1u1aQNdF_V-_n_zE5gAbMbjh45IHNyrX4P4sCDzldvKs/edit?usp=sharing Functions: Emoji Assignment]
 
* Complete and demo [https://docs.google.com/document/d/1i6iUV20KXDF_yKr4mn5X4JQQPc4hF7lklkp5DlDpMCE/edit?usp=sharing Functions: Hover Buttons]
 
* Work on the challenges in either of the above assignments
 
 
 
== Thursday (10/25/18) ==
 
'''Warmup:'''
 
* Complete repl.it warmup: "Warmup 10/25/18"
 
* Complete repl.it assignment: "Function definitions & return"
 
 
 
'''Agenda:'''
 
* Group 4 project permission slips
 
* Demo your completed Tic-Tac-Toe: Part 3
 
* Functions review
 
* Complete Tic-Tac-Toe: Function Assignment '''today'''
 
*# Go back to your Tic-Tac-Toe code and look for redundant blocks of code.  You should notice that the code that switches turns occurs in several places
 
*# Define a new function called switchTurn(), and move your code that switches turns into that function definition
 
*# Replace all the redundant blocks of code with function calls to switchTurn()
 
*# Re-test your Tic-Tac-Toe program to make sure that it still works
 
*# Demo your slimmer Tic-Tac-Toe game that uses functions
 
* Work on [https://docs.google.com/document/d/1u1aQNdF_V-_n_zE5gAbMbjh45IHNyrX4P4sCDzldvKs/edit?usp=sharing Functions: Emoji Assignment] - due next class
 
* Work on [https://docs.google.com/document/d/1i6iUV20KXDF_yKr4mn5X4JQQPc4hF7lklkp5DlDpMCE/edit?usp=sharing Functions: Hover Buttons]
 
 
 
== Tuesday (10/23/18) ==
 
'''Agenda:'''
 
* Group 4 Project Field Trip - Nov 28 / 29
 
** Turn in field trip slips (don't worry about teacher signatures)
 
* Demo your completed Tic-Tac-Toe: Part 3
 
* Introduction to Functions
 
** [https://docs.google.com/presentation/d/1W_kTmZH-qLbcFcueUBLw3skRXIDlAxLDdJB-y7AbeWM/edit?usp=sharing Functions slides]
 
* Complete repl.it assignment titled: "Function definitions & return" - '''due Thursday (10/25/18)'''
 
 
 
'''Homework:'''
 
* Group 4 project permission slips
 
* Repl.it - Function definitions & return
 
 
 
== Friday (10/19/18) ==
 
'''Agenda:'''
 
* Demo Completed Tic-Tac-Toe: Part 2
 
* Tic-Tac-Toe - Part 3
 
*# Add conditionals to check if any 3 locations in a row/column/diagonal match (make sure that at least one of the locations is not equal to the empty string)
 
*# Display a text() message that indicates the winner
 
*# Add a conditional to check if the game is a draw (tie), and display a message
 
*# To stop the stop/pause the program if there is a winner or tie, you need to create a new variable (e.g. gameOver = False)
 
*#* If the game should be over, you re-assign gameOver to True
 
*#* Within the draw() code block, add a conditional to check if gameOver is True, and if it is, then use the noLoop() command to stop the draw() animation
 
* Exhaustively test your program!
 
** Try to break your program intentionally by clicking in boxes that already have moves or by making moves after the game is over
 
 
 
== Wednesday (10/17/18) ==
 
'''Agenda:'''
 
* text() and textSize() notes
 
* X-O clicker assignment
 
** Modify the code of the mouseReleased() so that a text-based X or O is drawn every time the mouse button is released
 
* Tic-Tac-Toe: Part 2
 
*# At the very top of your code, declare/create a global string variable named '''turn''' and initialize it to either "X" or "O"
 
*# At the very top of your code, declare/create global variables for each square in the game (e.g. b_0_0, b_0_1) -- you will use these variables to track where moves are made
 
*# Copy your setup() and draw() from your Tic-Tac-Toe: Select-a-Square
 
*# At the end of draw(), add text() commands that draw all the board (b) variables in their respective locations
 
*#* Example: text(b_0_0, 100, 100)
 
*#* Test your code out at this point by giving some of the board (b) variables starting values of "X" or "O" -- be sure to revert them back to empty strings when done with testing
 
*# Define mouseReleased() like the X-O clicker assignment.  Add/modify the code, so that you detect where the click/release is occurring, and change the appropriate board (b) variable to store the move (turn). Hint: You can use the same if statements or conditionals from the select-a-square lab!
 
*#* You should be sure to save the appropriate move in the board (b) variables
 
*#* Every time you release the mouse and successfully make a move, draw "X" or "O", then turn should switch
 
*#* You must not allow a move to occur in a space that already has a move (check the appropriate board (b) variable to make sure the corresponding slot is still empty string)
 
 
 
== Thursday - Monday (10/11/18 - 10/15/18) ==
 
'''Agenda:'''
 
* Read [https://py.processing.org/reference/globals.html global variables] and test out its example code snippet in Processing
 
** You will interact with the code snippet by hitting keys
 
** Focus on understanding the use of the global keyword
 
* Read [https://py.processing.org/reference/mouseReleased.html mouseReleased()] and test out its example code snippet in Processing
 
** You will interact with the code snippet by pressing and releasing the mouse/trackpad button
 
** The mouseReleased() function automatically runs every time the mouse's button is released
 
* What components of Tic-Tac-Toe are left?
 
** Copy your Tic-Tac-Toe code to a new Processing sketch program and save it as TTT_Part2
 
** Declare/create a global string variable named '''turn''' and initialize it to either "X" or "O"
 
** Declare/create global variables for each square in the game (e.g. b_0_0, b_0_1) -- you will use these variables to track where moves are made
 
** Define the mouseReleased() function like the example linked above.  Add/modify the mouseReleased() code block, so that you draw a either ax "X" or an "O" in the corresponding slot.  Hint: You can use the same if statements or conditional from the previous lab!
 
** Every time you release the mouse and draw "X" or "O", the turn should switch
 
** You must not allow a move to occur in a space that already has a move
 
 
 
== Wednesday (10/10/18) ==
 
* PSATs
 
 
 
== Friday (10/6/18) ==
 
'''Agenda:'''
 
* Introduction to Animation
 
** setup() function
 
** draw() function
 
** mouseX and mouseY variables
 
** width and height variables
 
* Tic-Tac-Toe Select-a-Square
 
*# Setup your screen size to be a large square (e.g. 600x600)
 
*# Within the draw() function, give the background a color()
 
*# Draw tic-tac-toe lines on your screen (make sure that the rows and columns are exactly 1/3 the size of the height and width)
 
*# Add conditional statements in the draw() function to detect which square you are in
 
*#* You'll need to access the mouse's current coordinates with mouseX and mouseY variables
 
*#* Draw a square of a different color inside the particular square that you are in
 
*#* The effect that you will generate will look like it is highlighting the current square where the mouse is
 
*# Challenge: Modify your code so that changing the screen size, will automatically be adjusted and accounted for by the rest of your code. Hint: use height and width variables
 
*# Challenge 2: Modify your code so that it works without any conditionals.  Hint: use division and multiplication
 
* Coming soon...
 
** Functions
 
** Global variables
 
** Mouse clicks
 
 
 
== Wednesday (10/3/18) ==
 
'''Agenda:'''
 
* Complete and demo [https://docs.google.com/document/d/1-TyjK48PtO_dgBDLRxKOk8zvOReC_A5196skWzCI0wk/edit?usp=sharing Introduction: My First Sketch]
 
* Processing review
 
** size()
 
** rect()
 
** ellipse()
 
** line()
 
** background()
 
** fill()
 
** stroke()
 
* Draw and demo your favorite emoji / logo / cartoon character using Processing before the end of class
 
 
 
== Monday (10/1/18) ==
 
'''Warmup:'''
 
* Take the Conditionals Quiz in Canvas
 
 
 
'''Agenda:'''
 
* Make sure you've completed all assignments (...but how?)
 
* Complete & demo [[Tech Support Flow Chart Assignment]]
 
* Introduction to Processing - Python Mode
 
*# Download and install [https://processing.org/download Processing]
 
*# Install Python Mode (upper right corner)
 
*# [[Processing Labs]]
 
*# Complete [https://docs.google.com/document/d/1-TyjK48PtO_dgBDLRxKOk8zvOReC_A5196skWzCI0wk/edit?usp=sharing Introduction: My First Sketch]
 
* Draw and demo your favorite emoji / logo / cartoon character using Processing
 
 
 
== Archives ==
 
* [[IBCS1 - 1819 - September]]
 
* [[IBCS1 - 1718]]
 

Latest revision as of 08:28, 13 September 2023