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

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

AP COMPUTER SCIENCE A: SYLLABUS

AP Computer Science A Sample Syllabus 4

AP Computer Science A Skyline High School Mr. Coupland

IMACS: AP Computer Science A

AP Computer Science A (Java) Scope and Sequence

Homeschool Programming, Inc.

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

AP COMPUTER SCIENCE GRADES 10 12

AP Computer Science A Syllabus

AP Computer Science A

AP Computer Science in Java Course Syllabus

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

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

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

AP Computer Science A Syllabus

AP Computer Science Course Syllabus

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

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

CompuScholar, Inc. 9th - 12th grades

AP Computer Science A Course Syllabus

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

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

AP Computer Science A Syllabus

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

AP Computer Science AB

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

TeenCoder : Java Programming (ISBN )

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

CIS 120. Introduction to Programming

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


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

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

AP Computer Science A

Preface A Brief History Pilot Test Results

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

Object-Oriented Programming for Managers

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

102. Introduction to Java Programming

CO Java SE 8: Fundamentals

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003.

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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

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

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

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

Syllabus Honors Java Programming 1 & 2

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

CS 241 Data Organization using C

Object Oriented Programming

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

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Compulsory course in Computer Science

This page intentionally left blank

School Year Schedule

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

Introduction to Programming Using Java (98-388)

STUDENT OUTLINE. Lesson 8: Structured Programming, Control Structures, if-else Statements, Pseudocode

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

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

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

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

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

AP Computer Science A Syllabus

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

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

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

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

DEPARTMENT OF COMPUTER AND MATHEMATICAL SCIENCES UNIVERSITI TEKNOLOGI MARA CAWANGAN PULAU PINANG

Appendix A: Objectives and Courseware Locations

AP Computer Science AB

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

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

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

The Oracle Academy Supports 1.5 million students in 95 countries

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

COP 1170 Introduction to Computer Programming using Visual Basic

Computer Science Technology Department

CSC 210 COMPUTER SCIENCE II

Developing Algorithms

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

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

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

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Think Java: How to Think Like a Computer Scientist, written by

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


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.

COP 1220 Introduction to Programming in C++ Course Justification

High School PLTW Computer Science A Curriculum

APCS Semester #1 Final Exam Practice Problems

Textbook Charles Petzold, Programming Windows, 5th edition, Microsoft Press. References - other textbooks or materials none

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

Advanced Placement Computer Science (APCS) Office Phone:

Unit Overview. Concepts & Understandings. Learning Targets

[CHAPTER] 1 INTRODUCTION 1

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

Transcription:

AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview AP Computer Science A in Java is based on the syllabus developed by the College Board. Topics include program design and implementation, algorithm analysis, standard data structures, and object-oriented programming design. AP Computer Science in Java emphasizes programming methods with an emphasis on problem solving, algorithm development, and data organization. It is intended to serve both as introductory courses for computer science majors, and for students who will major in disciplines that require significant involvement with computing. Course Objectives Understand the main principles of object-oriented software design and programming Learn to code fluently in Java in a well-structured fashion and in good style; learn to pay attention to code clarity and documentation Understand the concept of an algorithm; implement algorithms in Java using conditional and iterative control structures and recursion Learn common sorting and searching algorithms: Sequential and Binary Search, and Selection Sort, Insertion Sort, and Merge-sort Understand one- and two-dimensional arrays and the ArrayList class Teach students to design and implement computer-based solutions to problems in a variety of application areas. Teach students to use and implement commonly used algorithms and data structures to solve problems. Teach students to develop and select appropriate algorithms and data structures to solve problems Teach students to code fluently in an object-oriented paradigm using the Java programming language Teach students to use standard Java library classes from the AP Java subset specified in Appendixes A and B of the AP Computer Science Course Description Teach students to read and understand a large program consisting of several classes and interacting objects Enable students to read, understand and modify the 3 AP Computer Science Labs - Magpie Lab, Picture Lab, and Elevens Lab. Teach students to 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. Discuss ethical and social issues related to the use of computers Prepare for the A-level AP exam in Computer Science. Meet all of the curricular requirements defined by the College Board for this course. 1

