AP Computer Science A

advertisement
AP Computer Science A
Syllabus
Course Overview
AP Computer Science A is a course that takes an object oriented and problem solving
approach to developing Java programs. It emphasizes object oriented concepts and designing/
analyzing algorithms and data structures. Three labs, that are provided by the college board,
will be integrated into the curriculum. These labs include: Magpie Lab (string processing &
conditionals), Picture Lab (2D array manipulation of an image), and Elevens Lab (card game
using object oriented concept). The course is taught in 18 weeks, each class period is 90
minutes long.
Computer Lab
The Computer Science Laboratory has 29 networked Dell Optiplex computers. The Lab has
an overhead LCD projector, 1 Lexmark 644 black & white printer, 1 Document Camera, 1
HP Laserjet 3800dn color printer. Each computer has Java 1.7 SDK, Eclipse IDE and internet
access. All students have accounts on a networked server where they can store their files. The
lab is open during all lunch periods and after school for 60 minutes. On Mondays, the Lab is
open for 1&1/2 hours after school.
Textbook Resources:
Hostmann, Cay Big Java 4nd edition, Hoboken, N. J. : Wiley 2010
Trees, Frances P. Advanced Placement Computer Science Study Guide 4th edition, Hoboken,
N.J. : Wiley 2006
Teukolsky, Roselyn. Barron’s AP Computer Science A 6th edition, N.Y. :Barron’s
Educational Series 2013
Schram, Leon. Multiple Choice & Free Response Questions in Preparation for the AP CS
Exam, D&S Marketing Systems, 2014
Lambert, Ken and Osborne, Martin. Fundamentals of Java AP Computer Science Essentials
4th edition, Cengage, 2011
1
CR1 -The course
Topic
Topic: History of
Computer Hardware and
Software, Binary &
Octal Numbers, Code of
Ethics [CR7]
(Day 1-3)
Objective: Computer Hardware and Software, Binary
Representation of Information, Evolution of
Programming Languages, Computer Ethics, Number
System
Reading:
 Fundamentals of Java Chapter 1 1.1-1.5
 Fundamentals of Java Appendix E (Number
Systems-Binary,Decimal,Octal,Hexadecimal)
 Read ACM Code of Ethics at website:
http://www.acm.org/constitution/code.html
Assignment: Complete Exercises 1.1-1.5 and write
paper that summarizes and gives your opinion about
the following ACM code of ethics points: 1.1 Contribute
to society and human well-being. and 1.2 Avoid harm to
others; Complete Number System Conversion Worksheets;
play Cisco Binary game
Topic: Become familiar
with Eclipse IDE, Run
& Compile first Java
program [CR1]
(Day 4-5)
Objective: Overview of Java (JVM, Compilation
process), Benefits of Java over other languages,
Running & Compiling first Java program
Reading:
 Big Java Chapter 1
Assignment: Complete Big Java Chapter 1 Review
Exercises R1.1, R1.2, R1,4, R1,5, R1.7, R1.12 and
Programming Exercises P1.2, P1.4 and P1.8; Pretty
Print Lab- Implement and test a program to print a
table using escape characters
Topics: Classes,
Objects, Object
Reference, methods
(accessor and mutator),
constructing objects,
instance fields [CR1]
[CR5]
(Week 2)
Assessment: Chapter 1 Test
Objective: Learn about variables, understand the
concepts of classes and objects, call methods, learn
about parameters and return values, how to use API
documentation, difference between object and object
references
Reading:
 Big Java Chapter 2
 Study Guide Chapter 3
Assignment: Complete Big Java Chapter 2 Review
Exercises R2.1, R2.3-R2.6, R2.9, R2.13 and
Programming Exercises P2.1, P2.3, P2.10 and Proj 2.1;
2
teaches students to
design and implement
computer-based
solutions to problems
in a variety of
application areas
CR4-The course
teaches students to code
fluently in an objectoriented paradigm using
the programming
language Java. Course
Description.
CR7-The course
teaches students to
recognize the ethical
and social implications
of computer use.
CR2-The course
teaches students to use
and implement
commonly used
algorithms and data
structures.
CR3-The course
teaches students to
select appropriate
algorithms and data
structures to solve
problems
CR5- . The course
teaches students to use
elements of the standard
Java library classes from
the AP Java subset in
Appendixes A of the AP
Computer Science
Course Description.
Assessment: Chapter 2 Test
CR6- The course
Topic: Implementing
Classes, Constructors,
Methods, Instance
Fields, Implicit &
Explicit Method
Parameters,
[CR1] [CR4]
(Week 3)
Objective: Designing a public interface of a class,
commenting the public interface, encapsulation,
declaring instance fields, implementing constructors
and methods, testing a class, implicit and explicit
method parameters.
Reading:
 Big Java Chapter 3
 Barron’s Chapter 1
