TeenCoder : Java Programming (ISBN )

Similar documents
CompuScholar, Inc. 9th - 12th grades

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

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

IMACS: AP Computer Science A

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

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

AP Computer Science AB

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

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

Introduction to Programming Using Java (98-388)

AP Computer Science A Syllabus

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

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

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

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

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

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

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

AP Computer Science A Skyline High School Mr. Coupland

AP Computer Science A Course Syllabus

Homeschool Programming, Inc.

Appendix A: Interfaces and Classes in the AP Java Subset (AB)

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

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

Building Java Programs

AP Computer Science A

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


AP Computer Science A

AP Computer Science A Syllabus

ITI Introduction to Computing II

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

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

Chapter 5 Object-Oriented Programming

INHERITANCE & POLYMORPHISM. INTRODUCTION IB DP Computer science Standard Level ICS3U. INTRODUCTION IB DP Computer science Standard Level ICS3U

Class definition. complete definition. public public class abstract no instance can be created final class cannot be extended

Programming Exercise 14: Inheritance and Polymorphism

CS 307 Final Spring 2008

ITI Introduction to Computing II

Operators and Expressions

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

DOWNLOAD PDF CORE JAVA APTITUDE QUESTIONS AND ANSWERS

Introduction to Inheritance

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.

COP 3330 Final Exam Review

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

Chief Reader Report on Student Responses:

Programming II (CS300)

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

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

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

AP Computer Science A (Java) Scope and Sequence

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

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

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

AP GridWorld Review. Actor BoxBug Bug ChameleonCritter Critter Flower Rock

Methods Common to all Classes

CMSC 132: Object-Oriented Programming II

Chapter 4 Defining Classes I

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

CS-202 Introduction to Object Oriented Programming

WA1278 Introduction to Java Using Eclipse

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10


SCourse Description. Includes important information regarding the introduction of the language Java. MAY 2004, MAY 2005

1 Shyam sir JAVA Notes

Java Primer 1: Types, Classes and Operators

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

Unit Overview. Concepts & Understandings. Learning Targets

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

STUDENT LESSON A15 ArrayList

More on variables and methods

PROGRAMMING LANGUAGE 2

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

Practice for Chapter 11

Java Object Oriented Design. CSC207 Fall 2014

Concepts of Programming Languages

15CS45 : OBJECT ORIENTED CONCEPTS

Student Performance Q&A:

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

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

EECS168 Exam 3 Review

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

Day 4. COMP1006/1406 Summer M. Jason Hinek Carleton University

AP Computer Science A Syllabus

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

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

Java for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points.

Topic 5 Polymorphism. " Inheritance is new code that reuses old code. Polymorphism is old code that reuses new code.

Inheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods.

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

This page intentionally left blank

Objects and Iterators

Inheritance -- Introduction

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

JAVA CONCEPTS Early Objects

Transcription:

TeenCoder : Java Programming (ISBN 978-0-9887070-2-3) and the AP * Computer Science A Exam Requirements (Alignment to Tennessee AP CS A course code 3635) Updated March, 2015 Contains the new 2014-2015+ Exam Outline The Advanced Placement * (AP) exams offered by the College Board allow high school students to earn college credit by demonstrating mastery of certain subjects. The TeenCoder : Java Programming curriculum can be used as part of a study program for the AP Computer Science A exam. We have carefully studied the exam requirements and ensured that all required conceptual programming topics and Java language features are covered in the course. This document contains cross-reference tables detailing each AP Computer Science A exam requirement and the corresponding chapter and lesson where the material is covered. You can find the College Board s full details of the AP Computer Science A exam online here: https://apstudent.collegeboard.org/apcourse/ap-computer-science-a Our cross-reference tables are broken into two sections: Topic Outline This table corresponds to the Topic Outline section containing general-purpose programming skills as found in the exam description linked above. Java AP Subset and Quick Reference This table corresponds to Appendix A and B sections of the exam description that list required Java language and quick reference features. We have a separate document Preparing_for_the_AP_Exam.pdf that describes the overall AP experience in more detail and answers several frequently asked questions. http://www.compuscholar.com Page 1 of 11 * AP and Advanced Placement Program are registered trademarks of the College Entrance Examination Board, which was not involved in the production of and does not endorse this product

