This is our catalog of courses. We will occasionally adjust the course listing to reflect the addition of new courses and the retirement of others.
With this Advanced Placement course, strengthen your transcript, study what you love, be prepared for the workplace, and get a head start on college requirements (and potentially save on tuition).
I enjoy teaching AP Computer Science A (Java Programming) because it is such a valuable course for students. It enhances students’ problem-solving and abstraction abilities. They build analytical skills that are valuable in computer science, in other courses, and in life. Of course, students also increase their computer science and programming skills, skills that are needed in an ever-increasing array of college courses and workplaces. It’s wonderful to share in their joy as they solve programming exercises. The content and objectives of my AP Computer Science A course include the course objectives for AP Computer Science A as described in the AP Computer Science Course Description. This course focuses on an object-oriented approach to problem solving using Java. It includes the study of common algorithms and the use of some of Java’s built-in classes and interfaces for basic data structures. I expect all my students to take the AP Computer Science A Examination (they will need to register with their local high school or this). The students and I work hard during the year to assure that every student has an opportunity to achieve a qualifying score on the exam. Students’ course grades correlate strongly with their AP Examination grades.
The course is based on numerous problem-solving exercises, labs, and case studies, which require students to design and implement Java classes. The course requires 40-50 hours of hands-on work in a computer lab. Course Objectives include:
*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.
Unit 6, Arrays, classes 1-5
Unit 7. ArrayList, classes 6-13
Unit 8. 2D Arrays, classes 13-18
Unit 9. Inheritance, classes 18-22
Unit 10. Recursion, classes 22-25
Final Project and Exam Preparation, classes 25-28
Litvin, Maria, and Gary Litvin. Java Methods: Object-Oriented Programming and Data Structures, 3rd AP Edition, Andover, Mass.: Skylight Publishing, 2015. ISBN-13 978-0-9824775-6-4 (https://amzn.to/3rrggeV)
Litvin, Maria, and Gary Litvin. Be Prepared for the AP Computer Science Exam in Java, 6th Edition, Andover, Mass.: Skylight Publishing, 2014. ISBN-13 978-0-9824775-3-3 (https://amzn.to/3v1t7GY or bookfinder.com)
CodingBat: http://codingbat.com/java. (free resource)
Current Vatican documents on Social Communications, Internet articles and blogs that discuss ethical and social issues related to computer use.
Homework: reading, programming labs, quizzes, unit tests, unit projects, and exams will provide students with hands-on practice using the tools of programming. Daily practice is important to apply and master the concepts. A daily schedule will be provided to guide student learning. Students can expect to spend .5-2 hours a day 5 days per week on their assignments.