CompuScholar, Inc. 9th - 12th grades

Similar documents
TeenCoder : Java Programming (ISBN )

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011

Language Features. 1. The primitive types int, double, and boolean are part of the AP

IMACS: AP Computer Science A

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

AP Computer Science AB

AP Computer Science A Syllabus

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

Introduction to Programming Using Java (98-388)

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003.

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

CO Java SE 8: Fundamentals

AP Computer Science in Java Course Syllabus

Computer Science II (20073) Week 1: Review and Inheritance

AP Computer Science A Skyline High School Mr. Coupland

Samples of Evidence to Satisfy the AP Computer Science AB Curricular Requirements

Homeschool Programming, Inc.

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Computer Science 300 Sample Exam Today s Date 100 points (XX% of final grade) Instructor Name(s) (Family) Last Name: (Given) First Name:

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

AP Computer Science A Syllabus

AP Computer Science A

AP Computer Science A Course Syllabus


Exam Appendix --- Java Quick Reference Accessible methods from the Java library that may be included on the exam

Chapter 5 Object-Oriented Programming

Building Java Programs

AP Computer Science A (Java) Scope and Sequence

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

SY nd Sem Syllabi-All Courses.xlsx - 2S-APCSA Page 1 of 5

Chapter 4 Defining Classes I

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

Computer Science II (20082) Week 1: Review and Inheritance

More On inheritance. What you can do in subclass regarding methods:

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept


AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview

Curriculum Map Grade(s): Subject: AP Computer Science

Programming Exercise 14: Inheritance and Polymorphism

Data Structures (list, dictionary, tuples, sets, strings)

AP Computer Science A

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

WA1278 Introduction to Java Using Eclipse

PROGRAMMING LANGUAGE 2

Polymorphism. return a.doublevalue() + b.doublevalue();

STUDENT LESSON A15 ArrayList

CS-202 Introduction to Object Oriented Programming

3D Graphics Programming Mira Costa High School - Class Syllabus,

AP Computer Science A Sample Syllabus 4

Unit Overview. Concepts & Understandings. Learning Targets

CS 170 Java Programming 1. Week 13: Classes, Testing, Debugging

Java Primer 1: Types, Classes and Operators

COP 3330 Final Exam Review

Operators and Expressions

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

3. Convert 2E from hexadecimal to decimal. 4. Convert from binary to hexadecimal

Introduction to Inheritance

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8

Argument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN

Programming II (CS300)

Student Performance Q&A:

ITI Introduction to Computing II

JAVA MOCK TEST JAVA MOCK TEST II

CMSC 132: Object-Oriented Programming II

Methods Common to all Classes

Course: AP Computer Science A Description and Syllabus Description of Course:

CS171:Introduction to Computer Science II

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.

Programming Language Concepts Object-Oriented Programming. Janyl Jumadinova 28 February, 2017

CSC207H: Software Design. Java + OOP. CSC207 Winter 2018

EECS168 Exam 3 Review

AP Computer Science A Syllabus

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented

AP COMPUTER SCIENCE GRADES 10 12

ITI Introduction to Computing II

CS 307 Final Spring 2008

Inheritance -- Introduction

Overview of OOP. Dr. Zhang COSC 1436 Summer, /18/2017

Chief Reader Report on Student Responses:

1. Every program must have at least one class declaration. (*) 2. Every class declared in a program must have a distinct identifier.

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM

15CS45 : OBJECT ORIENTED CONCEPTS

Java Object Oriented Design. CSC207 Fall 2014

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

AP CSA 3rd Period MR. D. Course Map

Practice for Chapter 11

DOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS

Concepts of Programming Languages

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014

What is Inheritance?

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Chapter 6 Introduction to Defining Classes

Transcription:

CompuScholar, Inc. Alignment to the College Board AP Computer Science A Standards 9th - 12th grades AP Course Details: Course Title: Grade Level: Standards Link: AP Computer Science A 9th - 12th grades ap-computer-science-a-course-description.pdf CompuScholar Course Details: Course Title: Java Programming (AP) Course ISBN: 978-0-9887070-2-3 Course Year: 2017 Note 1: Citation(s) listed may represent a subset of the instances where objectives are met throughout the course. Note 2: Citation(s) for a "Lesson" refer to the "Lesson Text" elements and associated "Activities" within the course, unless otherwise noted. The "Instructional Video" components are supplements designed to introduce or re-enforce the main lesson concepts, and the Lesson Text contains full details. AP Course Description This course teaches students the fundamentals of the Java programming language and covers all required topics defined by the College Board's AP Computer Science A course description. AP Lab Requirements The AP Computer Science A course must include a minimum of 20 hours of hands-on structured-lab experiences to engage students in individual or group problem solving. This course easily meets and exceeds the 20-hour minimum lab requirement with hands-on lesson exercises and chapter activities. In addition, coverage of both new example labs and the old GridWorld lab is provided for teachers to use as needed. Magpie Lab (recommended starting in 2014-2015) Picture Lab (recommended starting in 2014-2015) Elevens Lab (recommended starting in 2014-2015) GridWorld Case Study (no longer required, but available for use if desired) See "Work with Me" sections within lessons and "Chapter Activities" in each chapter. Chapter 26, Lesson 1 Chapter 26, Lesson 2 Chapter 26, Lesson 3 Chapter 27 Page 1 of 10

AP Topic Outline I. Object-Oriented Program Design A. Program and Class Design 1. Problem analysis 2. Data abstraction and encapsulation 3. Class specifications 3. Class interface specifications 3. Class relationships 3. Class extension using inheritance. 4. Code reuse 5. Data representation and algorithms 6. Functional decomposition Covered in all Chapter Activities Chapter 10, Lesson 1 Chapter 11, Lesson 2 Chapter 15, Lesson 2 Chapter 10, Lesson 1 Chapter 20, Lesson 1 Chapter 8, Lesson 1 Chapter 22, Lesson 1 II. Program Implementation A. Implementation Techniques 1. Top-Down development 2. Bottom-up development 3. Object-oriented 4. Encapsulation and information hiding 5. Procedural abstraction B. Programming Constructs 1. Primitive data types vs. reference types 2.a. Constant declarations Chapter 24, Lesson 1 Chapter 24, Lesson 1 Chapters 10, 11, 15, 16 Chapter 10, Lesson 1 Chapter 8 Chapter 10, Lessons 1-2 Chapter 4, Lesson 1 Chapter 5, Lesson 1 Page 2 of 10

2.b. Variable declarations 2.c. Methods and parameters 2.d. Class declarations 2.e. Interface declarations 3. Text output using System.out.print and System.out.println 4.a. Method call control 4.b. Sequential execution control 4.c. Conditional execution control 4.d. Iteration control 4.e. Recursion control 5.a. Numeric expression evaluation 5.b. String expression evaluation 5.c. Boolean expressions, short-circuit evaluation, De Morgan's law C. Java Library Classes and Interfaces in the AP Java Subset Chapter 8, Lesson 1 Chapter 11, Lesson 2 Chapter 4, Lesson 3 Chapter 8, Lesson 3 Chapter 2, Lesson 2 Chapter 7, Lesson 2 Chapter 7, Lesson 2 Chapter 14, Lesson 3 Chapter 19, Lesson 1 Chapter 5, Lesson 2 See cross-reference tables below III. Program Analysis A. Testing 1. Development of appropriate test cases, including boundary cases 2. Unit testing 3. Integration testing B. Debugging 1. Error categories: compile-time, run-time, logic 2. Error identification and correction 3. Techniques such as using a debugger, adding extra output statements, or hand-tracing code Chapter 9, Lesson 3 Chapter 24, Lesson 3 Chapter 9, Lesson 3 Chapter 24, Lesson 3 Chapter 9, Lesson 3 Chapter 24, Lesson 3 Chapter 9, Lesson 1 Chapter 9, Lesson 3 Chapter 9, Lesson 3 Chapter 9, Lesson 4 Page 3 of 10