Topic Outline Cross-Reference Table Major Topics GridWorld Case Study (no longer required) Chapter 27 Corresponding Lesson in TeenCoder : Java Programming Magpie Lab (recommended starting in 2014-2015) Chapter 26, Lesson 1 Picture Lab (recommended starting in 2014-2015) Chapter 26, Lesson 2 Elevens Lab (recommended starting in 2014-2015) Chapter 26, Lesson 3 I. Object-Oriented Program Design A. Program and Class Design...1. Problem analysis Covered in all Chapter Activities...2. Data abstraction and encapsulation Chapter 10, Lesson 1, Chapter 10, Lesson 3...3. Class specifications, interface specifications, Chapter 10, Lesson 2 (specification) relationships, and extension using inheritance. Chapter 11, Lesson 2 (interfaces) Chapter 10, Lesson 2 (relationships) Chapter 15, Lesson 2 (inheritance)...4. Code reuse Chapter 10, Lesson 1...5. Data representation and algorithms Chapter 4, Lesson 2, Chapter 20, Lesson 1...6. Functional decomposition Chapter 8, Lesson 1, Chapter 22, Lesson 1 II. Program Implementation A. Implementation Techniques...1. Top-Down development Chapter 24, Lesson 1...2. Bottom-up development Chapter 24, Lesson 1...3. Object-oriented Chapters 10, 11, 15...4. Encapsulation and information hiding Chapter 10, Lesson 1...5. Procedural abstraction Chapter 10, Lesson 1 http://www.compuscholar.com Page 2 of 11

B. Programming Constructs...1. Primitive data types vs. reference types Chapter 4, Lesson 1, Chapter 5, Lesson 1...2.a. Constant declarations Chapter 4, Lesson 2...2.b. Variable declarations Chapter 4, Lesson 2...2.c. Methods and parameters Chapter 8, Lesson 1, Chapter 8, Lesson 2...2.d. Class declarations Chapter 10, Lesson 2...2.e. Interface declarations Chapter 11, Lesson 2...3. Text output using System.out.print and System.out.println Chapter 4, Lesson 3...4.a. Method call control Chapter 8, Lesson 3...4.b. Sequential execution control Chapter 2, Lesson 2, Chapter 7, Lesson 2...4.c. Conditional execution control Chapter 7, Lesson 2...4.d. Iteration control Chapter 14, Lesson 3...4.e. Recursion control Chapter 19, Lesson 1...5.a. Numeric expression evaluation Chapter 4, Lesson 2...5.a. String expression evaluation Chapter 5, Lesson 2,...5.a. Boolean expressions, short-circuit evaluation, De Morgan's law Chapter 5, Lesson 3 Chapter 7, Lesson 1 C. Java Library Classes and Interfaces in the AP Java Subset See Appendix A and Appendix B cross-reference tables III. Program Analysis A. Testing...1. Development of appropriate test cases, including Chapter 24, Lesson 3 boundary cases...2. Unit testing Chapter 24, Lesson 3 http://www.compuscholar.com Page 3 of 11

...3. Integration testing Chapter 24, Lesson 3 B. Debugging...1. Error categories: compile-time, run-time, logic Chapter 9, Lesson 1...2. Error identification and correction Chapter 9, Lesson 3...3. Techniques such as using a debugger, adding extra output statements, or hand-tracing code Chapter 9, Lesson 3, Chapter 9, Lesson 4 C. Runtime Exceptions Chapter 9, Lesson 1 D. Program Correctness...1. Pre- and post- conditions Chapter 24, Lesson 3...2. Assertions Chapter 24, Lesson 3 E. Algorithm Analysis...1. Statement execution counts Chapter 20, Lesson 3...2. Informal running time comparison Chapter 20, Lesson 2 F. Numerical Representations of Integers...1. Representations of non-negative integers in Chapter 17, Lesson 2 different bases...2. Implications of finite integer bounds Chapter 17, Lesson 2 IV. Standard Data Structures A. Primitive data types (int, boolean, double) Chapter 4, Lesson 1 B. Strings Chapter 5 (all lessons) C. Classes Chapters 10 and 11 (all lessons) D. Lists Chapter 14, Lesson 2 E. Arrays (1-dimensional and 2-dimensional) Chapter 14, Lesson 1 http://www.compuscholar.com Page 4 of 11

