High School course

AP Computer Science A

  • GRADES 9+
  • ADVANCED
  • WEB
  • 10 UNITS

Standards

Unit 9: Inheritance
Understand class hierarchy and inheritance patterns with hands-on exercises.

Description

This is Tynker’s year-long curriculum 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 curriculum 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 curriculum 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 curriculum 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.

Topics

  • 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.