WHS Math - AP Computer Science

AP Computer Science A is the study of the Java programming language. This course is the equivalent of an introductory college course in Computer Science. Students will be proficient in programming in Java by the end of the course. Starting with the fundamentals of programming students will learn about variables, conditions and loops. Once this foundation is set, students will be introduced to data structures, arrays and lists. Students will write many static methods as well as full classes throughout the course. By the end of the course, students will be prepared to take the AP Computer Science A exam.

Unit

Timeframe

Big Ideas (Statements or Essential Questions)

Major Learning Experiences from Unit 

1

Primitive Types & Conditions

5 classes

  • What is a primitive type?

  • What is the purpose of a condition in a programming language?

  • Declare and initialize variables of the correct type

  • Perform math operations in Java

  • Write conditional statements

Using Objects

8 classes

  • What is an object?

  • What is the purpose of an object in programming?

  • How does the String class work?

  • Make an object

  • Call methods on an object

  • Declare String objects

  • Call String  methods to manipulate String objects

Iteration/Loops

8 classes

  • What is the purpose of iterating in code?

  • What are the different types of loops?

  • Write or, while and for-each loops

  • Trace code with loops

4

Writing Classes

8 classes

  • What is the purpose of a class?

  • What is the function of object-oriented programming?

  • Understand classes consist of variables, constructors, and classes

  • Write a class from scratch

  • Add methods to an existing class

  • Instantiate objects 

Arrays

10 classes

  • How can data be stored and accessed?

  • What is the syntax for an array?

  • Declare and initialize arrays of different types

  • Add and remove items from an array

  • Write static methods involving arrays

  • Write a loop to go through an array

6

2D Arrays

10 classes

  • How can 2D data be stored and accessed?

  • How can a loop be useful for a 2D array?

  • Declare and initialize a 2D array

  • Access and store data in a 2D array

  • Write loops to traverse a 2D array

  • Trace code 

7

Inheritance

8 classes

  • How can classes be connected?

  • How can code be reused

  • Understand the extends and super keywords

  • Write a subclass

  • Call appropriate methods on subclasses

  • Understand errors that can occur 

8

ArrayList

10 classes

  • What is the difference between arrays and ArrayLists?

  • Declare and initialize an ArrayList

  • Access and modify data in a List

  • Loop through a list

  • Write methods that involve ArrayLists

9

Recursion

5 classes 

  • How can a function be defined in terms of itself?

  • What is recursion?

  • Trace a recursive method

  • Identify the base case and recursive call