AP Computer Science A Sample Syllabus 2

Similar documents
GACE Computer Science Assessment Test at a Glance

School of Innovative Technologies and Engineering

WSU Five-Year Program Review Self-Study Cover Page

Software Maintenance

A Neural Network GUI Tested on Text-To-Phoneme Mapping

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Radius STEM Readiness TM

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Grade 6: Correlated to AGS Basic Math Skills

Missouri Mathematics Grade-Level Expectations

My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems

MINISTRY OF EDUCATION

CS Course Missive

Scott Foresman Addison Wesley. envisionmath

Computer Science 1015F ~ 2016 ~ Notes to Students

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

LEGO MINDSTORMS Education EV3 Coding Activities

Software Development: Programming Paradigms (SCQF level 8)

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Timeline. Recommendations

Integrating simulation into the engineering curriculum: a case study

PowerTeacher Gradebook User Guide PowerSchool Student Information System

Short vs. Extended Answer Questions in Computer Science Exams

Taking Kids into Programming (Contests) with Scratch

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Guide to Teaching Computer Science

Computer Science is more important than Calculus: The challenge of living up to our potential

BENCHMARK TREND COMPARISON REPORT:

Web-based Learning Systems From HTML To MOODLE A Case Study

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Grade 5 + DIGITAL. EL Strategies. DOK 1-4 RTI Tiers 1-3. Flexible Supplemental K-8 ELA & Math Online & Print

Course Content Concepts

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

1.11 I Know What Do You Know?

PEARSON MATHEMATICS & COMPUTER SCIENCES

Math-U-See Correlation with the Common Core State Standards for Mathematical Content for Third Grade

Teaching Algorithm Development Skills

understand a concept, master it through many problem-solving tasks, and apply it in different situations. One may have sufficient knowledge about a do

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

Java Programming. Specialized Certificate

Mathematics Assessment Plan

ME 4495 Computational Heat Transfer and Fluid Flow M,W 4:00 5:15 (Eng 177)

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Office Hours: Mon & Fri 10:00-12:00. Course Description

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

ABET Criteria for Accrediting Computer Science Programs

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Introductory Astronomy. Physics 134K. Fall 2016

12-WEEK GRE STUDY PLAN

Backwards Numbers: A Study of Place Value. Catherine Perez

An Interactive Intelligent Language Tutor Over The Internet

Data Structures and Algorithms

CS 100: Principles of Computing

TIMSS ADVANCED 2015 USER GUIDE FOR THE INTERNATIONAL DATABASE. Pierre Foy

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Mathematics. Mathematics

Learning Microsoft Publisher , (Weixel et al)

Learning, Communication, and 21 st Century Skills: Students Speak Up For use with NetDay Speak Up Survey Grades 3-5

Pragmatic Use Case Writing

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

CS Machine Learning

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

Learning Microsoft Office Excel

Learning to Think Mathematically With the Rekenrek

Computer Science 141: Computing Hardware Course Information Fall 2012

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

Text: envisionmath by Scott Foresman Addison Wesley. Course Description

Colorado State University Department of Construction Management. Assessment Results and Action Plans

Supplemental Focus Guide

A General Class of Noncontext Free Grammars Generating Context Free Languages

A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

Deploying Agile Practices in Organizations: A Case Study

Holt Mcdougal Pre Algebra Teachers Edition

Common Core State Standards

The Evolution of Random Phenomena

Lecture 1: Machine Learning Basics

SARDNET: A Self-Organizing Feature Map for Sequences

CEE 2050: Introduction to Green Engineering

Statewide Framework Document for:

Knowledge Elicitation Tool Classification. Janet E. Burge. Artificial Intelligence Research Group. Worcester Polytechnic Institute

Android App Development for Beginners

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

EDCI 699 Statistics: Content, Process, Application COURSE SYLLABUS: SPRING 2016

Developing True/False Test Sheet Generating System with Diagnosing Basic Cognitive Ability

Learning Object-Oriented Programming in Python: Towards an Inventory of Difficulties and Testing Pitfalls

Page 1 of 11. Curriculum Map: Grade 4 Math Course: Math 4 Sub-topic: General. Grade(s): None specified

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

