AP Computer Science A
CPoacuinrgseGuSiydlelabus
Textbook: Litvin, Maria and Litvin, Gary. Java Methods: Object-Oriented
Programming and Data Structures. Skylight Publishing, 2011
http://www.skylit.com
Course Description: AP Computer Science A introduces students to computer programming,
methods, and the use of the Java language. The course is intended for students planning to study
computer science or other technical majors in college.
The course introduces to programming techniques, methodology, algorithms, and data structures.
There is a detailed examination of the Grid-World Case study which is currently used on the AP
exam. Extension of programming techniques, methods, and algorithms will be applied to various
platforms beyond the desktop including handheld media such as cell phones and tablets as well as
robotics microcontrollers.
Instructional Strategies:
Teacher Presentations, discussions, and modeling: Class lectures and discussions will be held
one to two hours a week. Students will be required to discuss with the class various content,
scenarios, proposed solutions, and coding techniques.
Student discussion and presentations: Students will discuss and/or present solutions to
homework questions at least once a week.
Computer Lab Component: Students will work independently one to hours a week coding
solutions to their homework. The instructor will rotate around the class helping as needed.
Students will need to partner up occasionally to provide feedback on each other’s programs.
List of Units of Study
Unit: Introduction to Programming (2 weeks) – [C1, C8]
Topic Instructional Lessons Assessment
Introduce Computer Lecture and discussion of Computer Science vs Class
Science programming vs hacking. Ethical and social implications Discussion
within the context of the class, school and academia, and and
society as a whole. Intellectual property, copyright laws, presentations
privacy and public/consumer safety are explored. Students
present on a current topic highlighting these issues.
Hardware / Software / Lecture and discussion. Problem sets relating memory Worksheet
Communications sizes and base numbers, boolean logic, input devices,
output devices, basic network terminology.
Compilers and Interpreters Installation, setup, and environment overview. Hello world Lab
compiled in different ways
Input / Output Lab and discussion of how to manage input and output Class
using Java syntax. discussion
and Lab
Object Oriented Lecture and discussion of procedural programming vs Class
FBLA Scavenger Hunt
1
Programming objected oriented programming, hierarchy, classes, and Discussion
inheritance. and
Variable types, arithmetic Test
operators, If/Else Student discussion of program examples utilizing basic Lab and
statements, conditionals software algorithms. Students practice coding in the IDE student
using these basic approaches. Students modify existing presentations,
Java programs to utilize keyboard input, making a simple Unit Test
calculator, and create basic banners and graphics.
Unit: Gridworld Case Study and Java Library Subset (2 weeks) – [C1, C6, C7]
Topic Activity Assessment
Classes, definitions and Lecture and Lab. Introduce the GridWorld package. Lecture
declarations Students follow Part 1 of the GridWorld Student Manual Presentation
and Lab
Objects, instance Lab and discussion. Students follow Part 2 of the Grid Lab,
variables/fields, World student manual. Students modify BugRunner to homework
constructors, and methods create and modifying Actors and their attributes.
Introduce Inheritance Students apply inheritance techniques to create a Lab and
UTurnBug, BoxBug, RandomBug. discussion
Java Library Students examine the Java Library subset of classes as Lab,
outlined in the AP Computer Science Quick Reference discussion
Guide. and Unit Test
FBLA FLYER
Unit: Arithmetic and Algorithms (3 weeks) – [C1, C2, C4, C6]
Objective Activity Assessment
Operators, Students are presented with an overview of operators and Lecture and
compound/increment examples of use. Students learn how to use flowcharts and discussion,
operators (+, -, *, /, %, +=, pseudocode. homework
-=*=, /=, %=, ++, --)
Iterations and recursions Students write code to determine the greatest common Lab and
factor, exponential power, binomial expansion, and the discussion
golden ratio.
Binary searching and Lists Students explore the File Manager case study and how to Lab and
count the number of files in a folder. discussion,
Unit Test
Unit: Syntax, Data Types, and Variables (3 weeks) – [C1, C2, C5, C6]
Objective Activity Assessment
Comments and Students are presented with examples of code that is well Lecture,
documentation, Syntax vs. documented and commented vs. code without it. Students Student
Style practice commenting on uncommented code and present to presentations,
class. Students fix syntax errors in several example homework
programs.
Primitive data types and Students discuss various data types, scope, and size. Lab and
memory allocations Students create a program to compute the roots of a discussion
polynomial equation using the quadratic formula.
Variables: Fields, Local Students are presented descriptions and examples of Lecture and
variables, and parameters variables. Students are to use fields, local variables, and Lab
parameters to create a program that draws a rainbow with
different colored arcs.
FBLA Recruitment Video
2
Strings and Constants Students are introduced to Strings and how they can be Lecture and
converted. Students create a program to conduct a Poll Lab, Unit
and then display the results of the Poll on a pie chart. Test
Unit: Control loops (3 weeks) – [C1, C2, C4, C5, C6]
Objective Activity Assessment
Boolean Expressions, If- Students are presented an overview of conditional/relational Lecture and
Else, Conditional operators operators and the basics of conditional programming. Lab,
Homework
(<, >, <=, >=, ==, !=), Students use if-else statements to create a program that
Logical operators (&&, ||, calculates the absolute value of a number. Students use if- Lecture and
!) else statements to create a program that plays a game of Lab
“Dice”
Discussion
Switch statement Students are presented the uses of Switch/case statements. and Lab, Unit
Students rewrite their “Dice” program to utilize Test
switch/case.
While and For loops, Do- Students discuss the uses of While and For loops. Students
While loops create a program that calculates the factorial of a number.
Use a control loop to determine the first four “perfect”
numbers.
Unit: Classes and Implementation (3 weeks) – [C1, C2, C5, C6]
Objective Activity Assessment
Public and Private features Students write a program to add and multiply fractions Lab and
of a Class (numerator and denominator) using public and private discussion
classes.
Constructors Students write a program to convert Celsius to Fahrenheit Lab and
using constructors discussion
Methods Students are presented multiple ways of calling methods Lecture,
and accessing fields. Overloading methods is explored. discussion,
Students explore the Snack Bar Case Study in which a Lab. Unit
program keeps an inventory of snacks in Vending Test
Machines. Students modify the program to determine the
net daily sales from all the machines.
Unit: Strings (2 weeks) – [C1, C2, C6]
Objective Activity Assessment
Literal Strings, Syntax, and Students review basic string syntax and common Lecture and
Constructors constructors. Students are presented the idea of Lab
immutability and memory management. Students use
various approaches to write a program to change a character Lecture and
within a string. Lab
String Methods Students are presented with the commonly used String Lab
methods. Students re-write their previous program to Lab, Unit
Test
utilize these new methods.
Numbers to Strings and Students write a program to validate an ISBN number of a
Strings to Numbers. book.
Character Method and Students explore the character method in more depth.
StringBuffer Class Students write a program to determine whether a word is a
palindrome. Students write a program to play a game of
hangman.
3
Unit: Class Hierarchy and Interfaces (3 weeks) – [C1, C2, C5, C6, C7]
Objective Activity Assessment
Inheritance, polymorphism, Students are presented examples of inheritance and Lecture and
Lab
and superclasses. applicable terminology. Students modify the GridWorld
Actor class to include a Rolling Rock subclass.
Abstract classes Students examine the use of abstract classes and write their Discussion
own abstract class for Poems that includes subclasses and Lab
Limerick, poem, and Haiku.
Superclass Constructors Students are presented with examples of superclass Lecture and
and methods constructors and methods. Students examine the Lab
GridWorld case Study involving dancing bugs as outlined
in Part 2, 3 and 4 of the GridWorld student manual.
Students write a new class for GridWorld called SlowBug
using just two constructors and one act method.
Interfaces Students implement a Dance interface using a concrete Lab. Unit
class. Test.
FBLA BAA Strengths Activity
Unit: Arrays (4 weeks) – [C1, C2, C3, C4, C6, C7]
Objective Activity Assessment
Array types and Students are presented with an introduction to Arrays, Lecture and
dimensions elements, and their uses. Students write a simple fortune Lab
telling applet using an array of strings
Two dimensional Arrays Students explore the Chomp Game case study and the use Lab
of 2-d Arrays within it. Students write a method to generate
Pascal’s triangle in a 2-D array.
Iterations for handling Students are presented with the technique of for-each to Lecure and
arrays and lists
conduct traversal procedures. Students create a polynomial Lab
class that returns the degree of the polynomial.
Inserting and removing Students create a polynomial multiply method to return the Lab
elements product of two polynomials
ArrayList’s constructors Students create a document index utilizing ArrayList. Lab, and Unit
and Methods Students examine the GridWorld case study and its Critter Test
subclasses as outlined in Part 3 of the GridWorld student
manual. Students create a cow and mosquito classes with
unique attributes.
Unit: Searching and Sorting Arrays (3 weeks) – [C1, C2, C3, C4, C6]
Objective Activity Assessment
Comparing objects Students are introduced to the equals, compareTo, and Lecture and
compare methods. Students write a program to compare Lab
countries by population.
Sequential and Binary Students write a program to sort a word list alphabetically. Lab
Search
Sorting algorithms Students are presented with a variety of algorithms to Lab and Unit
conduct selection, insertion, merge, and quick sorting. Test
Students write a benchmark testing program that creates an
array of random numbers and sorts them using a variety of
algorithms.
FBLA BUsiness Achievement Activities
4
Unit: Streams and files systems (2 weeks) – [C1,C3,C5]
Objective Activity Assessment
Java.io.File class and Students use Java.util scanner methods to read a text file. Lab
Scanner Students write a program that scans a source file to check if
the braces within it are balanced. Lab and Unit
PrintWriter class Students use PrintWriter to create a text file. Students write Test
a program to merge two sorted files into one sorted file.
Assessment
FBLA March of Dimes Flyer & Toys for Tots flyer
Discussion
Unit: Review (4 weeks) – [C6, C7] and Lab
AP Exam
Objective Student Activity
Review GridWorld Case Students Review all classes and methods in GridWorld and
Study review the Grid World student manual
Review Released AP Students take previously released AP Computer Science
Computer Science Exams exams as practice.
5