AP Computer Science A Syllabus

Similar documents
Homeschool Programming, Inc.

Web Design Course Syllabus and Planner

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

AP Computer Science A Syllabus

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

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

CompuScholar, Inc. 9th - 12th grades

AP Computer Science AB

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

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

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

TeenCoder : Java Programming (ISBN )

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

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

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

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

CSC 210 COMPUTER SCIENCE II

Java Programming with Eclipse

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

AP Computer Science A (Java) Scope and Sequence

AP Computer Science A Skyline High School Mr. Coupland

AP Computer Science A Syllabus

Java 1.8 Programming

AP Computer Science in Java Course Syllabus

AP Computer Science A

The Oracle Academy Supports 1.5 million students in 95 countries

Preface A Brief History Pilot Test Results

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

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

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

AP Computer Science A Sample Syllabus 4

AP Computer Science A Course Syllabus

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

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

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

Parent s Guide to GO Math! Technology Correlation

Oklahoma State University Institute of Technology Online Common Syllabus Fall 2018

COWLEY COLLEGE & Area Vocational Technical School

SAMPLE RESOURCE. dotty share prices

Santa Monica College. GRAPHIC DESIGN 65: Web Design I Course Syllabus

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

Your Student s Head Start on Career Goals and College Aspirations

AP COMPUTER SCIENCE A: SYLLABUS

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

Introduction to Computer Science with Python Course Syllabus

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

Course Directive Degree Audit Exception

AP Computer Science A

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

CIS 120. Introduction to Programming

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

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

Endorsement: Business & Industry

Endorsement: Business & Industry

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

Syllabus Honors Java Programming 1 & 2

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

Murach s Beginning Java with Eclipse

Coding: Beyond Learning Microsoft in Education

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

AP Computer Science A Syllabus

COP 1170 Introduction to Computer Programming using Visual Basic

This page intentionally left blank

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

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

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

CO Java SE 8: Fundamentals

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Preface. The Purpose of this Book and Its Audience. Coverage and Approach

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

102. Introduction to Java Programming

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

JVA-103. Java Programming

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

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

AP Computer Science AB

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

CORE JAVA TRAINING COURSE CONTENT

Android Basics Nanodegree Syllabus

PROGRAM OUTLINE. Information Technology with Co-op, System Programming. PROGRAM DESCRIPTION Concentration 1: DELIVERY METHODS PROGRAM DURATION

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

CSC 1052 Algorithms & Data Structures II: Introduction

Java Camp Daily Schedule

Compulsory course in Computer Science

Big Java Late Objects

104. Intermediate Java Programming

BCIS 3630 Dr. GUYNES FALL 2014 MONDAY SECTION

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

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

Hello! My name is PC and I am learning how to use a computer. Let s learn together! Unit1

Java for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points.

CGS 2405 Advanced Programming with C++ Course Justification

Object-Oriented Programming for Managers

AP COMPUTER SCIENCE GRADES 10 12

Introduction to Programming Using Java (98-388)

INFORMATION TECHNOLOGY COURSE OBJECTIVE AND OUTCOME

Transcription:

This syllabus #1829769v1 was reviewed and approved by the College Board in Nov, 2016.. AP Computer Science A Syllabus Last updated November, 2016 Course Overview This AP Computer Science A class uses the Java Programming curriculum as the primary resource. It is taught as a one-year (two-semester) sequence and covers all required topics in the Computer Science A Course Description published by the College Board at https://apstudent.collegeboard.org/apcourse/ap-computer-science-a. Other introductory programming courses are not required; students merely need to have typical computer usage skills prior to starting this course. All programming concepts are taught from the ground up in a fun, step-by-step manner. The course includes uses a variety of multi-media content such as full-color text, animated / narrated instructional videos, and guided classroom discussions. Strong emphasis is placed on hands-on programming labs that demonstrate mastery of lesson concepts. Text and Resources [1] Java Programming, CompuScholar, Inc. 2015, ISBN 9780988707023 http://www.compuscholar.com/schools/courses/ap-java/ Teaching Strategies The course material is designed to appeal to a variety of students, from traditional learners who thrive on written text to audio-visual students who enjoy a multi-media format. Built-in support is included for English Language Learner (ELL) students using the Texas English Language Proficiency Standards (ELPS). All content is delivered through an online system that allows students to work seamlessly both in the classroom and at home. The course integrates the standard 5E instructional model: engage with familiar, real-world examples, explore with integrated multi-media lessons, explain with guided classroom discussions, elaborate with hands-on activities to apply concepts, and evaluate with automated lesson quizzes and chapter tests. Each lesson contains a combination of text, video, and guided classroom discussions. Students can seamlessly shift between instructional videos and lesson text to suit their learning styles. Fun, handson programming labs allow students to quickly see concrete results.

