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

Similar documents
AP Computer Science AB Syllabus 1

COMPUTER SCIENCE A. Course Description

Computer. Course Description

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

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

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

Computing Concepts with Java Essentials

AP Computer Science A Syllabus

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

Programming and Software Development CTAG Alignments

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

Java Application Developer Certificate Program Competencies

COMPUTER SCIENCE COURSE OUTLINE

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

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

#820 Computer Programming 1A

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

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

Computer Programming I

Course MS10975A Introduction to Programming. Length: 5 Days

Domains and Competencies

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

CS Matters in Maryland CS Principles Course

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

Computer Programming I & II*

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

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

The Elective Part of the NSS ICT Curriculum D. Software Development

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Java (12 Weeks) Introduction to Java Programming Language

COMPUTER SCIENCE (5651) Test at a Glance

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

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

AP Computer Science Java Subset

Computer Programming I

AP Computer Science Summer Assignment Due: 1 st day of class, as you walk into the door!

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

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

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

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Progress Report Aspect Oriented Programming meets Design Patterns. Academic Programme MSc in Advanced Computer Science. Guillermo Antonio Toro Bayona

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

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

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

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

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

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

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

Software Engineering Techniques

Computer Science 1-3 (AP) Syllabus/Online Course Plan

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

C++FA 5.1 PRACTICE MID-TERM EXAM

Course Title: Software Development

Software Engineering Transfer Degree

Essentials of Computer Programming. Computer Science Curriculum Framework

Glossary of Object Oriented Terms

50 Computer Science MI-SG-FLD050-02

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

Figure 1: Graphical example of a mergesort 1.

DATA STRUCTURES USING C

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

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Computer Science Data Science - B.S.

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.

Fundamentals of Java Programming

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

Data Structures and Algorithms Written Examination

An Introduction to Programming and Computer Science

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

10CS35: Data Structures Using C

1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders

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

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

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

Section of DBMS Selection & Evaluation Questionnaire

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

LINKED DATA STRUCTURES

Java SE 8 Programming

CS 2112 Spring Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

Java EE Web Development Course Program

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

AP Computer Science A Syllabus

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

Java Software Structures

Chapter 8: Bags and Sets

Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts

Iteration CHAPTER 6. Topic Summary

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

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Measures of Error: for exact x and approximation x Absolute error e = x x. Relative error r = (x x )/x.

Sources: On the Web: Slides will be available on:

A standards-based approach to application integration

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

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

Transcription:

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

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 Course Description. Correlation page 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.

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

AP Computer Science, 3rd Edition 2011, Topic Outline - Following is an outline of the major topics considered for the AP Computer Science A 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

AP Computer Science, 3rd Edition 2011, 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-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 AP Computer Science, 3rd Edition 2011, 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

AP Computer Science, 3rd Edition 2011, 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

AP Computer Science, 3rd Edition 2011, 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

AP Computer Science, 3rd Edition 2011, 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