AP Computer Science A #
Course Description #
AP Computer Science A introduces students to computer science through programming. Fundamental topics in this course include the design of solutions to problems, the use of data structures to organize large sets of data, the development and implementation of algorithms to process data and discover new information, the analysis of potential solutions, and the ethical and social implications of computing systems. The course emphasizes object-oriented programming and design using the Java programming language.
AP Exam #
The AP CSA Exam consists of two sections, each 90 minutes long along with being worth 50% of your score. The first consists of 40 multiple choice questions, and the second has four free response questions where you will write code. The exam date is May 8, 2024.
Units of Study #
- 1 Primitive Types
- Learn the fundamentals of Java, the programming language featured in the course, as well as other foundational concepts for coding.
- 2 Using Objects
- Explore reference data as a way to represent real-world objects in a digital world and discover methods to perform more complex operations.
- 3 Boolean Expressions and
- Delve into the building blocks of algorithms and focus on using conditional statements to solve problems and control results.
- 4 Iteration
- Learn about iteration, another building block of algorithms that are for repetition.
- 5 Writing Classes
- Explore how real-world interactions can be expressed digitally by organizing behaviors and attributes into classes, as well as examine the legal and ethical implications of computer programming.
- 6 Array
- Learn techniques and standard algorithms to work with collections of related data, known as data structures.
- 7 ArrayList
- Delve deeper into data sets, exploring ArrayList objects for larger amounts of data, as well as the privacy concerns related to personal data storage.
- 8 2D Array
- Branch out into 2D arrays and experiment with data sets represented in a table.
- 9 Inheritance
- Learn how to manipulate programming without altering existing code by using subclasses to create a hierarchy.
- 10 Recursion
- Work on solving larger problems by solving smaller, simpler versions of the same problem using recursive methods.
Course Format and Miscellaneous #
This course will use the curriculum from Project STEM, which provides an online version of the lessons and assignments. As much class time as possible will be set aside for programming work, though you are expected to spend a significant amount of time at home working on exercises.
- Exams are worth 60% of your grade, quizzes and major assignments 30%, and coding activities 10%
- Late work loses two percentage points per day with a floor of 70%
- The official gradebook will exist on Canvas, with Genesis only having the overall grade
- Ask your classmates first when you have a question about the material
- If you wish to install Java on your own machine, I recommend Adoptium’s latest LTS release