Difference between revisions of "AP Computer Science"

From WLCS
(64 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tuesday (4/9/19) ==
 
'''Warmup:'''
 
* 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:'''
 
* [https://www.albert.io/blog/ap-computer-science-tips/ Albert.io Study Tips]
 
* AP CS Study Documents (let Mr. Bui know if you want a hard-copy now)
 
** https://ap-computer-science-guide.github.io/
 
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-java-subset.pdf AP CS Java Subset]
 
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/explore-ap/ap-computer-science-a-2014-java-quick-reference.pdf AP CS Java Quick Reference]
 
*
 
 
== Friday (4/5/19) ==
 
'''Agenda:'''
 
* Go over HW
 
* Demo image processing assignments
 
 
'''Homework:'''
 
* Complete [https://www.albert.io/assignment/00b78f66-9d56-413c-86ce-0ba51d9bb5df Albert.io Program Construction - Classes]
 
 
== Wednesday (4/3/19) ==
 
'''Agenda:'''
 
* Demo Image Processing assignments
 
 
'''Homework:'''
 
* Complete the [https://www.albert.io/assignment/dcc0878d-76c6-42fe-aa1e-5463573cf05f Albert.io Program & Class Design (part 1) assignment]
 
** Spend no more than 2 minutes per question
 
 
== Friday (3/29/19) ==
 
'''Agenda:'''
 
* Image Processing Assignment(s)
 
*# Flip/mirror vertical
 
*# Rotate image (90 degrees clockwise or counter-clockwise) -- optional extra credit
 
*# Mosaic (no animation needed)
 
*## Take an image, sample every (10th row, 10th col) pixel's color
 
*## Draw a 10x10 square using the sampled pixel's color at ever 10th (x,y)
 
*## You should display both the original image and its mosaic
 
*# Pointilism Animation
 
*## This will be an animation
 
*## Within setup(), load an image, load its pixels, and turn off line strokes
 
*## Within draw(), generate a random index number from 0 to image's pixel length (use [https://processing.org/reference/random_.html random()])
 
*##* int rand = (int) random(0, img.pixels.length);
 
*## Sample the color of the pixel from the random index and fill with the color
 
*## Calculate the appropriate (x,y) from the random index (Hint: use modulus (%) for x and division (/) for y)
 
*## Draw the circle at its appropriate (x,y) using a random diameter from (5, 15)
 
 
== Wednesday (3/27/19) ==
 
'''Agenda:'''
 
* Teen Tech Volunteer Opportunity @ Central Library today 3:30-5:30pm
 
** Free pizza for volunteers
 
** Looks great on resumes
 
** Meet at Mr. Bui's room after school (or at Central Library)
 
* FRQ #4 HW check
 
* 2017 APCS FRQ check
 
* [https://www.processing.org/tutorials/pixels/ Processing: Images & Pixels Tutorial]
 
* Processing Image Two-Dimensional Array practice
 
*# Convert to black and white
 
*# Flip/mirror horizontal
 
*# Flip/mirror vertical
 
*# Rotate image 90 degrees of a square image
 
*# Rotate 90 degrees clockwise of a non-square image (no animation needed)
 
*# Mosaic (no animation needed)
 
*## Take an image, sample every (10th row, 10th col) pixel's color
 
*## Draw a 10x10 square using the sampled pixel's color at ever 10th (x,y)
 
*## You should display both the original image and its mosaic
 
*# Pointilism Animation
 
*## This will be an animation
 
*## Within setup(), load an image, load its pixels, and turn off line strokes
 
*## Within draw(), generate a random index number from 0 to image's pixel length (use [https://processing.org/reference/random_.html random()])
 
*##* int rand = (int) random(0, img.pixels.length);
 
*## Sample the color of the pixel from the random index and fill with the color
 
*## Calculate the appropriate (x,y) from the random index (Hint: use modulus (%) for x and division (/) for y)
 
*## Draw the circle at its appropriate (x,y) using a random diameter from (5, 15)
 
 
'''Homework:'''
 
* Score your 2017 responses against the [https://secure-media.collegeboard.org/ap/pdf/ap17-sg-comp-sci-a.pdf 2017 APCS FRQ Scoring Guidelines]
 
* Implement flip/mirror vertical in Processing
 
 
== Monday (3/25/19) ==
 
'''Agenda:'''
 
* Mr. Bui's son is sick again, so please work on the following:
 
* Complete the [https://apcentral.collegeboard.org/pdf/ap-computer-science-a-frq-2017.pdf 2017 APCS FRQ]
 
** [https://secure-media.collegeboard.org/digitalServices/pdf/ap/explore-ap/ap-computer-science-a-2014-java-quick-reference.pdf AP CS Java Quick Reference] (you may look at this while you answer the FRQs)
 
** Do not spend more than 1 hr 30 minutes (avg 22.5 mins per question)
 
** If you do not complete the 2017 FRQ in class, then it becomes your HW for Wednesday
 
 
== Thursday (3/21/19) ==
 
'''Agenda:'''
 
* FRQ #3 HW check
 
* Grade FRQ #3
 
* Discussion: How do you study for a comprehensive exam?
 
* Two-Dimensional Arrays review
 
** array[ROW][COL]
 
** instantiation & creation
 
** row and col bounds
 
** traversal / iteration through
 
** Tic-Tac-Toe example
 
** Image processing example(s)
 
 
'''Homework:'''
 
* Complete 2018 FRQ #4 '''and''' self-score using the scoring guidelines
 
** [https://apcentral.collegeboard.org/pdf/ap18-frq-computer-science-a.pdf 2018 APCS FRQs]
 
** [https://secure-media.collegeboard.org/ap/pdf/ap18-sg-comp-sci-a.pdf 2018 APCS FRQ Scoring Guidelines]
 
 
== Tuesday (3/19/20) ==
 
'''Agenda:'''
 
* Grade 2018 FRQ #2
 
* [https://docs.oracle.com/javase/tutorial/java/concepts/interface.html Interfaces]
 
** Real-world interface examples (mouse, keyboard, num pad, calculator, head phones, etc)
 
** '''interface''' and '''implements''' keywordS
 
*# Interfaces do not have instance variables (you can have static final variables)
 
*# Interfaces only contain method signatures (no method bodies or implementations)
 
*# Classes can '''implement''' multiple interfaces
 
*# Implementing an interface requires "implementing" the methods of the interface
 
* Interface example walk-through
 
 
'''Homework:'''
 
* Complete 2018 FRQ #3 within 22.5 minutes
 
** [https://apcentral.collegeboard.org/pdf/ap18-frq-computer-science-a.pdf 2018 APCS FRQs]
 
 
== Friday (3/15/19) ==
 
'''Agenda:'''
 
* Free-response question rubric & grading
 
* Abstract classes review
 
* Complete Activity 24: Transactions
 
 
'''Homework:'''
 
* Complete FRQ #2 within 22.5 minutes
 
** [https://apcentral.collegeboard.org/pdf/ap18-frq-computer-science-a.pdf 2018 APCS FRQs]
 
 
== Wednesday (3/13/19) ==
 
'''Warmup:'''
 
* Hand-written free-response question (22 minutes)
 
*# Read through all their given code and summary
 
*# Every variable and method...
 
*## What is the purpose of that variable or method?
 
*## What are the input parameters of the method?
 
*## What is returned by the method?
 
*# WHEN READING...DO NOT FIXATE ON WRITING CODE
 
 
'''Agenda:'''
 
* Free-response question rubric & grading
 
 
== Monday (3/11/19) ==
 
* English 11 Writing SOL - no class
 
 
== Thursday (3/7/19) ==
 
'''Agenda:'''
 
* Confirm that you have completed the [https://www.albert.io/assignment/d8da5c33-2eaf-4edf-b1ee-28410d733889 Albert.io Inheritance & Polymorphism assignment]
 
** Questions?
 
* Method overriding review & example
 
* Complete eIMACS: Lab 4: Inventory Tracking
 
* static keyword (for methods or for variables)
 
** binds the method or variable to the class NAME as opposed to the object instance
 
** static method example
 
** static variable example
 
* final keyword
 
** makes the variable unchangeable
 
** final variable example
 
* abstract keyword
 
** Abstract classes walk-through (Animal->Mammal, Fish, Bird)
 
** Object instances of abstract classes are *not* allowed
 
** Derived sub-classes of abstract classes must implement abstract methods (unless the sub-class is also abstract)
 
 
== Tuesday (3/5/19) ==
 
'''Agenda:'''
 
* Confirm that you have completed Activity 19
 
* Complete the [https://www.albert.io/assignment/d8da5c33-2eaf-4edf-b1ee-28410d733889 Albert.io Inheritance & Polymorphism assignment]
 
* Complete eIMACS: Lab 4: Inventory Tracking
 
 
 
== Archives ==
 
== Archives ==
* [[APCS - 1819 - February]]
+
* [[APCS - 1819]]
* [[APCS - 1819 - January]]
 
* [[APCS - 1819 - December]]
 
* [[APCS - 1819 - November]]
 
* [[APCS - 1819 - October]]
 
* [[APCS - 1819 - September]]
 
 
* [[APCS - 1718]]
 
* [[APCS - 1718]]
 +
* APCS - 1617 (Poland)
 
* [[APCS - 1516]]
 
* [[APCS - 1516]]

Revision as of 21:01, 23 June 2019

Archives