IV. Standard Operations and Algorithms A. Operations on Data Structures...1. Traversals Chapter 14, Lesson 3...2. Insertions Chapter 14, Lesson 2...3. Deletions Chapter 14, Lesson 2 B. Searching...1. Sequential Chapter 19, Lesson 3...2. Binary Chapter 19, Lesson 3 C. Sorting...1. Selection Chapter 19, Lesson 2...2. Insertion Chapter 19, Lesson 2...3. Mergesort Chapter 19, Lesson 2 IV. Computing in Context A. System Reliability Chapter 1, Lesson 4 B. Privacy Chapter 1, Lesson 4 C. Legal issues and intellectual property Chapter 1, Lesson 4 D. Social and ethical ramifications of computer use Chapter 1, Lesson 4 The following pages contain a second cross-reference table covering the required Java AP Subset and Quick Reference topics. http://www.compuscholar.com Page 5 of 11

Java AP Subset and Quick Reference Table Java AP Subset or Quick Reference Topic Appendix A - AP Computer Science Java Subset Corresponding Lesson in TeenCoder : Java Programming Comments /* */, //, and /** */, Javadoc @param and @return comment tags Chapter 2, Lesson 2, Chapter 24, Lesson 2 Primitive Types int, double, boolean Chapter 4, Lesson 1 Operators: Arithmetic: +, -, *, / and % Chapter 4, Lesson 2 Operators: Arithmetic: Increment/Decrmeent: (++), (--) Chapter 4, Lesson 2 Operators: Assignment: =, +=, -=, *=, /=, and %= Chapter 4, Lesson 2 Operators: Relational: ==,!=, <, >, <=, >= Chapter 7, Lesson 1 Operators: Logical:!, &&, Chapter 7, Lesson 1 Operators: Numeric casts: (int), (double) Chapter 4, Lesson 2 Operators: String concatenation Chapter 5, Lesson 4 Object Comparison: object identity (==,!=) vs. object equality (equals) Chapter 5, Lesson 2 Chapter 7, Lesson 1 Chapter 15, Lesson 5 Object Comparison: String compareto Chapter 5, Lesson 3 Escape Sequences \", \\, \n inside strings Chapter 4, Lesson 3 Input / Output System.out.print, System.out.println Chapter 4, Lesson 3 Exceptions: ArithmeticException, NullPointerException, IndexOutOfBoundsException, Chapter 9, Lesson 1, Chapter 9, Lesson 2 ArrayIndexOutOfBoundsException, IllegalArgumentException. Arrays: 1-dimensional and 2-dimensional rectangular arrays Chapter 14, Lesson 1 Arrays: initializer list: {... } Chapter 14, Lesson 1 Arrays: row-major order of 2-dimensional array elements Chapter 14, Lesson 1 Control Statements: if, if/else Chapter 7, Lesson 2 Control Statements: while loops Chapter 7, Lesson 5 Control Statements: for loops Chapter 7, Lesson 4 http://www.compuscholar.com Page 6 of 11

Control Statements: enhanced for (for-each) Chapter 14, Lesson 3 Control Statements: return Chapter 7, Lesson 2, Chapter 8, Lesson 2 Variables: parameter variables Chapter 8, Lesson 2 Variables: local variables Chapter 10, Lesson 2 Variables: private instance variables Chapter 10, Lesson 3 Variables: static (class) variables) Chapter 11, Lesson 3 Variables: public, private Chapter 10, Lesson 3 Variables: final Chapter 4, Lesson 2 Methods: visibility (public, private) Chapter 10, Lesson 3 Methods: static, non-static Chapter 10, Lesson 2 Chapter 11, Lesson 3 Methods: signatures Chapter 8, Lesson 2 Methods: overloading Chapter 8, Lesson 2 Methods: overriding Chapter 15, Lesson 4 Methods: parameter passing Chapter 8, Lesson 2 Constructors super(), super(args) Chapter 15, Lesson 6 Classes: new Chapter 10, Lesson 2 Classes: visibility (public) Chapter 10, Lesson 3 Classes: accessor methods Chapter 10, Lesson 3 Classes: modifier (mutator) methods Chapter 10, Lesson 3 Classes: Design/create/modify classes Chapter 10 Activity Chapter 15 Activity Chapter 16 Activities Chapter 25 Activities Chapter 26 Activities Classes: Create subclass of a superclass (abstract, non-abstract) Chapters 15 Lesson 2 Classes: Create class that implements interface Chapter 11, Lesson 2 Interfaces: Design/create/modify an interface Chapter 11, Lesson 2 Chapter 11 Activity Chapter 26, Activity 2 and 3 http://www.compuscholar.com Page 7 of 11

