Course Syllabus - Highland Park High School
Course Syllabus - Highland Park High School
Course Syllabus - Highland Park High School
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
AP COMPUTER SCIENCE I (2013-2013)<br />
Instructor: Brenda McGurgan Room: G-202<br />
Phone: 214-780-4772 Conference Period: 8 th period (2:40-3:30)<br />
Email: mcgurgb@hpisd.org<br />
<strong>Course</strong> Description and Goals<br />
The AP Computer Science A course is an introductory course in computer science. Because the design and implementation<br />
of computer programs to solve problems involve skills that are fundamental to the study of computer science, a large part<br />
of the course is built around the development of computer programs that correctly solve a given problem. These programs<br />
should be understandable, adaptable, and, when appropriate, reusable. At the same time, the design and implementation of<br />
computer programs is used as a context for introducing other important aspects of computer science, including the<br />
development and analysis of algorithms, the development and use of fundamental data structures, the study of standard<br />
algorithms and typical applications, and the use of logic and formal methods. In addition, the responsible use of these<br />
systems is an integral part of the course.<br />
Upon completion of the class, students should be able to:<br />
• design and implement solutions to problems by writing, running, and debugging computer programs.<br />
• use and implement commonly used algorithms and data structures.<br />
• develop and select appropriate algorithms and data structures to solve problems.<br />
• code fluently in an object-oriented paradigm using the programming language Java. Students are expected to be<br />
familiar with and be able to use standard Java library classes from the AP Java subset.<br />
• read and understand a large program consisting of several classes and interacting objects. Students should be able<br />
to read and understand a description of the design and development process leading to such a program. (An<br />
example of such a program is the AP Computer Science Case Study.)<br />
• recognize the ethical and social implications of computer use.<br />
Class Rules<br />
1. No food or drink (exception: bottled water is acceptable)<br />
2. The HPISD Responsible Use Policy will be followed.<br />
3. Downloading or installation of software is prohibited.<br />
4. Save work only to your network folder unless otherwise directed.<br />
5. Be respectful and courteous to your instructor and classmates at all times.<br />
6. Dress and behavior as outlined in the Kiltie will be followed.<br />
<strong>Course</strong> Requirements<br />
1. Sign up and take the AP Computer Science Exam A (Tuesday, May 6, 8:00am)<br />
2. Barron's AP Computer Science A - by Roselyn Teukolsky [available in the <strong><strong>High</strong>land</strong> <strong>Park</strong> Student Store]<br />
(due October 4) ISBN-10: 1438001525<br />
3. 3-ring binder (D-ring) 1.5” or 2” with 10 dividers and extra notebook paper.<br />
First binder grade will be: Wednesday, Sept 4, 2013<br />
Grades<br />
Minor Grades (homework, quizzes, labs) = 40% of 6 weeks grade<br />
Major Grades (exams and projects) = 60% of 6 weeks grade<br />
(retake policy for Major grades will follow district-approved Grading Guidelines)<br />
AP Computer Science I 2013-2014 page 1 of 4
Late Work<br />
All homework assignments are due at the beginning of class, when the bell rings, on the required date. All<br />
assignments received at that time will have the potential of receiving 100% of the possible points for that work. If the<br />
assignment is not received at that time, it is late. 15 points per day will be deducted from the earned grade for all late<br />
work. Programming assignments usually have a 4:00pm deadline on a given date.<br />
1 day late = 15 point deduction<br />
2 days late = 30 point deduction<br />
3 days late = 45 point deduction<br />
After 3 days, the highest grade possible will be a 50<br />
Homework: Late work will be accepted ONLY UNTIL answers have been given out in class. After answers<br />
have been given in class, a zero will be recorded.<br />
Tardy and Absence Policy and Makeup Work<br />
For all school-related absences and absences where there is prior knowledge of the absence, it is expected that all work<br />
will be turned in prior to the absence. For exams and work where early submission is not possible, The Kiltie governs<br />
tardy and attendance policy and the right to make up work.<br />
Lab Availability:<br />
Open Lab and tutorials are available at the following times:<br />
M-Th --7:30am – 8:10am<br />
M-Th --3:30pm – 4:00pm<br />
AP Computer Science I 2013-2014 page 2 of 4
<strong>Course</strong> Objectives<br />
The students will study the following topics:<br />
UNIT 1 – Computer Hardware and Number Systems<br />
1.1 Name and identify the three parts that make<br />
up the computer system.<br />
1.2 Identify major hardware components and<br />
give examples.<br />
1.3 List, compare and contrast the two CPU<br />
logic categories and give examples of each<br />
1.4 Compare and contrast ASCII and Unicode<br />
1.5 Convert text and numbers to Unicode and<br />
corresponding values in base 2 , base 10 &<br />
base 16<br />
1.6 Convert base 2 , base 10 & base 16 values to<br />
Unicode and its corresponding text and<br />
numbers.<br />
UNIT 2 – The “Object” of Java Programming<br />
2.1 List critical elements in the Java<br />
Programming Language<br />
2.2 Identify the elements within the Class<br />
structure<br />
2.3 Construct a Remark Block and use 1 line<br />
remarks and multi-line remarks.<br />
2.4 Create and identify reserved words, userdefined<br />
and pre- defined identifiers using<br />
the Java Naming rules.<br />
2.5 Program, test, and debug simple output<br />
objects using a single object class and a<br />
program class.<br />
UNIT 3 – Objects and Primitive Data<br />
3.1 Discuss objects and the services provided<br />
by methods<br />
3.2 Discuss Inheritance and data hiding<br />
3.3 List and discuss the primitive data types<br />
3.4 Declare and use primitive data variables<br />
3.5 Declare and use string, object reference<br />
variables.<br />
3.6 Find and use the Java Application<br />
Programming Interface [API]<br />
3.7 Define and use the string concatenation<br />
operator<br />
3.8 Use the print and println methods<br />
3.9 Use Escape characters in string output.<br />
3.10 Assign values to variables<br />
3.11 Compare constants and variables and create<br />
examples of each<br />
3.12 Create mathematical expressions using<br />
Java math operators<br />
3.13 Compute answers using proper orders of<br />
operations and operator precedence<br />
3.14 Discuss and give examples of division and<br />
remainder rules<br />
3.15 Discuss data conversion using assignment<br />
conversion, arithmetic promotion, and<br />
casting<br />
UNIT 4 – Math Classes and Methods<br />
4.1 Import and use standard java class libraries<br />
including java.util<br />
4.2 Instantiate objects using new<br />
4.3 Instantiate string objects by assignment<br />
4.4 Discuss strings as immutable objects<br />
4.5 Use string methods<br />
4.6 Use the Scanner class to bring in data from<br />
the keyboard<br />
4.7 Use wrapper classes to represent primitive<br />
data<br />
4.8 Create and use random number generators<br />
to create random int and double values<br />
4.9 Create and use for and while loops<br />
4.10 Define Loop Control Variable [LCV] the<br />
tell what it does<br />
4.11 Define “flag” or “sentinel” value and tell<br />
what it does<br />
4.12 Define “infinite loop”<br />
4.13 Use if, if else, and nested if else statements<br />
to make decisions<br />
UNIT 5 – Logic and More Loops<br />
5.1 Compare pre-test and post-test loops<br />
5.2 Create and use nested loops<br />
5.3 Compare the Assignment Operator[=] to<br />
the Equality Operator [= =]<br />
5.4 List the Compound Assignment Operators<br />
and tell what they mean.<br />
5.5 Write equivalent expressions to the<br />
Compound Assignment Operators.<br />
5.6 Tell what it means to “chain” assignments<br />
and given an example.<br />
5.7 List the relational and logical operators<br />
[NOT, AND, OR]<br />
5.8 List the three rules for Logical Operators<br />
5.9 Define “short circuit” evaluation and write<br />
a sample expression.<br />
5.10 Write the truth tables for OR, AND, and<br />
NOT<br />
5.11 Use deMorgan’s Law to re-write<br />
expressions<br />
5.12 Use truth tables to evaluate logical<br />
expressions<br />
5.13 Develop Boolean logic structures to<br />
control loops<br />
5.14 Write examples of the nested for loop to<br />
create two-dimensional arrays<br />
Unit 6 – Writing Methods<br />
6.1 Define “members of a class”<br />
6.2 Distinguish between and use class and<br />
instance identifiers<br />
6.3 Discuss 4 constructor method rules<br />
6.4 Write “constructor” methods<br />
AP Computer Science I 2013-2014 page 3 of 4
6.5 Discuss and write “void” methods<br />
6.6 Discuss and write “return” methods<br />
6.7 Discuss “scope” and correctly use visibility<br />
modifiers<br />
6.8 Distinguish between “actual” and “formal”<br />
parameter lists<br />
6.9 Discuss and correctly use method<br />
signatures<br />
6.10 Write “toString” methods<br />
6.11 Discuss Method Overloading and tell<br />
when they are used<br />
6.12 Write overloaded methods<br />
UNIT 7 – Arrays<br />
7.1 Define and create arrays<br />
7.2 List the rules that govern array creation<br />
7.3 Compare static and dynamic data structures<br />
7.4 Discuss array exceptions<br />
7.5 Discuss and use “bounds checking”<br />
7.6 Discuss and use “initializer lists”<br />
7.7 Discuss object arrays<br />
7.8 Discuss passing arrays as parameters<br />
7.9 Search an array<br />
7.10 Discuss Big Oh and its implications on<br />
efficiency<br />
7.11 Discuss time and memory efficiency<br />
7.12 Discuss and explain binary searches<br />
7.13 Compare efficiency for basic search and<br />
sort methods<br />
7.14 Create two-dimensional arrays<br />
7.15 Use a “for each” loop to iterate over an<br />
array<br />
UNIT 8 – References and Parameters<br />
8.1 Discuss references<br />
8.2 Define the garbage heap<br />
8.3 Use 3 steps of object instantiation<br />
8.4 Compare parameters – passing by reference<br />
and passing by value<br />
8.5 Discuss interfaces and the Comparable<br />
interface<br />
UNIT 9 – Inheritance, Polymorphism, and Collections<br />
9.1 Use the “super” reference to call the parent<br />
constructor<br />
9.2 Create a recursive “factorial” program<br />
9.3 Discuss how visibility modifiers affect<br />
inheritance<br />
9.4 Compare overriding methods vs.<br />
overloading methods<br />
9.5 Create overriding methods<br />
9.6 Discuss Collections<br />
9.7 Write programs using ArrayLists<br />
UNIT 10 – Abstract classes, Interfaces, Recursion,<br />
Searching and Sorting<br />
10.1 Compare parent class from derived classes<br />
10.2 Create UML inheritance diagrams<br />
10.3 Discuss how visibility modifiers affect<br />
inheritance<br />
10.4 Discuss the use of multiple interfaces and<br />
single inheritance rules<br />
10.5 Compare overriding methods vs.<br />
overloading methods<br />
10.6 Create overriding methods<br />
10.7 Discuss polymorphic references and<br />
“dynamic binding”<br />
AP Case Study – Gridworld will be introduced and<br />
infused into the 2 nd semester.<br />
SIX WEEKS<br />
Units covered<br />
1st 1,2, part of 3<br />
2 nd 3,4, part of 5<br />
3 rd 5,6, part of 7<br />
End of 1 st Semester<br />
4 th 7,8,part of 9<br />
5 th 9,10, Case Study<br />
6 th Practice AP question<br />
Free Response Practice<br />
AP Exam – May 7<br />
Special Topics<br />
AP Computer Science I 2013-2014 page 4 of 4