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
privacy
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
infix
prefix
postfix
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
or
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
Directory: cms -> lib9 -> PA01000218 -> Centricity -> DomainDomain -> Chapter 19 Index of Images From Gothic to Renaissance: 14th Century Italian ArtDomain -> Chapter 21 Index of Images Humanism and the Allure of Antiquity: 15th Century Italian Artlib9 -> Unit 1: Industrialization, Immigration & The Progressive Movementlib9 -> Rules for Determining Significant Figures are criticalDomain -> Chapter 29: The Cold War Era and the Emergence of a New EuropeDomain -> Chapter 16: The Transatlantic Economy, Trade Wars, and Colonial Rebellions Outlinelib9 -> Name Adapted from the History Channel (History com) d-day IntroductionDomain -> Assignments: By Thursday, November 15th, read pages 381-393 in text, Gardner’s Art Through the Ages, 12th Edition By Friday, November 16th, read pages 394-406 in text, Gardner’s Art through the Ages, 12th Edition Open Book Quiz on Chapters 13/14 on
Share with your friends: |