Difference between revisions of "IB Computer Science 1"

From WLCS
 
(835 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Thursday - Monday (3/23/17 - 3/27/17) ==
+
== [[IBCS1 - Archives]] ==
'''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
 
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
 
** [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
* Convert [https://docs.google.com/document/d/1VGe4BcieqEgXfBAW_kA6gDd5a243rIItHGfV9jXLRfo/edit?usp=sharing 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 [https://docs.google.com/document/d/1wCZWJbwxWv6xqrbuQOKC8jgqdNdVUzSKE4L6UC-yX2s/edit?usp=sharing 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
 
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
 
* Demo Java converted [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing 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 [https://docs.google.com/document/d/1VGe4BcieqEgXfBAW_kA6gDd5a243rIItHGfV9jXLRfo/edit?usp=sharing 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 [https://docs.google.com/document/d/1wCZWJbwxWv6xqrbuQOKC8jgqdNdVUzSKE4L6UC-yX2s/edit?usp=sharing 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:
 
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
 
* Complex Java Types
 
** Declaration of complex types and objects
 
** Object instantiation w/ '''new''' keyword
 
** Convert as a class:  [https://docs.google.com/document/d/13zLTnm_mxURSFxEWJ24MUBOAK1Y6jbfk8NxL-wS_U7g/edit?usp=sharing Media: Loading & Displaying Images]
 
** Convert yourself: [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
 
 
== Wednesday - Thursday (3/8/17 - 3/9/17) ==
 
'''Agenda:'''
 
* [http://arlingtonva.libcal.com/event/3006500 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:
 
**[https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Project: Simple Paint]
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing Animation: Bouncing Ball]
 
** [https://docs.google.com/document/d/1NyUifJyiIxKupLXLLlbIcLB4SUCB_mLQs4GyhSaMSIw/edit?usp=sharing Project: Ping (1-player Pong)]
 
** [https://docs.google.com/document/d/13zLTnm_mxURSFxEWJ24MUBOAK1Y6jbfk8NxL-wS_U7g/edit?usp=sharing Media: Loading & Displaying Images]
 
*** Hint: Can you determine the type names for the image variables?
 
** [https://docs.google.com/document/d/1g5aP7hBogJYCDSdURtG0SfG3CY-q7aLtYyGilZaQcSM/edit?usp=sharing Media: Loading & Playing Sounds]
 
*** Hint: Can you determine the type names for the sound variables?
 
 
 
== Monday - Tuesday (3/6/17 - 3/7/17) ==
 
'''Agenda:'''
 
* [http://arlingtonva.libcal.com/event/3006500 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
 
** [https://docs.google.com/document/d/1-TyjK48PtO_dgBDLRxKOk8zvOReC_A5196skWzCI0wk/edit?usp=sharing Processing Lab 1: My First Sketch]
 
** [https://docs.google.com/document/d/1Rlt_UvfeGlMgN3upOR4rF9-M9w72CfH3aJbot_6_Tk0/edit?usp=sharing Processing House Assignment]
 
** [https://docs.google.com/document/d/1yxestu4zbLljylbwmSUnskOcwiTnwf-wOTFvyHF1xoo/edit?usp=sharing Processing My First Animation]
 
** [https://docs.google.com/document/d/1RCVlD8xOl4mzuIm2kxQUtyccOOJa_6bBFVa3S57Sj_E/edit?usp=sharing Processing Project: Simple Paint]
 
*** You will need to complete and demo Simple Paint's conversion for credit
 
** [https://docs.google.com/document/d/1xRSA_Ti8l5002jcAftcUtCTdujCojghzoTpUZwJvHQ4/edit?usp=sharing 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:'''
 
* [http://arlingtonva.libcal.com/event/3006500 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:
 
** [https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files Python File Methods/Functions]
 
** [https://docs.python.org/3.6/library/stdtypes.html#string-methods Python String Methods/Functions]
 
 
 
* 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)
 
 
 
== Archives ==
 
* [[IBCS1 - 1617 - February]]
 
* [[IBCS1 - 1617 - January]]
 
* [[IBCS1 - 1617 - December]]
 
* [[IBCS1 - 1617 - November]]
 
* [[IBCS1 - 1617 - October]]
 
* [[IBCS1 - 1617 - September]]
 
* [[IBCS1 - 1516]]
 

Latest revision as of 08:28, 13 September 2023