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

Similar documents
INTRODUCTION TO COMPUTER SCIENCE - JAVA

Introduction to Computer Science using JAVA

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

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

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

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

AP Computer Science A Syllabus

AP Computer Science Course Syllabus

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

AP Computer Science A Skyline High School Mr. Coupland

AP Computer Science A

AP Computer Science AB

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

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.

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

IMACS: AP Computer Science A

AP Computer Science A Syllabus

AP Computer Science A Course Syllabus

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


AP COMPUTER SCIENCE A: SYLLABUS

Homeschool Programming, Inc.

AP Computer Science A (Java) Scope and Sequence

TeenCoder : Java Programming (ISBN )

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

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

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

JAVA CONCEPTS Early Objects

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

Student Performance Q&A:

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

CompuScholar, Inc. 9th - 12th grades

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

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

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

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

COLLEGE OF THE DESERT

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

AP Computer Science A

Syllabus Honors Java Programming 1 & 2

COURSE OVERVIEW. Successful completion of this course may provide one semester of college credit for computer science.

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

AP COMPUTER SCIENCE GRADES 10 12

AP Computer Science A Syllabus

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

ITE 205 Software Design and Programming I

CIS 120. Introduction to Programming

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

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

CSC 210 COMPUTER SCIENCE II

Big Java Late Objects

AP Computer Science A Sample Syllabus 4

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

AP COMPUTER SCIENCE AB

Computer Programming II C++ (830)

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

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

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

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

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

AP Computer Science in Java Course Syllabus

HOUSTON COMMUNITY COLLEGE BUSINESS TECHNOLOGY NORTHEAST COLLEGE-NORTHLINE LOCATION COURSE SYLLABUS FALL 2011 COMPUTER APPLICATION I POFI 1301

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

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

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

JVA-103. Java Programming

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET

COURSE TITLE. Computer Programming C++ LENGTH. One Semester Grades DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

Unit Overview. Concepts & Understandings. Learning Targets

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

Algorithms and Data Structures Spring 2008

Preface A Brief History Pilot Test Results

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

CGS 2405 Advanced Programming with C++ Course Justification

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

Student Performance Q&A:

INHERITANCE & POLYMORPHISM. INTRODUCTION IB DP Computer science Standard Level ICS3U. INTRODUCTION IB DP Computer science Standard Level ICS3U

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. ET4560T C++ Programming Onsite Course SYLLABUS

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Objects First with Java

ITT Technical Institute. SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS

Pace University. Fundamental Concepts of CS121 1

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

Computer Programming II Python

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

Advanced Placement Computer Science (APCS) Office Phone:

Course Outline. [ORACLE PRESS] Kathy Sierra s & Bert Bates OCA/OCP Java 7 Programmer Course for Exam 1Z0-803 and 1Z

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

MyProgram m i ng Lab. get with the programming. Through the power of practice and immediate personalized

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

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

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

AP Computer Science AB

CORE JAVA TRAINING COURSE CONTENT

This page intentionally left blank

Transcription:

NJCCCS AREA: Mathematics North Brunswick Township Public Schools AP COMPUTER SCIENCE Acknowledgements Vivian Morris, Mathematics Teacher Diane M. Galella, Supervisor of Mathematics Date: New Revision May 2012 Board Adoption This curriculum is aligned with the Advanced Placement Science syllabus submitted to and approved by the College Boards.

1 The major emphasis in AP Science is on programming methodology, algorithms and data structures, and objectoriented programming. After completion of this course, the qualified student will be able to: design and implement computerbased solutions to problems in application areas, apply knowledge of well-known algorithms and data structures, identify major hardware and software components of the computer system, know the roles they play and their inter-relationships, recognize social and ethical implications of computer use. Due to the nature and increasing complexity of the course work, candidates for this program must have successfully completed or be enrolled in Precalculus or its equivalent. A summer assignment is given. It is expected that these students will take the A portion of the Advanced Placement Exam. NJ Core Curriculum Standards that apply throughout the course are: From the Math Standards 4.5.A1 & 2 4.5.F1-6 From the Technology Standards 8.1A4 & D1 8.2 A3 Standards unique to a particular concept are stated in the Course of Study.

