AP® Computer Science A

The Advanced Placement Computer Science A course is equivalent to a first semester college computer science course focused on object-oriented program and design using the Java programming language. The rigor of this course is consistent with colleges and universities and will prepare students for the Advanced Placement exam in May. Upon successful completion of the exam, students may receive college credit and will be well-prepared for advanced statistics coursework. Additional details on this course from College Board can be found here: AP® Computer Science A.

In this AP® Computer Science A course, the content is organized into four units:

Unit 1: Using Objects and Methods: fundamentals of Java programming language, including using reference data to represent real-world objects in a digital world and how to use methods to perform complex operations.

Unit 2: Selection and Iteration: fundamentals of algorithms to perform complex operations, including conditionals to solve problems and control results and iteration for repetition.

Unit 3: Class Creation: explore how real-world interactions can be expressed digitally by organizing behaviors and attributes into classes.

Unit 4: Data Collections: explore techniques and algorithms to work with collections of data, known as data structures, as well as arrays, ArrayList of objects and 2D arrays to dive deeper into data sets.

AP® Computer Science A is a course designed to awaken and support students’ problem solving skills. The course will introduce the Java programming language while emphasizing universal language techniques like syntax, semantics and readability. While Java is the official AP® CS A language, the concepts taught are applicable to any industry standard language such as Python, C++, C#, and JavaScript. Students will gain mastery in programming concepts by using a subset of Java features that are covered when needed throughout the course content. This allows the student to understand and master important concepts that will apply to programming problems in many additional languages.

VHS Learning students will learn complex algorithms using industry standard tools for software development such as the Eclipse Integrated Development Environment and JUnit Java testing framework. These tools make learning easier by providing students multiple opportunities to complete tasks with instant feedback on functionality of their code. Programming assignments are carefully scaffolded to move students progressively toward better understanding and greater independence as programmers.

Students will be expected to enroll in My AP Classroom through their VHS Learning AP course and will be guided to complete review work in My AP Classroom throughout the year. My AP Classroom resources include AP Daily Videos and unit-based Personal Progress Checks, which include AP-style multiple choice and free response questions.

Students enrolled in VHS Learning Advanced Placement courses with a passing grade are expected to take the AP Exam. Students register for AP exams through their local school or testing site as “Exam Only” students. AP exam scores will be reported to VHS Learning through My AP Classroom; exam results will not affect the student's VHS Learning grade or future enrollment in VHS Learning courses.

This AP course has a required summer assignment. The summer assignment is a review of prerequisite content and critical concepts students must be comfortable with before beginning the course. Students are expected to complete their summer assignment before the course begins and submit their work by the end of Week 1. Students who register on or after September 1 will receive an extension to complete the summer assignment by the end of Week 3.

Acknowledgements

  • Students must have successfully completed a first-year high school algebra (Algebra 1) course with a strong foundation of basic linear functions, composition of functions, and problem-solving strategies that require multiple approaches and collaborative efforts. In addition, students should be able to use a Cartesian (x, y) coordinate system to represent points on a plane.
  • There are no specific programming language prerequisites for AP® Computer Science; a prior course that supports computational thinking is helpful.
  • In addition to the enrollment fee, this course has an Additional Course Fee of $80.
  • The required summer assignment for AP® Computer Science A can be found in our AP® Summer Work Directory.

Course Objectives

Essential Questions:

  • How can modularity in object-oriented programming allow one to use abstraction to break complex programs down into individual classes and methods?
  • How are variables used to create, store, retrieve or abstract data?
  • How is control achieved by using algorithms to define and interpret processes in a program?
  • What is the impact of computers and computing on society?

Objectives:

  • Design programs that effectively solve problems or accomplish tasks, and analyze data to identify and extract useful knowledge.
  • Write program code to implement algorithms, use data abstractions to manage information, and apply procedural abstractions to organize and simplify complex tasks.
  • Determine the result or output of an algorithm based on the order of executed statements. Create code that uses data and procedural abstractions. Explain why existing code segments do not work as intended and make corrections to fix it.
  • Describe the behavior of a code segment or program and identify the initial conditions required for the code to work as intended.
  • Evaluate the ethical and societal impacts of software development.

Additional Requirements

In addition to VHS Learning system requirements, students will need the following:

Due to the Eclipse software required, this course requires regular access to a computer running Microsoft Windows or Apple Mac OSX. This course cannot be completed on a Chromebook, iPad or mobile device.

Students must create a Runestone Academy account to complete this course and will be directed to do so during the first week of the course.

This AP course has a required summer assignment. The summer assignment is a review of prerequisite content and critical concepts students must be comfortable with before beginning the course. Students are expected to complete their summer assignment before the course begins and submit their work by the end of Week 1. Students who register on or after September 1 will receive an extension to complete the summer assignment by the end of Week 3.