Skip to main content
Java Curriculum For AP™ Computer Science
Title Page >  
Summary >  
Lesson A1 >  
Lesson A2 >  
Lesson A3 >  
Lesson A4 >  
Lesson A5 >  
Lesson A6 >  
Lesson A7 >  
Lesson A8 >  
Lesson A9 >  
Lesson A10 >  
Lesson A11 >  
Lesson A12 >  
Lesson A13 >  
Lesson A14 >  
Lesson A15 >  
Lesson A16 >  
Lesson A17 >  
Lesson A18 >  
Lesson A19 >  
Lesson A20 >  
Lesson A21 >  
Lesson A22 >  
Lesson AB23 >  
Lesson AB24 >  
Lesson AB25 >  
Lesson AB26 >  
Lesson AB27 >  
Lesson AB28 >  
Lesson AB29 >  
Lesson AB30 >  
Lesson AB31 >  
Lesson AB32 >  
Lesson AB33 >  
Vocabulary >  

STUDENT LESSONS - Summaries of Content  

A Curriculum Summaries of Content
A1 - Introduction to Object Oriented Programming (OOP) An introduction to OOP that covers the basic concept of classes and how messages and methods are related. Uses Role Playing as a learning tool to get students involved quickly. Also covers the basics of how to compile and run a program.
A2 - Object-Oriented Programming More specific detail of what is happening behind the scenes and what the logic is behind the exercises in Lesson A1. Discusses object declaration, class diagrams, using nouns and verbs to define aspects of objects and classes, and the differences between a class and objects of that class.
A3 - Primitive Data Types An overview of how to use the basic data types in Java such as int, char, double, and boolean. Also gives an introduction to data output, operator precedence, and methods of manipulating the primitive data types.
A4 - Object Behavior Introduction to object behavior and how methods, returning values, signatures, scope, getters, and setters affect class design.
A5 - Designing and Using Classes The previous four lessons put together for a comprehensive overview of how behaviors and attributes can work in harmony. It introduces a few more concepts of classes such as contructors. Very heavy in how to design a class well.
A6 - Libraries and APIs Teaches the students how to understand and utilize the standard Java APIs. Uses the DrawingTool, Point2D.Double, Random, and Math classes as examples of exploring APIs. Also introduces the Javadoc tool and how to create APIs.
A7 - Simple I/O Introduces the Scanner class and the printf() method for working with input from the keyboard and formatted output to the screen.
A8 - Control Structures Shows the students how to create multiple way selection within their programs using the if, if-else, and optional switch statements. Also discusses the usefulness of pseudocode and algorithm development as well as giving an introduction to Boolean algebra and logical operators.
A9 - Recursion Gives the students an introduction to recursion.
A10 - Strings Discusses the String class and how it can be used within classes, simple String I/O, and how Java has made shortcuts so Strings look more like primitives.
A11 - Inheritance Introduces the concept of inheritance and how to properly create subclasses from existing ones.
A12 - Iterations Gives the students the powerful tool of iteration with while loops, for loops, and the optional do-while loop.
A13 - Exceptions and File I/O Talks about exceptions and how to utilize them. Uses file input with the Scanner class as an example of when exceptions need to be used.
A14 - Boolean Algebra and Loop Boundaries Further explores Boolean algebra, incorporating De Morgan’s laws, and how to create loops that iterate the correct number of times.
A15 - ArrayList Introduces ArrayList as a method of holding a variable amount of data. Also discusses wrapper classes, casting, and iterators.
A16 - Single Dimension Arrays Compares and contrasts single dimensional arrays with ArrayList.
A17 - Quadratic Sorting Algorithms Introduces the students to sorting lists with the simple bubble, selection, and insertion sorts.
A18 - Merge and MergeSort Explores recursive sorts which are more complex than quadratic sorts but are much faster.
A19 - Sequential and Binary Searches Discusses the advantages to searching sequentially or through binary methods.
A20 - Inheritance, Polymorphism, and Abstract Classes Expands on the concept of inheritance.
A21 - Number Systems Explains the uses of different number bases as they relate to Computer Science.
A22 - General Computer Knowledge Discusses basic facts about computer hardware and software as well as brief computer history and ethics.

AB Curriculum Summaries of Content
AB23 - Two-Dimensional Arrays Expands the concept of a single dimensional array into a two dimensional representation and the applications it can be applied to.
AB24 - Recursive Array Programming Expands the concept of recursion to solve more complex problems using a maze as an example.
AB25 - Order of Algorithms Reviews the searching and sorting algorithms and discusses the concept of using Big O to describe the speed of the algorithms.
AB26 - QuickSort Introduces another recursive sorting algorithm.
AB27 - Java Lists and Iterators Discusses the List interface and how to apply it to ArrayList and LinkedLists and also discusses how to use the Iterator interface.
AB28 - Sets and Maps Discusses the Set and Map interfaces and then discusses the hash and tree implementations.
AB29 - Linked List Takes the student through the design and implementation of creating their own linked list.
AB30 - Binary Search Trees Takes the student through the design and implementation of creating their own binary search tree.
AB31 - Stacks and Queues Introduces stacks and queues as well as the differences between them and when they should be used.
AB32 - Hash-Coded Data Storage Discusses hash coded data storage, which is another searching/storage algorithm.
AB33 - Priority Queues Explores the more complex priority queue.


 © ICT 2006, All Rights Reserved.