TeenCoder : Java Programming (Online Course)

Similar documents
AP Computer Science Java Subset

AP Computer Science AB Syllabus 1

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

Maria Litvin Phillips Academy, Andover, Massachusetts. Gary Litvin Skylight Publishing, Andover, Massachusetts

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

COMPUTER SCIENCE A. Course Description

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

Java Application Developer Certificate Program Competencies

CS 111 Classes I 1. Software Organization View to this point:

Basic Programming and PC Skills: Basic Programming and PC Skills:

Quick Reference AP Computer Science A

Lewis, Loftus, and Cocking. Java Software Solutions for AP Computer Science 3rd Edition. Boston, Mass. Addison-Wesley, 2011.

Computer. Course Description

Morris School District. AP Computer Science A Curriculum Grades 9-12

AP Computer Science A Syllabus

Computer Programming I

Computing Concepts with Java Essentials

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

Glossary of Object Oriented Terms

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Java (12 Weeks) Introduction to Java Programming Language

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Java Interview Questions and Answers

Morris School District. Computer Science 2 Curriculum Grades 9-12

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

AP Computer Science A Syllabus

Fundamentals of Java Programming

CMSC 202H. ArrayList, Multidimensional Arrays

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0

Introduction to Programming System Design. CSCI 455x (4 Units)

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Computer Programming I

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

Computer Programming 2 Course Syllabus

Chapter 13 - Inheritance

Java Programming Language

#820 Computer Programming 1A

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

Course Title: Software Development

Course MS10975A Introduction to Programming. Length: 5 Days

Some programming experience in a high-level structured programming language is recommended.

Facebook Twitter YouTube Google Plus Website

Preet raj Core Java and Databases CS4PR. Time Allotted: 3 Hours. Final Exam: Total Possible Points 75

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

java Features Version April 19, 2013 by Thorsten Kracht

Java EE Web Development Course Program

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

BELEN JESUIT PREPARATORY SCHOOL Computer Science Department COURSE DESCRIPTIONS. And OBJECTIVES

Programming and Software Development CTAG Alignments

Domains and Competencies

Syllabus for CS 134 Java Programming

Chapter 2: Elements of Java

AP Computer Science Java Mr. Clausen Program 9A, 9B

Minnesota Virtual Academy Online Syllabus for AP Computer Science A

Specialized Programme on Web Application Development using Open Source Tools

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

COMPUTER SCIENCE COURSE OUTLINE

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Formal Engineering for Industrial Software Development

Part 3: GridWorld Classes and Interfaces

Specialized Programme on Web Application Development using Open Source Tools

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Java Programming Fundamentals

Android Application Development Course Program

Object Oriented Software Design

History OOP languages Year Language 1967 Simula Smalltalk

Web Development in Java

Cohort: BCA/07B/PT - BCA/06/PT - BCNS/06/FT - BCNS/05/FT - BIS/06/FT - BIS/05/FT - BSE/05/FT - BSE/04/PT-BSE/06/FT

Programmation 2. Introduction à la programmation Java

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

Java SE 8 Programming

Object Oriented Software Design

Description of Class Mutation Mutation Operators for Java

Contents. 9-1 Copyright (c) N. Afshartous

Yosemite National Park, California. CSE 114 Computer Science I Inheritance

Iteration CHAPTER 6. Topic Summary

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

I PUC - Computer Science. Practical s Syllabus. Contents

The C Programming Language course syllabus associate level

10CS35: Data Structures Using C

JAVA IN A NUTSHELL O'REILLY. David Flanagan. Fifth Edition. Beijing Cambridge Farnham Köln Sebastopol Tokyo

ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)

Chapter 126. Texas Essential Knowledge and Skills for Technology Applications. Subchapter C. High School

Moving from CS 61A Scheme to CS 61B Java

AP Computer Science. Teacher s Guide. Deborah Power Carter Lancaster Country Day School Lancaster, Pennsylvania

JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4

El Dorado Union High School District Educational Services

CS193j, Stanford Handout #10 OOP 3

Transcription:

TeenCoder : Java Programming (Online Course) ISBN 978-0-9887070-2-3 Cross Reference Tables for the AP * Computer Science A Exam Requirements Updated October, 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.homeschoolprogramming.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 Corresponding Lesson in TeenCoder : Java Programming GridWorld Case Study (no longer required) Chapter 27 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.homeschoolprogramming.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 Chapter 4, Lesson 3 System.out.println...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, Chapter 5, Lesson 3...5.a. Boolean expressions, short-circuit evaluation, Chapter 7, Lesson 1 De Morgan's law 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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.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.homeschoolprogramming.com Page 11 of 11