C. Runtime Exceptions Chapter 9, Lesson 1 D. Program Correctness 1. Pre- and post- conditions 2. Assertions Chapter 24, Lesson 3 Chapter 24, Lesson 3 E. Algorithm Analysis 1. Statement execution counts 2. Informal running time comparison Chapter 20, Lesson 3 Chapter 20, Lesson 2 F. Numerical Representations of Integers 1. Representations of non-negative integers in different bases 2. Implications of finite integer bounds Chapter 17, Lesson 2 Chapter 17, Lesson 2 IV. Standard Data Structures A. Primitive data types (int, boolean, double) B. Strings C. Classes D. Lists E. Arrays (1-dimensional and 2-dimensional) Chapter 4, Lesson 1 Chapter 5 (all lessons) Chapters 10 and 11 (all lessons) V. Standard Operations and Algorithms A. Operations on Data Structures 1. Traversals 2. Insertions 3. Deletions Chapter 14, Lesson 3 B. Searching 1. Sequential Chapter 19, Lesson 3 Page 4 of 10

2. Binary Chapter 19, Lesson 3 C. Sorting 1. Selection 2. Insertion 3. Mergesort Chapter 19, Lesson 2 Chapter 19, Lesson 2 Chapter 19, Lesson 2 VI. Computing in Context A. System Reliability B. Privacy C. Legal issues and intellectual property D. Social and ethical ramifications of computer use Chapter 1, Lesson 4 Chapter 1, Lesson 4 Chapter 1, Lesson 4 Chapter 1, Lesson 5 Chapter 1, Lesson 4 Cross-Reference Tables Java AP Subset - Langauge Features and Other Testable Topics Comments /* */, //, and /** */, Javadoc @param and @return comment tags Primitive Types int, double, boolean Operators: Arithmetic: +, -, *, / and % Operators: Arithmetic: Increment/Decrement: (++), (--) Operators: Assignment: =, +=, -=, *=, /=, and %= Operators: Relational: ==,!=, <, >, <=, >= Operators: Logical:!, &&, Operators: Numeric casts: (int), (double) Operators: String concatenation Chapter 2, Lesson 2 Chapter 24, Lesson 2 Chapter 4, Lesson 1 Chapter 5, Lesson 4 Page 5 of 10

Object Comparison: object identity (==,!=) vs. object equality (equals) Object Comparison: String compareto Escape Sequences \", \\, \n inside strings Input / Output System.out.print, System.out.println Exceptions: ArithmeticException, NullPointerException, IndexOutOfBoundsException, ArrayIndexOutOfBoundsException, IllegalArgumentException. Arrays: 1-dimensional and 2-dimensional rectangular arrays Arrays: initializer list: {... } Arrays: row-major order of 2-dimensional array elements Control Statements: if, if/else Control Statements: while loops Control Statements: for loops Control Statements: enhanced for (for-each) Control Statements: return Variables: parameter variables Variables: local variables Variables: private instance variables Variables: visibility (private) Variables: static (class) variables Variables: visibility (public, private) Variables: final Methods: visibility (public, private) Chapter 5, Lesson 2 Chapter 15, Lesson 5 Chapter 4, Lesson 3 Chapter 4, Lesson 3 Chapter 9, Lesson 1 Chapter 9, Lesson 2 Chapter 7, Lesson 2 Chapter 7, Lesson 5 Chapter 7, Lesson 4 Chapter 14, Lesson 3 Chapter 7, Lesson 2 Chapter 11, Lesson 3 Page 6 of 10

Methods: static, non-static Methods: signatures Methods: overloading Methods: overriding Methods: parameter passing Constructors super(), super(args) Classes: new Classes: visibility (public) Classes: accessor methods Classes: modifier (mutator) methods Classes: Design/create/modify classes Classes: Create subclass of a superclass (abstract, non-abstract) Classes: Create class that implements interface Interfaces: Design/create/modify an interface Inheritance: Understand inheritance hierarchies Inheritance: Design/create/modify subclasses Inheritance: Design/create/modify classes that implement interfaces Packages: import packagename.classname Miscellaneous OOP: "is-a" and "has-a" relationships Miscellaneous OOP: null Miscellaneous OOP: this Miscellaneous OOP: super.method(args) Chapter 11, Lesson 3 Chapter 15, Lesson 4 Chapter 15, Lesson 6 Chapters 10, 11, 15, 16, 25, 26 (All lessons and activities) Chapters 15 Lesson 2 Chapter 11, Lesson 2 Chapter 11, Lesson 2 Chapter 11 Activity Chapter 26, Activity 2 and 3 Chapter 15, Lesson 2 Chapter 15, Lesson 3 Chapter 15, Lesson 2 Chapter 11, Lesson 2 Chapter 15, Lesson 2 Chapter 2, Lesson 4 Chapter 5, Lesson 1 Chapter 15, Lesson 6 Page 7 of 10

