Course Description

This course, based on numerous problem solving exercises, labs, and case studies, is meant to prepare students for the AP Computer Science A exam, meeting all of the curricular requirements defined by the College Board for this course. Students will learn to understand and apply the main principles of object-oriented software design and programming using Java and various Java libraries. They will learn the fundamentals of algorithms and data structures, including search and sorting methods. Students also take the time to discuss ethical and social issues related to the use of computers in everyday life.

Note:  This course meets the standards and is authorized by the College Board as an "AP" course. Students who complete all 3 terms of the course can receive a course transcript noting their successful completion.

Course Objectives

  • Understand and apply the main principles of object-oriented software design and programming: classes and objects, constructors, methods, instance and static variables, inheritance, class hierarchies, and polymorphism
  • Learn to code fluently in Java in a well-structured fashion and in good style; learn to pay attention to code clarity and documentation
  • Learn to use Java library packages and classes within the scope of the AP Java subset
  • Understand the concept of an algorithm; implement algorithms in Java using conditional and iterative control structures and recursion
  • Learn to select appropriate algorithms and data structures to solve a given problem
  • Compare efficiency of alternative solutions to a given problem
  • Learn common searching and sorting algorithms: Sequential Search and Binary Search; Selection Sort, Insertion Sort, and Mergesort
  • Understand one- and two-dimensional arrays, the List interface, and the ArrayList class, and use them appropriately in programming projects
  • Acquire skills in designing object-oriented software solutions to problems from various application areas
  • Discuss ethical and social issues related to the use of computers
  • Prepare for the AP Computer Science A exam; meet all of the curricular requirements defined by the College Board for this course.

Course Textbook and Supplementary Materials

The main textbook for this course is Litvin, Maria, and Gary Litvin. Java Methods: Object-Oriented Programming and Data Structures, 3rd AP Edition, Andover, Mass.: Skylight Publishing, 2015. This textbook is required for the course.

Supplementary materials:

  • (Required) Litvin, Maria, and Gary Litvin.  Be Prepared for the AP Computer Science Exam in Java, 6th Edition, Andover, Mass.:  Skylight Publishing, 2014.
  • (Optional) Barron's AP Computer Science A, 7th Edition, Barron’s Educational Series, Inc., 2015.

Course Meetings

This course meets on Sundays 7pm-9pm Pacific Time.  The course is separated into three sessions, Fall 2017, Winter 2018, and Spring 2018; in total there are 23 two-hour classes..

Students enrolled in this packet have access to 3 Terms of AP Computer Science A: Fall 2017, Winter 2017-18, and Spring 2018.