Labs and Programming Environment Each of the 25 chapters in Java Programming course contains one or more hands-on programming labs where students will design or implement programs to demonstrate understanding of the lesson topics. Combined, these labs easily exceed the 20 hour minimum lab requirement. Students will get the opportunity to work on individual and group projects and will experience all phases of a project lifecycle, including requirements, design, implementation, and testing. Students are exposed to the three new College Board labs (Magpie, Picture Lab, Elevens) in addition to the textbook labs. The primary Java programming IDE is Eclipse (www.eclipse.org). This free, open-source software is widely used throughout academic and professional environments. It is important for students to become familiar with industry-standard tools and learn to take advantage of modern editing and debugging features. Student classroom computers will be pre-installed with the Eclipse software, and the course contains step-by-step installation instructions for students wishing to work on home computers as well. Cross-Reference Tables for AP Exam Topics For a detailed, point-by-point cross reference of every required AP exam topic and Java subset feature to specific lessons in the primary resource [1] Java Programming, please see the CompuScholar AP Exam Cross-Reference document: http://www.compuscholar.com/docs/java/ap_exam_cross_reference.pdf The remainder of this syllabus contains a Course Planner showing the week-by-week progression through the primary textbook and labs. Page 2 of 10

Course Planner All readings, unless otherwise noted, are from [1] Java Programming. Each chapter contains multiple lesson quizzes and a chapter test in addition to the listed Lab assignments. A school year consists of approximately 40 calendar weeks from the last week in August through the last week in May. From that calendar, one week is subtracted for Thanksgiving, two weeks for Christmas, and one week for Spring Break. That leaves approximately 36 calendar weeks or 180 days of school. The course plan covers 30 school weeks of exam-prep material from late August through mid-april, leaving time prior to the exam for review, practice, and make-up work. 1 Chapter One: Understanding Computer Programming A Survey of Computer Hardware Introduction to Computer Software Common Programming Languages Computer Ethics and Security (ethics, copyrights, intellectual property, piracy, software license agreements, firewalls, anti-virus programs, passwords) Establish Development Environment - Install JDK, create working directory, practice submitting projects through the online interface. Class discussion and review of a sample EULA terms and conditions. 2 Chapter Two: Getting Started with Java The Java Platform Writing Your First Program Building and Running from the Command Line Java Classes and Packages Show Time! The student s first Java program will print the current time to the console. The student will compile and run the program from the command line (without an IDE). Page 3 of 10

3 Chapter Three: The Eclipse IDE Introducing Eclipse Eclipse Java IDE Walk-through Creating an Eclipse Project Help and Reference Documentation 4 Chapter Four: Data Types and Variables Primitive Data Types Variables Printing Data Install Eclipse IDE If not already installed, the student will add the Eclipse IDE to their home or school computer. Eclipse Show Time Project The student will recreate the same Show Time project using the Eclipse IDE to write, build, and run the program. Experiment with Data Types The student will demonstrate declaring, initializing, and printing variables of different data types. 5 Chapter Five: Working With Strings Reference Data Types Comparing Strings Common String Operations Formatting and Building Strings Converting Between Strings and Numbers 6 Chapter Six: User Input Using Command-Line Parameters Interactive User Input Validating User Input String Theory The student will create multiple strings and perform a variety of operations on them, including comparison, substrings, formatting, parsing, and case conversion. Conversation Piece The student will create a program using a command-line Scanner to obtain a variety of user input, and then format that input into an output story. Page 4 of 10

7 Chapter Seven: Basic Flow Control Logical Expressions and Relational Operators Using the "if" Statement The "switch" Statement For Loops While Loops Fun Factorials The student will demonstrate use of a for() loop, while() loop, and do-while() loop to calculate factorials of an input number. Boundary conditions involving maximum integer sizes are explored and tested. 8 Chapter Eight: Writing Methods Writing and Calling Methods Method Parameters and Return Values Calling Methods 9 Chapter Nine: Debugging and Exceptions Logic Errors, Runtime Errors and Exceptions Catching Exceptions Finding Runtime Errors The Eclipse Debugger 10 Chapter Ten: Introduction to OOP Object-Oriented Concepts Defining a Class Public, Private, Protected Classes Checkerboard The student will write a program that includes a new function to print a checkerboard pattern to the screen given input row and column size parameters. Bug Hunt The student is presented with a program that contains a number of bugs. The student will use the Eclipse debugger and troubleshooting skills to identify and resolve each issue. Dog House The student will create a simple set of interacting classes. Page 5 of 10

11 Chapter Eleven: Objects in Java Constructors Object Interfaces Static Members 12-13 Chapter Twelve: Graphical Java Programs Java Swing Creating a Simple Window Event-Driven Programming Layout Managers Let's Go Racing! The student will create a RaceCar object and an IRacer object. Multiple RaceCar instances will be added to a provided RaceTrack object that knows how to run races through the IRacer interface. Phone Dialer The student s first Java Swing program will show a simple phone keypad and allow users to enter a phone number for display. 14 Chapter Thirteen: Swing Input Controls Text and Numeric Input List Input Option Input 15 Chapter Fourteen: Arrays and Collections Arrays (1D and 2D) Java Lists and ArrayLists Iterators Pizza Place The student will create a pizza ordering screen to demonstrate proper use of many common UI widgets (check boxes, radio buttons, list boxes, etc). Baseball Stats The student will use 1D arrays of integers and ArrayLists containing Player objects to insert, track and calculate baseball player batting statistics. Page 6 of 10

