# Course Syllabus

## 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.

## Topic Outline

This course consists of seven units of instruction.

* An Introduction to Java
* Language Fundamentals
* Control Structures
* Objects and Classes
* Data Structures and Recursion
* Inheritance and Interfaces
* Beyond the Exam

## Required Texts

While it isn't necessary to read this text from cover to cover, we'll be referencing it in most of the instructional units of this course.

* *Core Java: Volume I—Fundamentals*

It is available in PDF format, and can be downloaded on Canvas.

## Suggested Texts

I recommend you purchase one (or all!) of the following texts. They each provide practice tests, study guides, and helpful hints and tips for the AP exam.

* *5 Steps to a 5: AP Computer Science A*
* *Barron's AP Computer Science A*
* *Cracking the AP Computer Science A Exam*

Make sure you purchase the 2020-2021 versions of these books.

## Grading Policy

Marking period grades consist of tests, quizzes, and programming assignments.

* Quizzes (up to 25 points)
* Problem Sets (up to 50 points)
* Tests (up to 100 points)
* Projects (up to 150 points)

Tests and quizzes each assess skills presented during class, in the required readings and videos, or through applicable programming assignments and activities.

## Late Policy

The world is full of deadlines, and you need to learn to prioritize and manage your time accordingly. There will be a 10% daily penalty levied against all late submissions. After the ninth day, submissions will no longer be accepted.

## Attendance Policy

If you are absent for a test or quiz, it is your responsibility to schedule a makeup date within one week of returning to school. I mark assignments (temporarily) with a zero in PowerSchool to serve as reminder. If you have not made up the assignment after a week, the zero becomes permanent. All programming assignments are distributed and submitted electronically. Absence from class, without documented extenuating circumstances, does not excuse your failure to complete and submit assignments on time.

## Academic Integrity

You are expected to complete assignments independently. Using code that is not your own, whether it is that of a classmate or a third-party source, is not permissible unless explicitly noted in writing. Failure to abide by these conditions results in a zero for the assignment. No exceptions. Please be sure you have read your school's Honor Code and that you understand the consequences of violating it.
