Teach With... AP
As there are now two AP Curricula to consider (CS A and CS Principles), things have gotten a bit more complicated. With my 3 year program, I offer both levels. Students can officially write one exam or the other or, for my top students, both.
It should also be noted that I have a 'Regular' Computer Science stream at my school too. This is for students who are usually a bit weaker and therefore do not wish the stress of the AP requirements. I had about 80 second year students in 2017/18 about two thirds of which took the AP stream and one third took the Regular stream.
My Current System
As you will see in my lesson plans, my first year students are programming primarily in Processing plus a unit in Web Design (Focusing on HTML, CSS and a bit of web theory) and a unit in Computing Science Theory (binary, logic gates, trends in technology, etc.) . In my second year, we switch to Java. This switch to Java is to give us 2 years to prepare for the CSA exam.
In year 3, my students complete all the activities necessary to do the CS Principles exam, even if they are only intending to write the CSA exam. This means they complete the Explore Task (emerging technology exploration) and the Create Task (major programming project) but only those who intend to write CS Principles actually submit these tasks.
After these projects are complete, I do what I call an AP Prep Unit.
- Students working towards the AP Principles Exam focus on the terminology and theory that we have not covered in our regular theory credits. As I am balancing AP curriculum with our own Alberta curriculum, there are things that may have been missed. We take this time to shore up those omissions. I use CodeHS as a resource to help, picking and choosing from their list of resources. I also rely heavily on the Crash Course Computer Science YouTube Channel.
- Students working towards AP CSA work on Java programming tasks that focus on the most difficult concepts such as Interfaces and Recursion.
- Both groups then do a number of practice exams.
What you should consider, however, is that I have only done this for one year. My students did very well on their respective exams with averages well above the world averages BUT this could be an anomaly. With CS Principles only 2 years old, things are still in flux.
Changes on the Horizon
I am currently working on plans to have ALL my second year students write the AP CS Principles exam and have all write the CSA exam in their third year. This will first occur in the 2019/20 school year. However, if my students do well again this year under the current system, I may reconsider my plans for change.
AP CS Principles Activities
These activities are done in the AP Prep Unit. They are designed to supplement and review all the AP CS Principles topics that we have loosely covered throughout the preceding 3 years. See the Teach With... CS Theory page for assignments that cover a lot of the CS Principles concepts.
- Big Idea 3A Digital Information
- Big Idea 6 The Internet - In groups, students created questions that I then combine into a large assignment.
- Big Idea 6 The Internet Combined Questions - This is the first example assignment that they created in the above task. Sorry I do not have an answer key available at this time.
- CSP Last Minute Practice - Note that the quizlets linked within are NOT created by me.
- Create Task Planning Template
- Explore Task Proposal and Research Gathering
- Explore Task Self Marking Rubrics
- Explore Task Questions with Couprie's tips for students
CS A Activities
These activities are done in the AP Prep Unit. They are designed to supplement and review all the Java assignments we have completed to date. See the Computer Science 20 and Computer Science 30 pages for those activities.
- Recursion 1 - Everyday Recursion
- Recursion 2 - Predicting the Results
- Recursion 3 - The Fibonacci Sequence - makes reference to the Blue Pelican Java textbook which can be found online.
- Recursion 4 - Euclids Algorithm - makes reference to a Carter textbook which is not available online but this might at least give you a good idea for an assignment.
- String Processing Assignment
- 2D Arrays of Numbers
- 2D Arrays of Objects - I do not have a link for you. I used a modified version of the Crossword Puzzle question from the May 2016 exam.
- Interfaces
- AP Java Additions - This is not an assignment but a list of concepts that may have fallen through the cracks.
- CSA Last Minute Tips and Reminders