Inheritance: Understand inheritance hierarchies Chapter 15, Lesson 2 Chapter 15, Lesson 3 Inheritance: Design/create/modify subclasses Chapter 15, Lesson 2 Inheritance: Design/create/modify classes that implement interfaces Chapter 11, Lesson 2 Chapter 15, Lesson 2 Packages: import packagename.classname Chapter 2, Lesson 4 Miscellaneous OOP: "is-a" and "has-a" relationships Chapter 10, Lesson 2 Miscellaneous OOP: null Chapter 5, Lesson 1 Miscellaneous OOP: this Chapter 10, Lesson 2 Miscellaneous OOP: super.method(args) Chapter 15, Lesson 6 Standard Java Library: See Quick-Reference Below Notes 1. Students are expected to understand the operator Chapter 7, Lesson 1 precedence rules of the listed operators. 2. The increment/decrement operators ++ and -- are part of Chapter 4, Lesson 2 the AP Java subset. 3. Students need to understand the short circuit evaluation Chapter 7, Lesson 1 of the && and operators. 4. Students are expected to understand truncation towards 0 Chapter 4, Lesson 2 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 Chapter 5, Lesson 4 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. Though not required, the course covers both console input (Chapter 6) and GUI/Swing (Chapters 12, 13) 7. Both arrays of primitive types (e.g., int[], int[][] ) and arrays Chapter 14, Lesson 1 of objects (e.g., Student[], Student[][] ) are in the subset. http://www.compuscholar.com Page 8 of 11

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 rowmajor 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 foreach) 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 no-argument 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. 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. Chapter 14, Lesson 1 main() is covered in Chapter 2, Lesson 2 Chapter 11, Lesson 3 Chapter 15, Lesson 6 Chapter 11, Lesson 1 Chapter 26 (College Board example labs) Chapter 26 (College Board example labs) http://www.compuscholar.com Page 9 of 11

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 Chapter 15, Lesson 3 Chapter 10, Lesson 2 Chapter 14, Lesson 2 See Java Quick Reference table below Appendix B - Java Quick Reference class java.lang.object Chapter 15, Lesson 5...boolean equals(object other) Chapter 15, Lesson 5...String tostring() Chapter 15, Lesson 5 class java.lang.integer Chapter 4, Lesson 2...Integer(int value) Chapter 4, Lesson 2...int intvalue() Chapter 4, Lesson 2...Integer.MIN_VALUE Chapter 4, Lesson 2...Integer.MAX_VALUE Chapter 4, Lesson 2 class java.lang.double Chapter 4, Lesson 2...Double(double value) Chapter 4, Lesson 2...double doublevalue() Chapter 4, Lesson 2 class java.lang.string Chapter 5, Lesson 1...int length() Chapter 5, Lesson 3...String substring(int from, int to) Chapter 5, Lesson 3...String substring(int from) Chapter 5, Lesson 3...int indexof(string str) Chapter 5, Lesson 3...int compareto(string other) Chapter 5, Lesson 3 http://www.compuscholar.com Page 10 of 11

class java.lang.math Chapter 17, Lesson 1...static int abs(int x) Chapter 17, Lesson 1...static double abs (double x) Chapter 17, Lesson 1...static double pow(double base, double exponent) Chapter 17, Lesson 1...static double sqrt(double x) Chapter 17, Lesson 1...static double random() Chapter 17, Lesson 1 interface java.util.list<e> Chapter 14, Lesson 2...int size() Chapter 14, Lesson 2...boolean add(e obj) Chapter 14, Lesson 2...void add(int index, E obj) Chapter 14, Lesson 2...E get(int index), set(int index, E obj), remove(int index) Chapter 14, Lesson 2 class java.util.arraylist<e> implements java.util.list<e> Chapter 14, Lesson 2 http://www.compuscholar.com Page 11 of 11