AP Computer Science AB

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

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

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

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. Alignment to Nevada "Computer Science" Course Standards

CompuScholar, Inc. 9th - 12th grades

AP COMPUTER SCIENCE AB

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

TeenCoder : Java Programming (ISBN )

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

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

AP Computer Science AB

AP Computer Science 4325

Computer. Course Description

Home Works and Assignments

AP Computer Science A

AP Computer Science A (Java) Scope and Sequence

Homeschool Programming, Inc.

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

AP COMPUTER SCIENCE A: SYLLABUS

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

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

AP Computer Science Course Syllabus

AP Computer Science A Syllabus

Computer Programming II C++ (830)

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

CS 445: Data Structures Final Examination: Study Guide

Computer Programming II Python

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

Algorithms and Data Structures Spring 2008

CS 206 Introduction to Computer Science II

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

ITE 205 Software Design and Programming I

AP Computer Science A Course Syllabus

AP Computer Science in Java Course Syllabus

AP COMPUTER SCIENCE GRADES 10 12

AP Computer Science A

AP Computer Science A Syllabus

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

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

Data Structures and Algorithms 1

About this exam review

Quantitative Finance COURSE NUMBER: 22:839:615 COURSE TITLE: Special Topics Oriented Programming 2

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

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

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

CSC2100-Data Structures

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

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

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

Object-Oriented Programming and Data Structures

CS 61B Summer 2005 (Porter) Midterm 2 July 21, SOLUTIONS. Do not open until told to begin

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

Topics for CSCI 151 Final Exam Wednesday, May 10

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

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

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

CSC 216 Data Structures Dr. Melissa Wiggins MCC 306 (601)

SYLLABUS Type of evaluation

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

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

St. MARTIN s ENGINERING COLLEGE Dhulapally,Secunderabad

AP Computer Science A Syllabus

AP Computer Science A Skyline High School Mr. Coupland

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

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

Summer Final Exam Review Session August 5, 2009

AP Computer Science A Sample Syllabus 4

Preface A Brief History Pilot Test Results

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

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

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

Java 2. Course Outcome Summary. Western Technical College. Course Information. Course History. Course Competencies

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

CPSC 211, Sections : Data Structures and Implementations, Honors Final Exam May 4, 2001

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

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

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 154) Pass Marks: 24

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

Draw a diagram of an empty circular queue and describe it to the reader.

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

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

Higher National Unit specification: general information

Introduction p. 1 Pseudocode p. 2 Algorithm Header p. 2 Purpose, Conditions, and Return p. 3 Statement Numbers p. 4 Variables p. 4 Algorithm Analysis

COMP Data Structures

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