New Jersey - Common Core State Standards for Mathematics Note: Please see p 1 regarding NJ Core Curriculum Standards 2 Chapter or Unit: Introduction/Review, Files, RandomNumbers, Base Conversion Create a graphic using JCreator Create a program utilizing skills learned in Intro to Science (2533) Worksheets Create a program composed of methods and a menu that accesses each method depending on the users choice. Implement needed methods from the Math class Lab PACING NJ CORE 3 days 4.5.A1 & 2 1 wk Read data from files into a program Worksheets Using EasyReader, read a file of: same type data mixed type data Lab 1 wk Implement and understand the difference between the Random Class and the Random method in the math class Worksheets Use the java.lang.math method random() in a program Use various methods in the Random class 1 wk

Chapter or Unit: Introduction/Review, Files, RandomNumbers, Base Conversion (cont) 3 Convert numbers from the decimal base to bases 2, 8, 16 (binary, octal, and hexadecimal) and visa versa Understand the use of this notation in the computer world. Apply knowledge of files, Random Class, methods in the Math class, and number conversion Discuss algorithms to convert from the decimal base to any other base and visa versa Worksheets Hwk Worksheet Test Teacher made Test PACING NJ CORE 2 days 4.5.A1 & 2

4 Chapter or Unit: Introduction to Objects and Classes Understand the concepts of classes and objects Realize the difference between objects and object references Implement classes and simple methods within those classes Use and understand the use and purpose of constructors Be able to access instance fields and local variables Appreciate the importance of documentation and comments Construct and use objects Using object variables (importing from other packages) Define and test a class Create constructor(s) in the class definition Design & implement a public interface of a class Use an instance field Understand the variable types Create a method summary generated by javadoc PACING NJ CORE 2 days 4.5.A1 & 2 4 days 4 days Apply knowledge of Objects and Classes Worksheet Lab Test Lab Teacher made Test 4 day

Chapter or Unit: Data Types 5 Understand how to work with static methods Use the String class to define and manipulate character strings Discuss/compare/contrast static methods with other methods Discuss what constitutes a string Discuss/list the methods in the string class with examples of the usage of each PACING ½ day 3 days NJ CORE 4.5.A1 & 2 Understand the copy behavior of primitive types and object references Review casting 2 days Implement static methods, the String class and the copy behavior of primitive types and object references Worksheets Lab Test Lab Teacher made Test 4 days Chapter or Unit: One Dimensional Arrays and ArrayLists

6 Understand and use one dimensional arrays Understand when to choose array lists and arrays to store data Implementing partially filled arrays Discuss the use of arrays to handle collections of similar objects Implement arrays, declaration and manipulation using loops, out of bounds error Discuss/implement parallel arrays Discuss usage/ease of using arraylist vs arrays and types of data used for each Discuss flexibility in growing an array vs an arraylist PACING NJ CORE 4 days 4.5.A1 & 2 2 days Understand and use an arraylist Discuss the use of array list to hand collections of objects Discuss wrapper classes to make primitives appear as objects Implement an array list, declaration and manipulation using loops, using array list methods, out of bounds error 2 days Apply objectives of arrays and arraylist Worksheets Lab Test Lab Teacher made Test 4 days

7 Chapter or Unit: Interfaces and Polymorphism Be able to define and implement an interface Be able to convert between supertype and subtype references Discuss/code how to create an interface Discuss common errors in working with interfaces Revisiting casting to convert from an interface type to a class type PACING NJ CORE 4.5.A1 & 2 Understand the concept of polymorphism Define/discuss the concept of polymorphism Define/discuss the concepts of early and late binding Improve reusability by implementing helper classes as inner classes Defining classes within other classes Apply objectives on interfaces and polymorphism Worksheets Lab Test Lab Teacher made test 3 days

8 Chapter or Unit: Iterative Sorts and Searches Discuss the pros/cons of the various iterative sorts Analyze the algorithms Discuss the bubble, insertion and selection sorts in terms of loop structure and best/worst case analysis Implement the bubble sort algorithm and either the insertion or selection sort Identify the swap method and its use Lab PACING NJ CORE 3 days 4.5.A1 & 2 Discuss the pros/cons of both the linear search and the binary search Analyze the algorithms Discuss the linear search and binary search in terms of the loop/decision structure and the best/worst case analysis Implement the binary search algorithm after one of the above searches has been completed to find an object Lab 3 days Applying sorts and searches Worksheets Lab Test on both sorts and searches Lab Teacher made test 5 days

