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

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

AP Computer Science AB

AP Computer Science A Syllabus

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

IMACS: AP Computer Science A

CompuScholar, Inc. 9th - 12th grades

TeenCoder : Java Programming (ISBN )

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

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

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

AP Computer Science A (Java) Scope and Sequence

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

AP Computer Science A

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

AP COMPUTER SCIENCE AB

Computer. Course Description

Introduction to Programming Using Java (98-388)

B. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.

AP Computer Science A Course Syllabus

AP COMPUTER SCIENCE A: SYLLABUS

AP Computer Science AB

AP Computer Science A

AP Computer Science A Skyline High School Mr. Coupland

Computer. Course Description. Computer Science AB. M a y , M a y

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

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

Computer Programming IA

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


AP Computer Science A Syllabus

About this exam review

AP Computer Science Course Syllabus

COP 1220 Introduction to Programming in C++ Course Justification

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

AP Computer Science A Syllabus

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

Total Test Questions: 43 Levels: Grades Units of Credit:.50

Homeschool Programming, Inc.

WA1278 Introduction to Java Using Eclipse

AP Computer Science in Java Course Syllabus

AP COMPUTER SCIENCE GRADES 10 12

Programming in Visual Basic with Microsoft Visual Studio 2010

An OBJECT contains VARIABLES = PROPERTIES and METHODS = BEHAVIORS. Outline the general nature of an object.

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

CodeHS: Arkansas Standards Alignment

COMPUTER SCIENCE A. Course Description

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

EECS168 Exam 3 Review

AP Computer Science A (APCS) James Madison High School - Career & Technical Education Course Syllabus and Guidelines

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

Chapter 4 Defining Classes I

CO Java SE 8: Fundamentals

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

Unit Overview. Concepts & Understandings. Learning Targets

Compulsory course in Computer Science

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

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

Absolute C++ Walter Savitch

NJCCCS AREA: Mathematics. North Brunswick Township Public Schools AP COMPUTER SCIENCE. Acknowledgements. Vivian Morris, Mathematics Teacher

APCS Semester #1 Final Exam Practice Problems

OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE

Introduction... ix. Chapter 1: Exploring Fundamental Programming Concepts... 1

CS 445: Data Structures Final Examination: Study Guide

Chief Reader Report on Student Responses:

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

COURSE TITLE. Introduction to Java LENGTH. One Semester Grades DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

JVA-103. Java Programming

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

CIS 120. Introduction to Programming

Data Structure. Recitation III