Assignment: Complete Big Java Chapter 3 Review
Exercises R3.1, R3.2, R3.5, R3.11, R3.12, R3.14 and
Programming Exercises P3.1, P3.2, P3.6, P3.8, P3.9;
Barron’s Ch1 ex 1-23 (skip 20), D&S Marketing Ch2
ex 1-23 in groups; Complete Base Conversion
Assignment using classes that converts a base 10
number to a 4 digit number of base b; Central
Connecticut State University programmedlessons.org
website Ch25 object, classes and constructors
interactive lesson; Lucidachart.com triple Venn
Diagram comparing local, instance and parameter
variables
Assessment: Chapter 3 Test
Topic: Primitive
types(int,double),
arithmetic expressions,
String type, reading
input [CR1]
[CR4][CR5]
(Week 4)
Objective: Learn about number types, Constants,
Assignment, Decrement and Increment Operators,
Arithmetic Operations and Mathematical Functions,
Calling Static Methods, Reading Input
Reading:
 Big Java Chapter 4
 D&S Marketing Chapter 6
Assignment: Complete Big Java Chapter 4 Review
Exercises R4.1(2&4 only), R4.5, R4.6, R4.10, R4.15,
R4.17 and Programming Exercises P4.1, P4.2, P4.4,
P4.8; Project 4.2; D&S Marketing Chapter 6 ex 1-12 in
groups
Assessment: Chapter 4 Test
3
includes a structured
lab component
comprised of a
minimum of 20 hours
of hands-on-lab
experience.
Topic: If Statements,
Switch Statements, = =
operator [CR1] [CR2]
[CR4] [CR6]
Objective: Implement Decisions with if statements,
Comparing values, recognize when if statement
ordering matters, conditions using Boolean operators
and variables;
(Week 5)
Reading:
 Big Java Chapter 5
 D&S Marketing Chapter 3
Assignment: Complete Big Java Chapter 5 Review
Exercises R5.1, R5.2, R5.7, R5.16, R5.17, R5.19,
R5.23 and Programming Exercises P5.1, P5.3, P5.13;
Project 5.2; D&S Marketing Chapter 3 ex 1-12 in
groups; Magpie Lab
Assessment: Chapter 5 Test
Topic: While, for and
do loops, abstraction,
encapsulation,
Testing(Boundary
Conditions), nested
loops [CR1] [CR2]
[CR4]
(Week 6)
Objective: Be able to program loops with the while,
for and do statements, avoid infinite loops and off-byone errors, testing boundary conditions in loops,
understand nested loops, how to process input,
implement simulations
Reading:
 Big Java Chapter 6
 Barron’s Chapter 4
 D&S Marketing Chapter 1
Assignment: Complete Big Java Chapter 7 Review
Exercises R6.2-R6.4, R6.5, R6.10, R6.13 and
Programming Exercises P6.3 & P6.6; D&S Marketing
Chapter 1 ex 1-12; Barron’s Chapter 4 exercises 1-23
(skip 20); Hangman Project using classes that includes
string manipulation
Assessment: Chapter 7 Test
Topic: Designing
Classes, Cohesion and
Coupling Accessor and
Mutator methods, side
effects, scope, static
methods and fields,
assertions, package
creation, pre and post
conditions [CR1]
[CR4]
Objective: Learn how to choose appropriate classes to
implement, concepts of cohesion and coupling,
minimize the use of side effects, difference between
instance methods and static methods, static fields,
scope of local and instance variables, assertions,
package creation, pre and post conditions
Reading:
 Big Java Chapter 8
 D&S Marketing Chapter 14
 Barron’s Chapter 6