Curriculum Requirements [CR1] - The course teaches students to design and implement computer-based solutions to problems [CR2a] - The course teaches students to use and implement commonly used algorithms. [CR2b] - The course teaches students to use commonly used data structures. [CR3] - The course teaches students to select appropriate algorithms and data structures to solve problems. [CR4] - The course teaches students to code fluently in an object-oriented paradigm using the programming language Java. [CR5] - 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. [CR6] - The course includes a structured lab component comprised of a minimum of 20 hours of hands-on lab experiences [CR7] - The course teaches students to recognize the ethical and social implications of computer use. Course Design The overall design for this course is for a three term course, assuming a minimum of 15 weeks are available prior to the AP exam. The course meets for five 90-minute class periods every other week. All lectures are held in a related classroom, and all labs are done in the computer lab (note 1 - not sure about this yet). Class material is generally introduced in lecture form, followed by several hands-on demonstration labs to reinforce concepts. The remaining time in the unit will be devoted to individual or group work on lab programming assignments where students solve problems on their own or as paired team members. The course includes several individual programming projects assigned for one or two weeks each. Prior to the AP Exam, students will spend a minimum of 21 hours working on the 3 required labs [CR6], and many more hours working on assigned projects. Class lectures and labs after the AP CS Exam is devoted to a team projects, labs, and enrichment activities. The course includes an optional enrichment unit on files, graphics and GUI constructs that are not required for the AP exam. Prerequisites Successful completion of at least the second year of Algebra, or Honors Geometry PWD technical program students - Grade 11&12 - average of 81 or higher, Grade 10 - average of 90 or higher 2

Texts and Supplementary Materials Farrell, Joyce, Java Programming, Course Technology, Fifth Edition, 2010 Teukolsky, Roselyn, M.S., Barrons AP Computer Science A, 7th Edition, January 2015 Cook, Charles E., Blue Pelican Java, Version 7.0.1, Refugio, TX, 2013, 2014 CodingBat - http://codingbat.com/java Association for Computing Machinery - https://www.acm.org/about/se-code - Software Engineering Code of Ethics The College Board s Magpie, Picture, and Elevens Labs Student Guides. Current magazine and Internet articles discussing ethical and social issues related to computer use. Teacher Materials The College Board s Computer Science A Course Description. The College Board s Magpie, Picture Lab, and Elevens Labs Teacher Guides, AP Central resources. (in the future) TeachAPCS.com - http://teachapcs.com - a very rich web resource dedicated to AP CS Course Plan and General Teaching Strategy I am using the Joyce Farrell book, Java Programming (5th edition) as the primary source of material for presentation for AP Computer Science A. In addition, students will be required to read and complete the exercises for selected sections from the Roselyn Teukolsky s Barron s Computer Science A textbook for reinforcement and practice. Some programming problems from the text will also be selected for additional class assignments. Charles E. Cook s Blue Pelican Java will also be used for additional reference and reinforcement. Each of these units below corresponds to approximately one week of normal instruction per class schedule that is listed above. Units may be extended or condensed depending on student abilities, time available, and holidays. Each lesson is presented initially in lecture form with vocabulary words used as a focus for discussion. Lectures are presented various ways lectures, code demonstrations, question and answer sessions, etc. Students are required to read the particular unit 3

text prior to the lesson and must take electronic notes during the lecture which are later turned in for credit. I find that the presentation of programming concepts is usually best absorbed by hands-on demonstrations and coordinated discussions. Students that have to discover successful programming concepts through guided questions tend to remember the tools better when they are needed in later projects. Much of my directed lesson technique revolves around the students trying out new ideas in coded form. The presentation of new material and associated practice in class may take a half of class time, sometimes more. Near the close of the unit, programming assignment and labs are given for students to complete on their own. During the presentation of the unit, I may refer students to additional practice in appropriate problems in the any of the 3 sources cited above as needed. Assessment Overall, assessment is based on unit quizzes and programming problems. In addition, a mid-year exam is given at the end of January to assess learning and entire 5 months of concepts. In the 3 class weeks prior to the AP Exam date, sample AP questions from prior year s exams are given and discussions follow to help students understand how to read and correctly answer AP style free response questions. Assessment is based on how well students respond or improve in their responses. Preparing Students for the AP Exam Routinely, in each unit, on alternating days, in class I assign either multiple-choice or free-response questions. Multiple choice questions are taken from the review questions at the end of each chapter in the textbook being used that week. Free response questions are taken from different APCS sources depending on the topic. On a multiple-choice question day, (typically Tuesday) I allot 30 minutes of a 90-minute period for 18-20 multiple-choice questions, leaving 60 minutes to go over each of the questions in detail. On a free-response question day, (typically Thursday) I use 45 minutes of a 90-minute period for 2 free-response questions, leaving 45 minutes to go over the answers to the questions in detail. The number of multiple-choice and free-response questions in the 30-minute period is roughly in line with the time students will have on the actual AP Exam. The 3 (in-class) weeks leading up to the CS AP Exam date are set aside for review for the AP Exam. I use a selection of multiple-choice and free-response questions from the Barron s AP Computer Science A textbooks, AP Central, and codingbat.com. All questions for each unit are distributed to students as Google Forms, and can then be quickly graded to allow me to see where the problem areas are. This allows me to address those problems in time for the free response questions on Thursday. Free response questions are also distributed to students via Google Forms, but they must be manually scanned by a teacher to check for accuracy. 4

