H . M. Jackson High School
AP Computer Science Syllabus
Mrs. Thorleifson
There are 10 kinds of people in the world those who understand binary and those who don’t
Introduction
Students will learn Java, an object-oriented programming language that is the language used in the Advanced Placement (AP) Computer Science test and is the first language taught at the University of Washington. Students will learn the fundamentals of object oriented programming with a culminating project designed and written by each student. The scope and content of this course will be very similar to that of the University of Washington's Computer Science and Engineering 142 (CSE 142) course.
Prerequisites
UW Computer Science Principles. This course may also be taken with permission of the instructor, depending on prior experience and level of mathematics success.
Students not willing to use class time effectively, students without strong attendance habits, and students not willing to meet deadlines are likely to have extreme difficulty passing this class.
Expectations:
This course follows the University of Washington CS 142 course, and students are expected to function independently as will be required in college. We will be moving at a fast pace to cover all the necessary material for the AP® CS Exam in early May, and future lessons build upon previous one’s. Students are required to keep up with the pace, and this typically requires a few hours of homework each week. Class lectures, assignments and projects are posted daily on our class website and students missing class are expected to make up work promptly. Students in this course will be expected to:
-
Ask for help as necessary significantly before deadlines
-
Complete projects independently demonstrating their own work
-
Follow collaboration policies and periodically work in small groups
-
Turn in assignments before their deadlines
-
Contribute to making the classroom an effective learning environment- be respectful of other students and staff
-
Respect all members of the class at all times and allow everyone to contribute
-
Know and follow school/district rules
-
Be respectful of equipment and property
-
No food or drink is allowed in class
-
No ELECTRONIC DEVICES DURING CLASS TIME
-
No games (except for the projects that you code)
-
Do your best work and use class time as directed by your teacher
-
Seated and ready to begin when the bell rings
-
Use of computers limited to completing school work.
Course Material:
Class presentations and code samples will be posted on line and there are several supplemental video lessons and labs from the UW instructors to support material; these resources will be available from the course website and in class. Since this is an Advanced Placement® class, it will use resources from the College Board, including the AP® GridWorld Case Study. Additional AP® CS material will be reviewed and discussed as the date of the exam approaches. We will be using several different software tools in the course, specifically the Java SDK and jGrasp/netbeans. All of them are installed on the computers in the lab. Most of the software is free and available for anyone to download and use on their own computers. So you can also work at home or anywhere you have full access to another computer. (see website for download links http://www.everettsd.org/Page/10324)
Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 3rd ed. (Boston: Addison-Wesley, 2014).
College Board. AP GridWorld Case Study and AP Labs. (New York: College Entrance Examination Board, 2006).
College Board. AP Computer Science Quick Reference Guide. (New York: College Entrance Examination Board, 2006).
Required Classroom Materials:
AP test prep – students taking the AP test are required to purchase this text and attend AP review sessions for the test (dates to be determined).
Teukolsky, Roselyn. Barron’s AP Computer Science Levels A and AB 2008, 4th ed. Hauppauge, N.Y.: Barron’s Educational Series, 2014.
External storage device to backup program files.
Students are responsible for backing up all work using the school server and their CD. Work stored on the local hard drive is not secure and should not be viewed as long-term storage.
Student must have writing instruments (pens and/or pencils), paper and a binder for the class every day to keep notes and maintain a journal. Handouts will be given periodically that will enhance note taking and should be collected in a binder. These handouts and your class notes can be used for most of the exams in this class, except for both semesters’ final Practice AP exams. In order to work on your projects & classwork outside of school, you will need a flash drive to transport programs back and forth. It is highly recommended to maintain backup copies of your work in case one copy becomes corrupted or is lost.
Class website
http://everettsd.schoolwires.net//Domain/992
Grading Scale
93 – 100% A 87 – 89% B+ 77 – 79% C+ 60 – 69% D 0 – 59% F
90 – 92% A- 83 – 86% B 73 – 76% C
80 – 82% B- 70 – 72% C-
Grading Categories
The following is the most current explanation of categories and approximate points for each category. It may be necessary to adjust this during the course of the semester.
-
Programming Projects (75%)
The majority of the points earned in this course will come from the satisfactory completion of programming projects. There are a series of ten projects that students will work through during the semester and a grading rubric for each. In addition to the AP Labs
-
Quizzes and Final Exam(20%)
-
Daily Activities and SCANS and Leadership(5%)
At the beginning of the period each day students will be required to complete a task related to either the current topic of Computer Programming 2 or another related topic.
In addition, students will also be evaluated on selected elements of SCANS~ (Secretary’s Commission on Achieving Necessary Skills) ~
“… Displays responsibility, self-esteem, sociability, self-management, and integrity and honesty . . . displays high standards of attendance, punctuality, enthusiasm, vitality, and optimism in approaching and completing tasks. . . Works well with others…”
Absence, Tardy, & Truancy Policy
Jackson H. S. and Everett School District policies with regard to attendance will be followed strictly. Students will receive no credit for any graded activity that occurs on a day that they have an unexcused absence.
Hall Passes:
A student may be dismissed from class for personal reasons for up to five minutes by receiving permission from the instructor, filling out information on the “Sign-out Sheet”, and using the hall pass provided.
Classroom Safety
Students in all CTE (Career & Technical Education) classes will cover safety issues related to class and industry related for the class. Students will not be able to use school equipment until safety issues are addressed and understood by students. If there is an accident, please contact the instructor immediately. Theft of the equipment and or abuse of the equipment will not be tolerated and will be grounds for removal from class and the student will be responsible for the replacement value of the equipment.
Course Topic Outline – see website for up to date schedule http://www.everettsd.org/Page/16733
TIME
|
TOPICS
|
1 week
|
Unit 0A – Computer Science, Computer Lab, and Objects Introduction
AP Topics – Test classes and libraries in isolation; Identify and correct errors : compile-time, run-time, logic; Categorize error: compile-time, run-time, logic; Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code; Understand and modify existing code; Inheritance; Object-oriented development; Top-down development; Encapsulation & information hiding.
Student Objectives - Students will learn what Computer Science is, how a computer lab works, how to use the computer, how the network is setup, and how to use the labs and the network in an acceptable/ethical manner. Students will learn the basic syntax for Java and how to debug a program, the difference between a compile error and a syntax error, how to identify and correct errors, how to add to and remove from existing code. Students gain experience working with a large program, modifying existing code of a large program, and expanding and extending existing code.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : AP CS GridWorld Case Study
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Unit 0B - Computers
AP Topics – Primary and secondary memory; processors; peripherals; language translators/compilers; virtual machines; operating systems; networks; single-user systems; networks; system reliability; privacy; legal issues and intellectual property; social and ethical ramifications of computer use.
Student Objectives – Students will learn all of the fundamental components of a computer, how a computer works, hardware, software, compilers, programming languages, basic computer operations, integrity, and responsible use of the computer.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Slides, Worksheets, etc.
Assessments : Quizzes and Tests(m/c)
|
1 week
|
Units A and B – Output and Variables
AP Topics – Primitive types vs. Objects; Constant declarations; Variable declarations; Console output; Java library classes; Simple data types(int, boolean, double); Classes; Representations of numbers in different bases; Limitations of finite representations.
Student Objectives – Students will learn what a variable is, how to define a variable, how to assign values to a variable, the difference between a primitive type and a reference, and how to print/println values to the console window.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : ASCII Art, Area of a Triangle, Area of a Square
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Units C and 1 – Input and Methods
AP Topics – Variable declarations; Console output; Java library classes; Simple data types(int, boolean, double); Classes; Method declarations, Class declarations; Parameter declarations.
Student Objectives – Students will learn how to perform basic input operations, write methods, define and pass parameters, and use graphics to make shapes and pictures.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Smiley Face, House, Robot
Assessments : Labs, Quizzes, and Tests(m/c)
|
2 weeks
|
Unit 2– Classes, OOP, Math Operations
AP Topics – Object Oriented development; Top-down development; Encapsulation and information hiding; Procedural abstraction; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students will learn how to declare a class, class methods, and parameters, the difference between constructors, accessors, and modifiers, learn how to read and understand a problem description, purpose, and goals. Students will learn to solve problems using mathematical operators(+,-,/,*,%), mathematical formulas, and Math class methods.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Area of Triangle, Area of Square, Heron’s Formula, Miles Per Hour, Quadratic Formula
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Unit 3 - Strings and OOP
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students will learn how to instantiate a String, more about references, how to create a reference to a String, perform String input and output, how to use String methods(length, substring, indexOf, charAt), how to write return methods(toString), and how to create more sophisticated classes.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Concatenation, FirstLastLetter, StringRipper, Name
Assessments : Labs, Quizzes, and Tests(m/c)
|
3 weeks
|
Units 3-4 – Conditionals – If, If else, If else if, Switch Case
AP Topics – Conditional; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students learn how to use if, if else, if else if, and switch case to test conditions and add decision making to their programs, and Boolean conditions and variables. Students learn how to use relational operators(>,<,>=,<=,!).
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : OddEven, Animated Car, Distance, SocialSecurity#, Grade, HexToBinary, Number Compare, String Equality, String Length, Morse Code, Mouse Button Tester
Assessments : Labs, Quizzes, and Tests(m/c)
|
2 weeks
|
Units 3-4 – Iteration – For Loop and While Loop
AP Topics – Iteration; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students learn how to use for loops, use while loops, add iterative processes to their programs, and use Boolean conditions and variables. Students learn the different parts of a loop and when to use a particular type of loop. Students will learn when to use Integer.MAX_VALUE and Integer.MIN_VALUE.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Greatest Common Divisor, Prime, MutliplicationTable, Binary To Ten, Perfect, BackWards String, Box Word, Factorial, Decreasing Word, Divisors, Reverse Num
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Unit 4 - Boolean Logic and Boolean Laws
AP Topics – Boolean; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students learn boolean laws, truth tables, logical operators(&&, ||, !, ^), how to use do while loops, how to use boolean logic to solve problems, and how to use Random and Math.random() to generate random numbers.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Lab : Password Checker, BiggestDouble, BiggestString, Guessing Game
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Unit 3 - Iteration – Nested Loops
AP Topics – Iteration; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students learn how to use nested loops, add iterative processes to their programs, and use Boolean conditions and variables. Students learn how to use nested for and nested while loops.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : TriangleLetter, BoxWords, TriangleWords, RandomColoredBoxes, Triples
Assessments : Labs, Quizzes, and Tests(m/c)
|
2 weeks
|
Units 4 – Chopping Strings and File Input
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students learn how to use Scanner to chop up Strings, to read data from data files, to instantiate Objects using the data extracted from files. Students learn more about constructor overloading and using a single class for multiple purposes.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Prime, Box, Biggest Number, Average, GCD, Dog Food, Line Breaker, Pig Latin
Assessments : Labs, Quizzes, and Tests(m/c)
|
2 weeks
|
Units 5 - One dimensional arrays
AP Topics – One-dimensional arrays; Traversals; Insertions; Deletions; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students will learn how to instantiate a one-dimensional array, add items to a one-dimensional array, delete items from a one-dimensional array, and use a one-dimensional array to solve problems. Students will learn the differences between arrays of primitives and arrays of references.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Biggest, Histogram, GraphicTree, Fibonacci, WordSorter, StringArrays
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
|
End of Semester One
|
2 weeks
|
Unit 7- ArrayList / Critter
AP Topics – One-dimensional arrays; Traversals; Insertions; Deletions; Object Oriented development; Searching; Sorting; Test classes and libraries in isolation; Identify boundary cases and generate appropriate test data; Perform integration testing; Choose appropriate data representation and algorithms.
Student Objectives – Students will learn how to add to, delete from, sort, search, and perform all types of manipulations on an ArrayList. Students will learn about the java.util.List interface.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, AP CS GridWorld Case Study, etc.
Labs : GradeBook, Histogram, Map, AP CS GridWorld Case Study
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
1 week
|
Unit 8 – References / Parameters
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students will learn more about references and parameter passing. Students will learn the differences between passing primitives and references as parameters.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : ArrayTools, WordPrinter, LetterBoxes, TwoDRay, ThreeDRay
Assessments : Labs, Quizzes, and Tests(m/c)
|
1 week
|
Unit 8-9-11 - Interfaces / OOP
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations; Interface declarations.
Student Objectives – Students will learn how to design and implement a class; apply data abstraction and encapsulation; and implement an interface and learn why interfaces are useful. Students will learn how interfaces are used to build hierarchies.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Monster, SortByVowels, RomanNumerals
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
1 week
|
Unit 10 – Array of References
AP Topics – One-dimensional arrays; Traversals; Insertions; Deletion; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations.
Student Objectives – Students will learn more about storing references in arrays. Students will learn the difference between arrays of primitives and arrays of references.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : ArrayOMonsters, AP CS GridWorld Case Study, GradeBook, TicTacToe
Assessments : Labs, Quizzes, and Tests(m/c and free resposne)
|
2 weeks
|
Unit 11 - Inheritance
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations; Interface declarations; Read and understand class specifications and relationships among the classes("is-a", "has-a" relationships); Understand and implement a class hierarchy; Identify reusable components from existing code using classes and class libraries; Choose appropriate data representation and algorithms.; Extend a class using inheritance.
Student Objectives – Students will learn how to extend a given class using inheritance, design and implement a class hierarchy, write a multi-tiered game with graphics and animation. Students will learn how to build a new class from an existing class using extends and super calls. Students will learn how to use static variables.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, AP CS GridWorld Case Study, etc.
Labs : Pong(Block, Ball, Paddle, Game), AP CS GridWorld Case Study
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
1 week
|
Unit 12 - Recursion
AP Topics – Recursion; Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Class declarations.
Student Objectives – Students will learn how to use recursion to solve problems, the benefits of using recursion, when to use recursion, and the negative effects of using recursion.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : RecursiveCircles, MazeSolver, TrashCollector
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
1 week
|
Unit 6-13 - Advanced Sorting and Searching / Comparable
AP Topics – One-dimensional arrays; Traversals; Insertions; Deletions; Object Oriented development; Searching; Sequential Search; Binary Search; Sorting; Selection Sort; Insertion Sort; Merge Sort; Test classes and libraries in isolation; Identify boundary cases and generate appropriate test data; Perform integration testing; Choose appropriate data representation and algorithms; Analysis of algorithms; Informal comparisons of running times; Exact calculation of statement execution counts.
Student Objectives – Students will learn to identify all sorting and searching algorithms, code all sorting and searching algorithms, and to select the appropriate sorting and searching algorithm for the appropriate situation. Students will learn where to use a particular sort/search and the benefits of using a particular type of sort/search.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs : Insertion Sort, QuickSort, MergeSort
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
2 weeks
|
Unit 14 - Abstract Classes
AP Topics – Object Oriented development; Read and understand a problem description, purpose, and goals; Class design; Method declarations; Parameter declarations; Class declarations; Interface declarations; Read and understand class specifications and relationships among the classes("is-a", "has-a" relationships); Understand and implement a class hierarchy; Identify reusable components from existing code using classes and class libraries; Choose appropriate data representation and algorithms; Extend a class using inheritance.
Student Objectives – Students will learn how to design and implement an abstract class, extend an abstract class to make sub classes, and implement an interface. Students will learn to compare and contrast a class, an interface, and an abstract class. Students will learn when to use an interface, when to use an abstract class, and when to use static variables.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, AP CS GridWorld Case Study, etc.
Labs : BlackJack(Card, Deck, Player, Dealer, Game), AP CS GridWorld Case Study
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
2 weeks
|
Unit 15 – Matrices
AP Topics – One-dimensional arrays; Two-dimensional arrays; Traversals; Insertions; Deletions; Object Oriented development; Class design; Method declarations; Parameter declarations; Class declarations; Top-down development; Encapsulation & information hiding.
Student Objectives – Students will learn how to instantiate a one-dimensional and two-dimensional array, add items to a one-dimensional and two-dimensional array, and delete items from a one-dimensional and two-dimensional array.
Guided Practice : Topic discussion, Example program analysis and modification, Worksheets
Readings : Labs, Slides, Worksheets, etc.
Labs: Pascal’s Triangle, 3DArray, Tic Tac Toe
Assessments : Labs, Quizzes, and Tests(m/c and free response)
|
3 weeks
|
AP Review Time
Guided Practice : Review topics, AP CS GridWorld Case Study
Guided Practice : Past year’s free response and multiple choice questions
Guided Practice : Slides, AP CS GridWorld Case Study
Readings : Past year’s free response and multiple choice questions
Readings : Review book units
|
|
End of Semester Two
|
Syllabus Verification
Student Name PRINTED:
Please sign, date, and return to indicate understanding and consent. Call immediately if unclear or concerned regarding any issue addressed in this syllabus.
Parent Questionnaire
I will be updating grades on-line approximately every two weeks. Your student and/or you can register for access to this information. You can even request a progress report to be emailed to you every Friday.
It is my intention to update grades every two weeks. I believe you will help your student succeed by staying informed of his or her progress. Please indicate (below) the method you believe will be the most beneficial for you.
-
I will monitor my student’s grades myself on-line at the Everett School District IMS web site by registering at https://ims.everett.k12.wa.us
-
I will monitor my student grades by having my student access the Everett School District IMS web site at school and printing off a progress report whenever I ask him or her for it.
-
I would rather receive printed progress reports from the instructor every two weeks. (Please note that with this option I will require the student to return a signed note from you indicating that you’ve received this progress report.
Student Date
Parent/Guardian Date
Parent/Guardian Day & Evening Phone(s) and/or Email(s):
-
I plan on taking the AP exam
-
I plan on purchasing the AP Barron’s Test Prep
Page |
Share with your friends: |