(Week 7)
4
Assignments: Complete Big Java Review Questions
R8.1, R8.2, R8.9, R8.12, R8.25, R8.30 and
Programming Exercises P8.1-P8.3, P8.5; D&S
Marketing Chapter 14 ex 1-12 in groups; Barron’s
Chapter 6 ex 21-28, 38, 39
Assessment: Chapter 8 Test
Topic: one and two
dimensional arrays,
array algorithm, wrapper
classes[CR1] [CR2]
[CR3]
[CR4][CR5][CR6]
(Week 8)
Objective: Become familiar with using arrays and
array lists, learn about wrapper classes and enhanced
for loop, common array algorithms, learn how to use
two-dimensional arrays, using arrays and array lists in
your programs
Reading:
 Big Java Chapter 7
 D&S Marketing Chapters 5 & 8
 Barron’s Book Chapter 6
Assignments: Complete Big Java Review Questions
R7.1, R7.2, R7.4, R7.18 and Programming Exercises
P7.1, P7.2, P7.4, P7.5, P7.13; D&S Marketing Chapter
5 ex 1-8 in groups; D&S Marketing Chapter 8 ex 1-12;
Picture Lab; Barron’s Book Chapter 6 ex 1-20; Use
Lucidachart online app to create a Venn Diagram of
arrays and arraylists; Have students practice
CodingBat.com array problems; In groups, have
students use Finch robot (finchrobot.com) to collect
sensor data (such as accelerometer data) and then scale
the data and play it back through LED, buzzer or
motors; Create and test Java code for 2008 Free
Response Flight Question #1 in groups; Have students
explain how an item is added and removed from an
array and then how an object is added and removed
from an arraylist; Give students different scenarios (for
an appointment app for example) and ask them if they
would recommend using an array or arraylist
Assessment: Chapter 8 Test
Topic: Inheritance,
superclass constructors,
protected and package
access control [CR1]
[CR2] [CR3] [CR4]
[CR5]
(Week 9&10)
Objective: Learn about inheritance, understand how to
inherit and override superclass methods, invoke
superclass constructors, protected and package access
control
Reading:
 Big Java Chapter 10
 D&S Marketing Chapter 4 & 6
5
 Barron’s Chapter 3
Assignments: Complete Big Java Review Questions
R10.1-10.5, R10.8, R10.10 and Programming
Exercises P10.1, P10.11, P10.12; PC Game and
Cylinder Inheritance programs; D&S Marketing
Chapter 4 ex 1-12 in groups; D&S Marketing Chapter
6 ex 1-12; Barron’s Chapter 3 ex 1-26; Complete
PracticeIt website Marketer inheritance program; In
groups have the students write and test Java code for
2005 Free Response Ticket Question #2 which
involves 2 levels of inheritance: Ticket<- Advance<StudentAdvance
Assessment: Chapter 13 Test
Topic: interfaces,
polymorphism, Inner
Classes [CR1] [CR2]
[CR4] [CR6]
Objective: Learn about interfaces, convert between
class and interface references, understand
polymorphism, how interfaces can be used to decouple
classes, using helper classes as inner classes
(Week 11&12)
Reading:
 Big Java Chapter 9
 D&S Marketing Chapter 13
Assignments: Complete Big Java Review Questions
R9.1-R9.4, R9.9 and Programming Exercises P9.2,
P9.4, P9.13, P9.14; D&S Marketing Chapter 13 ex 112; PracticeIt website minToFront method; Elevens
Lab
Assessment: Chapter 9 Test
6
Topic:
Exceptions,Throwing an
Exception [CR7]
Objective: Understand common exceptions that are
thrown
Reading:
(Week 13 Day 1)
 Big Java Chapter 11
Learn about All Students are expected to understand
exceptions that occur when their programs contain
errors: NullPointerException,
ArrayIndexOutOfBoundsException,
ArithemticException, ClassCastException,
IllegalArgumentException
Topic: Recursion [CR1]
[CR2] [CR3] [CR4]
[CR5]
Objective: Learn about recursion, understand the
relationship between recursion and iteration, analyze
problems that are much easier to solve by recursion
than by iteration
(Week 13)
Reading:



Big Java Chapter 13
D&S Marketing Ch9
Barron’s Chapter 7
Assignments: Complete Big Java Review Questions
R13.1, R13.2, R13.3, R13.6 and Programming
Exercises P13.1, P13.4, P13.5, P13.6; D&S Marketing
Ch9 ex 1-12 in groups; Barron’s Book chapter 7
exercises; Have students act out recursive method by
using method call sheets, CodingBat.com Recursion
problems; Implement and test a recursive program
which solves Numbrix puzzles
(http://www.parade.com/numbrix); Compare fibonnaci
series runtime/execution counts for iterative versus
recursive approach
Assessment: Chapter 13 Test
Topic: Selection,
Merge, Quick and
Insertion Sorts, Linear
and Binary Searching,
Comparable Interface
[CR1] [CR2] [CR3]
[CR4] [CR5][CR6]
Objective: Learn about several sorting and searching
algorithms, understand performance differences
between the different algorithms, how to estimate and
compare the performance of algorithms, insert-deletetraverse sorting algorithms, Comparable Interface
Reading:
7
(Week 14-15)



Big Java Chapter 14
D&S Marketing Chapter 12
Barron’s Book Chapter 12
Assignments: Complete Big Java Review Questions
R14.1, R14.3, R14.6-R14.8 and Programming
Exercises P14.1, P14.2, P14.4, P14.6; D&S Marketing
Ch12 ex 1-12 in groups; Barron’s Book Chapter 12 ex
1-31 (skip 14, 19, 21,23,28); Use Lucidachart online
app to create a triple Venn Diagram of any three
sorting algorithms: selection, merge, quick and
insertion sorts; Create your own utility class that
includes all searching and sorting algorithms (display
the number of comparisons for the sorting algorithms)
and then use this utility class to graph the number of
comparisons for 3 different sized arrays; Have students
watch various gypsy/Romanian sorting dance videos
and then have them write the steps to sort a simple list;
Have each student hold up a number such as 3, 35, 17,
24, 42 and then sort themselves using different sorting
algorithms
Assessment: Chapter 14 Test
Topic: Review Old AP
Exams & Complete
Practice Questions
(Week 16)
Barb Ericson Georgia Tech ICE website with sample
AP questions
Maria Litvin Released Exam Free Response Websitehttp://www.skylit.com/beprepared/fr.html
Barron’s Book Practice A level exams questions
“175 Multiple-Choice Questions in Java” book by
Maria Litvin
AP Computer Science course description 25 Multiple
Choice questions and 4 Free Response Questions
College Board’s AP Computer Science Released
Practice Test
Multiple Choice & Free Response Questions in
Preparation for the AP CS Exam by Leon Schram
Teaching Strategies
8
I begin the semester by talking with students about the valuable skills they’ll learn in the
course and clearly explain the expectations for an AP course. In addition, my school has an
AP contract that all AP students and parents sign which provides them with an overview of
behavior and academic expectations for AP classes.
I start each unit with a reading assignment followed by an interactive presentation. We go
over the topic during the presentation. The presentation includes formative assessment
multiple choice questions that gauges students understanding. This is followed by classroom
discussion, textbook review and programming problems, D&S Marketing group assignment
questions, Barron’s Book reinforcement and homework practice. Finally, I give Unit Tests
that include multiple choice questions, programming problem(s) and short answer
question(s).
Writing computer programs is critical to understanding the course material. The textbook
programming assignments are completed on an individual basis. I use a program to randomly
assign students to a computer each day. This encourages collaboration among a variety of
students, which at the same time discouraging copying among a few. For some units I assign
old AP exam Free Response questions that the students code and test in Java. The students
complete the programming assignments during class, which minimizes cheating incidents
since there are lots of coding solutions online.
I have integrated the AP Computer Science A Labs into my course at appropriate times based
on their content, which account for a minimum of 20 hours of hand-on lab work (eg four
hours on Magpie labs, six hours on Picturelab Lab and ten hours on the Elevens lab)
The week before the AP exam I have the students practice sample questions from various
resources shown above (for week 16). I also administer the College Board’s AP Computer
Science released practice test. We go over the practice test together. I also review testing
taking tips.
Differentiated Instruction
I understand the different students learn in different ways. I use various teaching techniques
including role-plays, group work, formative warm-up activities, student presentations and
various multiple response strategies to engage students. I have various review books and
online resources to extend learning for students who finish early. I also provide tutoring and
extra support for students who may be struggling.
AP Bowl Competition
During the 14th week, I encourage all students to participate in the Georgia Tech AP
Computer Science Bowl competition. This is a great competition because it helps prepare
students for the real AP exam by giving them 40 AP level multiple choice questions to
answer, which is the same number of Multiple Choice questions on the AP exam. All of the
students say this competition is a fantastic experience and it helps them get ready for the real
exam.
9
Download