Course Overview. Course Philosophy. Computer Facilities: AP Computer Science A Syllabus

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

AP Computer Science A Syllabus

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

Computing Concepts with Java Essentials

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

AP Computer Science AB Syllabus 1

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

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

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

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

AP Computer Science A Syllabus

Java Software Structures

An Introduction to Programming and Computer Science

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

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

DIVISION OF INFORMATION TECHNOLOGY PROGRAMS AND SYSTEMS SUPPORT FALL 2015 / Spring 2016

School of Computing and Information Sciences

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

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

INFSCI 0017 Fundamentals of Object- Oriented Programming

Computer. Course Description

COMPUTER SCIENCE A. Course Description

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

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

Java Application Developer Certificate Program Competencies

COMPUTER SCIENCE COURSE OUTLINE

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

Computer Programming I

10CS35: Data Structures Using C

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

CS 2302 Data Structures Spring 2015

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

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

Structural Design Patterns Used in Data Structures Implementation

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

Objected oriented Programming: C++ Unit 1 1. Introduction 1.1. Introduction to Object Oriented Programming C++ fundamentals.

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

AP Computer Science Java Subset

Minnesota Virtual Academy Online Syllabus for AP Computer Science A

IT 106 Introduction to IT Problem Solving Using Computer Programming revised

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

DATA STRUCTURES USING C

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*++

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

Igniting young minds through computer programming

CS Matters in Maryland CS Principles Course

CMPT 183 Foundations of Computer Science I

Part 3: GridWorld Classes and Interfaces

Java SE 8 Programming

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

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

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

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

Specialized Programme on Web Application Development using Open Source Tools

A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION

Charles Dierbach. Wiley

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

Programming and Software Development CTAG Alignments

Introduction to Java Programming ITP 109 (2 Units) Fall 2015

I PUC - Computer Science. Practical s Syllabus. Contents

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

Java (12 Weeks) Introduction to Java Programming Language

MIS W: Mobile Business

Exploring Probability: Permutations and Combinations. Table of Contents. Guided Practice 10. Independent Practice... 6 Lesson 2: Combinations.

Describe the process of parallelization as it relates to problem solving.

Android Application Development Course Program

High School Pathway Program Options: Benefits of successfully completing Griffith InfoTech

Data Structure [Question Bank]

Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

Domains and Competencies

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

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues. Linda Shapiro Spring 2016

COWLEY COLLEGE & Area Vocational Technical School

JAVA COLLECTIONS FRAMEWORK

Persistent Binary Search Trees

Accommodations and Modifications

Syllabus for CS 134 Java Programming

School of Management and Information Systems

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

COURSE OUTLINE. Prerequisites: Course Description:

BCS2B02: OOP Concepts and Data Structures Using C++

OOP? What is OOP? Why? OOP in a nutshell. Stéphane Ducasse 2.1

LEARNING OBJECTS FOR JAVA PROGRAMMING LANGUAGE

Fundamentals of Java Programming

Specialized Programme on Web Application Development using Open Source Tools

DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES

Computer Programming I

Course Descriptions. CS 101 Intro to Computer Science

Mathletics For Students

MIS W: Mobile Business

Java and J2EE (SCJA Exam CX ) 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

DEVELOPMENT OF PROJECT DOCUMENTATION: KEY INGREDIENT IN TEACHING SYSTEMS ANALYSIS AND DESIGN

Business & Information Technology Skills For Students in Virginia

FuelEd Propel Students Into the Future

NATIONAL CERTIFICATES (VOCATIONAL)

Transcription:

AP Computer Science A Syllabus Curricular Requirements CR 1 CR 2a CR 2b CR 3 CR 4 CR 5 CR 6 CR 7 The course teaches students to design and implement computer based solutions to problems. The course teaches students to use and implement commonly used algorithms. The course teaches students to use commonly used data structures. The course teaches students to select appropriate algorithms and data structures to solve problems. The course teaches students to code fluently in an object oriented paradigm using the programming language Java. The course teaches students to use elements of the standard Java library from the AP Java subset in Appendix A of the AP Computer Science A Course Description. The course includes a structured lab component comprised of a minimum of 20 hours of hands on lab experiences. The course teaches students to recognize the ethical and social implications of computer use. Course Overview Page(s) 3, 4, 5, 6, 8 4, 6, 7, 8 4 6, 7 3, 4, 5, 6, 8 3, 4, 7, 8 3, 4, 6, 8 3, 6, 7, 8 Course Philosophy Students enter AP Computer Science A with varying backgrounds and live goals. In this class I will be consistently trying to make connections with real world situations and the vast world of Computer Science. I will also be trying to make connections with my student s needs, interests and plans too many different aspects of Computer science. This class has a requirement of an Introduction to the Java language and in most cases students will have already also taking an Intro to Programming course using the Processing Language. Class periods are 42 minutes long and meet every day. This is a lab driven class so the vast majority of the time students will be coding. Over 20 hours of this coding will be using suggested labs from the CollegeBoard AP web resources and the student guides that are supplied. Computer Facilities: Our computer lab has computers around the outer edges of the class with we find this to be very conducive to learning. We have our computers around the outside of the room, with the center set up 1