GRAPHIC DESIGN TECHNOLOGY Associate in Applied Science: 91 Credit Hours

SIE: Speech Enabled Interface for E-Learning

Mcgraw Hill 2nd Grade Math

Highlighting and Annotation Tips Foundation Lesson

Improving Conceptual Understanding of Physics with Technology

Grades. From Your Friends at The MAILBOX

Probability and Statistics Curriculum Pacing Guide

Transcription:

Curricular Requirements CR1 The course teaches implement computer based solutions to problems. Page(s) 2, 3, 4, 5, 6 CR2a The course teaches students to use and implement commonly used algorithms. 4, 5 CR2b The course teaches students to use commonly used data structures. 4, 5 CR3 CR4 CR5 CR6 CR7 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. 3, 5 3, 5 2, 4, 5 8 6 1

Course Overview I enjoy teaching AP Computer Science A because it is such a valuable course for students. It enhances students problem-solving and abstraction abilities. They build analytical skills that are valuable in computer science, in other courses, and in life. Of course, students also increase their computer science and programming skills, skills that are needed in an ever-increasing array of college courses and workplaces. It s wonderful to share in their joy as they solve programming exercises. The content and objectives of my AP Computer Science A course include the course objectives for AP Computer Science A as described in the AP Computer Science Course Description. This course focuses on an object-oriented approach to problem solving using Java. It includes the study of common algorithms and the use of some of Java s built-in classes and interfaces for basic data structures. I expect all my students to take the AP Computer Science A Examination. The students and I work hard during the year to assure that every student has an opportunity to achieve a qualifying score on the exam. Students course grades correlate strongly with their AP Examination grades. Texts Lewis, Loftus, and Cocking. Java Software Solutions for AP Computer Science 3 rd Edition. Boston, Mass. Addison-Wesley, 2011. Roselyn Teukolsky. Barron s AP Computer Science A 6 th Edition. Hauppauge, New York. Barron s Educational Series, Inc, 2013. Abelson, Ledeen, and Lewis. Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Crawfordsville, Indiana. Addison-Wesley Professional, 2008. http://www.bitsbook.com/wp-content/uploads/2008/12/b2b_3.pdf Course Outline 1-17 1-2 Computer Systems Numerical representations; limitations of finite representations; number bases and conversion; hardware (primary and secondary memory); programming languages; and language interpreters and compilers. Reading: Java Software Solutions, sections 1.0 (Digital Computers and Binary Numbers only), 1.1 (Main Memory and Secondary Memory only), 1.3-1.4; Summary of Key Concepts (redacted). 1

3-4 5-6 Exercises: Java Software Solutions, Self-Review Questions 1.3-1.5, 1.7, 1.15-1.17. Exercises: Syntax Index Cards for Java applications. Exercises: Base Conversion and Java Error Messages Worksheets. [CR1] Lab: Java Software Solutions, Programming Project 1.1. (Implement and test a simple application program.) Lab: Java Software Solutions, Programming Project 1.2. (Test a simple application program after introducing specific errors.) 1.1-1.8; True/False 1.1, 1.5, 1.7-1.10 Objects & Primitive Data Simple data types (int, boolean, double, char); declarations (variable and constant); assignment and arithmetic expressions; console output (System.out.print/println); primitive types vs. objects; using classes to create objects; references; Java library classes (String, Integer, Double, Math, Scanner); and creating random numbers. [CR5] Reading: Java Software Solutions, sections 2.0-2.5, 2.7 (except Autoboxing), 2.8 (except The Random Class), 2.9; and Summary of Key Concepts (redacted). Exercises: Java Software Solutions, Self-Review Questions 2.1-2.14, 2.16-2.20. Exercises: Syntax Index Cards for types, constants (literals and symbolic), declaration, assignment, and concatenation. Exercises: Declaration, Assignment, and Arithmetic Expression Worksheets. Lab: Pretty Print Implement and test a program to print a table using escape sequences. [CR1] Lab: Base Convert Implement and test a program to convert numbers from base 10 to 4-digit numbers in a chosen base 2-9. [CR1] 2.1-2.10; True/False 2.1-2.7; AP-Style Multiple Choice 2.1-2.3. Program Statements Conditional Software Development Process; control flow (sequential and conditional); Boolean expressions, laws, and truth tables; using conditional expressions in if, if-else, and nested if statements; and More operators (increment, decrement, compound assignment). Reading: Java Software Solutions, sections 3.0-3.4; Summary of Key Concepts (redacted). Reading: Magpie Introduction and Activities 1-4 (APCS A Labs). Exercises: Java Software Solutions, Self-Review Questions 3.1-3.11. Exercises: Syntax Index Cards for if statements. 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. 2

