AP CS Syllabus

advertisement
AP ® Computer Science
Mr. Houlahan
Course Description:
This course is designed for college-bound students who are interested in learning to
program computers. The course will be taught using the Java language. Major topics will
include knowledge of computer systems, variables, expressions, input-output,
conditionals, loops, object oriented programming, arrays, parameters, simple recursion,
searching, sorting, and strings. Application projects will be assigned. This course will
help prepare students for the advanced placement test in the computer language Java.
Assessment:
Your assessment will be broken down by the following categories:
1. Homework – 10% of final grade
2. Programs – 40% of final grade
3. Tests and Quizzes – 50% of final grade
How Do I Receive an A In This Class?
Follow the expectations of the class: Come to class prepared every day on time. Finish
your assignments on time. Respect everyone and everything in the classroom. Respect the
time given to you during this class period. Use your brain, programming takes problem
solving skills. Do the work and try your hardest. Be honest in everything you do. Get
involved and have fun. If you meet all of these criteria, the rest will take care of itself.
Expectations:
1. Be in the computer lab by the beginning of class ready to learn.
2. All assignments not turned in on time are worth half credit.
3. After being absent, it is your responsibility to check with the teacher or your
classmates to find out what you missed.
4. Take care of the lab and its equipment. Please do not alter the computers in any way
(download software, files, etc.)
Course Resources:
Java Software Solutions for AP Computer Science A, J. Lewis, W. Loftus, and
C. Cocking, 2nd Edition, 2007, Prentice Hall.
AP® GridWorld Case Study
Unit 1: Introduction to the Programming Environment
This unit begins teaching students how to plan their work by learning about proper
pseudo code and flowchart structures. Students are led through their first program (Hello
World) to explore the format of a proper Java program. They continue with learning how
to use simple input/output, primitive data types, the String class, arithmetic expressions
and random number generation.
Resources
• Lewis, Loftus, Cocking: Chapter Two
Unit 2: Conditional and Repetition
Students focus on how to use conditionals (if, if---else, switch) and repetition (for, while,
do while) structures.
Resources:
• Lewis, Loftus, Cocking: Chapter Three
Unit 3: Methods and Classes
Students learn how to create their own classes by defining objects. Proper method and
class structure is emphasized. They are also introduced to interfaces (Comparable),
inheritance, and polymorphism.
Resources:
• Lewis, Loftus, Cocking: Chapters Four, Five and Seven
Unit 4: Advanced Programming Structures
This unit focuses on the creation of advanced data structures and algorithms. Topics
include 1-D and 2-D arrays, Array Lists, sorting algorithms (Insertion Sort, Selection
Sort, and Merge Sort) and recursion.
Resources:
• Lewis, Loftus, Cocking: Chapters Six and Eight
• Flash animations describing recursion
Unit 5: AP GridWorld Case Study, continued
Students work through Parts Two, Three and Four of the AP GridWorld Case Study.
Resources:
• AP GridWorld Case Study
Unit 6: The Computer and Society
Students explore how the computer has affected society. Topics include the evolution of
computer languages, ergonomics, ethics and computer careers.
Resources:
• Evolution of Computers Languages – comparisons between languages
Unit 7: Input/Output
This unit teaches students how to use input and output streams. Topics include try and
catch, exceptions, standard I/O, and reading from and writing to text files.
Resources:
• Lewis, Loftus: Chapter Eight
Unit 8: Getting Ready for the AP Exam
Students work through sample multiple-choice questions and free-response questions.
Students review Java theory and the AP GridWorld Case Study.
Resources:
• AP GridWorld Case Study
• Supplemental handouts------multiple-choice and free-response questions
Unit 9: Final Project
Students work through a series of summative assignments that evaluate their ability to
work through the development of a program. Tasks include writing a program proposal,
planning the program using pseudo codes/flowcharts, creating a user’s manual, writing
program code, and creating a limitations document. The project will include writing a
gaming program and a read me file that provides a brief description of the program, the
design of the program, a list of any bugs or known issues in the program and any special
compiling instructions.
Download