AP Preparation
This page will help you decide if you should take AP CS A or Intermediate CS.
If you are taking Intermediate Computer Science and in January 2021 you
can make an animation using cond
, you will be prepared. Your end of
the year goals should include:
- use a
struct
to make a more complex animation - use a
list
to work with an unknown number of things - debug code, probably using DrRacket’s Stepper and
check-expect
AP Computer Science Principles is not a class that focuses on programming, you should ask about whether Intermediate CS or AP CS A would be more appropriate.
Self-check 1: January Project
Make a vertical slider controlled by the mouse. Clicking or dragging on the slider moves a cross bar which also controls the amount of blue in the background.
- When the bar is at the bottom, the background is a dark blue (0,0,100)
- When the bar is at the top, the background is pure blue (0,0,255)
An advanced student would be able to make a slider that changes the background from “light sky blue” at the bottom to “royal blue” at the top.
Demonstrate your animation works with at least two check-expects.
Everybody currently enrolled in Intermediate Computer Science earning a B or better can complete the January project before the end of semester one.
Self-check 2: May Project
Write a function that takes in a list of points / ordered pairs $(x,y)$ and a single point $(x_0,y_0)$, and puts out the point in the list that is closest to $(x_0,y_0)$.
Demonstrate that your function works with at least two check-expects.
Everyone in Intermediate Computer Science earning a grade of B or better should be able to complete the May Project before the end of semester two.
Questions
If you are not sure what the question is asking, or if you are unable to verify that your function works, that is a sign that you need more preparation. That said, feel free to ask clarifying questions, but please include some statement about your thinking along with the question. A good question has the form “I think this means …, is that correct?”
If there are ambiguous edge cases, you can choose for yourself how to handle them, no need to ask my preference. Just indicate in a comment what you chose.