7-9 10-12 Exercises: Boolean Expression and Decision Making Statement Worksheets. Lab: Java Software Solutions, Programming Project 3.2 Design, implement, and test a program that determines if a given year is a leap year. [CR1] Lab: Magpie Activities 1-4 (APCS A Labs). [CR4] 3.1-3.3, 3.9, 3.10; True/False 3.1-3.6, 3.8-3.9; AP-Style Multiple Choice 3.2, 3.6. Program Statements Iteration Flow of control (iteration); using while and for statements; infinite and nested loops; and analysis of algorithms (informal comparisons of running times and exact calculation of statement execution counts). [CR3] Reading: Java Software Solutions, sections 3.5, 3.7 (expect Iterators and For Loops); Summary of Key Concepts (redacted). Exercises: Java Software Solutions, Self-Review Questions 3.12-3.13 Exercises: Syntax Index Cards for while, and for statements. Exercises: Loop Worksheets. Lab: Java Software Solutions, Programming Project 3.6 Design, implement, and test a program to count odd/even/zero digits. [CR1] Lab: Java Software Solutions, Programming Project 3.10 Design, implement, and test a hi-lo guessing game program. [CR1] Lab: Java Software Solutions, Programming Project 3.12 Design, implement, and test a program that prints two-dimensional patterns of asterisks. [CR1] Lab: Java Software Solutions, Programming Project 3.14 Design, implement, and test a program that plays a Rock Paper Scissors game with the user. [CR1] 3.4-3.8; True/False 3.7; AP-Style Multiple Choice 3.1, 3.3-3.5. Writing Classes Anatomy of classes, constructors, and methods; declarations (class, interface, instance variable, method, and parameter); method overloading; method decomposition; object relationships; reasoning about programs (assertions, pre- and post-conditions); data abstraction and encapsulation; and designing and implementing a class. Reading: Java Software Solutions, sections 4.0-4.5; Summary of Key Concepts (redacted). Reading: Elevens Introduction and Activity 1 (APCS A Labs). Exercises: Java Software Solutions, Self-Review Questions 4.1-4.12. Exercises: Syntax Index Cards for classes. Lab: Elevens Activity 1 Card Class (APCS A Labs). [CR4] CR4 The course teaches students to code fluently in an object-oriented paradigm using the programming language Java. CR3 The course teaches students to select appropriate algorithms and data structures to solve problems. 3

13-15 Week 16 Week 17 Lab: Pongtastic Lab Implement, and test three new classes that complete an OOP Pong game. [CR1] See http://nifty.stanford. edu/2003/pong/ 4.1-4.10; True/False 4.1-4.10; AP-Style Multiple Choice 4.1-4.6. Enhancing Classes References, exceptions, and class design; == vs. equals; object parameter passing; error handling (runtime exceptions, throwing runtime exceptions); interfaces and abstract classes; Java library classes (Comparable and List interfaces) [CR5]; and identifying reusable components from existing code using classes and class libraries. Reading: Java Software Solutions, sections 5.0-5.3 (except Iterator and ListIterator Interfaces); Summary of Key Concepts (redacted). Exercises: Java Software Solutions, Self-Review Questions 5.1-5.6. Exercises: Parameter Passing Worksheet. Lab: Java Software Solutions, Programming Project 5.2 Modify an existing Rational class to change its definition of equals and to make it Comparable; test the modified Rational class. [CR1] Lab: Java Software Solutions, Programming Project 5.6 Design and implement a Lockable interface; modify a Coin class to make it Lockable; test the modified Coin class. [CR1] 5.1-5.10; True/False 5.1-5.10; AP-Style Multiple Choice 5.1-5.6. Semester Review Semester Finals 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. 18-38 18-21 1D Arrays / 2D arrays / Searching [CR2a] [CR2b] One- and two-dimensional arrays (creation, insertions, deletions, traversals, algorithms); searching algorithms and comparison (sequential and binary); and choosing appropriate data representation and algorithms. Reading: Java Software Solutions, sections 6.0-6.2, 6.6; Summary of Key Concepts (redacted). Reading: PictureLab Introduction and Activities 1-9 (APCS A Labs). Reading: CodingBat Java Arrays and Loops at http://codingbat.com/ doc/java-array-loops.html. Exercises: Java Software Solutions, Self-Review Questions 6.1-6.9. Exercises: Array Worksheets. Exercises: Create Working Solutions for 10 CodingBat Array-2 Problems at http://codingbat.com/java/array-2. CR2a The course teaches students to use and implement commonly used algorithms. CR2b The course teaches students to use commonly used data structures. 4