16-17 Chapter Fifteen: Inheritance and Polymorphism Learn about the Jail Break! game. Base Classes and Derived Classes Using References to Base and Derived Classes Overriding Base Methods The "Object" Base Class Using Base Features from Derived Classes Game Pieces The student will create three derived classes (Deputy, Henchman, Kingpin) from an abstract base, in preparation for using these classes in the mid-term project. The classes are tested to ensure they meet the requirements using a provided test class. 18-19 Chapter Sixteen: MidTerm Project For the mid-term project the student will complete a game called Jail Break that is based on an old Viking board game. The student will create the abstract hierarchy of pieces (AbstractGamePiece, Deputy, Henchman, Kingpin) and write other logic to complete the game. The project consists of 6 guided lab steps that involve creating new classes, modifying existing code, and integrating with provided starter objects. Each guided step contains a checkpoint for testing to ensure code meets the requirements at each step. Key concepts demonstrated include: Encapsulation Inheritance Polymorphism Modeling real-world activities Integrating new and existing classes Building the Activity Starter Ensure the student can find and build the starter project. Completing JailBreak.reset() Write logic to initialize the game board with pieces in the starting position. Selecting Game Pieces Write game logic to allow selection and de-selection of game pieces. Moving Game Pieces Write game logic (including virtual method overrides) to control game piece movement. Capturing Game Pieces Write game logic to control game piece capturing. Ending the Game Complete the end-of-game logic. Page 7 of 10

20 Chapter Seventeen: Math Functions in Java Java Math Functions The Binary Number System Creating a MathFactory demonstration MathFactory Activity The student will expand the MathFactory lab to include decimal-to-binary conversion. 21 Chapter Eighteen: File Access Data Streams Reading and Writing Text Data Reading and Writing Binary Data 22 Chapter Nineteen: Sorting, Searching and Recursion Recursion Sorting Algorithms (Bubble, Selection, Insertion, Merge) Searching Algorithms (Sequential, Binary) 23 Chapter Twenty: Program Efficiency Common Algorithms Algorithm Performance (Big-O) Measuring Sorting Efficiency 24 Chapter Twenty-One: Vector and Bitmap Images Screen Coordinates Drawing Shapes Drawing Images Address CSV The student will write a program to convert a list of Address structures to a CSV file on disk, and then read that file back in again and re-populate the address list. Recursive Binary Search The student will write a binary search function to locate a number in a pre-sorted array. Comparison of Sorting Algorithms The student will implement timing and datageneration algorithms and measure the performance of 4 different sort routines with various numbers of elements. Sky Art The student will use recursion, vector graphics, and image graphics to generate a randomized cloudy sky scene. Page 8 of 10

25 Chapter Twenty-Two: Object Composition and Copying Functional Decomposition Composite Classes Copying objects Designing a Composite Class - In this lab the student will design a composite class based around a Computer object. The output is a diagram instead of a program. 26 Chapter Twenty-Three: Computer Networking Basic Networking Network Topology Network Addressing 27 Chapter Twenty-Four: Software Engineering Principles Design Processes and Teamwork Java Doc Testing Your Code Chapter Twenty-Five: Team Project The final project can be completed before or after the AP exam and the timeline scaled to fit available time. Student-driven labs will cover each phase of the software lifecycle. Project Requirements Project Design Project Implementation Project Testing Animal Palace Students will use online tools to find images and store in a shared directory and class web page. Creating JavaDoc HTML The student will add JavaDoc comments to an earlier lab project and generate HTML output using the javadoc tool. Team Project Requirements Student teams will define their final project requirements. Project Design Student teams will design their final projects. Team Project Implementation Student teams will code their final project. Team Project Testing Student teams will test their final project. Page 9 of 10

28-30 Chapter Twenty-Six: College Board Supplemental Labs This chapter gives students a chance to complete many activities in the College Board AP supplemental labs, including: Magpie Picture Lab Elevens Chapter Twenty-Seven: GridWorld Case Study Magpie Chatbot Guided lab involving string parsing and manipulation. Picture Lab - Guided lab using 2D arrays in the context of image processing. Elevens - Guided lab through object-oriented design concepts with a simple card game. Bug Variations The older GridWorld case study is available for students who wish to pursue extra exercises on their own, but it is not required for the AP exam. GridWorld Classes and Interfaces Interacting Objects Introducing GridWorld Bug Variations GridWorld Classes and Interfaces Interacting Objects 31-32 AP EXAM PRACTICE TESTS, REVIEW, MAKE-UP WORK 33 AP EXAM EARLY MAY 34+ After the exam, the class will work on completion / extension of Team Project or other fun teacher-driven activities. Flexible time used to review and practice for the AP exam. Hands-on programming activities determined by class, teacher, and available time. Page 10 of 10