AP Computer Science A
This course will prepare students to take the AP Computer Science A exam which covers material from the typical first semester of college computer science. The course is designed to meet the demands of technologically literate students who intend to pursue a career in a field that relates to computing. The AP Computer Science A course emphasizes programming methodology, algorithms, and data structures.  The course is taught using the Java computer language. Students should have a strong knowledge of Algebra and good written communication skills before entering this course.
 Summer Reading

Summer Reading Assignment: Program or Be Programmed or Nine Algorithms

 JAVA Tools and Resources

Eclipse Download Link

JDK 7 Download Link

Java API 7 (JavaDocs)

Jeliot Code Tracer

Exam/Course Resource Materials (Appendix A, B, & C)

Exam Review Materials

 Practice Problems, Quizzes, and Tutorials

CodingBat Practice Problems

Georgia Tech Multiple Choice Practice Exams

Problets - Java Programming Tutor

Khan Academy Computer Science Tutorials

Review E-Book

 Unit 1: Getting Started

Arrays vs ArrayLists

Enhanced vs Traditional For Loops

Aquarium Lab Series

Plotting Pictures

The Picture Lab

Balloon Race

 Unit 2: Understanding Larger Programs


Elevens Lab

Arrays vs. ArrayLists

PowerPoint: Inheritance

PowerPoint: Interfaces & Abstract Classes

 Unit 3: Interacting with the User


A Sample GUI

Creating an Applet from an Existing GUI

PowerPoint: Strings

Pig Latin

PowerPoint: Handling Exceptions



 Unit 4: Program Efficiency

Sorting Demos

What Sorting Algorithms Sound Like

WordSort Lab Requirements

PowerPoint: Wrapper Classes

IntegerSort Lab Requirements

PowerPoint: Recursion

Recursion Fairy Tale

Towers of Hanoi Problem

PowerPoint: Big-O Notation

Sample Code for Writing to a Text File

Phonebook Search Lab Requirements

 Unit 5: Collections

Written Assignments - Data Structures

TaskList Lab

Random Sentences Lab Description

PowerPoint: Iterators

Iterator Traversal Lab

PowerPoint: Collections

Palindromes Lab Instructions

Number Systems Converter Lab Requirements


CS Fairy Tale: Jack Learns the Facts About Queues and Stacks

Emergency Room Scheduler Lab Instructions

Queue Files

PowerPoint: Sets and Maps

Therapist Lab

 Unit 6: Implementing Abstract Data Types

PowerPoint: Hash Functions

Hash Functions Lab

Binary Trees and Traversals

Binary Search Tree Starting Code

 Unit 8: Two-Dimensional Graphics

PowerPoint: The Graphics Context

Fractal C-Curve Program

Recursive Patterns Lab

Create a Graph Lab

Mouse Demo Files

SketchPad Lab

SketchPad Project Grading Checklist

 MSOE & Marquette Programming Competitions

Scores from the 2015 Competition

Scores from the 2016 Competition

Keyboard and File Input Code Samples

Problems from the 2003 Competition

Problems from the 2005 Competition

Problems from the 2006 Competition

Problems from the 2008 Competition

Problems from the 2009 Competition

Problems from the 2010 Competition

Problems from the 2011 Competition

Problems from the 2012 Competition

Problems from the 2013 Competition

Problems from the 2014 Competition

Problems from the 2015 Competition

Problems from the 2016 Competition

Marquette Sample Problems