Difference between revisions of "IB Computer Science 1"
From WLCS
(→Friday (4/7/17)) |
|||
Line 1: | Line 1: | ||
+ | == Monday (4/18/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 | ||
+ | * 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 - Friday (4/10/17 - 4/14/17) == | ||
+ | * Spring Break! | ||
+ | |||
== Friday (4/7/17) == | == Friday (4/7/17) == | ||
'''Agenda:''' | '''Agenda:''' |
Revision as of 21:42, 17 April 2017
Contents
- 1 Monday (4/18/17)
- 2 Monday - Friday (4/10/17 - 4/14/17)
- 3 Friday (4/7/17)
- 4 Wednesday - Thursday (4/5/17 - 4/6/17)
- 5 Monday - Tuesday (4/3/17 - 4/4/17)
- 6 Thursday - Friday (3/30/17 - 3/31/17)
- 7 Thursday - Wednesday (3/23/17 - 3/29/17)
- 8 Tuesday - Wednesday (3/21/17 - 3/22/17)
- 9 Wednesday - Monday (3/15/17 - 3/20/17)
- 10 Tuesday (3/14/17)
- 11 Friday - Monday (3/10/17 - 3/13/17)
- 12 Wednesday - Thursday (3/8/17 - 3/9/17)
- 13 Monday - Tuesday (3/6/17 - 3/7/17)
- 14 Wednesday - Friday (3/1/17 - 3/3/17)
- 15 Archives
Monday (4/18/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
- 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 - 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
- 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 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
Thursday - Friday (3/30/17 - 3/31/17)
Agenda:
- Demo!
- Pong w/ arrays and multiple balls
- Gravity Launcher w/ arrays and multiple balls
- Introduction to Object-Oriented Programming (OOP)
- History! ... Xerox PARC ... Apple ... Microsoft
- Complete OOP: My First Object
Thursday - Wednesday (3/23/17 - 3/29/17)
Agenda:
- Complete and demo Pong w/ arrays and multiple balls
- Complete and demo Gravity Launcher w/ arrays and multiple balls
Tuesday - Wednesday (3/21/17 - 3/22/17)
Agenda:
- Demo missing assignments
- Convert Project: Pong (Mouse vs Keyboard) to Java AND use arrays so that there are multiple balls on the screen
- You must change the gameplay! If a ball passes a player's paddle, then give that person a point. When there are no more balls on the screen, then the player with fewer points wins.
- Note: If you do not have the Python code, then just get a copy from somebody who does
- key is a char, so you need to use single quotes
- hit() function must be edited to accept an input parameter i
- Convert Animation: Gravity Ball with Mouse Launcher to Java AND use arrays so that there are multiple balls (of different sizes) launched
- Note: If you do not have the Python code, then just get a copy from somebody who does
- Challenge: Give each ball a different radius. Correlate the initial energy for each particular ball to the radius
Wednesday - Monday (3/15/17 - 3/20/17)
Agenda:
- Demo missing assignments
- Demo Java converted Media: Loading & Playing Sounds
- Arrays in Java (~Lists)
- Media:JavaArrays_Basic.ppt
- Use of the [] brackets
- Explicit declaration
- Implicit declaration
- Primitive types
- Complex types
- Multiple bouncing balls - create a version of the bouncing balls program in Java that uses arrays and has multiple balls moving on the screen
- Convert Project: Pong (Mouse vs Keyboard) to Java AND use arrays so that there are multiple balls on the screen
- You must change the gameplay! If a ball passes a player's paddle, then give that person a point. When there are no more balls on the screen, then the player with fewer points wins.
- Note: If you do not have the Python code, then just get a copy from somebody who does
- key is a char, so you need to use single quotes
- hit() function must be edited to accept an input parameter i
- Convert Animation: Gravity Ball with Mouse Launcher to Java AND use arrays so that there are multiple balls (of different sizes) launched
- Note: If you do not have the Python code, then just get a copy from somebody who does
Tuesday (3/14/17)
- Winter Storm Stella Snow Day
Friday - Monday (3/10/17 - 3/13/17)
Agenda:
- Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
- Convert and demo your Python code for the following programs to Java:
- Complex Java Types
- Declaration of complex types and objects
- Object instantiation w/ new keyword
- Convert as a class: Media: Loading & Displaying Images
- Convert yourself: Media: Loading & Playing Sounds
Wednesday - Thursday (3/8/17 - 3/9/17)
Agenda:
- Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm
- Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
- Python -> Java Review
- Add looping (while, for) to Java notes
- Convert your Python code for the following programs to Java:
- Project: Simple Paint
- Animation: Bouncing Ball
- Project: Ping (1-player Pong)
- Media: Loading & Displaying Images
- Hint: Can you determine the type names for the image variables?
- Media: Loading & Playing Sounds
- Hint: Can you determine the type names for the sound variables?
Monday - Tuesday (3/6/17 - 3/7/17)
Agenda:
- Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm
- Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
- Python -> Java
- Python vs. Java Reference
- Java syntax differences
- Convert the following Processing labs from Python to Java
- Processing Lab 1: My First Sketch
- Processing House Assignment
- Processing My First Animation
- Processing Project: Simple Paint
- You will need to complete and demo Simple Paint's conversion for credit
- Animation: Bouncing Ball
- You will need to complete and demo Bouncing Ball's conversion for credit
Wednesday - Friday (3/1/17 - 3/3/17)
Agenda:
- Teen Tech Help @ Central Library, Thursday (3/9/17), 3:30-5pm
- Volunteer to help adults solve their tech problems
- Easy service hours!
- Mr. Bui will provide pizza
- Job opportunity w/ Mrs. Carolyn Carlson (non-profit consulting)
- Part-time paid opportunity through her firm
- Need for MS Excel skills, with occasional Adobe Photoshop
- Prepare a resume and e-mail it to Mr. Bui to apply. He will forward all resumes to Mrs. Carlson
- File Reading/Writing (Input/Output) Review:
- Complete the File R/W (I/O) Exercises:
- Read a file with first and last names of people. Extract all their initials, such that first and last initials are combined per person (Paul Bui -> PB). Write/Output that list of initials to a file
- Write a program that generates a textfile with 10000 random numbers from 0-100
- Read a file with 10000 random numbers from 0 to 100. Print out the frequency of each of the numbers (Hint: Use a list to track the frequencies)