AP Preparation

This page will help you decide if you should take AP CS A or Intermediate CS.

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.

Last modified August 19, 2023: Resources renamed to docs. (29a8319)