Standard Java Library Notes 1. Students are expected to understand the operator precedence rules of the listed operators. 2. The increment/decrement operators ++ and -- are part of the AP Java subset. 3. Students need to understand the short circuit evaluation of the && and operators. 4. Students are expected to understand truncation towards 0 behavior as well as the fact that positive floating-point numbers can be rounded to the nearest integer as (int)(x + 0.5), negative numbers as (int)(x - 0.5). 5. String concatenation + is part of the AP Java subset. Students are expected to know that concatenation converts numbers to strings and invokes tostring on objects. 6. User input is not included in the AP Java subset. 7. Both arrays of primitive types (e.g., int[], int[][] ) and arrays of objects (e.g., Student[], Student[][] ) are in the subset. 8. Students need to understand that 2-dimensional arrays are stored as arrays of arrays. For the purposes of the AP CS A Exam, students should assume that 2-dimensional arrays are rectangular (not ragged) and the elements are indexed in row-major order. Students are expected to be able to access a row of a 2-dimensional array, assign it to a 1-dimensional array reference, pass it as a parameter, and use loops (including for-each) to traverse the rows. 9. The main method and command-line arguments are not included in the subset. In free-response questions, students are not expected to invoke programs. 10. Students are required to understand when the use of static methods is appropriate. 11. If a subclass constructor does not explicitly invoke a superclass constructor, the Java compiler automatically inserts a call to the noargument constructor of the superclass. 12. Students are expected to implement constructors that initialize all instance variables. 13. Students are expected to write interfaces or class declarations when given a general description of the interface or class. See Quick-Reference Below Chapter 5, Lesson 4 Though not required, the course covers both console input (Chapter 6) and GUI/Swing (Chapters 12, 13) main() is covered in Chapter 2, Lesson 2 Chapter 11, Lesson 3 Chapter 15, Lesson 6 Chapter 11, Lesson 1 Chapters 10, 11, 15, 16, 26 Page 8 of 10

14. Students are expected to extend classes and implement interfaces. Students are also expected to have knowledge of inheritance that includes understanding the concepts of method overriding and polymorphism. Students are expected to implement their own subclasses. Students are expected to read the definition of an abstract class and understand that the abstract methods need to be implemented in a subclass. Students are similarly expected to read the definition of an interface and understand that the abstract methods need to be implemented in an implementing class. 15. Students are expected to understand that conversion from a subclass reference to a superclass reference is legal and does not require a cast. 16. The use of this is restricted to passing the implicit parameter in its entirety to another method (e.g., obj.method (this)) and to descriptions such as the implicit parameter this". 17. The use of generic collection classes and interfaces is in the AP Java subset, but students need not implement generic classes or methods. 18. Students are expected to know a subset of the constants and methods of the listed Standard Java Library classes and interface Chapters 11, 15, 16, 26 Chapter 15, Lesson 3 See Java Quick Reference table below Java Quick Reference class java.lang.object...boolean equals(object other)...string tostring() class java.lang.integer...integer(int value)...int intvalue()...integer.min_value...integer.max_value class java.lang.double...double(double value) Chapter 15, Lesson 5 Chapter 15, Lesson 5 Chapter 15, Lesson 5 Page 9 of 10

...double doublevalue() class java.lang.string...int length()...string substring(int from, int to)...string substring(int from)...int indexof(string str)...int compareto(string other) class java.lang.math...static int abs(int x)...static double abs (double x)...static double pow(double base, double exponent)...static double sqrt(double x)...static double random() interface java.util.list<e>...int size()...boolean add(e obj)...void add(int index, E obj)...e get(int index), set(int index, E obj), remove(int index) class java.util.arraylist<e> implements java.util.list<e> Chapter 5, Lesson 1 Page 10 of 10