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 course AP® Computer Science A, students will explore four big ideas:
(1) Modularity: 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.
(2) Variables: 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.
(3) Control: 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.
(4) Impact of Computing: 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.
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.
In addition to VHS Learning system requirements, student will need the following:
- Eclipse IDE for Java Developers
- Oracle Java Standard Edition
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.