Total No. of Questions :09] [Total No. of Pages : 02. II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC First Semester CSE/IT DATA STRUCTURES USING C

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

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

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

Computer Programming IA

Computer Science Curriculum Content, KS5

Compulsory course in Computer Science

CSC 210 COMPUTER SCIENCE II

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

COMP Data Structures

Transcription:

AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity. (Be honest in everything that you do.) 3. Work ethic. (Try your hardest. That s all I ask.) 4. Commitment. (Come to class on time ready to listen, work and learn.) 5. Fun. (It s our job to make this class enjoyable. Learning is fun.) Course Description: This course is designed for college-bound students who are interested in learning to program computers. The course will be taught using the Java language. Major topics will include knowledge of computer systems, variables, expressions, input-output, conditionals, loops, object oriented programming, arrays, parameters, simple recursion, searching, sorting, and strings. Application projects will be assigned. This course will help prepare students for the advanced placement test in the computer language Java. Assessment: Your assessment will be broken down by the following categories: 1. Homework 10% of final grade 2. Programs 20% of final grade 3. Tests and Quizzes 50% of final grade 4. Final Exam 20% of final grade. Grades will then be calculated by the following scale: 93-100 A 73-76 C 90-92 A- 70-72 C- 87-89 B+ 67-69 D+ 83-86 B 63-66 D 80-82 B- 60-62 D- 77-79 C+ 59 How Do I Receive an A In This Class? Follow the expectations of the class: Come to class prepared every day on time. Finish your assignments on time. Respect everyone and everything in the classroom. Respect the time given to you during this class period. Do the work and try your hardest. Be honest in everything you do. Get involved and have fun. If you meet all of these criteria, the rest will take care of itself. Expectations: 1. Be in the computer lab by the beginning of class ready to learn. 2. All assignments not turned in on time are worth half credit. 3. After being absent, it is your responsibility to check with the teacher or your classmates to find out what you missed. 4. Take care of the lab and its equipment. Please do not alter the computers in any way (download software, files, etc.) without permission from the instructor.

Course Java Software Solutions for AP Computer Science, J. Lewis, W. Loftus, and C. Cocking, Second Edition, 2007, Prentice Hall. JAVA Software Structures for AP Computer Science AB, J. Lewis, J. Chase, and L. Sudol, 2006, Pearson Addison Wesley. AP GridWorld Case Study Institute for Mathematics and Computer Science Online Courses (eimacs) www.eimacs.com Note: A chart is available after the Units of Study to show correlation between the Computer Science AB column of the Topic Outline in the AP Computer Science Course Description and each unit of this syllabus. C2------The course includes all of the topics listed in the Computer Science AB column of the Topic Outline in the AP Computer Science Course Description C3------The course design and implement computer-based solutions to problems in a variety of application areas. Units of Study: [C2] Unit 1: Basic Programming Structures [C3] [C4] [C5] [C6] [C8] Students learn about the components of a computer system, networks and the Internet. We explore basic programming structures. Topics include conditionals (if, if-else), repetition (for, while, do while), design and creation of objects, arrays and ArrayLists. Chapters One through Six Lewis, Loftus & Cocking Chapters One and Two Lewis, Chase, Sudol Sample Student Activities for Unit 1: Shopping, Mini Yahtzee Assignments Unit 2: Efficiency of Algorithms [C4] [C5] [C6] Students learn how to evaluate the efficiency of algorithms. They evaluate expressions using prefix, infix and postfix notation. Students will classify and compare algorithms. They will also implement recursion and various sorting (insertion sort, selection sort, merge sort, quick sort, heap sort, bubble sort, shaker sort and shell sort) and searching (linear and binary) algorithms. Sample Student Activities for Unit 2: Evaluation of Expressions, Sorting and Searching Comparison Activity Chapters Six, Seven and Eight Lewis, Loftus, Cocking Chapters One, Six and Seven Lewis, Chase, Sudol Sorting Out Sorting C4------The course use and implement commonly used algorithms and data structures. C5------The course develop and select appropriate algorithms and data structures to solve problems. C6 - The course code fluently in an object-oriented paradigm using the programming language Java. The course teaches students to use standard Java library classes from the AP Java subset delineated in Appendices A and B of the AP Computer Science Course Description. (Note: Students who study a language other than Java in AP Computer Science must also be taught to use Java, as specified in the AP Java subset.)

Unit 3: Abstract Data Types [C4] [C5] [C6] Students work with advanced data structures. Topics include trees, heaps, stacks, queues, sets, maps, hashing and linked lists. Chapters Nine and Ten Lewis, Loftus, Cocking Chapters Three, Four, Five, Eight, Nine, Ten, Eleven and Twelve Lewis, Chase, Sudol Unit 4: AP GridWorld Case Study [C3] [C4] [C5] [C6] [C7] Students work on Parts 1, 2, 3 and 4 of the AP GridWorld Case Study and study Part 5. AP GridWorld Case Study Unit 5: The Computer and Society [C3] [C8] [C9] Students explore how the computer has affected society through various assignments. They look at case studies and a variety of issues pertaining to environmental concerns, hardware and software, careers, computer crimes and miscellaneous items. Students will investigate and analyze careers created by the introduction of computers to society and examine the impact of rapid technology changes on local businesses. They will also have opportunities to reflect on whether they would choose a computer science related career and create a code of computing ethics. C7------The course read and understand a large program consisting of several classes and interacting objects, and enables students to read and understand the current AP Computer Science Case Study posted on AP Central. C8------The course identify the major hardware and software components of a computer system, their relationship to one another, and the roles of these components within the system. C9------The course recognize the ethical and social implications of computer use. Students will have a series of guest speakers and written assignments on each speaker. o Impact of Computers: Guest Speaker o Computer Careers: Guest Speaker o Women and Minorities in Programming: Guest Speaker Unit 6: Preparing for the AP Exam [C3] [C4] [C5] [C6] [C7] 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. We will also have a practice test on a weekend before the exam.

AP GridWorld Case Study eimacs Supplemental handouts multiple choice and free response questions Correlation to AP Topic Outline Computer Science AB [C2] 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. Specify the purpose and goals for a problem. Unit 1 2. Apply data abstraction and encapsulation. Unit 1 3. Decompose a problem into classes; define relationships and Unit 1 responsibilities of those classes. 4. Understand and implement a given class hierarchy. Unit 1 5. Identify reusable components from existing code using classes Unit 1 and class libraries. B. Class design 1. Design and implement a set of interacting classes. Unit 1 2. Design an interface. Unit 1 3. Choose appropriate advanced data structures and algorithms. Unit 1 4. Apply functional decomposition. Unit 1 5. Extend a given class using inheritance. Unit 1 and 2 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 1 b. Top-down development Unit 1 c. Encapsulation and information hiding Unit 1 d. Procedural abstraction Unit 1 B. Programming constructs 1. Primitive types vs. objects Unit 1 2. Declaration a. Constant declarations Unit 1 b. Variable declarations Unit 1 c. Class declarations Unit 1 d. Interface declarations Unit 1 and 2 e. Method declarations Unit 1 f. Parameter declarations Unit 1 3. Console output (System.out.print/println) Unit 1

4. Control a. Methods Unit 1 b. Sequential Unit 1 c. Conditional Unit 1 d. Iteration Unit 1 e. Recursion Unit 2 C. Java library classes (included in the AB-level Java Subset) Unit 1 and 3 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 1 2. Identify boundary cases and generate appropriate test data. Unit 1 3. Perform integration testing. Unit 1 B. Debugging 1. Categorize errors: compile-time, run-time, logic. Unit 1 and 2 2. Identify and correct errors. Unit 1 and 2 3. Employ techniques such as using a debugger, adding extra output Unit 1 and 2 statements, or hand-tracing code. C. Understand and modify existing code Unit 1, 2 and 3 D. Extend existing code using inheritance Unit 1 and 2 E. Understand error handling 1. Understand runtime exceptions. Unit 1 2. Throw runtime exceptions Unit 1 F. Reason about programs 1. Pre- and post-conditions Unit 1 2. Assertions Unit 1 G. Analysis of algorithms 1. Informal comparisons of running times Unit 2 2. Exact calculation of statement execution counts Unit 2 3. Big-Oh notation Unit 2 4. Worst-case and average-case time and space analysis Unit 2 H. Numerical representations and limits 1. Representations of numbers in different bases Unit 1 2. Limitations of finite representations (e.g., integer bounds, Unit 1 imprecision of floating-point representations, and round-off error) 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 1 B. Classes Unit 1 C. One-dimensional arrays Unit 1 and 2 D. Two-dimensional arrays Unit 1 and 2 E. Linked lists (singly, doubly, circular) Unit 3

F. Stacks Unit 3 G. Queues Unit 3 H. Trees Unit 3 I. Heaps Unit 3 J. Priority queues Unit 3 K. Sets Unit 3 L. Maps Unit 3 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 AB-level data 1. Traversals Unit 1, 2 and 3 2. Insertions Unit 1, 2 and 3 3. Deletions Unit 1, 2 and 3 4. Iterators Unit 1, 2 and 3 B. Searching 1. Sequential Unit 2 2. Binary Unit 2 3. Hashing Unit 3 C. Sorting 1. Selection Unit 2 2. Insertion Unit 2 3. Mergesort Unit 2 4. Quicksort Unit 2 5. Heapsort Unit 2 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 and 5 2. Privacy Unit 1 and 5 3. Legal issues and intellectual property Unit 1 and 5 4. Social and ethical ramifications of computer use Unit 1 and 5