Instruction Units Unit 1 - Computer Hardware, Software, Programming Ethics, and Introduction to Software Development Main Objectives: Hardware and Software Basics, Ethics and Responsibilities, Data Handling Elements of a computer system, system scaling, Introduction to the Internet, Data Privacy and Security Introduction to Eclipse, project organization, Javadoc, Packages, Library of code examples File Systems and Hierarchy, Staying Organized, Archiving your work, Google Classroom Discuss ACM Software Engineering Code of Ethics and Professional Practice [CR7] Java Programming - Chapter 1 Barrons AP Computer Science A - Chapter 1 (partial) Lab: Find and explore biographies of early pioneers of software development (e.g. Kernighan & Ritchie, Turing) Lab: Compile and run simple programs Reading and Exercises: Java Programming: Chapter 1, Exercises 1-14 [CR5] Unit 2 - Java Syntax and Style, Using Data within a program, Number Systems, Math Functions Main Objectives: Fundamentals of Subroutines, Libraries and Packages, Building on the work of others Method Signatures, proper Indentation, use of curly braces, variable declaration and initialization Reserved Keywords, Code blocks, Syntax errors and warnings, logic errors, Comments and their importance Use of constants, native data types, Floating Point, Keyboard Input, Text output [CR5] Use of Math library functions, pass by value, pass by reference Demonstrate Errors and Exceptions and how to interpret and handle them Demonstrate how and where to use Assertions Java Programming - Chapter 2 Barron s AP Computer Science A - Chapter 1 (partial) Reading and Exercises: Chapter 2, Exercises 1-12 [CR2a] Lab: Chapter 2, Debugging Exercises 1-4 Lab: BPJ Lesson 6, All Exercises and Compute This project [CR5] 5

Unit 3 - Characters, Strings, Character Sets, and Number Systems Objectives: Learn to use the String and Character data types, and Base 2, 8, 10, & 16 Numbers Learn manipulation of characters to create String objects Apply fluently more useful String object methods and variables, Demonstrate how an IF statement works (out of sequence) Learn use of Compare functions to determine String equality or not Learn conversion of strings into numbers, and numbers into strings [CR5] Learn use of Binary, Octal, Decimal, and Hexadecimal Number Base Systems, and conversion between Java Programming - Chapter 7 Barron s AP Computer Science A - Chapter 4 (partial) Barron s AP Computer Science A - Chapter 9 (Magpie Lab) [CR4] Lab: Magpie Lab, Activities 1, 2, 3, 4, 5 (5 hours) [CR1, CR6] Lab: codingbat.com - String-1, String-2 (cut and paste answers to submit) [CR2b, CR5] Extra: codingbat.com - String-3 (cut and paste answers to submit) Unit 4 - Introduction to Object Oriented Design and Programming Main Objectives: Fundamentals of Object Oriented thinking, design, and implementation Object oriented design basics, basic class concepts, class variables, class methods, return values Create a class, define constructor, Instantiate an object, access class methods and variables, Use of classes as data storage containers, setter and getter methods Demonstrate method abstraction, data encapsulation, and data hiding Java Programming - Chapter 3 Barron s AP Computer Science A - Chapter 2 Reading and Exercises: Java Programming: Chapter 3 - Exercises 1-12 [CR5] Reading and Exercises: Barron s APCS A Chapter 2 - Multiple Choice questions 1-23 [CR5] Lab: Java Programming: Chapter 3 - Debugging Exercises 1-4 Lab: Blue Pelican Java, Lesson 33, Pass the Gravy (Pass by value or reference) 6