Introduction to Programming Microsoft.NET Applications with Visual Studio 2008 (C#)

COP 1170 Introduction to Computer Programming using Visual Basic

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

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

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

"Charting the Course... Java Programming Language. Course Summary

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

Preface A Brief History Pilot Test Results

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1


ITE 205 Software Design and Programming I

CSCI 136 Data Structures & Advanced Programming. Spring 2018 Instructors Bill Jannen & Jon Park

CSC 210 COMPUTER SCIENCE II

Appendix A: Objectives and Courseware Locations

EXPERIMENTS IN COMPUTER SCIENCE

Preface. What s New in This Edition. About This AP* Book

Outline. Object Oriented Programming. Course goals. Staff. Course resources. Assignments. Course organization Introduction Java overview Autumn 2003

C++ (Non for C Programmer) (BT307) 40 Hours

«Computer Science» Requirements for applicants by Innopolis University

CGS 2405 Advanced Programming with C++ Course Justification

WITH C+ + William Ford University of the Pacific. William Topp University of the Pacific. Prentice Hall, Englewood Cliffs, New Jersey 07632

Chapter 5: Procedural abstraction. Function procedures. Function procedures. Proper procedures and function procedures

Computer Science Curriculum Content, KS5

Chapter 3: Modules. Starting Out with Programming Logic & Design. Second Edition. by Tony Gaddis

COP 3330 Final Exam Review

Prerequisite: Computer Science 2 (CS2) with a grade of B+ or better

Software Development Fundamentals (SDF)

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

Object Orientated Analysis and Design. Benjamin Kenwright

Transcription:

A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the

INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the objectives of the AP Computer Science A. Correlation references are Student Edition, Teacher s Guide, and AP Test Prep Workbook and are cited at the page level. This third edition of AP Computer Science has been updated to ensure that the most recent requirements for the Advanced Placement test have been thoroughly covered. In addition, the flow and discussion of certain topics have been improved and updated. Features: Fully supports the latest course description for the 2010-2011 AP Computer Science exam. Expanded discussion of the representation of primitive types, including imprecision and roundoff error. Enhanced discussion of testing, debugging, and loop analysis. Integrated coverage of ethical and social implication related to computing throughout the book. An appendix has been added covering number systems and examples of conversions between bases. New AP Correlation Guide to College Board topics. 2

Table of Contents I. Object-Oriented Program Design... 4 II. Program Implementation... 5 III. Program Analysis... 6 IV. Standard Data Structures... 8 V. Standard Algorithms... 8 VI. Computing in Context... 9 3

Topic Outline - Following is an outline of the major topics considered for the Exam. This outline is intended to define the scope of the course but not necessarily the sequence. I. Object-Oriented Program Design - The overall goal for designing a piece of software (a computer program) is to correctly solve the given problem. At the same time, this goal should encompass specifying and designing a program that is understandable, can be adapted to changing circumstances, and has the potential to be reused in whole or in part. The design process needs to be based on a thorough understanding of the problem to be solved. A. Program design 1. Read and understand a problem description, purpose, and goals. SE: 2, 118-119 2. Apply data abstraction and encapsulation. SE: 56-57, 189-192, 401-402 TG: Ch 2, 1-3, Ch 4, 1-3, Ch 5, 1-4 AP: 41-42 3. Read and understand class specifications and relationships among the classes ( is-a, has-a relationships). 4. Understand and implement a given class hierarchy. 5. Identify reusable components from existing code using classes and class libraries. SE: 183-192, 211-219, 364 TG: Ch 4, 1-3 SE: 389-399 TG: Ch 7, 1-3 SE: 53, 82-89, 387-388 B. Class design 1. Design and implement a class. SE: 183-192, 192-202, 203-210, 253-256, 268-273 TG: Ch 4, 1-3 2. Choose appropriate data representation and algorithms. SE: 150-157, 268-273 AP: 57-59 3. Apply functional decomposition. SE: 192-202, 204-211 4. Extend a given class using inheritance. SE: 364-372, 372-383, 384-388, 389 TG: Ch 7, 1-3 4

II. Program Implementation - The overall goals of program implementation parallel those of program design. Classes that fill common needs should be built so that they can be reused easily in other programs. Object-oriented design is an important part of program implementation. A. Implementation techniques 1. Methodology a. Object-oriented development SE: 52-54 TG: Ch 1, 1-3 AP: 25-36, 37-47, 48-56 b. Top-down development SE:118-119 TG: Ch 1, 1-3 c. Encapsulation and information hiding SE:189-192 TG: Ch 4, 1-3, Ch 5, 1-4 d. Procedural abstraction SE: 56-57, 192 TG: Ch 5, 1-4 AP: 41-42 B. Programming constructs 1. Primitive types vs. objects SE: 52-57, 65-68 TG: Ch 2, 1-4 AP: 25-26 2. Declaration a. Constant declarations SE: 65 b. Variable declarations SE: 61 TG: Ch 2, 1-4 c. Class declarations SE: 184-192 d. Interface declarations SE: 259-268 TG: Ch 5, 1-4 AP: 42-44, 66, 77 e. Method declarations SE: 192-202 TG: Ch 4, 1-3 AP: 27 f. Parameter declarations SE: 199 TG: Ch 4, 1-3, Ch 5, 1-4 AP: 27-30 3. Console output (System.out.print/println) SE: 54-56 5

4. Control a. Methods SE: 192-202 TG: Ch 4, 1-3 b. Sequential SE: 120 c. Conditional SE: 120-136 TG: Ch 3, 1-4 AP: 11-17 d. Iteration SE: 120-121, 136-146, 146-157, 266-268, 336 TG: Ch 3, 1-4 e. Understand and evaluate recursive methods SE: 430-460 TG: Ch 8, 1-3 AP: 31-32 C. Java library classes (included in the AP Java subset) SE: 82-96, 264, 333-338 TG: Ch 9, 1-2 AP: 77-86 III. Program Analysis - The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications. It also includes the analysis of programs or algorithms in order to understand their time and space requirements when applied to different data sets. A. Testing 1. Test classes and libraries in isolation. SE: 271-273 2. Identify boundary cases and generate appropriate test data. SE: 271-273 3. Perform integration testing. SE: 271-273 B. Debugging 1. Categorize errors: compile-time, run-time, logic. SE: 37 2. Identify and correct errors. SE: 37, 271-273 3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code. SE: 271-273 6

C. Understand and modify existing code SE: 25, 30-31, 47-48, 55, 58, 59, 61, 62, 64, 71, 75, 79, 87, 91, 92, 94, 96, 103-104, 111-112, 126-127, 129, 137, 138-139, 141-142, 145-146, 148-149, 150, 152-153, 154, 156, 159-160, 162-163, 164-165, 166-167, 174-177, 185, 186, 188-189, 194, 195-197, 205, 206-207, 208, 209-210, 212, 213-216, 217, 218, 219, 222-223, 224, 229-233, 246-247, 248, 250, 251, 254-256, 258, 259, 260, 261, 262, 263, 265-266, 275, 277-278, 280, 281-282, 288-290, 298, 300, 301-302, 304, 307, 308, 309-310, 311-312, 313, 315, 316, 318, 320, 321-322, 324-326, 331-333, 335, 337, 339-340, 342, 343-344, 346, 347-348, 354-357, 365-370, 372-373, 376-378, 380-387, 391-399, 406-408, 410-415, 421-422, 437-439, 442-444, 446-449, 452, 455-459, 466-467, 477, 480-483, 485-486, 488-489, 491, 492-493, 500-501, 515-516, 519, 520-521, 522, 525-526, 532, 533-534, 536, 537-539, 541-542, 551 D. Extend existing code using inheritance SE: 364-371, 387-388 TG: Ch 7, 1-3 AP: 37 E. Understand error handling 1. Understand runtime exceptions. SE: 256-259 F. Reason about programs 1. Pre- and post-conditions SE: 200-201 AP: 30-31 2. Assertions SE: 201 G. Analysis of algorithms 1. Informal comparisons of running times SE: 326-328 2. Exact calculation of statement execution counts SE: 314 H. Numerical representations and limits 1. Representations of numbers in different bases SE: 6-9, 591-597 2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error) SE: 66, 134 7

