AP Computer Science A - Java

  • Grade: 9th - 12th
  • Skill Level: Advance
  • Prerequisite: Introduction to CS - Java / Creative Computing / Honors Pre Calculus
  • Software: Java, Eclipse IDE
  • Duration: 1 Year

Course Description

AP Computer Science A introduces students to the fundamentals of object-oriented programing methodology.In this course students learn key concepts of computer science: problem solving, application design strategies, writing and analyzing algorithms, data collection and management, error analysis, data structures, inheritance, encapsulation and polymorphism. This course is taught using Java programming language.

AP Computer Science A is equivalent to the first semester of college level course in computer science. This course is taught in an incremental order, where students progress from writing simple programs to develop complex application using multiple objects, data structures and various levels of abstractions following OOP’s design principles.

By the end of this course students are able to develop application that can scale up from small, simple problems to large-scale complex problems. In order to develop these solutions students use multiple objects, data structures, file IO and various API’s.

The overall goal for designing a piece of software (a computer program) is to correctly solve the given problem. At the same time, this goal should encompass specifying and designing a program that is understandable, and can be adapted to changing circumstances. The design process needs to be based on a thorough understanding of the problem to be solved.

A: Program and Class Design

Part of problem-solving process is the statement of solutions in a precise form that invites review and analysis.The implementation and solutions in the JAVA programming language reinforces concepts, allows potential solutions to be tested, and encourages discussion of solutions and alternatives.

A: Implementaion techniques

B: Programming constructs

C: Java library classes and interfaces included in the AP Java subset

The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications. It also includes the analysis of programs or algorithms in order to understand their time and space requirements when applied to different data sets.

A: Testing

B: Debugging

C: Runtime Exceptions

D: Program correctness

E: Algorithm Analysis

F: Numerical representations of integers

Data Structures are used to represent information within a program.Abstraction is an important theme in the development and application of data structures.

A: Primitive Data Types(int, boolean, double)

B: Strings

C: Classes

D: Lists

E: Arrays(1-dimensional and 2-dimensional)

Standard algorithms serve as examples of good solutions to standard problems.Many are interwined with standard data structures.These algorithms provide examples for analysis of program efficiency.

A: Operations on Data Structures

B: Searching

C: Sorting

D: Lists

E: Arrays(1-dimensional and 2-dimensional)

An awareness of the ethical and social implications of computing systems is necessary for the study of computer science.These topics need not be covered in detail, but should be considered throughout the course.

A: System Reliability

B: Privacy

C: Legal issues and intellectual property

D: Social and ethical ramification of computer use

What will students learn?

This course introduced students to algorithms, logic, conditionals and abstract thinking by creating simple animations and games.

Goal of this course is to:

  • Foster creativity
  • Entool students to become makers of technology
  • Build Confidence
  • Help make Computer Science a tool of expression for young children.
  • Learn what is computer science.

Skill Students Gain

  • Computational Thinking
  • Sequencing
  • Problem solving
  • Algorithming Thinking
  • Understanding and Application of Logical Structures: conditionals and repetitions