Unit 5 - More Object Oriented Programming Concepts Objectives: Gain experience with OOP features which provide the utility of OOP Discuss use of Abstract Classes and interfaces, Concrete Classes, Polymorphism Discuss Inheritance, overloading, this concept, static variables, nested and inner classes Demonstrate use of predefined classes, private variables and methods, ambiguity resolution Java Programming - Chapter 4 Barron s AP Computer Science A - Chapter 3 Reading and Exercises: Java Programming: Chapter 4 - Exercises 1-11 [CR5] Lab: Java Programming: Chapter 4 - Debugging Exercises 1-4 Lab: Barron s APCS A - Chapter 3 - Multiple Choice Questions 1-26 [CR4] Unit 6 - Decision Making to Control Program Flow Objectives: Gain experience with programatic decision making Demonstrate use of flowcharting and pseudo-coding, and sequence structures Use of IF statements, IF ELSE statements, SWITCH Statements Use of boolean values to trigger IF statements, along with NOT operator Use of a function return value to trigger an IF statement Combination of boolean conditions to trigger and IF statement, using AND and OR operators Java Programming - Chapter 5 Barron s AP Computer Science - Chapter 1 (partial) Reading and Exercises: Chapter 5 - Exercises 1-12 [CR5] Lab: Chapter 5 - Debugging Exercises 1-4 [CR5] Lab: codingbat.com - Logic-1 and Logic-2 (cut and paste answers to submit) [CR2b, CR5] Lab: Mode Histogram (using an image) http://teachapcs.com/exercise/mode-histogram 7

Unit 7 - Looping to Control Program Flow Objectives: Learning how to use programatic loops to control program execution Demonstrate use of pseudocode to plan loop execution Demonstrate applications of FOR, WHILE, and DO-WHILE loops, and how to interchange them Demonstrate use of CONTINUE and BREAK statements Demonstrate use of enhanced FOR loop syntax Use of a function return value as a loop condition test Combination of boolean conditions as a loop condition test, using AND and OR operators Java Programming - Chapter 6 Barron s AP Computer Science A - Chapter 9 (Picture Lab) Lab: Picture Lab, Activities 1, 2, 3, 4, 5 (5 hours) [CR1, CR6] Reading and Exercises: Chapter 6 - Exercises 1-11 Lab: Chapter 6 - Debugging Exercises 1-4 Lab: Array Practice - http://teachapcs.com/exercise/array-practice Unit 8 - Wrapper Classes Duration - 1 (short) week Objectives: Gain experience with converting primitive data types to objects and object to data types Reinforce use of String data type, and conversion of numbers to Strings Demonstrate use of parseint, parsedouble, tohexstring, tooctalstring, tobinarystring, and tostring Blue Pelican Java - Lessons 21 and 22 - Barron s AP Computer Science A - Chapter 4 (partial) Lab: Blue Pelican Java - Lesson 21, Exercises 1-12 Lab: Blue Pelican Java - Lesson 22 - Exercises 1-10 Lab: Barron s AP Computer Science A - Chapter 4 - Multiple Choice Questions 6,7, 8, and 9 8

Unit 9 - Arrays, One Dimensional and Two Dimensional Objectives: Gain experience with the use of Arrays to store large numbers of similar values or structures Demonstrate declaration and initialization of an Array, use of subscripts Learn how to declare and use an array of objects Learn to search an array for an exact match Learn to pass and return arrays from a class method Learn to manipulate arrays of String types Learn to sort an array to ensure values are ordered in a certain way Learn the organization of two dimension arrays in Java (row major) [CR5] Java Programming - Chapter 8 Barron s AP Computer Science A - Chapter 6 Barron s AP Computer Science A - Chapter 9 (Elevens Lab) Lab: Elevens Lab - Activity 1 (1 hour) [CR1, CR6] Lab: codingbat.com : Arrays-1(1d), Arrays-2 (1d) [CR2b] Lab: codingbat.com : Arrays-3 (2d) [CR2b] Unit 10 - The List Interface and The ArrayList class Objectives: Master the workings and use of the Java ArrayList class Demonstrate the structure, methods, and variables of the List class Demonstrate the constructors and methods of the ArrayList class Demonstrate the use of an ArrayList versus the use of a built in array [CR3] Demonstrate how to create a subclass of an ArrayList for a specific purpose Demonstrate iteration through an ArrayList object Java Programming - end of Chapter 8 Barron s AP Computer Science A - Chapter 6 Barron s AP Computer Science A - Chapter 9 (Elevens Lab) Reading and Exercises: Java Programming: Chapter 8 - Exercises 1-17 Lab: Elevens Lab, Activities 2, 3, 4, 5, 6 (5 hours) [CR1, CR6] 9

