Instructor Access (Optional grading support) is available for this course!
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).
How to get the most out of AP Computer Science A (Java Programming), Part One with Margaret Morrow:
- First, read the course materials below before the first class meeting.
- Then have a notebook ready and available for class notes each live session.
- Read Chapter # before the first class meeting.
- Watch that week’s recording if you need to revisit information from our live session.
- Do the assignments, quizzes, and any extra work assigned for that week.
- Once the course is completed to the parent's and professor’s satisfaction, there is a Certificate of Completion at the end to be filled in for your records.
Special notes: This is Part One of a 2-part course. Students are expected to register for Part Two in the Spring 2021 semester. This course only accepts 20 students. We recommend registering early. Dr. Morrow provides 25-minute pre-recorded lectures in addition to the 30-minute live classes.
Total classes: 28
Duration: 30 minutes
Prerequisite: It is recommended that students have at least taken an introductory to Java programming course, and have completed a first-year high school algebra class. It is important to understand that computer science builds on a foundation of mathematical reasoning. Former participation in an introductory computer science course, a programming club, hack-a-thon, or competition are helpful.
Suggested grade level: 10th to 12th grade
Suggested high school credit: 1 full semester AP Computer Science A
Instructor: Margaret Morrow, Ph.D.
Instructor Email: peggymorrow@protonmail.com
Course Description:
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 at their local high school for 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.
Course outline:
Unit 1. Getting Started and Primitive Types, classes 1 - 4
Unit 2. Using Objects, classes 5 - 8
Unit 3. Boolean Expressions and If Statements, classes 9 - 12
Unit 4. Iteration (Loops), classes 13 - 16
Unit 5. Writing Classes, classes 17 - 22
Unit 6. Arrays, classes 23 - 26
Review and Final Project, classes 27 - 28
Course materials:
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/3vbJHnI)
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/30m4N4k or bookfinder.com)
CodingBat: http://codingbat.com/java. (free resource)
AP CS Awesome: course.csawesome.org ($10 donation to Runestone Academy)
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 0.5-2 hours a day 5 days per week on their assignments.
- Teacher: Peggy Morrow