AP Computer Science Applications (Java)

AP Computer Science Applications (Java)

This course is a year-long course that covers the basics of programming using the Java programming language.

  • Duration: 150-175 hours

  • Grades: 9th-12th

  • Level: Intermediate


About this course

Students will learn about the fundamentals of computer science (CS) and how it is used in real world applications with Java. They will learn the fundamentals of object oriented programming methodology using hands-on exercises and projects. Then they will practice building algorithms and learn best practices for writing Java applications. Finally, students will focus on the ethics of computing and implications of the code they have created.


Students will learn:

  • Programming logic using conditionals and loops

  • Object Oriented design principles

  • Data storage and processing with Java

  • Algorithm design and implementation



How this course is structured

The course is divided into 10 units, each consisting of several lessons. Each lesson consists of steps. Each step consists of an instructional video as well as a practice activity for the student. Each step is designed to take no longer than 8-10 minutes to complete and each lesson is designed to take no more than 60 minutes to complete.

Additionally, there are projects after every 2-3 units, which allow students to build an application tying together concepts they have learned so far.


Course Syllabus

Unit 1: Data in Java
  • Lesson 1: Printing

  • Lesson 2: Variables and Data Types

  • Lesson 3: Adding and Concatenating

  • Lesson 4: Input and Output

  • Lesson 5: Data Storage

  • Lesson 6: Bugs and Debugging




Unit 2: Objects
  • Lesson 1: Intro to Methods

  • Lesson 2: Strings!

  • Lesson 3: Math in Java

  • Lesson 4: Intro to Graphics

  • Lesson 5: Graphics and Methods




Unit 3: Programming Logic: Loops and Conditionals
  • Lesson 1: Booleans

  • Lesson 2: Conditionals

  • Lesson 3: While Loops

  • Lesson 4: For Loops

  • Lesson 5: Data Under the Hood




Unit 4: Classes
  • Lesson 1: Anatomy of a Class

  • Lesson 2: Constructors and Attributes

  • Lesson 3: Adding Methods

  • Lesson 4: Static Deep Dive




Unit 5: Arrays
  • Lesson 1: Arrays and Iterating

  • Lesson 2: Adding and Removing from Arrays

  • Lesson 3: Algorithms for Arrays

  • Lesson 4: Special Loops for Arrays




Unit 6: ArrayLists
  • Lesson 1: ArrayLists

  • Lesson 2: Traversing ArrayLists

  • Lesson 3: Searching ArrayLists



Unit 7: 2D Arrays
  • Lesson 1: 2D Arrays

  • Lesson 2: Traversing 2D Arrays

  • Lesson 3: Algorithms for 2D Arrays




Unit 8: Advanced OOP
  • Lesson 1: Inheritance

  • Lesson 2: Polymorphism

  • Lesson 3: Using OOP




Unit 9: Recursion and Algorithms
  • Lesson 1: Search and Sort Algorithms

  • Lesson 2: More Search and Sort!

  • Lesson 3: Recursive Search and Sort




Unit 10: Exam Prep
  • Lesson 1: What is the Exam?

  • Lesson 2: Strings

  • Lesson 3: Booleans

  • Lesson 4: Control Structures

  • Lesson 5: Inheritance and Polymorphism

  • Lesson 6: Search and Sort

  • Lesson 7: Recursion

  • FRQ 1: Methods and Control Structures

  • FRQ 2: Classes

  • FRQ 3: arrays/ArrayList

  • FRQ 4: 2D Arrays