Introduction:
Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled by computer science while exploring the field’s most important tool—programming. This is a year-long course.
The first semester will focus on Java programming language fundamentals, including using classes, strings, primitive data types, code flow, and arrays. The second semester will include advanced class design, error handling, basic sorting algorithms, and an in-depth analysis for a large program with complex structure and behavior.
Prerequisites:
Computer Programming I or AP Computer Science Principles must be taken prior to AP Computer Science A. Students not previously completing the Prerequisite course but who have successfully completed Algebra II with a C or better may receive instructor approval to take AP Computer Science.
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.
Course Goals:
Successful completion of this course and its projects will prepare students for the AP Computer Science A exam on May 2, 2017, and for a second-semester college programming course. Students will be able to:
-
identify and discuss the major hardware and software components of a computer system
-
recognize the ethical and social implications of computer use and software creation
-
design, implement and debug computer-based solutions to problems in diverse application areas
-
use, implement and analyze common algorithms and data structures
-
write clear and efficient code using good Java syntax and programming style
-
know when and how to use Java library classes
-
read, understand, and contribute to large programs consisting of several classes.
College in the High School:
Through the UW in the High School (UWHS) program, high school students can complete University of Washington courses – and earn UW credit – in their own classrooms with their own teachers. Students and teachers use UW curriculum, activities, texts, tests, and grading scales. Students earn a final grade over time; a grade does not depend on one exam. Students receive recognition for their UW work at most public institutions and many private ones.
EHS students in grades 10, 11, and 12 are eligible to register for UW CSE 142 through UWHS. Registration and tuition fees for UW CSE 142 course are $370 for the 2016-2017 school year. Financial assistance may be available. Please see teacher for registration requirements and counselors for financial assistance information.
This course fulfills all requirements for the University of Washington's CSE 142 course, and uses all required elements such as textbook, assessments, evaluation, and grading. As such, it is possible for a student to have different grades appear on their High School and College transcripts. Specifically, CSE 142 does not include a reassessment policy, whereas AP Computer Science A permits reassessments. Additional information will be provided for those students interested in the UWHS option.
Classroom Expectations
The following norms will be maintained:
-
Be disciplined to do your best work. This means coming to class on time with appropriate materials; participating; completing all assignments; asking questions.
-
Be respectful to everyone in this class and to their property.
-
Be cooperative and follow all school and teacher instructions. The class can’t move forward if we all move in different directions!
-
Only water in a closed container may be consumed at your desk. Absolutely no gum in the classroom.
-
The use of Electronic Communication Devices (ECD’s) is at the instructor discretion, not yours.
Required Material:
The following materials will be provided for students:
-
Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 3rd ed. Boston: Addison-Wesley, 2014.
-
College Board. AP Computer Science Quick Reference Guide. New York: College Entrance Examination Board, 2006.
-
Teukolsky, Barron’s: AP Computer Science A. New York: Barron’s Educational Series, Inc., 2015.
Students must provide the following materials:
-
Flash drive for backing up work
-
Dedicated notebook brought to class every day – this is a requirement and will be graded
-
Dedicated space in a binder for handouts
-
Pencil or pen – brought to class every day
Working at home:
Students are expected to have regular access to a computer at home. All software we will be using in class can be downloaded for free and installed on a home computer.
We will use jGRASP 2.0.3 in class and students should do the same when working outside of the classroom. To install the jGRASP framework, you will need two things: the Java JDK and the jGRASP IDE. Use these links to download and install the requisite software.
Java JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html
jGRASP IDE: http://spider.eng.auburn.edu/user-cgi/grasp/grasp.pl?;dl=download_jgrasp.html
Installation is fairly automatic. If you have problems, please contact one of us and we’ll help you get things up and running.
Grade reports: Students and parents can access grades online through the LMS system. For information or to log in, go to http://www.everettsd.org/LMS. You are expected to check your grade regularly and bring any concerns or questions to my attention in a timely manner. Students will be assessed both on formative and summative work.
End of Course Grades:
End of course grades are used to communicate information about student proficiency on content standards to students, parents, educators and other stakeholders.
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-
Grade Breakdown:
Formative Assessments: - 30% - including but not limited to homework and quizzes
Formative assessments are meant to provide information to students for self-evaluation and to the classroom /program to inform the next steps of instruction.
Homework
There will be weekly homework projects due on Friday that will require you to design, implement, and test programs of varying complexity. You may obtain help from me or from the TEALS mentors. However, you are expected to do the work by yourself.
You will complete a set of assignments found on the website: http://practiceit.cs.washington.edu/practiceit
Assigned problems will be verified as completed during class time; they are not turned in.
Quizzes
There will be weekly quizzes that are relatively short in length, given on Monday, taken from the required readings or videos, and given in-class. These quizzes are there to ensure that you are keeping up with the reading and class material. The quizzes will typically test your general knowledge of the material presented and should be used by you to gauge your progress.
Summative Assessments: - 70% - including but not limited to projects, labs, exams, midterm, and final
Summative assessments are used to provide evidence of student achievement for the purpose of making a judgement about student competence or program effectiveness against a standard or benchmark.
Examinations
There will be Unit Exams. The exam dates will be provided at least one week in advance and may include questions on any of the material presented in class or covered in the book/videos. All Examinations will be presented in the AP Exam format and will be completed on paper, not the computer.
Projects
Each unit has one or more projects associated with it. These projects are meant to showcase the topics learned in the unit and may occasionally be collaborative in nature. These projects are typically more comprehensive than exercises or problems found in the book or on Practice It. Expect to put additional effort into these assignments.
Labs
There are a minimum of three major labs which will be completed by the end of the year. These labs are more challenging in design and required skills than projects. It will be necessary to work on labs in both the classroom and at home in order to meet posted checkpoints. Labs will not be collaborative in nature. You are expected to do the work by yourself.
Everett High School Reassessment Policy:
-
All students will have the opportunity to retake summative assessments. Formative assessments and assignments may be redone at the discretion of the teacher.
-
Retakes may not apply to long-term, multi-step assessments such as research papers, projects or presentation. In many of these cases, students receive feedback on each step of the process and have multiple opportunities to redo portions of the paper or project before final submission.
-
Prior to a reassessment, students must provide evidence that relearning has occurred by completing a reassessment plan including the required formative and corrective work as determined by the teacher.
-
Students must complete reassessments within a reasonable amount of time allowing for re-teaching/relearning to take place. Reassessment plans should be complete within 7 school days of the original assessment and prior to the last two weeks of the current term.
-
Students may be reassessed on a portion of the summative assessment, the entire summative assessment, or in a completely different format as determined by the teacher.
-
The higher of the two grades will be recorded.
-
All laws, statutes and policies pertaining to IEP or 504 accommodation plans will remain in place
Attendance Policy:
Be prompt and punctual. Remember that we are all learning to be valuable employees in the business world. Absence from school does not release the student from the responsibility of doing the required class work. Everett Public Schools views any absence as a time when a student is not in class after the first 5 minutes. It is the responsibility of the student to find out what was missed and arrange for make-up work. Make-up work is expected to be completed outside of class hours. This means a student who is absent may need to come in during Nesika, lunch, before school or after school to receive instruction on missed topics and/or work on make-up assignments. In the case of a planned absence, notice must be given to the teacher three days prior to the absence in order to prearrange work.
Schoolwork missed due to truancy or other unexcused absence is considered late and may result in reduction of credit. This includes homework, quizzes, tests, projects, labs, presentations, etc. School work needs to be submitted on time.
Tardy Policy:
My tardy policy is the same as listed in your student handbook. Remember, as in the "real world", it is the individual's responsibility to get to class or work on time.
Success in class:
What you should most keep in mind to be successful in this or any class is to recognize that you absolutely can be successful, regardless of your previous performance. All it takes is for you to:
-
Choose to do all the work required or suggested by your teacher;
-
Choose to stay engaged;
-
Choose to ask questions when you don’t fully understand;
-
Choose to come in for extra help when needed; and finally,
-
Choose to not give up!
Your success in this class is my goal for you this year, and I hope it is your goal as well! If you are having any problems, please talk to me, so that we can figure out a solution!
Course Topic Outline
Topic
|
The Student will be able to…
|
Intro to Java and Static Methods
| -
Work with jGRASP
-
define algorithms
-
create simple programs with comments
-
use structure diagrams
-
understand how to find errors and correct code
|
For Loops and Data Type
| -
Identify and categorize data types
-
identify, declare and assign variables
-
work with strings
-
convert types by casting
-
trace loops
-
identify the scope of a variable
-
plan and construct nested loops
|
Conditionals, While Loops, String Parsing
| -
Construct formal and actual parameters
-
write programs returning values
-
use the math class
-
differentiate between primitive and object types
-
write programs accepting user input
-
evaluate relational expressions, predict, and trace the flow of an if statement
-
correctly utilize nested if statements
-
differentiate between while loops, if statements, and for loops
-
describe when to use fencepost and sentinel loops
|
Arrays and ArrayList
| -
define, populate, and access arrays
-
manipulate single dimension arrays
-
compare and contrast how primitives and arrays are treated when passed as parameters
-
shift elements within and array
-
correctly adjust nested loop headers for use with arrays
-
construct code using ArrayList
|
Objects
| -
describe and create classes, objects, and client code
-
use two dimensional arrays of objects
|
Inheritance, Polymorphism, Interfaces
| -
define inheritance
-
use proper syntax to extend a class
-
replace superclass behavior
-
define polymorphism
-
trace the execution of methods through a class hierarchy
-
identify and explain why two classes have an is-a or a has-a relationship
-
implement and use interfaces
-
write complex code that uses polymorphism, inheritance, and interfaces
|
Searching and Sorting
| -
compare and contrast different search algorithms and sorting methods
-
evaluate relative speed and efficiency of sorting methods
-
demonstrate effective use of object oriented program design, program implementation and analysis, and standard data structures and algorithms
|
Recursion
| -
describe recursive methods
-
predict the output of recursive methods
-
model how recursive methods execute
|
AP Review
| -
review and prepare for the AP exam
|
After the AP Exam projects
|
|