Table of Contents - TEALS

[Pages:484]Table of Contents

Introduction

1.1

Video Tutorials

1.2

Curriculum Map

1.3

Curriculum Assets

1.4

Unit 1: Programming & Java (2 weeks)

Lesson 1.01: Using Eclipse & Practice It

2.1

Lesson 1.02: Algorithms & Computational Thinking

2.2

Lesson 1.03: String & Console Output

2.3

Lesson 1.04: Common Errors & Comments

2.4

Lesson 1.05: Static Methods & Method Calls (1/2)

2.5

Lesson 1.06: Static Methods & Method Calls (2/2)

2.6

Lesson 1.07: Programming Project

2.7

Lesson 1.08: Finding & Fixing Errors

2.8

Lesson 1.09: Review

2.9

Lesson 1.99: (Unit 1 Test)

2.10

Unit 2: Working with Data & Basic Control Flow (3 weeks)

Lesson 2.00: Test Review & Reteach

3.1

Lesson 2.01: Basic Data Concepts

3.2

Lesson 2.02: Declaring & Assigning Variables

3.3

Lesson 2.03: String Concatenation & Increment Decrement Operators

3.4

Lesson 2.04: Mixing Types & Casting

3.5

Lesson 2.05: for Loops

3.6

Lesson 2.06: nested for Loops

3.7

Lesson 2.07: Scope & Pseudocode

3.8

Lesson 2.08: Programming Project

3.9

1

Lesson 2.09: Programming Project

3.10

Lesson 2.10: Finding & Fixing Errors

3.11

Lesson 2.11: Review

3.12

Lesson 2.99: (Unit 2 Test)

3.13

Unit 3: Advanced Data & Control Flow (4 weeks)

Lesson 3.00: Test Review & Reteach Lesson 3.01: Parameters Lesson 3.02: Limitations of Parameters & Multiple Parameters Lesson 3.03: Return Values Lesson 3.04: Programming Project Lesson 3.05: Using Objects & String Processing Lesson 3.06: Interactive Programs & Scanner Objects Lesson 3.07: Pok?mon Battle Programming Project Lesson 3.08: Finding & Fixing Errors Lesson 3.09: Relational Operators & if/else Lesson 3.10: Nested if/else Statements Lesson 3.11: Reducing Redundancy Lesson 3.12: Cumulative Algorithms Lesson 3.13: while Loops Lesson 3.14: Random Numbers Lesson 3.15: Fencepost & Sentinel Loops Lesson 3.16: Boolean Logic (2 Days) Lesson 3.17: Finding & Fixing Errors Lesson 3.18: Review Lesson 3.99: (Unit 3 test)

Test 2 Guide Lesson 3.XX: Frac Calc

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.20.1 4.21

Unit 4: Arrays, Lists, & Files (4 weeks)

2

Lesson 4.00: Test Review & Reteach

5.1

Lesson 4.01: Array Basics

5.2

Lesson 4.02: For-Each Loop & Arrays Class

5.3

Lesson 4.03: Printing, Searching, & Testing for Equality (2 Days)

5.4

Lesson 4.04: Reference Semantics

5.5

Lesson 4.05: Shifting Values & Arrays of Objects

5.6

Lesson 4.06: Nested Loop Algorithms & Rectangular Arrays

5.7

Lesson 4.07: ArrayList

5.8

Lesson 4.08: Finding & Fixing Errors

5.9

Lesson 4.09: Magpie Lab (5 Days)

5.10

Lesson 4.10: Review

5.11

Lesson 4.99: (Unit 4 test)

5.12

Unit 5: Object-Oriented Programming (4 weeks)

Lesson 5.00: Test Review & Reteach

6.1

Lesson 5.01: Object Oriented Programming

6.2

Lesson 5.02: Object State & Behavior

6.3

Lesson 5.03: Object Initialization: Constructors

6.4

Lesson 5.04: Encapsulation

6.5

Lesson 5.05: Finding & Fixing Errors

6.6

Lesson 5.06: Picture Lab (9 Days)

6.7

Lesson 5.07: Review

6.8

Lesson 5.99: (Unit 5 test)

6.9

Unit 6: Inheritance & Polymorphism (4 weeks)

Lesson 6.00: Test Review & Reteach

7.1

Lesson 6.01: Inheritance Basics (2 Days)

7.2

Lesson 6.02: Overriding Methods & Accessing Inherited Code

7.3

Lesson 6.03: Interacting with the Object Superclass

7.4

3

Lesson 6.04: Polymorphism Lesson 6.05: Has-a Relationships Lesson 6.06: Interfaces Lesson 6.07: Programming Project (5 Days) Lesson 6.08: Finding & Fixing Errors Lesson 6.09: Review Lesson 6.99: (Unit 6 test)

Test 5 Guide Lesson 6.XX: Text Excel

Unit 7: Searching & Sorting (3 weeks)

Lesson 7.00: Test Review & Reteach Lesson 7.01: Searching Algorithms Lesson 7.02: Sorting Algorithms Lesson 7.03: Elevens Lab (16 Days) Lesson 7.04: Review Lesson 7.99: (Unit 7 test)

Test 6 Guide

Unit 8: Recursion (2 weeks)

