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

Similar documents
AP Computer Science AB

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

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

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

CompuScholar, Inc. 9th - 12th grades

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

TeenCoder : Java Programming (ISBN )

AP Computer Science A Course Syllabus

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

AP Computer Science A

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

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

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

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

AP Computer Science A

AP Computer Science Course Syllabus

AP COMPUTER SCIENCE A: SYLLABUS

AP Computer Science A (Java) Scope and Sequence

Homeschool Programming, Inc.

AP Computer Science AB

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

AP Computer Science A Syllabus

AP COMPUTER SCIENCE AB

AP Computer Science A Syllabus

ITE 205 Software Design and Programming I

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

AP Computer Science A Syllabus

AP Computer Science in Java Course Syllabus

AP Computer Science A Skyline High School Mr. Coupland

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

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

AP Computer Science A. Course Syllabus. Jackson County High School Instructor: LaDonna Woods School Year

AP COMPUTER SCIENCE GRADES 10 12

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

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

AP Computer Science A Mira Costa High School - Class Syllabus,

Preface A Brief History Pilot Test Results

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

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

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

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


Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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

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

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

Beginning Programming (Two Semesters) Semester One. Module One: Intro to Beginning Programming. Module Two: Computer Careers

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

Compulsory course in Computer Science

CENTRAL TEXAS COLLEGE COSC 1337 PROGRAMMING FUNDAMENTALS II. Semester Hours Credit: 3

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

Introduction to Programming Using Java (98-388)

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

Computer Programming IA

CENTRAL TEXAS COLLEGE COSC 1315 INTRODUCTION TO COMPUTER PROGRAMMING. Semester Hours Credit: 3 INSTRUCTOR: OFFICE HOURS:

Computer. Course Description

CO Java SE 8: Fundamentals

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

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

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

CodeHS: Arkansas Standards Alignment

Appendix A: Objectives and Courseware Locations

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II

Eight units must be completed and passed to be awarded the Diploma.

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

During the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.

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

EXPERIMENTS IN COMPUTER SCIENCE

COWLEY COLLEGE & Area Vocational Technical School

You must pass the final exam to pass the course.

JAVA CONCEPTS Early Objects

Diploma Of Computing

Unit Overview. Concepts & Understandings. Learning Targets

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

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

BCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER COURSE WEBSITE

Schram, Leon. Exposure JavaCS Edition 2008,. Royse City, TX: Leon Schram,


ENGR 102 Engineering Lab I - Computation

COP 1220 Introduction to Programming in C++ Course Justification

AP Computer Science A Sample Syllabus 4

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

CSC 210 COMPUTER SCIENCE II

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

Standards/ Strands Essential Questions Skills Assessment. What are the strengths and weaknesses of Processing as a programming language?

COURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia

AP Computer Science 4325

Object-Oriented Programming for Managers

CSC 111 Introduction to Computer Science (Section C)

IT-2670: C/C++ PROGRAMMING LANGUAGE

Recursive Thinking. Chapter 8: Recursion. Recursive Definitions. Recursion. Java Software Solutions for AP* Computer Science A 2nd Edition

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

CS 206 Introduction to Computer Science II

Programming in Visual Basic with Microsoft Visual Studio 2010

Course specification

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Transcription:

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking, 2nd Edition, 2007, Prentice Hall. Java Software Solutions: Foundations of Program Design, Second Edition, J. Lewis,W. Loftus, 2000, Addison- Wesley (Chapter Eight) AP GridWorld Case Study Website: Alice: http://www.alice.org/ Institute for Mathematics and Computer Science Online Courses (eimacs):http://www.eimacs.com Note: A chart is available below to show a correlation between the ComputerScience A column of the Topic Outline in the AP Computer Science Course Description and each unit of this syllabus. Nine-week evaluation: Tests 50% Homework 10% Computer labwork 30% Notebook check 10% End of 1 st semester: 1 st nine-week grade 40% End of 2 nd semester: 3 rd nine-week grade 40% 2 nd nine-week grade 40% 4 th nine-week grade 40% Semester Exam 20% Semester Exam 20% Units of Study: Unit 1: Introduction to the Computer and Ready-Made Programming Environments We begin with an introduction to using the computer and its components. Students experiment with the Alice program, which leads them to explore two ready-made programs and provides an exercise that allows them to create a program from scratch. Students also work through the first chapter of the GridWorld Case Study. They learn about the components of a computer system, networks, and the Internet. Sample Student Activity for Unit 1: Submit a research paper (Inside thecomputer) Alice GridWorld Case Study Lewis, Loftus, Cocking: Chapter One Unit 2: Introduction to the Programming Environment This unit begins teaching students how to plan their work by learning about proper pseudocode and flowchart structures. Students are led through their first program (Hello World) to explore the format of a proper Java