22-24 25-27 28-30 Lab: Java Software Solutions, Programming Project 6.4 Design, implement, and test a program that inputs integers and produces a histogram. [CR1] Lab: Picture Lab Activities 1-9 (APCS A Labs). [CR4] 6.1-6.5, 6.8; True/False 6.1-6.7; AP-Style Multiple Choice 6.1-6.5. Lists / ArrayLists / Selection and Insertion Sorts Lists and ArrayLists (creation, insertions, deletions, traversals, algorithms); [CR2b] [CR5] sorting algorithms and comparison (selection and insertion) [CR2a] [CR3]; and choosing appropriate data representation and algorithms. [CR3] Reading: Java Software Solutions, sections 6.3-6.4, 6.7; Summary of Key Concepts (redacted). Reading: Elevens Activities 2-4 (APCS A Labs). Exercises: Java Software Solutions, Self-Review Questions 6.10, 6.12. Exercises: List/ArrayList Worksheets. Lab: Elevens Activities 2-4 Deck Class (APCS A Labs). [CR4] Review: List Algorithms Worksheet. Inheritance Inheritance (subclasses, overriding, hierarchies, using class members, polymorphism, and class hierarchy design); interfaces and abstract classes; Java library classes (Object) [CR5]; reading and understanding class specifications and relationships among classes ( is-a and has-a ); understanding and implementing a given class hierarchy; extending a given class using inheritance; and applying functional decomposition. Reading: Java Software Solutions, sections 7.0-7.7; Summary of Key Concepts (redacted). Reading: Elevens Activities 6-9 (APCS A Labs). [CR4] Exercises: Java Software Solutions, Self-Review Questions 7.1-7.12. Lab: Elevens Activities 6-9 Board and AbstractBoard Classes (APCS A Labs). 7.1-10; True/False 7.1-10; AP-Style Multiple Choice 7.1-7.6. Recursion / Merge and Quick Sorts Recursive thinking, programming, and sorting; flow of control (recursion); sorting algorithms (merge [CR2a] and quick) and comparison with other sorts. [CR3] Reading: Java Software Solutions, sections 8.0-8.3; Summary of Key Concepts (redacted). Exercises: Java Software Solutions, Self-Review Questions 8.1-8.9 Exercises: Tracing Recursion Worksheet. CR4 The course teaches students to code fluently in an object-oriented paradigm using the programming language Java. CR2b The course teaches students to use commonly used data structures. 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. CR2a The course teaches students to use and implement commonly used algorithms. CR3 The course teaches students to select appropriate algorithms and data structures to solve problems. 5

