High School AP Computer Science A
-
License Model
FlexPoint or School/District Hosted
-
Number of Credits
1.0
-
Estimated Completion Time
32-36 weeks
The AP Computer Science A course is an introductory computer science course. A large part of the course involves developing the skills to write programs or parts of programs that correctly solve specific problems. The course also emphasizes the design issues that make programs understandable, adaptable, and when appropriate, reusable.At the same time, the development of useful computer programs and classes is used as a context for introducing other important concepts in computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, and the study of standard algorithms and typical applications. In addition, an understanding of the basic hardware and software components of computer systems and the responsible use of these systems are integral parts of the course.
Segment One
Module 01 - Primitive Types
- Course Folder Management
- Installing Java
- Installing the BlueJ IDE
- Student Contact Card
- Stylish Java
- Order of Operations
- Printing Arithmetic Expressions
- Primitive Data Type: ints
- Primitive Data Type: doubles
- Arithmetic Expressions
- Primitive Data Type Conversions
- Pitfalls, Surprises, and Shortcuts
Module 02 - Using Objects
- Pseudocode, Recipe for Success
- The Java API
- Java's Math Class
- Primitive Data Types: char
- String Objects Lite
- String Class Methods: The Basics
- Scanner Class Methods
- Parsing
- Calling Methods in Java
Module 03 - Boolean Expressions and if Statements
- Getting Started with if Statements
- Number Systems
- Primitive Data Types: booleans
- Condition Statements: if
- Condition Statements: if-else
- Condition Statements: if-else-if
- Comparing Strings
- Logical Operator
Module 04 - Iteration
- Loops
- While Loops (Part 1)
- While Loops (Part 2)
- Reading Text Files
- For Loops
- Nested Loops
- Writing Text Files
Module 05 - Writing Classes
- Procedural and OOP Styles
- Defining New Static Methods: Part 1
- Defining New Static Methods: Part 2
- Getting Started with Objects
- Instances of a Class
- Default Constructors
- Constructors with Parameters
- Overloading Methods and Using Two Classes
- Constructing Multiple Objects
- Programming Ethics and Security
Segment Two
Module 06 - Arrays
- Getting Started With Arrays
- One-Dimensional Arrays
- Formatting Output
- The for-each Loop
- Arrays of Objects
- Computer Science Lab: Magpie Part 1
Module 07 - ArrayList
- Introduction to Standard Algorithms
- ArrayLists I
- ArrayLists II
- Challenge Program
- Traversals Lesson
- Replacements Lesson
- Insertions Lesson
- Deletions Lesson
- Insertion Sort
- Selection Sort
- Computer Science Lab: Magpie Part 2
Module 08 - 2D Array
- Introduction to Searching
- Sequential Search
- Binary Search
- 2D Array Part 1
- 2D Array Part 2
- Computer Science Lab: Picture
Module 09 - Inheritance
- Introduction to Inheritance and Polymorphism
- Extending Classes
- Class Hierarchies
- Polymorphism
- Overriding Methods
- Design Strategy: Iterative and Incremental
- Static Means Never Having to Instantiate an Object
- Class Variables and Constants
- Thinking Outside the Box
Module 10 - Recursion
- Getting Started with Recursion
- Divide et Impera
- Real-World Recursion
- The Recursive Leap of Faith
- There and Back Again
- Are We There Yet?
- Recursive Strings and Things
- Computer Science Lab: Elevens