01.10.2014 Views

Course Syllabus - Highland Park High School

Course Syllabus - Highland Park High School

Course Syllabus - Highland Park High School

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!