9 Chapter or Unit: Recursion Understand the concept of recursion as a repetitive process both from a math and computer perspective Emphasize the need for a terminating condition/base case Discuss the math definition of writing the recursive rule of a sequence of numbers Discuss problems that are easier to solve by recursion than by iteration, discuss the relationship between recursion and iteration Thinking recursively State, Teacher made, Student Oral Response PACING NJ CORE 4.5.A1 & 2 Investigate the Towers of Hanoi simulation and algorithm Apply the algorithms for factorial, pascals triangle, and Fibonacci numbers Scissors Play the Towers of Hanoi simulation with disks and paper cutting exercise, discuss code for moving disks discuss/code algorithm for factorial, pascals triangle and generating Fibonacci numbers Activities Student Oral Response 2 days 4.5.C.1 & 3 Discuss/apply the merge sort algorithm Apply objective on recursion and merge sort Worksheets Lab Test Analyze merge sort algorithm in terms of efficiency, time and memory, O notation Compare/contrast merge sort algorithm with iterative sort algorithms Assignment/ Activities Student Oral Response Lab Teacher made test s 4.5.A1 & 2 3 days Chapter or Unit: Designing Classes

10 Understand the concepts of cohesion and coupling Minimize the use of side effects Discuss/define/state useful criteria for analyze the quality in terms of cohesion and coupling of a public interface Examine examples of side effects and how to minimize them Lab PACING NJ CORE 1day 4.5.A1 & 2 Understand the difference between instance methods and static methods Review the scope rules for local variables and instance fields Compare/contrast, discuss appropriate us of instance vs static methods Review/discuss scope rules Lab Work with/import packages Discuss the use of packages, list some of the important packages in the java library and how to write code to import them Lab ½ day Apply the objectives of class design Worksheets Lab Test Lab Teacher made test 2 days Chapter or Unit: Inheritance

11 Understand how to inherit and override superclass methods Be able to invoke superclass constructors Define/discuss the concept of Inheritance, the concepts of Superclass and subclasses How to invoke superclass constructors from a subclass Discuss in relation to case study Lab PACING NJ CORE 4.5.A1 & 2 Understand the common superclass Object and to override its tostring, equals and clone methods Discuss usage and how to override the clone method Using the tostring methods Discuss in relation to case study Lab

Chapter or Unit: Exception Handling 12 Be able to throw exceptions Understand how to catch exceptions Know when and where to catch an exception Implement the throw statement Discuss the two types of exceptions Write a method to handle a particular exception type Implement the finally clause with a try block Discuss exception handling in case study PACING NJ CORE 4.5.A1 & 2 2 days

Chapter or Unit: Marine Biology Simulation Case Study 13 Experimenting with the Marine Biology Simulation Program Case study computer Load case study, all classes and files into students own directory be able to get swimming fish!! Read/Discuss text of Unit 1 of the case study Design a test/debug plan State, Teacher made, Analysis Questions Student Responses Exercise Sets Lab PACING NJ CORE 3 days 4.3.A.1, C.1 4.4.A.2 & 3 4.4.B.3 Implementation of the Marine Biology Simulation Case study computer Discuss the objects of the core classes, the: Simulation, Environment and Fish class Design a test/debug plan Analysis Questions Student Responses Exercise Sets Lab 3 wks 4.3.A.1, C.1 4.4.A.2 & 3 4.4.B.3 Creating a dynamic population Creating specialized fish Case Study computer Case Study computer Designing code to modify the behavior of a fish to breed, move or die based on probabilities Design a test/debug plan Designing the darter fish and the slow fish based on a set of attributes Design a test/debug plan Analysis Questions Student Responses Exercise Sets Lab Analysis Questions Student Responses Exercise Sets Lab 2 wks 4.3.A.1, C.1 4.4.A.2 & 3 4.4.B.3 3 wks 4.3.A.1, C.1 4.4.A.2 & 3 4.4.B.3 Apply objectives of the Marine Biology Case study Worksheet Test Create a circle fish as a subclass of fish define how to make a circle on a grid (partner activity) Teacher made test Presentation of all circle fish and discussion of code 2 days 4.3.A.1, C.1 4.4.A.2 & 3 4.4.B.3

