AP Computer Science A Skyline High School Mr. Coupland

Similar documents
Advanced Placement Computer Science (APCS) Office Phone:

CompuScholar, Inc. 9th - 12th grades

AP Computer Science A Course Syllabus

TeenCoder : Java Programming (ISBN )

IMACS: AP Computer Science A

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

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

AP Computer Science A Syllabus

AP Computer Science A Sample Syllabus 4

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

AP Computer Science A Syllabus

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

AP COMPUTER SCIENCE A: SYLLABUS

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).

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

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

Introduction to Programming Using Java (98-388)

AP Computer Science A

AP Computer Science Course Syllabus

AP Computer Science A (Java) Scope and Sequence

AP Computer Science in Java Course Syllabus

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

AP Computer Science A Syllabus

AP Computer Science AB

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

Object-Oriented Programming and Data Structures

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

AP Computer Science A Syllabus

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

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

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

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

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

AP Computer Science Summer Work Mrs. Kaelin


This page intentionally left blank

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

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

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

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

AP Computer Science A

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

CO Java SE 8: Fundamentals

Absolute C++ Walter Savitch

AP COMPUTER SCIENCE GRADES 10 12

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

Homeschool Programming, Inc.

Unit Overview. Concepts & Understandings. Learning Targets

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

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

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.

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

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

APCS Semester #1 Final Exam Practice Problems

(1) Students will be able to explain basic architecture and components of digital computers and networks, and basic programming language features.


AP Computer Science AB

You must pass the final exam to pass the course.

JAVA MOCK TEST JAVA MOCK TEST II

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

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

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

Computer Programming C++ (wg) CCOs

CIS 120. Introduction to Programming

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

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

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

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

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

AP CSA 3rd Period MR. D. Course Map

Preface A Brief History Pilot Test Results

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

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

St. Edmund Preparatory High School Brooklyn, NY

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.

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

School Year Schedule

Student Performance Q&A:

INTRODUCTION TO COMPUTER SCIENCE - JAVA

Syllabus Honors Java Programming 1 & 2

Problem Solving with C++

Building Java Programs

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

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

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

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

Murach s Beginning Java with Eclipse

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

COWLEY COLLEGE & Area Vocational Technical School

Course Outline. [ORACLE PRESS] OCA Java SE 8 Programmer Course for Exam 1Z

CSC 210 COMPUTER SCIENCE II

Chief Reader Report on Student Responses:

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

Pace University. Fundamental Concepts of CS121 1

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

AP COMPUTER SCIENCE AB

CS Computer Science I

CMPE/SE 135 Object-Oriented Analysis and Design

Introduction to Computer Science using JAVA

Transcription:

AP Computer Science A Skyline High School Mr. Coupland AP Computer Science A covers the materials in a typical first-semester computer science course taught at major universities around the country. Java is the programming language; the topics covered are listed below. General instructional procedures will include some lecture, programming exercises, projects, and assessments. Social implications of computing will be discussed throughout the course. Goals. Effectively use critically important procedural programming constructs, including conditionals, looping, and recursion. Be able to perform traces on programs, understand pre- and post- conditions and method signatures. Understand and apply the main principles of object-oriented software design and programming: classes and objects, constructors, methods, instance and static variables, inheritance, class hierarchies, and polymorphism. Learn to code fluently in Java in a well-structured fashion and in good style, and properly document code. Learn to use Java library packages and classes within the scope of the AP Java subset. Understand the concept of an algorithm; develop and implement algorithms in Java. Analyze/compare efficiency of different algorithms for solving a given problem. Learn to select appropriate algorithms and data structures to solve a given problem. Learn common searching and sorting algorithms: Sequential Search and Binary Search; Selection Sort, Insertion Sort, and Mergesort Understand the following data structures: one- and two-dimensional arrays, the List interface, and the ArrayList class, and use them appropriately in programming projects Acquire skills in designing object-oriented software solutions to problems from various application areas Complete the College Board Labs for AP CSA Discuss ethical and social issues related to the use of computers Prepare for the AP exam in computer science. Textbooks Please purchase a paper copy for your own use: Barron's AP Computer Science A, 7th Edition, by Roselyn Teukolsky, 2015. Download this pdf file (free) for your reference. We will use lessons from this book: Cook, Charles E., Blue Pelican Java, Virtualbookworm Publishing, 2013. www.bluepelicanjava.com Online textbook: https://chortle.ccsu.edu/java5/index.html, Bradley Kjell, Central Connecticut State University

