AP Computer Science A Syllabus

AP Computer Science A is an introductory college-level computer science course that emphasizes object-oriented programming and problem-solving. The course is designed to prepare students for the AP Computer Science A Exam while fostering a deep understanding of programming concepts, algorithms, and data structures. Students will use Java as the primary programming language and will engage in hands-on projects, coding exercises, and algorithmic problem-solving.

This course will also incorporate foundational computer science concepts from the textbook "Invitation to Computer Science" by G. Michael Schneider and Judith L. Gersting, providing a broader context for understanding computational thinking and the principles of computer science.

Teacher: Feng Gao
Grade: 11 & 12
Classes per Week: 5
Curriculum + Credit: AP 5

By the end of the course, students will be able to:

  1. Design, implement, and analyze solutions to problems using object-oriented programming in Java.
  2. Understand and apply fundamental programming constructs, including variables, loops, conditionals, and methods.
  3. Develop and use algorithms to solve computational problems.
  4. Work with data structures such as arrays, ArrayLists, and 2D arrays.
  5. Understand and apply principles of inheritance, polymorphism, and abstraction.
  6. Analyze and debug programs to ensure correctness and efficiency.
  7. Prepare for and succeed on the AP Computer Science A Exam.

Title: Invitation to Computer Science
Authors: G. Michael Schneider and Judith L. Gersting
Edition: Latest Edition (as available)

This textbook provides an introduction to the theoretical and practical foundations of computer science. While the primary focus of the course is Java programming, selected chapters from the textbook will be used to explore topics such as algorithms, computational theory, and the history of computing.

Invitation to Computer Science textbook cover

Grades will be based on the following components:

Category Percentage
Attendance 15%
Participation 15%
Homework 20%
Exam 50%

- Late Work Policy: Assignments submitted late will incur a penalty of 10% per day, up to a maximum of 5 days. After 5 days, no credit will be given.
- Extra Credit: Occasionally, extra credit opportunities may be provided, such as solving advanced coding challenges.

Course Schedule

Week Dates Topics Unit
Week 1 Sep 1 - Sep 7 AP CSA 1.1 Introduction, Variables and Data Types Unit 1: Primitive Types
Week 2 Sep 8 - Sep 14 AP CSA 1.2 Expressions, Operators, Casting and Ranges of Variables Unit 1: Primitive Types
Week 3 Sep 15 - Sep 21 AP CSA 2.1 - Introduction to Objects and Classes Unit 2: Using Objects
Week 4 Sep 22 - Sep 28 AP CSA 2.2 - Calling methods Unit 2: Using Objects
Week 5 Sep 29 - Oct 5 National Holiday Unit 2: Using Objects
Week 6 Oct 6 - Oct 12 AP CSA 2.2 - String methods, Wrapper Classes, Math Class Unit 2: Using Objects
Week 7 Oct 13 - Oct 19 AP CSA 3.1 - Boolean Expressions, if statements Unit 3: Boolean Expressions and if Statements
Week 8 Oct 20 - Oct 26 AP CSA 3.2 - De Morgan's Laws, Comparing Objects Unit 3: Boolean Expressions and if Statements
Week 9 Oct 27 - Nov 2 AP CSA 4.1 - Introduction to Iteration, while loops Unit 4: Iteration
Week 10 Nov 3 - Nov 9 AP CSA 4.2 - For loops Unit 4: Iteration
Week 11 Nov 10 - Nov 16 Midterm Exam Unit 4: Iteration
Week 12 Nov 17 - Nov 23 AP CSA 4.3 - Loop Counters, Nested Loops Unit 4: Iteration
Week 13 Nov 24 - Nov 30 AP CSA 5.1 - Class Design, Constructors Unit 5: Writing Classes
Week 14 Dec 1 - Dec 7 AP CSA 5.2 - this keyword, Accessor/Mutator methods, Static methods Unit 5: Writing Classes
Week 15 Dec 8 - Dec 14 Winter Break
Week 16 Dec 15 - Dec 21 Winter Break
Week 17 Dec 22 - Dec 28 AP CSA 6.1 - Introduction to Arrays Unit 6: Array
Week 18 Dec 29 - Jan 4 AP CSA 6.2 - Array Traversal, Algorithms Unit 6: Array
Week 19 Jan 5 - Jan 11 AP CSA 7.1 - Introduction to ArrayList Unit 7: ArrayList
Week 20 Jan 12 - Jan 18 AP CSA 7.2 - ArrayList Traversal, Algorithms Unit 7: ArrayList
Week 21 Mar 2 - Mar 8 AP CSA 8.1 - Introduction to 2D Arrays Unit 8: 2D Array
Week 22 Mar 9 - Mar 15 AP CSA 8.2 - 2D Array Traversal, Jagged Arrays Unit 8: 2D Array
Week 23 Mar 16 - Mar 22 AP CSA 9.1 - Introduction to Inheritance, extends keyword Unit 9: Inheritance
Week 24 Mar 23 - Mar 29 AP CSA 9.2 - Method Overriding, Polymorphism Unit 9: Inheritance
Week 25 Mar 30 - Apr 5 AP CSA 10.1 - Introduction to Recursion Unit 10: Recursion
Week 26 Apr 6 - Apr 12 Review and Practice Exam Review and Practice Exam
Week 27 Apr 13 - Apr 19 Review and Practice Exam Review and Practice Exam
Week 28 Apr 20 - Apr 26 Review and Practice Exam Review and Practice Exam
Week 29 Apr 27 - May 3 Midterm Exam Midterm Exam
Week 30 May 4 - May 10 AP Exam Preparation and Review AP Exam Review
Week 31 May 11 - May 17 AP Computer Science A Exam AP Exam
Week 32 May 18 - May 24 Final Project Development Final Project
Week 33 May 25 - May 31 Final Project Development Final Project
Week 34 Jun 1 - Jun 7 Final Project Development Final Project
Week 35 Jun 8 - Jun 14 Final Project Presentations Final Project Presentations

Exam Date: Refer to the College Board website for the official AP Computer Science A Exam date.
Exam Format:

Preparation:

Demo Videos

APCSA Primary Data Type: Binary-Feng Gao

APCSA Final Project Summary-Feng Gao

Additional Course Demo