Teacher: Dr. Theodore Mullmann

Download 45.15 Kb.
Date conversion28.01.2017
Size45.15 Kb.
Radnor High School

Course Syllabus

Advanced Placement Computer Science AB

Teacher: Dr. Theodore Mullmann

I. Course Description

To learn the basics of programming, debugging, and writing of a large program.

II. Materials & Equipment

Home Computer with an IDE installed

Text Book AP Computer Science AB Lewis and Loftcus

III. Course Goals & Objectives

To learn object oriented programming at the college level using Java.

IV. Course Topics (Summary Outline)

A. Computer Systems

1. Introduction to Different Bases

Binary, Octal, Hexadecimal

Conversions to and from Decimal

Conversion between nondecimal Bases

2. Hardware Components

3. Networks

4. IDEs

5. Programming Languages

6. Errors in Java

7. Evolution of C-Style Languages

8. Java Style Conventions

9. Creating a Java Program

10. Responsible Use


legal ramifications

social implications of computer use

ethics in computer use

B. Objects and Primitive Data

1. Objects attributes behaviors

2. Inheritance

3 Abstraction

4. Variables/Assignment

5. Assignment statement

6. Primitive Data

7. Binary Operators, Integers, and Floating Points

8. Operator Precedence

9. Math Class

10. Casting

11. String Object

12. Math Class

13. Two types of Class Types

Static Methods (Class methods)

Nonstatic Methods (Instance methods)

14. Keyboard Class

15. Packages and Class Libraries

16. Declaring, Creating and Assigning Objects

17. The String Class

18. Escape Sequences

19. Formatting Data

20. Random Number Class

21. Designing Objects and their Methods

C. Objects and Primitive Data

1. Program Development

2. The If Statement

3. Relational Operators

4. If – Else Statements

5. Nested If-Else Statements

6. Comparing Strings/Characters

7. Boolean Operators

8. Truth Tables

9. Precedence with Boolean Operators

10. Proofs with Truth Tables:

11. DeMorgan's Laws

12. Short Circuit Evaluation

13. Compound Assignment Operators

14. Increment and Decrement Operators

15. Tracing of Variables

16. Switch Structures

18. While Structure

19. For Structure

20. Nested Loops

21. Forever loops

22. The OBOB bug

23. Do-While Structure

24. StringTokenizer Class

D. Writing Classes/ Writing Methods

1. Classes and Methods Revisited

2. Syntax of Methods

3. Method Overloading

4. Method Decomposition

5. Object Oriented Programming

6. Object Interaction: Clients & class methods. Class methods

7. Syntax of a class

8. Types of Methods Found in Classes

9. Differences Between private and public

10. toString( ) Method

11. Scope, Local Data, and Instance Data

12. Association Between Objects

13. Aggregation of Objects

E. Enhancing Classes

1. Objects/References and Primitives/Values

2. Creating an object

3. Data and Reassignment of Data

4. Objects

5. Comparing Values of Primitives and Objects

6. Passing Primitives and Objects to Methods

7. Null Reference and Object

8. This Reference

9. Static Modifier

10. Static Variable and Method in a Class

11. Exceptions:

12. Interfaces and Their Implementation

13. Comparable Interface

F. Arrays

1. Array Basics

2. Common Errors with Arrays

3. Passing Arrays to Methods

4. Creating and Returning an Array in a Method

5. Arrays in Classes

6. ArrayLists

7. List Interface

8. ArrayList Method Summary

9. Basic Java Arrays versus ArrayLists

10. Class Exceptions

11. Wrapper Classes- Integer Class and Double Class

12. Iterators/ ListIterator Classes

13. Linear and Binary Searching:

14. Bubble Sort, Selection Sort, and Insertion Sort

15. Use of Big Oh Notation

16. Big Oh Notations for Some Common Algorithms

17. hashing, hash tables, hash code, chaining, and collisions

18. Two Dimensional array

G. Inheritance

1. Basic Concepts of Inheritance

2. “Is-A” and “Has-A” Relationship

3. Syntax of Inheritance

4. Constructors in SubClasses

5. Super keyword

6. OverRiding Methods

7. Class Hierarchy

8. Instantiation of Objects

9. Single vs Multiple Inheritance

10. Object Class and its Methods

11. Abstract and Concrete Classes

13. Polymorphism and Polymorphic Reference

14. Early (Static) Binding --

15. Late ( Dynamic ) Binding -

16. Object Casting

17. Advanced Casting

18. Interface syntax

19. Interfaces vs Abstract Classes

H. Recursion

1. Definition and Examples of Recursion

2. General Form and Syntax of a Recursive Method

3. Rules for Using Recursion

4. Fibonacci Sequence

5. Towers of Hanoi Example

6 Algorithm and Efficiency of Mergesort

7. Algorithm of Quicksort

8. Algorithm Efficiency of MergeSort:

I. Data Structures Part I

1. Collections and Maps

2. Dynamic Data Structures

3. Types of Linked Lists

4. Reference to Objects, Object Creation, Swapping and References

5. Parts of the Linked List

6. ListNode Class

7. Linear Linked List Class

8. The List Interface:ArrayList and LinkedList –

9. Complexity of ArrayList and LinkedList

10. Circular Linked Lists

11. Doubly Linked Lists

12. Review of Iterator Class

13. Exceptions

14. Common Unchecked Exceptions

15. Throwing Standard Unchecked Exceptions

16. Checked Exceptions and Try Block

17. Stacks

18. Stack Interface

19. Implementation of Stack Interface

20. Queues

21. Queue Interface

22. Implementation of Queue Interface

23. Priority Queues

24. The Priority Queues Interface

25. Implementation of Priority Queues

J. Data Structures Part II

1. Terms of Trees

2. Tree Node Class

3. Binary Search Trees

4. Tree Traversals:

In Order

Pre Order

Post Order Traversals

5. Binary Expression Trees




6. Heap Sort and Its Efficiency

7. Collections

8. Sets

9. Maps

10. Set Interface

11. HashSet Class

12. TreeSet Class

13. Map Interface

14. HashMap Class

15. TreeMap Class

K. Case Study

1. Marine Biology Case Study


2. Grid World

V. Assignments

Students in AP Computer Science AB will write a number of programs in Java with applications in many area (science, economics, accounting, mathematics) and use a number of basic (iteration through lists) and advanced algorithms (searching, sorting) and data structures ( sets, arraylists, stacks, queues, trees)

A. Java Programs Written by Students

Parts of a Triangle

String Basics

Hangman Game

Grades and Grading Program

Budget Program

Game of Life

Imaginary Class

Personal Department

A Mazing Program

Stacked Against You

Monkeying Around in Trees

B. Object Oriented Design

Create Objects from:

Standard Java libraries

AP Java Subset

Write, Design, and Implement Classes

Write, Design, and Implement Interfaces

Implementation Techniques

Object Oriented Programming

Top-down development

Encapsulation and

Procedural abstraction

C. Algorithms

Choosing Proper Algorithm

Speed ( Big Oh Notation)

Space (Big Oh Notation)

Using Commonly-used Algorithms

Linear Search

Binary Search

Develop and Select Appropriate Algorithms and Data Structures

Linked List vs ArrayList

Stacks vs Queues

Sets vs Maps

TreeSet vs HashSet

TreeMap vs HashMap

The database is protected by copyright ©ininet.org 2016
send message

    Main page