Software Download and install on your computer at home: BlueJ development environment: www.bluej.org Reference manual: www.bluej.org/doc/bluej-ref-manual.pdf Coding Practice CodeStepByStep - https://www.codestepbystep.com/ Online problem sets You will also use current media sources and Internet articles and blogs discussing technological, ethical and social issues related to computer use. YOU WILL NEED A METHOD FOR KEEPING/TRANSPORTING YOUR FILES do NOT leave code on the local computers use Google Drive or a flash drive. Objective-based Mastery Learning The purpose of objectives-based mastery learning is to better prepare students for the AP Exam by 1) making the learning objectives for the entire course explicit to students, 2) providing the teacher and students with a real-time snap shot of which objectives have been mastered and which still need to be learned, 3) providing a built-in system for grade improvement, 4) ensuring that the final grade accurately reflects student mastery of the course objectives. The course objectives are listed in PowerSchool under the Objectives category. The topics for each objective are listed on the class web site: couplands.net > CSA. Each objective will be assessed on a test. Test results for each objective are converted to a 0-2 score: 0=not mastered, 1= partially mastered, 2 = mastered. If a student scores a 0 or 1 for an objective, I will give them a relearn problem to complete. The student should review the topics in the objective not mastered, see me for extra help if needed, and do the relearn problem. When done, the student should come at lunch or after school to complete a retest problem for that objective. If successful the objective score is changed to 2. Students are expected to master all objectives within 2 weeks of a test. The original test score stands in PowerSchool but objectives together count as 40% of the class grade. This is our objective-based mastery learning system. Since 40% of the grade should be 100% (all 2s), this grading system results in a grade improvement for all students IF they follow the relearn and retest process. Please discuss this with your student if you have any questions or email me. Grading 40% Objectives See previous section 30% Mastery assignments Tests, programming labs 10% Final exam 20% Process assignments On-line problems sets, exercises

Course Outline The readings below are found in BPJ (Blue Pelican Java v. 7.0). The labs, problem sets, and projects proposed below come from many sources and serve only as examples of possible assignments; the teacher s favorites may be used instead. GridWorld refers to the College Board s GridWorld case study narrative. All time frames are approximate as this course is in development. Unit 1: An introduction to computer systems and Java (5 days) 1. An Introduction to hardware, software and the Internet (3 days) Elements of a computer system. How information is represented in computer memory. Binary and hex number systems and ASCII / Unicode. An introduction to the Internet. apps, applications, and clientserver architectures. How Java is used in the real world. Reading and exercises: online book ch 1-5 as needed, BPJ Lesson 14, various articles/videos, www.computerhistory.org, number bases WS 2. An Introduction to Java (duration 2 days) Compilers and interpreters. JDK tools (javac, java, appletviewer, javadoc). Running a Java program in a command-line environment (optional). Using an IDE. Java classes and source files. Console input. A brief introduction to OOP. Reading and exercises: BPJ Lesson 1. Demos - BlueJ Lab: Write, compile and run simple programs: Messenger program, minutes to seconds. Unit 2: Procedural Boot Camp : Arithmetic, logic, and control statements (8 weeks) 1. Data types, variables, and arithmetic (4 days) The concepts of a variable and a data type. Declarations of variables. Fields vs. local variables. The primitive data types: int, double and char. Literal and symbolic constants. Initialization of variables. Scope of variables. Arithmetic expressions. Data types in arithmetic expressions. The cast operator. The compound assignment (+=, etc.) and increment and decrement operators (++, --). Converting numbers and objects into strings. Reading and exercises: Online book: ch 8-11. BPJ Lessons 1-5. Lab: Making Change, Distance Formula, MET calorie counter Lab: Codingbat exercises Warmup-1, String-1 Lab: Coding Set 1

2. Strings (4 days) String objects. Literal strings. Immutability. String methods. Converting strings into numbers and numbers into strings. The Character class and its methods. Reading and exercises: BPJ Lesson 3 and 17. Selected exercises Lab: Palindromes, Two-part numbers revisited Extra: codingbat.com String-1, String-2, String-3. 3. Conditionals (10 days) The if-else statement, Boolean expressions, the boolean data type, true and false values. Relational and logical operators. De Morgan s laws. Short-circuit evaluation. Nested if-else and if-else-if. The switch statement. The Math class. Introduction to the Finch Robot. Reading and exercises: Online book: ch 12-14. BPJ Lesson 6-10, 31 with selected exercises. Lab: boolean expressions WS, Coding Set 2 Lab: AP Chatbot lab Extra: Codingbat Logic-1 and Logic-2. 4. Loops/Iterative statements and more on methods (10 days) while, for, and do-while loops. break and return in loops. Parameters, return types. The concept of an algorithm. Flow charts, pseudocode. Arrays. Reading and exercises: Online book: ch 14-20. BPJ Lesson 11-13 with exercises. BPJ lesson 18. Lab: Codingbat: String-2, Practice-It exercises Lab: Looping Exploration Lab Lab: Coding Set 3 Lab: Using Arrays. Codingbat: Arrays-1, Arrays-2 5. Finch Robot Project - Finch Plays Simon (5 days) Unit 3: Intro to OOP 1. Greenfoot (12 days) Greenfoot textbook is used for this section section concludes with the assignment of the big Greenfoot project. Also review for final exam. Lab: Fatcat Lab: Working in Greenfoot- Little Crab Scenario (ch 1-4) Lab: Working in Greenfoot - creating an Interactive Piano ********************* 1 st Trimester Exam**********************************

