AP® Computer Science A Self-Paced

The Advanced Placement Computer Science A course is equivalent to a first-semester college computer science course focused on object-oriented programming and design using the Java programming language. The rigor of this course is consistent with colleagues 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 with multiple opportunities to complete tasks with instant feedback on the 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.

About the Self-Paced Course Model

Self-Paced courses are comprehensive, self-paced courses designed for students who need or desire more flexibility in their academic schedule. VHS Learning teachers will regularly interact with students in asynchronous discussions, will host weekly office hours, and will invite students to monthly 1-on-1 progress meetings. Teachers will support students, answer questions, and provide feedback on work. Students will work independently on course activities; the course does not include class discussion assignments or other collaborative work.

Students may start this course on any Wednesday from September through the first Wednesday in December. Students must maintain enrollment for a minimum of 20 weeks and have until mid-June to complete all assignments in the course. It is expected that students will work for approximately 330 hours to complete this course, though the amount of time may vary depending on a student’s work habits and comfort with the material.

Acknowledgements

  • Students must have successfully completed a first-year high school algebra (Algebra 1) course with a strong foundation of basic linear functions, the composition of functions, and problem-solving strategies that require multiple approaches and collaborative efforts. 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.
  • I acknowledge that this is a self-paced course.

Course Objectives

Course Essential Questions:

  • How can a problem be effectively broken down and translated into a clear algorithm and program design that produces meaningful results from data?
  • How can algorithms be implemented in code using variables, data abstractions, and procedures to create efficient and functional programs?
  • Why might a program fail to work as intended, and how can errors be identified, explained, and corrected?
  • What ethical and societal responsibilities should programmers consider when designing, developing, and using computing systems?

Course Learning 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, student 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 topic of the course.

Students in this Self-Paced class will be required to complete the AP Summer Work assignment as a prerequisite knowledge activity before beginning Unit 1 of the Self-Paced course. Students who enroll prior to their chosen start date are welcome to visit the AP Summer Work Directory and complete the assignment for this course, so they are ready to submit it when they receive access to the course.