Unit 11 - Searching and Sorting, Introduction to analysis of algorithms Objectives: Learn different ways to sort an array, and the value of doing it, learn search techniques Demonstrate uses of sorted arrays, and retrieving information from them Demonstrate coding of Sort methods, insert, bubble, merge, Discuss efficiencies (or lack thereof) of the different sort methods Demonstrate Linear and Binary Search techniques Discuss advantages and disadvantages of the different search methods [CR5] Java Programming - Chapter 8 Barron s AP Computer Science A - Chapter 8 (7th Edition) Reading and Exercises: Barron s Chapter 8, Questions 1-10 Lab: Elevens Lab - Activities 7, 8, 9 (3 hours) [CR1, CR6] Unit 12 - Recursion Objectives: Gain experience using and creating recursive methods Demonstrate proper uses of recursion Demonstrate required parts of a recursive method and when to use it Demonstrate creation of base and termination cases Discuss general rules for recursion situations Compare recursion with iteration Demonstrate debugging methods for recursive code Barron s AP Computer Science A - Chapter 7 Reading and Exercises: Multiple Choice Questions 1-10 Lab: codingbat.com - Recursion-1, Recursion-2 [CR2b, CR5] Lab: Elevens Lab - Activities 10, 11 (2 hours) [CR2b, CR5] 10

Unit 13a - AP Exam Prep, Phase 1 Objectives: Preparation for the AP Exam, get a feel for the types of questions Barron s AP Computer Science - Chapter 1, 2, 3, 4 - reading, submit review questions and all exercises Lab: Barron s AP Computer Science A - Practice Exam 1 - Diagnostic Lab: Past AP Computer Science A Exams (from teachapcs.com) Lab: codingbat.com - AP-1 [CR2b] Unit 13b - AP Exam Prep, Phase 2 Objectives: Preparation for the AP Exam, get a feel for the types of questions Barron s AP Computer Science - Chapters 5, 6, 7, 12 - reading, submit review questions and all exercises Lab: Past AP Computer Science A Exams (from teachapcs.com) Lab: Barron s AP Computer Science A - Practice Exam 2 - AB but good on OOP Unit 13c - AP Exam Prep, Phase 3 Objectives: Extensive review and practice prior to the AP Exam Barron s AP Computer Science - Chapters 1-9 Lab: Past AP Computer Science A Exams (from teachapcs.com) Lab: Barron s AP Computer Science A - Practice Exam 3 Unit 14 - AP Exam Objectives: Review, Review, Review, Obtain a score of 5 or 4 11

Unit 15 - Software Development Ethics, Streams and Files Objectives: Understand Ethics Issues, Gain experience with disk files and how to access them Papers, Presentations, and student debates on ethical and social issues related to the use of computers and the internet Discuss thoroughly the ACM Software Engineering Code of Ethics and Professional Practice Recap of AP Exam Java Programming - Chapter 12 Assessment: End of Week 20 questions taken from Key Terms at the end of the chapter Reading and Exercises: Exercises 1-11 Lab: Debug Exercises 1-4 Lab: Single Page Paper on your chosen topic involving ethics in computer technology [CR7] Unit 16 - Graphics and GUI Objectives: Gain experience with Java SWING UI Components and Discrete Java Graphics Primitives (SVG) Scalable Vector Graphics is a popular imaging model, used in Postscript, PDF, Windows Direct2D, and XWindows (Unix) Demonstrate creation of game graphics using discrete Java graphics Demonstrate popular SWING Components Demonstrate JavaFx GUI Java Programming - Chapters 13 & 14 Reading and Exercises: Chapter 13, Exercises 1-10 [CR2b] Lab: Debug Exercises Ch 13-1-4, Ch 14-1-4 Lab: Design and implement a Game GUI [CR2b, CR3] Lab: Pythagorean Theorem - http://teachapcs.com/exercise/pythagorean-theorem - draw it out Extra: Design and Implement a Game background scene using discrete Java SWING primitives Extra: Chapter 13, Game Zone Exercises 1, 2, 3 12

Unit 17 - Animation and TimerTask() Objectives: Gain experience with time dependent operations and on screen graphic movement Demonstrate Java TimerTask(); game examples (supplied by instructor) Demonstrate movement of graphic objects using 2D AffineTransforms Demonstrate how to cause a performance problem with inefficient coding Lab: Polygons - http://teachapcs.com/exercise/polygons Lab: Design and implement a game character movement animation (multiple sprites) [CR2, CR4] Lab: Make you character walk/move around the 4 corners of the screen (or JFrame) Unit 18 - Games!! Objectives: Combine techniques learned previously to create a meaningful game Lab: Design your own meaningful game [CR2, CR4] Requirements: 2 moving characters (at least 3 sprites each) 1 moving ball or puck or hot potato Appropriate GUI elements to track your score 13