Difference between revisions of "AP Computer Science"

From WLCS
(85 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tuesday (1/29/19) ==
+
== EXAM INFORMATION ==
 +
* Friday, May 17th - 12pm - Wrestling Room
 +
* [http://washingtonlee.apsva.us/wp-content/uploads/sites/38/2019/03/AP-IB-Exam-May-2019-schedule-for-POSTERS-3-27-19.pdf Complete AP/IB Exam Calendar]
 +
* [https://docs.google.com/document/d/19XmF8sgXBu1hOb4_wcSK1zmEkQ-IwkP4b3MSH_Orzy8/edit?usp=sharing AP/IB Exam Study Strategies]
 +
 
 +
== Monday (4/22/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Item Collection Game
+
* Flash card circle
*# We will design a simple top-down item collection game using a new Sprite class (specified below)
+
*# Number a sheet of paper from 1 through 10
*# You can move the player sprite with the keyboard (wrap the player to the other side of the screen if you go off screen)
+
*# You will have 60 seconds for each simple statement
*# The player sprite will be able to collect item sprites
+
*# Pass the card to your right
*# Robot sprites will follow the player around
+
* Review flash card answers
*# You win when you collect all the items
+
* Topics review
*# You lose if a robot collides with your sprite
+
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-java-subset.pdf APCS Java Subset]
* Sprite class (has similarities to the previous Sprite class)
+
** Make sure you read the notes at the bottom of the subset!
** Attributes:  
+
** Class-walk through of every testable language feature
*** double x, y (to be used for position)
+
* Compile a list with links of all the eIMACS Quick References (#1-19)
*** double dx, dy (to be used for step size when moving -- always positive)
+
** List the subtopics for each quick reference
*** PImage img (stores the image)
+
** Be sure to paste links
*** boolean visible (default setting is true -- we will use this variable to track the Sprite's visibility state)
+
* [https://docs.google.com/document/d/1fFYAfNpJDuQGb4iTZ-wfeaZLyqXSt3PJHtfry25jyUk/edit?usp=sharing Example APCS exam review]
** Constructors:
+
* [https://doodle.com/poll/66uuh5swtfpck4yy AP/IB Exam Doodle (L-day mornings)]
*** Sprite()
+
 
*** Sprite(String imgfile, double x, double y, double dx, double dy)
+
'''Homework:'''
** Methods:
+
* [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap16_frq_computer_science_a.pdf 2016 Practice FRQ #3] - 22 mins total
*** void display() - if visible is true, then display the image
 
*** void moveLeft() - move x-coordinate to the left by dx amount
 
*** void moveRight() - move x-coordinate to the right by dx amount
 
*** void moveUp() - move y-coodrinate upwards by dy amount
 
*** void moveDown() - move y-coodrinate downwards by dy amount
 
*** boolean checkCollision(Sprite other) - returns true if this Sprite is colliding with the other Sprite (use previous Sprite class to help with this method)
 
*** void follow(Sprite other) - compare x and y coordinates of this Sprite with the other Sprite -- move this Sprite towards other Sprite by using the move____() methods
 
  
== Tuesday - Thursday (1/22/19 - 1/24/19) ==
+
== Monday - Friday (4/15/19 - 4/19/19) ==
 +
* Spring Break
 +
 
 +
== Thursday (4/11/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* [https://drive.google.com/file/d/1tQc3yOyfjy7xN6oz0glIeFHqJgORmuAd/view?usp=sharing Dino Game example]
+
* Flash card circle
** We will convert the non-OOP version into an [https://drive.google.com/file/d/1FAO7kdtVrYrrO4jgcRMap3S3UtDqFe_W/view?usp=sharing OOP version]
+
*# Number a sheet a paper from 1 through 13
** Add another cactus to the dino game
+
*# You will have a True/False flash card and you must answer it within 30 seconds. Make sure you write True/False in the appropriate number
* Flappy Bird OOP
+
*# Pass the card to your right
** What modifications to our Sprite class do we need to make?
+
* Review True/False answers
** Here are some Flappy Bird sprite images [https://drive.google.com/file/d/1UugFrLPjeA8YPXOlmOxjIvzd6HdvpupA/view?usp=sharing here]
+
* [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap16_frq_computer_science_a.pdf 2016 Practice FRQ #2] - 22 mins total
** Implement the OOP version of Flappy Bird in Processing
 
** Bird will need to flap when a key is pressed
 
** Pipes will need to move and wrap around the screen
 
** Score increases when a pipe is passed (this will require something to be added to the Sprite class)
 
** Lose when bird collides with a pipe or when the Bird goes too far below the screen
 
** Due '''Thursday (1/24/19)''' -- last assignment of 2nd Quarter
 
  
== Thursday (1/17/19) ==
+
== Tuesday (4/9/19) ==
 
'''Warmup:'''
 
'''Warmup:'''
* Submit your Circle class to repl.it
+
* Complete sample questions #1-5 from [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-course-description.pdf AP CS Course Description] on page 19
 +
** You have 11 minutes
  
 
'''Agenda:'''
 
'''Agenda:'''
* Object-Oriented Programming cont'd
+
* [https://www.albert.io/blog/ap-computer-science-tips/ Albert.io Study Tips]
** OOP Review - attributes, constructors, setters, getters, public vs. private, this
+
* AP CS Study Documents (let Mr. Bui know if you want a hard-copy now)
** toString() method (using the Point class)
+
** https://ap-computer-science-guide.github.io/
** Submit Point class to repl.it
+
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-java-subset.pdf AP CS Java Subset]
** [https://docs.google.com/presentation/d/1hb_8wMUlQQl7W-JF2f3gax021yDHLkLENJYy0fUMGy8/edit?usp=sharing Classes (Java) slides]
+
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/explore-ap/ap-computer-science-a-2014-java-quick-reference.pdf AP CS Java Quick Reference]
* Complete the Car class assignments in repl.it
+
* [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap16_frq_computer_science_a.pdf 2016 Practice FRQ #1] - 22 mins total
* [https://drive.google.com/file/d/1tQc3yOyfjy7xN6oz0glIeFHqJgORmuAd/view?usp=sharing Dino Game example]
+
** You may ask Jeff how to approach the problem if you need help
** Add another cactus to the dino game
+
* [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap16_frq_computer_science_a.pdf 2016 Practice FRQ #2] - 22 mins total
 +
** You may ask Jeff how to approach the problem if you need help
  
 
'''Homework:'''
 
'''Homework:'''
* Complete eIMACS: Activity 14: Address Objects
+
* Complete [https://www.albert.io/assignment/60dbb250-7dc8-4032-afe8-c6c1773e3d31 22Qs Albert.io - Program Implementation - Declaration & Output]
  
== Tuesday (1/15/19) ==
+
== Friday (4/5/19) ==
* Snow Day
 
 
 
== Friday (1/11/19) ==
 
 
'''Agenda:'''
 
'''Agenda:'''
* Object-Oriented Programming cont'd
+
* Go over HW
** Person class review
+
* Demo image processing assignments
** Vocab:
 
*** class vs object
 
*** declaration vs instantiation
 
** Point class example
 
** Point object instantiation
 
** Point object usage
 
** [https://docs.google.com/presentation/d/1hb_8wMUlQQl7W-JF2f3gax021yDHLkLENJYy0fUMGy8/edit?usp=sharing Classes (Java) slides]
 
** Circle class example
 
** [https://drive.google.com/file/d/1tQc3yOyfjy7xN6oz0glIeFHqJgORmuAd/view?usp=sharing Dino Game example]
 
  
 
'''Homework:'''
 
'''Homework:'''
* Create a Circle class and test it out
+
* Complete [https://www.albert.io/assignment/00b78f66-9d56-413c-86ce-0ba51d9bb5df Albert.io Program Construction - Classes]
* Follow the [https://docs.google.com/presentation/d/1hb_8wMUlQQl7W-JF2f3gax021yDHLkLENJYy0fUMGy8/edit?usp=sharing Classes (Java) slides]
 
  
== Wednesday (1/9/19) ==
+
== Wednesday (4/3/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Cornell Engineering Diversity Programs - one-week residential programs:
+
* Demo Image Processing assignments
** [https://sites.coecis.cornell.edu/catalystacademy/ Catalyst Academy] - juniors and seniors from underrepresented backgrounds
 
** [https://sites.coecis.cornell.edu/curieacademy/ Curie Academy] - high school girls who excel in math and science
 
* Recursion quiz
 
* Submit Recursion Problems to repl.it
 
** public static int count(String s, String ch) - returns the number of occurrences of ch (single character string) within s
 
** public static String reverse(String s) - returns the reversed String s
 
** public static int reverse(int i) - returns an int that is the full digit reversal of i (e.g. 1234 -> 4321)
 
* Introduction to Object-Oriented Programming
 
** [https://repl.it/@paulbui/SimpleProgramWithoutOOP Simple program without OOP example]
 
** Simple program with OOP example
 
** Point class example
 
** Point object instantiation
 
** Point object usage
 
** [https://docs.google.com/presentation/d/1hb_8wMUlQQl7W-JF2f3gax021yDHLkLENJYy0fUMGy8/edit?usp=sharing Classes (Java) slides]
 
** Circle class example
 
  
 
'''Homework:'''
 
'''Homework:'''
* Complete and submit recursion problems to repl.it
+
* Complete the [https://www.albert.io/assignment/dcc0878d-76c6-42fe-aa1e-5463573cf05f Albert.io Program & Class Design (part 1) assignment]
* Review SimpleProgramWithOOP notes that we did in class
+
** Spend no more than 2 minutes per question
 
 
== Monday (1/7/19) ==
 
* Don't forget to complete Activity 13 (due tonight)
 
* Recursion Quiz Wednesday (1/9/19)
 
** Multiple choice questions
 
** Free-response question(s)
 
* Recursion Review & Practice
 
* Recursion Problems (prepare to submit to repl.it)
 
** public static int count(String s, String ch) - returns the number of occurrences of ch (single character string) within s
 
** public static String reverse(String s) - returns the reversed String s
 
** public static int reverse(int i) - returns an int that is the full digit reversal of i (e.g. 1234 -> 4321)
 
 
 
== Monday - Friday (12/31/18 - 1/4/19) ==
 
* Winter Break
 
  
 
== Archives ==
 
== Archives ==
 +
* [[APCS - 1819 - March]]
 +
* [[APCS - 1819 - February]]
 +
* [[APCS - 1819 - January]]
 
* [[APCS - 1819 - December]]
 
* [[APCS - 1819 - December]]
 
* [[APCS - 1819 - November]]
 
* [[APCS - 1819 - November]]

Revision as of 10:26, 22 April 2019

EXAM INFORMATION

Monday (4/22/19)

Agenda:

  • Flash card circle
    1. Number a sheet of paper from 1 through 10
    2. You will have 60 seconds for each simple statement
    3. Pass the card to your right
  • Review flash card answers
  • Topics review
    • APCS Java Subset
    • Make sure you read the notes at the bottom of the subset!
    • Class-walk through of every testable language feature
  • Compile a list with links of all the eIMACS Quick References (#1-19)
    • List the subtopics for each quick reference
    • Be sure to paste links
  • Example APCS exam review
  • AP/IB Exam Doodle (L-day mornings)

Homework:

Monday - Friday (4/15/19 - 4/19/19)

  • Spring Break

Thursday (4/11/19)

Agenda:

  • Flash card circle
    1. Number a sheet a paper from 1 through 13
    2. You will have a True/False flash card and you must answer it within 30 seconds. Make sure you write True/False in the appropriate number
    3. Pass the card to your right
  • Review True/False answers
  • 2016 Practice FRQ #2 - 22 mins total

Tuesday (4/9/19)

Warmup:

Agenda:

Homework:

Friday (4/5/19)

Agenda:

  • Go over HW
  • Demo image processing assignments

Homework:

Wednesday (4/3/19)

Agenda:

  • Demo Image Processing assignments

Homework:

Archives