Lesson 8.00: Test Review & Reteach Lesson 8.01: Thinking Recursively Lesson 8.02: Writing Recursive Solutions Lesson 8.03: Mechanics of Recursion Lesson 8.04: MergeSort Lesson 8.05: Finding & Fixing Errors Lesson 8.06: Review Lesson 8.07: (Unit 8 quiz) Lesson 8.08: Quiz Review & Reteach

Unit 9: AP Test Review (3 weeks)

7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.11.1 7.12

8.1 8.2 8.3 8.4 8.5 8.6 8.6.1

9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9

4

Lesson 9.00: Reviewing for the AP Exam

10.1

Unit 10: Post-AP Exam Projects (4?5 weeks)

SpaceBattleArena

11.1

TEALS Minecraft Modding

11.2

Appendix

About This Curriculum

12.1

Changelog

12.2

Contributing

12.3

Acknowledegments

12.4

5

Introduction

About the AP Computer Science A Curriculum

The TEALS Program has designed these curriculum materials for the use of teachers and volunteer tech professionals in high school classrooms. Any teacher with prior programming experience (or access to a computer science professional) can use this curriculum to teach the AP Computer Science A course. This curriculum is based on and aligned with Professor Stuart Reges' course at the University of Washington, CSE 142. The course uses the textbook Building Java Programs: A Back to Basics Approach, by Stuart Reges and Marty Stepp. The course is aligned with the AP Computer Science A standards. TEALS has received AP Audit certification for previous versions of the course and syllabus. Since these materials are new in 2015?2016, TEALS will apply to have the new syllabus approved. Once the CollegeBoard approves the new syllabus, partner schools may use the "claim identical" function of the AP Audit website to obviate the need for their own curriculum audit. This curriculum uses principles of universal design for learning (UDL). The curriculum was written for and tested in classrooms with diverse learners; students with individualized education plans, English language learners, students who have received sub-optimal math or language instruction in the past, students who are gifted/talented, students who are otherwise "outside the average." See Additional Resources for more information on universal design for learning.

Accessing the Curriculum

The AP Computer Science A Curriculum GitBook is located at . For contributions to the curriculum, the AP Computer Science A GitHub repository is located at .

Using the curriculum

Each classroom has different physical, cultural, academic, and scheduling needs. Therefore, we have tried to create a collection of lessons and materials that are adaptable to most situations. TEALS volunteers and classroom teachers will find different aspects of the

6

Introduction

curriculum useful; you should expect to skip over certain notes to focus on the information that is most useful to you. We have provided classroom management tips and engagement tips for TEALS volunteers, who are new to the classroom setting. Experienced teachers and volunteers will likely choose to skip such details and focus on the step-by-step lecture notes. You may browse the Curriculum Map for an overview of the pacing, objectives, and assessments.

Year Round Pacing

The table-of-contents (included with Introduction materials) contains course-grained time estimates on the scale of weeks and days so teachers can plan accordingly. Units 6 and 8 include extra days in the time-estimate so teachers can re-adjust their unit plans if they have shifted due to unexpected class cancellations or drift.

Daily Structure

Every classroom is different, and we expect that instructors will adapt the daily structure of the class to suit their students' needs. That said, we've designed most of the lessons using the following daily structure:

Hook & Instruction

Each lesson plan begins with one or several options for short (from seconds to 5 minutes) engaging or mystifying activities that introduce students to the topics to be introduced later in the lesson. Lecture notes, student prompts, and quick-assessments (with answers) are outlined in subsection "Introduction." If you are teaching in a flipped classroom, this section can be pre-recorded for students to view at home. For additional resources on flipping your classroom, please refer to "Additional Resources" below.

Student Practice

Student practice/activities are outlined with step-by-step instructions including pacing suggestions and alternative stopping points. Any special materials or preparation needed for the hook, lecture, or activity are listed in the Materials & Prep section.

Warmup / DoNow / Boardwork/Ticket-to-leave

7

Introduction

Since each classroom progresses at different rates, we have not included warm-up and cool-down questions (though time has been scheduled in the Pacing Guide for one or both of these activities). You should choose your questions based on the topics you felt were most challenging or confusing for your students. A good source for short-answer and multiple choice questions is the Barron's AP Computer Science A review book, which TEALS ships to each AP CS A volunteer.

Scaffolding

The Glossary of Education Reform defines scaffolding as: A variety of instructional techniques used to move students progressively toward stronger understanding and, ultimately, greater independence in the learning process. Instructors provide successive levels of temporary support that help students reach higher levels of comprehension than they would have been able to achieve without assistance. Support is gradually removed as students move towards mastery, which occurs when students demonstrate skills and knowledge without any outside assistance. The University of Washington course CSE 142 and associated textbook do not contain much scaffolding. This curriculum attempts to wrap the content of the UW course with scaffolding appropriate for high school classes. Some classes may not require scaffolding, and other classes may need even more scaffolding than those steps suggested within the lesson plan.

Examples

Most lecture notes and classroom examples are slightly modified versions of the examples outlined in the textbook. When the class needs additional examples, or re-teaching, instructors can refer directly to the textbook for a fresh set of similar examples and explanations. The "additional resources" section of this document lists some other sources for examples and labs.

References to the textbook

Some classrooms are using earlier editions of the Building Java Programs textbook. To avoid confusion, we have written all reading and practice assignments by chapter and section rather than page number. In cases where practice problems or assignments differ between editions, we have copied those assignments (with reference) into printable documents.

Homework Assignments

8

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download