program. They continue with learning how to use simple input/output, primitive data types, the string class, arithmetic expressions, and random number generation. Sample Student Activities for Unit 2: Practice pseudocode and flowchart, Hello World, Strings, Expressions, Random/IO, Marvin s Game Parts One and Two. Lewis, Loftus, Cocking: Chapter 2 Unit 3: Conditional and Repetition Students focus on how to use conditionals (if, if else, switch) and repetition (for, while, do while) structures. Students learn to design and test programs that solve assigned problems. Sample Student Activities for Unit 3: Conditionals, Loops, Code Segments, Marvin s Game Part Three Lewis, Loftus, Cocking: Chapter 3 Search for Prime Numbers Unit 4: Methods and Classes Students learn how to create their own classes by defining objects. Proper method and class structure is emphasized. They are also introduced to interfaces (Comparable), inheritance, and polymorphism. Sample Student Activities for Unit 4: Exploring Applets, Methods Assignment, Simple Animation Assignment, Marvin s Game Part Four Lewis, Loftus, Cocking: Chapters 4, 5 and 7 Unit 5: Advanced Programming Structures [C4, C5, C6] This unit focuses on the creation of advanced data structures and algorithms. Topics include 1-D and 2-D arrays, ArrayLists, sequential and binary searching, sorting algorithms (Insertion Sort, Selection Sort, and Merge Sort) and recursion. Students write pre- and post-conditions for their methods. Students learn when to prefer iteration and when to prefer recursion. They learn the differences between arrays and ArrayLists. They compare sequential searching to binary searching and compare algorithms for sorting with one another. Sample Student Activities for Unit 5: Arrays and ArrayList, Marvin s Game Parts Five and Six Lewis, Loftus, Cocking: Chapters 6 and 8 Sorting Out Sorting Secret Messages Using the Caesarian Cipher Unit 6: AP GridWorld Case Study, continued Students work through Chapters Two, Three, and Four of the AP GridWorld Case Study. AP GridWorld Case Study Unit 7: The Computer and Society Students explore how the computer has affected society. Topics include the evolution of computer languages, ergonomics, ethics, and computer careers. Students will submit a series of research papers and do a class presentation. Assignment handouts

1. Evolution of Computer Languages research paper 2. Ergonomics research paper and class presentation 3. Computer Careers and Ethics research paper Unit 8: Input/Output This unit teaches students how to use input and output streams. Topics include try and catch, exceptions, standard I/O, and reading from and writing to text files. Lewis, Loftus: Chapter 8 Unit 9: Getting Ready for the AP Exam Students work through sample multiple-choice questions and free-response questions. They will write a mock exam to simulate the timing and type of questions to expect on the actual exam. Students review Java theory and the AP GridWorld Case Study using eimacs. AP GridWorld Case Study eimacs Supplemental handouts multiple-choice and free-response questions Unit 10: Summative Students work through a series of summative assignments that evaluate their ability to work through the development of a program. Tasks include writing a program proposal, planning the program using pseudocodes/flowcharts, creating a user s manual, writing program code, and creating a limitations document. Additional Information: Students work through a cumulative programming assignment (Marvin s Game) that is part of Units 2 through 5. This program contains six parts. Each part evaluates the student s understanding of the structures taught in each unit. Correlation to AP Topic Outline 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. Units 1 and 3 2. Apply data abstraction and encapsulation. Units 2 and 4 3. Read and understand class specifications and relationships among the classes ( is-a, has-a relationships). Unit 4 4. Understand and implement a given class hierarchy. Unit 4 5. Identify reusable components from existing code using classes and class libraries. Unit 4 B. Class design 1. Design and implement a class. Unit 4 2. Choose appropriate data representation and algorithms. Units 3 and 4 3. Apply functional decomposition. Unit 4 4. Extend a given class using inheritance. Unit 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 Unit 2 b. Top-down development Unit 3 c. Encapsulation and information hiding Unit 4 d. Procedural abstraction Unit 4 B. Programming constructs 1. Primitive types vs. objects Unit 2 2. Declaration a. Constant declarations Unit 2 b. Variable declarations Unit 2 c. Class declarations Unit 4 d. Interface declarations Unit 4 e. Method declarations Unit 4 f. Parameter declarations Unit 4 3. Console output (System.out.print/println) Unit 2 4. Control a. Methods Unit 4 b. Sequential Unit 3 c. Conditional Unit 3 d. Iteration Unit 3 e. Recursion Unit 5 C. Java library classes (included in the A-level AP Java Subset) Units 2 and 4 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. Unit 4 2. Identify boundary cases and generate appropriate test data. Unit 4 3. Perform integration testing. Unit 4 B. Debugging 1. Categorize errors: compile-time, run-time, logic. Units 1, 2, and 8 2. Identify and correct errors. Units 1, 2, 5, and 8 3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code. Units 1, 2, 5, and 8 C. Understand and modify existing code Units 1, 2, 3, 4, 5, 6, and 8 D. Extend existing code using inheritance Unit 4 E. Understand error handling 1. Understand runtime exceptions. Unit 4 F. Reason about programs 1. Pre- and post-conditions Unit 4 2. Assertions Unit 4 G. Analysis of algorithms 1. Informal comparisons of running times Unit 5

2. Exact calculation of statement execution counts Unit 5 H. Numerical representations and limits 1. Representations of numbers in different bases Unit 1 2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error) Units 2 and 3 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) Unit 2 B. Classes Units 2 and 4 C. One-dimensional arrays Unit 5 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 A-level data structures previously listed 1. Traversals Unit 5 2. Insertions Unit 5 3. Deletions Unit 5 B. Searching 1. Sequential Unit 5 2. Binary Unit 5 C. Sorting 1. Selection Unit 5 2. Insertion Unit 5 3. Mergesort Unit 5 VI. Computing in Context A working knowledge of the major hardware and software components of computer systems is necessary for the study of computer science, as is the awareness of the ethical and social implications of computing systems. These topics need not be covered in detail but should be considered throughout the course. A. Major hardware components 1. Primary and secondary memory Unit 1 2. Processors Unit 1 3. Peripherals Unit 1 B. System software 1. Language translators/compilers Unit 1 2. Virtual machines Unit 1 3. Operating systems Unit 1 C. Types of systems 1. Single-user systems Unit 1 2. Networks Unit 1 D. Responsible use of computer systems 1. System reliability Unit 1 2. Privacy Unit 7 3. Legal issues and intellectual property Unit 7 4. Social and ethical ramifications of computer use Unit 7