IV. Standard Data Structures - Data structures are used to represent information within a program. Abstraction is an important theme in the development and application of data structures. A. Simple data types (int, boolean, double) SE: 65-68 B. Classes SE: 53, 203-204 C. Lists SE: 333-338, 476-486 TG: Ch 6, 1-3 AP: 61-69 D. Arrays SE: 296-338 TG: Ch 6, 1-3 AP: 17-23, 48-52 V. Standard Algorithms - Standard algorithms serve as examples of good solutions to standard problems. Many are intertwined with standard data structures. These algorithms provide examples for analysis of program efficiency. A. Operations on data structures previously listed 1. Traversals SE: 514-516, 440 2. Insertions SE: 319-323 3. Deletions SE: 336-338 B. Searching 1. Sequential SE: 313-314 AP: 72 2. Binary SE: 314-317 TG: Ch 10, 1-2 AP: 73 C. Sorting 1. Selection SE: 319-322 TG: 71 2. Insertion SE: 322-326 AP: 71-72 3. Mergesort SE: 444-449 AP: 72 8

VI. Computing in Context - An awareness of the ethical and social implications of computing systems is necessary for the study of computer science. These topics need not be addressed in detail but should be considered throughout the course. A. System reliability SE: 611-613 B. Privacy SE: 613-620 C. Legal issues and intellectual property SE: 607-611 D. Social and ethical ramifications of computer use SE: 599-601 9