Chapter or Unit: Preparation for AP Exam 14 Review for AP Exam AP Review Books Worksheets Discuss sample test questions Discuss grading of open ended questions Complete open ended questions State, Teacher made, Standardized AP Exam PACING 1 wk to10 days NJ CORE 4.5.A1 & 2 Chapter or Unit: Two Dimensional Arrays Understand and use two dimensional arrays Manipulating a two dimensional arrays using loops, accessing a row or column or a single cell Summing rows/columns Apply methods for two dimensional arrays Lab Teacher made Test PACING 3 days NJ CORE 4.5.A1 & 2 Applying two dimensional arrays Worksheets Lab Test Lab Teacher made test 5 days

15 Chapter or Unit: Linked Lists Use the linked list definition provided for in the library Use iterators to traverse a linked list to be able to insert and delete a node Discuss the difference between linked lists and arrays or array lists pros/cons Importing and using the Linked list definition Use the list iterator to access elements inside a linked list Add and delete a node at the front of a linked list, in the middle and at the end PACING NJ CORE 2 days 4.5.A1 & 2 2 days Applying Linked lists Worksheets Lab Test Lab Teacher made test 4 days

16 BIBLIOGRAPHY Texts Lambert & Osborne, Fundamentals of JAVA. Massachusetts: Thompson Learning Inc.,2003 Horstmann, Cay, Computing Concepts with Java Essentials. New York: John Wiley & Sons, 2003 Horowitz, Susan, Review for the AP Science Exam in Java. New York: Addison Wesley, 2004 Trees, Fran, Computing Concepts with Java Essentials Workbook. New York: John Wiley & Sons, 2003 Teukolsky, Roselyn, Barron s How to prepare for the AP Science Advanced Placement Examination Java Version. New York: Barrons Educational Series Inc., 2003 Software Java SDK from Sun: J2EE1.4.2 windows 2000 & XP platforms and Documentation JCreatorLE v 3.1 Easyreader from skylit.com BlueJ (Optional) Case Study The College Board AP Marine Biology Simulation Case Study

NORTH BRUNSWICK TOWNSHIP HIGH SCHOOL 17 (2525) Advanced Placement Science Using Java Grades: 11,12 5 Credits - 1 Year Pre-requisite: Successful completion of Intro to Science (2533) Co-requisite: Precalculus This course emphasizes the design issues that make programs understandable, adaptable, and, when appropriate, reusable as well as solving a given problem. The development of useful computer programs and classes are used as a context for introducing the study, development and analysis of algorithms, and the use of fundamental data structures. science is not just programming. Through programming, the student will experience the disciplines that compose the field of computer science. The use of Java provides a mechanism for doing this. The course outline as described in the AP Course Description Booklet will be used as a guideline in this course to prepare the students for success on the AP exam. This may result in the student receiving credit for a one semester introductory course in programming (A exam). At the completion of this course, the student will be able to: Specify and design a program that is understandable, can be adapted to changing circumstances, and has the potential to be reused in whole or in part. Apply the AP subsets Analyze and test programs to determine whether they correctly meet their specifications Analyze programs or algorithms so as to understand their time and space requirements when applied to different data sets. Apply data structures Apply standard algorithms Know the major hardware and software components of computer systems Know the importance of considering the ethical and social implications of computing systems. Investigate case studies, particularly GridWorld Case Study (introduced for the 2008 AP exam in C++ and has been adapted to JAVA). Course Requirements: Students will be expected to bring to class daily those items used for the days lesson, such as disks, text, notebooks etc. Students will be expected to complete all assignments, both programming and non-programming, on time. Students will be expected to successfully complete all tests, quizzes, and projects on time Students who are absent are expected to arrange with the teacher times for making up assignments, labs, and tests. Students are expected to keep the computer lab tidy - PLEASE RECYCLE!!! THERE WILL BE NO FOOD OR DRINK IN THE LAB!!!!! Students may share ideas, however each program must contain some originality. Students who are found sharing the work will result in a zero grade for both students. Any student found to be mistreating the equipment, tampering with software or using the equipment in a noneducational fashion will face disciplinary actions You will be assigned your own account. As a member of this class you have special privileges which are only to be used in completing work for this class in room 615. Marking period grades will be determined by: Assessments 45% Programs/Projects 35% Homework/Classwork 20% rev 5/2012