Back to Learning Catalog



Estimated Completion Time

2 segments/ 32-36 weeks


The AP Computer Science A course is equivalent to the first semester of a college-level computer science course.  The course involves developing the skills to write programs or part of programs to correctly solve specific problems.  AP® Computer Science A also emphasizes the design issues that make programs understandable, adaptable, and when appropriate, reusable.  At the same time, the development of useful computer programs and classes is used as a context for introducing other important concepts in computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, and the study of standard algorithms and typical applications.  In addition, an understanding of the basic hardware and software components of computer systems and the responsible use of these systems are integral parts of the course.

Required Materials: due to the use of JAVA in the programming environment throughout the course, the use of a PC or MAC is recommended rather than a Chromebook or phone, for example.

Note: content varies depending on the course version. For currently enrolled students, please refer to the syllabus located in the course information area for curriculum specifics.

Course Requirements

AP Course & Exam Registration Requirements

College Board requires students to register for AP exams no later than November 13th (individual schools may set earlier deadlines).

All VLACS AP students are required to enroll in the “course only” section in My AP.  Instructions for joining My AP will be posted on each VLACS course page and instructors are available to help with this process.

Students who plan to take the corresponding AP exam must arrange to take the exam at a local school that administers it. To register for an AP Exam, the local school will enroll the student in an “exam only” section in My AP.  Students should follow these steps:

  • Search for a local test site through this resource of contact AP Services for Students at 888-225-5427 [email protected] That office can give you contact information for local AP coordinators who may be willing to test outside students. Students are then responsible for contacting coordinators on that list to see if one can arrange to test for you. You should do this no later than October 2nd. Note that schools may have their own local deadlines for receiving requests from outside students to test at their school so we recommend doing this as soon as possible
  • The AP coordinator who agrees to assist you must provide a join code for an “exam only” section in My AP. You’ll use the join code to join the section so that the AP coordinator can order your exam.

Please note that, if a school allows a student to register after the 11/13 deadline, there will be a $40 late exam fee. There will also be a $40 canceled/unused exam fee if a student registers and then cancels his/her exam or if the student does not show up on test day.

More information is available on the College Board’s website:

Major Topics and Concepts


Segment 1

  • Variables and Expressions
  • Strings and User Input
  • Condition Statements
  • Arrays: one and two -dimensional
  • Loops
  • Methods
  • Introduction to OOP and Classes
  • Simple Objects
  • Computer Systems and History


Segment 2

  • Technology and Society
  • Recursion
  • Inheritance & Polymorphism
  • Classes Revisited
  • Abstraction & Interfaces
  • Standard Algorithms to manipulate Arrays
  • Sorting Algorithms
  • Searching Algorithms
  • Program Analysis & Exceptions



Credits 1.5

Competency Group Overview

Meets ICT graduation requirement.


  • Primitive Data Types
    Students will demonstrate an understanding of primitive data types by formulating print output, explaining primitive data types, and creating code that uses arithmetic expressions and assigns variables.
  • Objects
    Students will demonstrate an understanding of objects by creating code that uses the primitive data type char, describing characteristics of strings, creating the scanner class, and comparing programming methods.
  • Boolean Expressions and if Statements
    Students will demonstrate an understanding of boolean expressions and if statements by creating boolean expressions and conditionals, and creating code that uses relational operators and logical operators.
  • Iterative Control Programming Constructs
    Students will demonstrate an understanding of iterative control programming constructs by explaining the process to read and write text files, and creating code that uses while loops, for loops, and nested loops.
  • Writing Classes
    Students will demonstrate an understanding of writing classes by explaining the process of overloading and creating code that uses methods, objects, and classes.
  • Arrays
    Students will demonstrate an understanding of arrays by formulating one-dimensional arrays, explaining the process of formatting output, and assigning for-each loops.
  • ArrayLists
    Students will demonstrate an understanding of ArrayLists by formulating ArrayLists, and creating code that uses iteration algorithms and sorting algorithms.
  • 2D Arrays
    Students will demonstrate an understanding of 2D arrays by creating code that uses search algorithms and formulating 2D arrays.
  • inheritance
    Students will demonstrate an understanding of inheritance by explaining extending classes, formulating class hierarchy, comparing static and non-static methods, and creating code that uses polymorphism and overriding methods.
  • Recursions
    Students will demonstrate an understanding of recursion by creating code that uses recursive methods and iteration, and assigning merge sort.


Algebra 1 and 2

Per College Board policy, students must be in high school to enroll in AP courses

Attend a virtual open house

We offer regular online open house webinars where VLACS staff members provide parents and students with an overview of our programs and answer questions about online learning.