in a traditional classroom fashion. Our lab and the labs around campus are managed and maintained by a full time tech staff. My science classroom with it s projector and electronic whiteboard will be used for testing and times when standardized testing takes place in the computer lab. Texts: Horstmann, Cay: Java Concepts, Early Objects, 7th ed. Hoboken, NJ: Wiley and Sons Inc. Publishing, 2014. Horstmann, Cay: Computing Concepts with Java Essentials 3rd ed. Hoboken, NJ: Wiley and Sons Inc. Publishing, 2003. Horstmann, Cay: Computing Concepts with Java Essentials 3rd ed. Advanced Placement Computer Science Study Guide. Hoboken, NJ: Wiley and Sons Inc. Publishing, 2003. Litvin, Maria, and Litvin, Gary: Be Prepared for the AP Computer Science Exam in Java. 6th ed. Andover, MA: Skylight Publishing, 2014. Online Resources: Parlante, Nick. CodingBat. http://codingbat.com/java. The xsortlab Applet from Hobart and William Smith College http://math.hws.edu/tmcm/java/xsortlab/ Syllabus at a Glance Semester 1: Semester 2: Introduction to AP Computer Science and review of basic computer language structure and objects. Revisiting 1st year Banking Program Objects and classes, Variables, Accessor and Mutator Methods, Encapsulation, Logical Operators and Conditional Statements, Iteration, Input and Output. Recursion with Towers of Hanoi and Factorial Programs Algorithms, Sorting and Searching with Random Number Generator Program and Spell Checker Programs Review for AP Exam with Elevens Lab and modifications Review for AP Exam with practice exams and example code. 2D arrays, Inheritance and Hierarchies with Picture Lab Polymorphism, Abstract classes and interfaces with Mammal Program 2

Unit 1 Introduce expectations of course and reviewing basic coding and programming structure using Java. Differences in using Blue J over Eclipse Object Oriented Programming and top down design [CR4] Basic class structure including instance variables, local variables, parameter passing, scope, public/private visibility [CR5] Logical operators and conditional statements [CR5] Iterations [CR5] java.lang.math and java.lang.string [CR5] Design, code, analyze and test software [CR1] Review School Acceptable Use Policy [CR7] Coding and commenting requirements in financial businesses [CR7] My instructional focus in my classroom is on coding examples. I use many of the small sample example code from the textbook (Horstmann, 2014). In the first unit the students revisit a banking program similar to work from the previous year. Doing this program will have students review aspects of Classes, objects, mutator and accessor methods, encapsulation, fundamental data types, logical operators and conditional statements, iteration, input and output. Students are given general requirements with descriptions of the desired output. Students work independently but are expected to research information and collaborate. I find that when their individuality and creativity is encouraged the results are more thoughtful, and the students are more eager to complete the assignment to a higher level. During this section I relate the coding and commenting requirements examples that my old roommate showed me with his involvement in the mortgage industry. [CR7] Horstmann,2014 using chapters 1 6 CodingBat.com Warm Up 1 and Warm Up 2 Create a project that simulates controlling a savings and checking bank account for multiple customers. [CR1, 4 6] Horstmann,2014 chapters 1 6 sample coding examples, exercises and problems CodingBat.com Warm Up 1 and Warm up 2 3

Unit 2 1D and 2D arrays, Inheritances and Hierarchies Declaring, construction, initializing, and indexing arrays/arraylists [CR2b] Storing primitives and objects in arrays/arraylists [CR2b] Traversing, inserting, deleting array/arraylist elements [CR2a] Passing arrays/arraylists to methods [CR2b] java.util.list [CR5] Inheritance and Hierarchies [CR4] The focus in this unit is using arrays and ArrayLists in 1 and 2 dimensions with large data sets.. Students will also use both primitive variables and objects in their arrays. They will be introduced to searching using sequential searches. Students will use the student guide for the Picture Lab that is supplied by the AP CollegeBoard. I require my students to do extensive commenting of their programs to aid in reinforcing their understanding of the concepts used. These comments are in addition to the commenting for JavaDocs. The Picture Lab is an excellent tool for students to study the use of the concepts that are the focus of this unit s.objectives. The book (Horstman, 2014) is used as a resource and for additional problems and exercises. Horstmann, 2014 using chapters 7 9 CodingBat Array2 and Array3 Multiplication table lab one with arrays and the other using ArrayLists [CR1,2b,6] Horstmann,2014 chapters 7 9 sample coding examples, exercises and problems Picture Lab with activities and enrichments. [CR2,4 6] CodingBat.com Array2 and Array3 4

