« High School Courses
This course is included with our Coding/STEAM Curriculum - High School Plan

This is Tynker’s year-long course designed to introduce students to the Java programming language and prepare them for the AP CS A Exam.

  • Grades 9+
  • Advanced
  • Web


This is Tynker’s year-long course designed to introduce students to the Java programming language and prepare them for the AP CS A Exam.

AP Computer Science A is an introductory college-level course taught in Java, a programming language for professional programmers. We recommend that any academically prepared student take this introductory programming course. The only prerequisite is Algebra 1.

Tynker is recognized by the College Board as an endorsed provider of curriculum and professional development for AP ® Computer Science A (AP CSA). Using an Endorsed Provider affords schools access to resources including an AP CSA syllabus pre-approved by the College Board’s AP Course Audit, and officially recognized professional development that prepares teachers to teach AP CSA. This endorsement affirms only that components of Tynker’s offerings are aligned to all the AP Curriculum Framework standards and the AP CSA assessment.

Our course emphasizes problem-solving using an object-oriented methodology. Students will learn the Java programming language, study data structures, analyze algorithms, and get a deep understanding of object-oriented programming. With over 100 hours of instruction, it’s designed to be taught daily as a year-long class.

The course is entirely web-based, so there’s no additional software to download or install. Each interactive lesson practices hands-on coding, while students learn to design and build and debug Java programs to solve real world problems.

Lessons also include free response practice questions and multiple-choice quizzes to help prepare for the AP exam.

In AP Computer Science A, students will explore the following big ideas in computer science:

  • BIG IDEA 1: MODULARITY (MOD) Incorporating elements of abstraction, by breaking problems down into interacting pieces, each with their own purpose, makes writing complex programs easier. Abstracting simplifies concepts and processes by looking at the big picture rather than being overwhelmed by the details. Modularity in object-oriented programming allows us to use abstraction to break complex programs down into individual classes and methods.
  • BIG IDEA 2: VARIABLES (VAR) Information used as a basis for reasoning, discussion, or calculation is referred to as data. Programs rely on variables to store data, on data structures to organize multiple values when program complexity increases, and on algorithms to sort, access, and manipulate this data. Variables create data abstractions, as they can represent a set of possible values or a group of related values.
  • BIG IDEA 3: CONTROL (CON) Doing things in order, making decisions, and doing the same process multiple times are represented in code by using control structures and specifying the order in which instructions are executed. Programmers need to think algorithmically in order to define and interpret processes that are used in a program.
  • BIG IDEA 4: IMPACT OF COMPUTING (IOC) Computers and computing have revolutionized our lives. To use computing safely and responsibly, we need to be aware of privacy, security, and ethical issues. As programmers, we need to understand how our programs will be used and be responsible for the consequences.


  • Java syntax
  • Iteration
  • If Statements
  • Functions
  • Debugging
  • Algorithms
  • Expressions
  • Operators
  • Data types
  • Variables
  • Strings
  • Objects
  • Class
  • Inheritance
  • Arrays
  • Array List
  • 2D Arrays
  • Recursion
  • Sort Algorithms
  • Search Algorithms

What Students Learn

  • Learn to solve complex problems by writing programs in Java
  • Study data structures including arrays, lists, dictionaries, stacks, queues, and objects
  • Understand object-oriented concepts such as encapsulation, composition, inheritance and polymorphism
  • Design algorithms for various tasks and analyze their efficiency
  • Learn code analysis and debugging; making iterative improvements and program efficiency, modularity and readability
  • Prepare for AP Computer Science A Exam

Technical Requirements

* Online courses require a modern desktop computer, laptop computer, Chromebook, or Netbook with Internet access and a Chrome (29+), Firefox (30+), Safari (7+), or Edge (20+) browser. No downloads required.

AP Computer Science A Lesson Plan

Unit 1: Primitive Types

NOTE: Your school may expect teachers to present a lesson of your own before starting Unit 1, in which students and the teacher get to know each other and create classroom norms. Even if your school does not require this, you may find it worthwhile to do so.

In this Unit, students learn about Java, the programming language taught in the course.

They will also begin learning foundation coding concepts such as primitive data types (int, double, Boolean), arithmetic expressions, and how to use assignment operators to produce a value. Additionally, students will learn how variables and operators are combined in an expression to create a result.

Mark Your Calendar

Take a moment now to look up an important date for your school year:
  • AP CSA Exam Date: Mark the date and remind your students as the deadline approaches. Visit the official AP Computer Science A website for more information.
  • AP Practice Exam: Set another reminder about one month before the AP Exam is scheduled, and make sure that all students complete at least one Practice Exam. You can find the exam, scoring guidelines, and answer keys on the AP Classroom website. Encourage your students to visit the AP Computer Science A student page for exam information and exam practice.

Suggested Unit Pacing Guide

WeekUnit Pacing
Week 1School-specific orientation, Lessons 1.1-1.3
Week 2Lessons 1.4-1.7
Week 3Lessons 1.8-1.11
Week 4Lessons 1.12-1.15
Week 5Lessons 1.16-1.20
Week 6Lessons 1.21-1.25
This pacing guide assumes a 36-week school calendar that will have:
  • Two or three days at the start of the school year for school and classroom orientation activities
  • A few days that class will not meet due to unexpected interruptions such as fire drills or assemblies
  • A few days that school does not meet due to weather or teacher professional development
  • Several days that class will not meet due to school-wide standardized testing

If you are falling behind:
  • Reduce or eliminate some Pair Programming Challenges
  • Reduce or eliminate the "if time available" parts of lessons

If you are getting ahead:
  • After each Unit, spend one day in AP Classroom assigning students more practice problems
  • Revisit Pair Programming Challenges and expect students to complete more of the challenges

Personal Progress Check in AP Classroom

When you have completed this Unit in Tynker with your students, remember to go to AP Classroom to assign students the online Personal Progress Check for this unit.

Whether assigned as homework or completed in class, the Personal Progress Check provides each student with immediate feedback related to this unit’s topics and skills. Both multiple choice and free response questions are available in these checks. Completing them will help prepare students for the AP Exam.

Formative Assessment in AP Classroom

In AP Classroom, teachers can assign formative assessment questions to their students by AP Topic. During this unit, students will be ready for formative assessment on the following topics after the given Tynker lessons:
AP CSA TopicTynker Lesson after which formative assessment may be assigned
1.1 Why Programming? Why Java?1.5
1.2 Variables and Data Types1.18
1.3 Expressions and Assignment Statements1.24
1.4 Compound Assignment Operators1.24
1.5 Casting and Ranges of Variables1.23

Class Presentations

These student-facing slide presentations help educators seamlessly run Tynker lessons in a virtual or physical classroom setting. Each lesson has its own set of slides that introduce the big ideas, suggest unplugged activities, and include a section for each activity module. While running lesson slides, you can switch back and forth between the activity, the slides, answer keys and other lesson materials.
A sample slide presentation is available for your review. Please log in to view all the class presentations available with your plan..
Lesson 1
Unit 1: Primitive Types
0 Slides
Lesson 2
Unit 2: Using Objects
0 Slides
Lesson 3
Unit 3: Boolean Expressions and If Statements
0 Slides
Lesson 4
Unit 4: Iteration
0 Slides
Lesson 5
Unit 5: Writing Classes
0 Slides
Lesson 6
Unit 6: Array
0 Slides
Lesson 7
Unit 7: ArrayList
0 Slides
Lesson 8
Unit 8: 2D Array
0 Slides
Lesson 9
Unit 9: Inheritance
0 Slides
Lesson 10
Unit 10: Recursion
0 Slides