31-33 Week 34 35-37 Week 38 Lab: Numbrix Implement and test an OOP recursive program which solves Numbrix puzzles. [CR1] See http://www.parade.com/numbrix 8.1-8.10; True/False 8.1-8.10; AP-Style Multiple Choice 8.1-8.6. AP Test Practice Exam / AP Review AP Computer Science A Examination (practice, content, materials, timing, tips). Reading: Barron s AP Computer Science A, Chapters 1-8. Exercises: Barron s AP Computer Science A, Chapters 1-8 Multiple- Choice Questions. Exercises: Create Working Solutions for all 21 CodingBat AP-1. Problems at http://codingbat.com/java/ap-1 Test: AP Practice Examination. Quizzes: Daily 3-4 question multiple-choice quizzes (questions from Barron s AP Computer Science A, Multiple-Choice Questions). Ethical and Social Implications of Computer Use; AP Examination Responsible use of computer systems (system reliability, privacy, intellectual property, legal issues, and social and ethical ramifications of computer use). [CR7] Reading: one student-chosen chapter of Blown to Bits. Assignment: Prepare a one-page summary of the chapter and participate in a classroom discussion of it. [CR7] Post-AP Project RoboCode Cooperative programming; research; reading code; and comparing strategies and algorithms. Reading: Robocode website http://robocode.sourceforge.net/ Lab: RoboWarrior Work in pairs to design, implement, and test a competitive Robocode robot. Semester Finals CR7 The course teaches students to recognize the ethical and social implications of computer use. Teaching Strategies General Approach AP Computer Science A is a substantial course that requires a meticulous approach from both my students and me. The limited class time is fully utilized for discussion and activities, labs, quizzes, review, and multiple-choice tests. Outside class reading and homework is critical to students understanding of the material. Reading and comprehending technical material is a new skill for most students. They need to learn active reading techniques, including how to take notes. I typically begin each new unit of material with reading and homework assignments. This is followed by classroom discussion, related activities, and often additional homework such as worksheets. Students complete one or more related lab 6

(programming) assignments. Finally, I have a review and a multiple-choice test. The clicker reviews utilize Turning Technologies TurningPoint software and ResponseCard hardware. They are fun, informative, and efficient because I use Java Software Solutions Multiple Choice, True/False, and AP-Style Multiple Choice questions that students have already completed as homework. Differentiated Instruction Different students learn in different ways. I use a variety of pedagogical teaching techniques including role-plays, student presentations, group work, and various multiple response strategies to engage students. Students also learn at different rates, so I utilize tutoring and extra credit assignments to address student needs at both ends of the spectrum. Tutoring In order to be successful in AP Computer Science A, it s critical that students learn the material in a timely fashion. Students who don t grasp earlier material don t have the foundation necessary for later material. In addition to making myself available before and after school, I offer targeted tutoring sessions to help students understand more difficult concepts. Beginning after Winter Break, I also conduct weekly AP Exam Free Response tutoring sessions. These sessions cover Free Response questions from previous AP Computer Science A exams. These sessions are mandatory for students who need them the most. Extra Credit It s important to keep all students engaged and learning. I provide mandatory and challenging extra credit labs for students who finish the normal lab assignments early. Review After completing the course material, I give and review a practice AP Computer Science A exam. I then conduct a comprehensive review during the last few weeks prior to the AP Exam. Students work through the reading and multiple choice questions in Barron s AP Computer Science A as homework. We then discuss this reading and multiple-choice questions in class. Lab Component Writing computer programs is critical to understanding the course material. I assign at least one lab per unit. These assignments are typically completed on an individual basis. I use a program to randomly assign students to computers each day. This encourages collaboration among a variety of students, while at the same time discouraging copying among a few. Many students complete their lab assignments during class. I provide ample open lab time before and after school for students who need or want it. 7

I have integrated the AP Computer Science A Labs into my course at appropriate times based on their content, which account for a minimum of 20 hours of hands-on lab work (e.g., four hours on Magpie labs, six hours on PictureLab labs, and ten hours on the Elevens labs). [CR6] Students complete the Magpie labs to help them develop their conditional statement skills. They complete the PictureLab labs to practice twodimensional array algorithms. I have distributed the Elevens labs across the school year to complement different portions of my object-oriented curriculum. Students complete all of the required activities of the AP Computer Science A Labs. I utilize some of the optional sections of the labs for extra credit assignments. CR6 The course includes a structured lab component comprised of a minimum of 20 hours of hands-on lab experiences. My lab computers have the Oracle Java SDK and the JCreator Interactive Development Environment, tailored for our use. I have integrated the Checkstyle program as a JCreator tool to make it easy for students to check their program style. Style is 10% of every lab grade and students code must pass Checkstyle to receive this 10% credit. All of the Java-specific software we use in the classroom is available at no cost. I make CDs of this software available for students to install on their home computers, and many students take advantage of this. 8