Unit 3 Polymorphism, Abstract classes and interfaces Polymorphism [CR4] Abstract classes [CR4] Inheritance and Hierarchies [CR4] overriding methods [CR4] Interfaces [CR4] This unit takes many of the concepts that students worked with and commented in the Picture Lab and has them develop their own project that utilizes all the concepts in this unit. Students construct a superclass called Mammal and then make classes for humans, dogs and whales. These classes are to be used to demonstrate use for the unit s objectives. The lab for this unit is totally student derived and constructed. As I stated in Unit 1 I find that having students work in this way leads to more creativity and more of an effort to achieve. I require students to share their individual strategies from time to time with each other and this has the benefit in that they learn from each other when they present to each other. In this unit I start assigning materials from the study guides and center class discussions around these AP review units and questions. Horstmann,2014 using chapters 8 10 Litvin, 2013 Chapter 3 Horstmann, 2003 AP Study Guide (extra resource) Mammal Lab [CR1, 4, 6] Horstmann,2014 chapters 8 10 sample coding examples, exercises and problems 5

Unit 4 Recursion Recursion [CR4] Understand history and effect computers have had on society [CR7] Many students struggle with this new concept and I will be spending more time than usual working through the concepts of recursion with the students. I use CodingBat.com examples. The class will also watch Derek Banas YouTube video Java Recursion. I will lead a class discussion on possible uses of recursion algorithms. [CR3] Students will simulate recursion for triangular numbers on paper. The two small programs that students will code are to calculate factorials and to solve the Towers of Hanoi puzzle. In this unit we will watch and discuss the first video from the Triumph of the Nerds We will continue to use actual AP questions about recursion for review and study of this unit. Horstmann,2014 using chapters 13 CodingBat.com Recusion 1 and Recusion 2 YouTube.com Derek Banas Java Recursion CodingBat.com Recusion 1 and Recusion 2 Factorial Lab [CR1,2a, 4, 6] Tower of Hanoi Lab [CR1,2a, 4, 6] Horstmann,2014 chapters 13 sample coding examples, exercises and problems 6

Unit 5 Algorithms, Sorting and Searching Sorting (selection, insertion, merge) [CR2a, 3] Searching (sequential, binary search) [CR2a, 3] java.lang.list [CR5] Understand history and effect computers have had on society [CR7] I use a few YouTube.com videos on sorting to introduce the concept and use the sorting demo app on the Hobart and William Smith Colleges website to further help students visualize the different sorting algorithms. I also have my students use playing cards as a manipulative for students to demonstrate different methods of sorting. I will introduce the concept of the big Oh notation and how that applies to evaluating sorting methods. I hand out the AP College Board s Appendix C Sample search and sort algorithms to have as a reference for their programing code. I will lead a class discussion on how to determine if and how recursion should be used in sorting [CR3] The students will design and code a program that will test at least 3 different sorting algorithms and record the time, number of comparisons, and exchanges. The program must then be able to run and test with randomly generated number arrays of different lengths. The second student designed program for this unit will have students check spelling of words that are entered into the program against a large dictionary list. This will lead to discussions on more effective methods with extremely large searches. In this unit we will watch and discuss the second video from the Triumph of the Nerds We will continue to use actual AP questions about sorting and searching for review and study of this unit. Horstmann,2014 using chapters 14 http://math.hws.edu/tmcm/java/xsortlab/ Litvin, 2013 Chapter 4 7

AP College Board s Appendix C Sample search and sort algorithms Horstmann, 2003 AP Study Guide (extra resource) Sorting cards demonstration Measuring and comparing sorting methods Lab [CR1, 2a, 4, 5, 6] Spell check Lab [CR1, 2a, 4, 5, 6] Horstmann,2014 chapters 14 sample coding examples, exercises and problems Unit 6 Review for AP Exam Review for the AP Exam Model View Controller programming and portability Understand history and effect computers have had on society [CR7] I will be doing complete sections of AP practice exams in class. I will spend time reviewing basic test taking strategies. Students will complete the activities from the Student Guide of the Elevens Game. In this unit we will watch and discuss the third video from the Triumph of the Nerds We will continue to use actual AP questions about sorting and searching for review and study of this unit. Horstmann,2014 Litvin, 2013 Practice AP exams CodingBat.com AP 1 Elevens Lab [CR1, 4, 5, 6] Practice AP Exams 8