2. Details of defining classes and using objects (10 days) Public and private fields and methods. Constructors and the new operator. References to objects. Calling methods and accessing fields. Passing parameters and objects to constructors and methods. return statement. Overloaded methods. Overriding methods. Static variables and methods. Intro to Inheritance. Objects as data types. Encapsulation. Reading and exercises: Online book: ch 25-35. BPJ Lesson 14, 15, 20, and Introduction to Greenfoot (Kolling) Lab: Coding Set 4 (Fraction class, Coin class, PigLatin etc.) Lab: AP practice (writing classes FRQ) Unit 4: Inheritance 1. Class hierarchies, abstract classes, and interfaces (10 days) Class hierarchies and is-a/has-a relationships. Abstract classes. Invoking superclass s constructors and calling superclass s methods. Polymorphism. Interfaces. Exceptions. Reading and exercises: Online book: ch 50-54. BPJ Lesson 35 37, 44, selected exercises. Past AP free-response questions on class hierarchies and polymorphism. Lab: Abstract class lab Lab: Fractions with the Comparable interface 2. Two-Dimensional Arrays (5 days) Review one-dimensional arrays. Declaring and initializing. Indices. Length. IndexOutOfBoundsException. Two-dimensional arrays. Accessing the number of rows and columns. Traversals and the for-each loop. Inserting and removing elements. Reading and exercises: Online book: ch 46-49. BPJ Lesson 18-19, 33-34, Lab: AP Picture Lab Lab: Deadly Desert or Soduko Extra: codingbat Arrays-1, Arrays-2, Arrays-3. Unit 5: The List interface, the ArrayList class, searching and sorting, recursion (5 weeks) 1. ArrayLists (4 days) ArrayList s structure. The List interface. ArrayList s constructors and methods. Pitfalls. Reading and exercises: BPJ Lesson 41, 42 Lab: Creating an Index for a Document Lab: Past AP free-response questions on ArrayList. Lab: Coding set 5.

2. Searching and sorting. (8 days) Comparing objects. Reviewing equals method and the Comparable interface. Sequential and Binary Search. Selection Sort, Insertion Sort, and Mergesort. The number of comparisons required in Sequential and Binary Search. Comparison of efficiency, Big O notation. Reading and exercises: online book ch. 90-91. BPJ Lesson 50, 40, 38 with selected exercises. Lab: Unplugged sorting lab Lab: codingbat sorting problems Lab: Comparing efficiency of several sorting algorithms. online Lab: Graphically comparing sorting algorithms. 3. Recursion (8 days) Iterations. Recursion. Introduction to efficiency. Preconditions and Postconditions. Fibonacci and Factorial comparing recursion with iterative method. Reading and exercises: Online book ch. 70-75. BPJ Lesson 39, 47, and supplementary articles. Lab: Review exercises with Arrays. Codingbat: Arrays-3, Diving Judges problem. Lab: coding set 6. Lab: AP Curriculum Module: Recursion (selected sections) Social Implications of Computing (throughout the course) Reading: NSA article, No expectation of privacy article (Google), data mining, metadata, ethics of computing, software and music piracy, issues w/r/t artificial intelligence, Internet censorship, etc. I have several other articles as well. Project: Critically examining the effects of a technology innovation. Course Policies: 1. Working in partnerships is frequently encouraged. I will designate partner programming many times throughout the year. For these assignments, partners will turn in their code together. HOWEVER, for individual assignments, no two programs should be exactly alike and no solutions copied from the Internet or elsewhere may be submitted. It is very important that you do your own work; there will be nobody there to help you when it comes time for the exam. Academic dishonesty in any form will result in a zero for the assignment as well as possible removal from the course. 2. Computer usage is a privilege. You are expected to abide by the policies in the AAPS computer usage agreement. 3. Attendance every day is a must. Students who benefit from this course have: A general working knowledge of computer systems. Experience with computer applications. An interest in computer-related topics. A view that problem solving is an interesting challenge Materials: Students must have: Binder to hold and organize numerous handouts Computer access at home w/ internet

If you have your own laptop that you wish to use for class you are welcome to do so. You may also use a different IDE than BlueJ if you wish on your own computer when you are doing your own project work. Pencil Solid ability to work independently and in groups