Peter built the curriculum plan below for the 2015-16 AP Computer Science class at Juanita High School. The plan combines ideas from the TEALS reference curriculum, the curriculum used by Kory Srock at Hazen High School, ideas from Kit George at Bellevue High School, and Peter's own thoughts.
Key features of the curriculum are: nightly reading homework and weekly Practice-It problems, class time divided between a lesson/discussion and lab/project work, weekly quizzes, and quarterly tests. This plan was on the aggressive side, but we were able to keep close to it; what's shown below is the curriculum as delivered. We were quite happy with our students' performance on the AP exam.
Date | Lesson | TEALS Lesson | Topic | Reading |
---|---|---|---|---|
Tue 01 Sep | LA00 | LP 1.2 | Welcome, expectations | Syllabus, Integrity |
Wed 02 Sep | LA01 | LP 1.2 | Introductions, expectations | |
Thu 03 Sep | LA01½ | X | Compilation, bits, binary numbers | BJP 1.1 |
Fri 04 Sep | LA02 | LP 1.1,1.3 | Eclipse, Hello World, comments, escapes | BJP 1.2 |
Mon 07 Sep | X | No school - Labor Day - Mon 07 Sep | ||
Tue 08 Sep | LA03 | LP 1.3,1.4 | Errors, Practice-It | BJP 1.1, 1.3 |
Wed 09 Sep | LA04 | LP 1.5,1.6 | Decomposition, static methods | BJP 1.4 |
Fri 11 Sep | QA1 | Review and Quiz | ||
Mon 14 Sep | LA05 | LP 2.1 | Types, expressions, operators, casting, copy | BJP 2.1 |
Tue 15 Sep | LA06 | LP 2.2 | Variables, declaration, assignment | BJP 2.2 to p81 |
Wed 16 Sep | LA07 | LP 2.3,2.4 | Concatenation, inc/dec, mixing types | BJP 2.2 rest |
Fri 18 Sep | QA2 | Review and Quiz | ||
Mon 21 Sep | LA08 | LP 2.5 | For loops | BJP 2.3 to p96 |
Tue 22 Sep | LA09 | LP 2.6 | Nested loops | BJP 2.3 rest |
Wed 23 Sep | LA10 | LP 2.7 | Scope, pseudocode, constants | BJP 2.4 |
Fri 25 Sep | QA3 | Review and Quiz | ||
Mon 28 Sep | LA11 | LP 3.1,3.2 | Parameters, overloading | BJP 3.1 |
Tue 29 Sep | LA12 | LP 3.3 | Return values, Math class | BJP 3.2 |
Wed 30 Sep | LA13 | LP 3.5 | Objects, Strings, string methods | BJP 3.3 to p166 |
Fri 02 Oct | QA4 | Review and Quiz | ||
Mon 05 Oct | LA15 | LP 3.6 | Scanner, next, nextInt, nextLine, File | BJP 3.3 rest, 6.1 |
Tue 06 Oct | LA16 | LP 3.9,3.10 | Relational operators, If-Else | BJP 4.1 |
Wed 07 Oct | PA10 | Assign FracCalc, walk through milestones | ||
Fri 09 Oct | QA5 | Review and Quiz | ||
Mon 12 Oct | LA17 | LP 3.12 | Cumulative algorithms | BJP 4.2 |
Tue 13 Oct | LA18 | parseInt, Project time | ||
Wed 14 Oct | PA11 | New | FracCalc CP1 due | |
Thu 15 Oct | QA6 | Review and Quiz | ||
Mon 19 Oct | LA19 | LP 3.13,3.15 | While loops, fenceposts, sentinels | BJP 5.1 to p316, 5.2 |
Tue 20 Oct | LA20 | LP 3.16 | Booleans, truth tables | BJP 5.3 to p333 |
Wed 21 Oct | PA12 | FracCalc CP2 due | ||
Fri 23 Oct | QA7 | Review and Quiz | ||
Mon 26 Oct | LA21 | LP 3.16 | DeMorgan's laws, short circuiting | BJP 5.3 rest |
Tue 27 Oct | LA22 RP | LP 3.14,3.18 | Math.random, review, project time | BJP 5.1 p316 |
Wed 28 Oct | PA13 | FracCalc CP3 due | ||
Fri 30 Oct | LA23 | Mid-term test review | ||
Mon 02 Nov | TA | Mid-term test | ||
Tue 03 Nov | LB02 | Project time | ||
Wed 04 Nov | PA14 | FracCalc Final due | ||
Fri 06 Nov | LB01 | New | Char, text processing (not on AP) | BJP 4.3 |
Mon 09 Nov | LB03 | LP 4.1, 4,2 | Arrays, accessing, methods, foreach | BJP 7.1 to p460 |
Tue 10 Nov | LB04 | LP 4.3, 4.5 | Array traversal algorithms, shifting | BJP 7.2, 7.4 to p483 |
Thu 12 Nov | LB05 | LP 4.4 | Reference semantics | BJP 7.3 |
Fri 13 Nov | QB1 | Review and Quiz | ||
Mon 16 Nov | LB06 | LP 4.6 | Two-dimensional arrays, arrays of arrays | BJP 7.5 to p489 |
Tue 17 Nov | LB07 | New | Files (not on AP - for PSCSTA) | BJP 6.1 |
Wed 18 Nov | LB08 | New | Tokens, lines (not on AP - for PSCSTA) | BJP 6.2,6.3 |
Fri 20 Nov | QB2 | Review and Quiz | ||
Mon 23 Nov | LB09 | LP 5.1,5.2 | Classes, state, instances, ref semantics | BJP 8.1, 8.2 to p524 |
Tue 24 Nov | LB10 | LP 5.2,5.3 | Classes, behavior, get/set, toString | BJP 8.2 rest |
Wed 25 Nov | QB2½ | Team pop quiz | ||
Fri 27 Nov | X | No school - Thanksgiving break | ||
Mon 30 Nov | LB11 | New | Classes, constructors, this | BJP 8.3 |
Tue 01 Dec | LB12 | LP5.4 | Encapsulation | BJP 8.4 to p548 |
Wed 02 Dec | LB13 | LP6.1,6.5 | Inheritance, is-a vs. has-a | BJP 9.1, 9.4 p609 |
Fri 04 Dec | QB3 | Review and Quiz | ||
Mon 07 Dec | LB14 | LP6.2,6.3 | Superclass interaction | BJP 9.2 |
Tue 08 Dec | LB15 | LP6.6 | Interfaces, abstract classes | BJP 9.5, 9.6 p628 |
Wed 09 Dec | PB10 | Assign TextExcelA, walk through milestones | ||
Fri 11 Dec | QB4 | Review and Quiz | ||
Mon 14 Dec | LB16 P | Project time | ||
Tue 15 Dec | LB16½ P | Project time | ||
Wed 16 Dec | PB11 | TextExcelA CP1 due | ||
Fri 18 Dec | LB17 S | Social/ethics day | ||
Mon 21 Dec | X | No school - Winter break | ||
Tue 22 Dec | X | No school - Winter break | ||
Wed 23 Dec | X | No school - Winter break | ||
Fri 25 Dec | X | No school - Winter break | ||
Mon 28 Dec | X | No school - Winter break | ||
Tue 29 Dec | X | No school - Winter break | ||
Wed 30 Dec | X | No school - Winter break | ||
Fri 01 Jan | X | No school - Winter break | ||
Mon 04 Jan | LB18 | Review of classes and inheritance | ||
Tue 05 Jan | LB19 | LP 6.4 | Polymorphism | BJP 9.3 |
Wed 06 Jan | PB12 | TextExcelA CP2 due | ||
Fri 08 Jan | QB5 | Review and Quiz | ||
Mon 11 Jan | LB20 | LP 6.4 | Casting | BJP 9.3 |
Tue 12 Jan | LB21 P | Project time | ||
Wed 13 Jan | PB13 | TextExcelA Final due (CP3, without Save) | ||
Fri 15 Jan | LB22 R | New | Final exam review | |
Mon 18 Jan | X | No school - Martin Luther King Day | ||
Tue 19 Jan | LB23 R | New | Final exam review | |
Wed 20 Jan | TB | Final exam (7:50 to 9:50) | ||
Fri 22 Jan | X | Finals week (no class) | ||
Mon 25 Jan | LC01 | LP 4.7 | ArrayLists | BJP 10.1 |
Tue 26 Jan | LC02 | ArrayLists Boxing | BJP 10.1 | |
Wed 27 Jan | PC10 | Assign TextExcelB (include Save from part A) | ||
Thu 28 Jan | LC02½ P | Project time | ||
Fri 29 Jan | QC1 | Review and Quiz | ||
Mon 01 Feb | LC03 | LP 8.1 | Recursion introduced | BJP 12.1 |
Tue 02 Feb | LC04 | LP 8.3 | Recursion, mechanics | BJP 12.2 |
Wed 03 Feb | PC11 | TextExcelB CP1 due (save and open) | ||
Fri 05 Feb | QC2 | Review and Quiz | ||
Mon 08 Feb | LC05 | LP 8.2 | Recursion, more examples | BJP 12.2 |
Tue 09 Feb | LC06 P | Project time | ||
Wed 10 Feb | PC12 | TextExcelB CP2 due (basic formulas) | ||
Fri 12 Feb | X | No school - Mid-Winter break | ||
Mon 15 Feb | X | No school - Presidents Day | ||
Tue 16 Feb | LC07 | LP 7.1 | Searching, sequential, binary | BJP 13.1 to p823, 13.3 to p847 |
Wed 17 Feb | LC08 | LP 7.2 | Sorting, selection sort | BJP 13.3 rest |
Fri 19 Feb | QC3 | Review and Quiz | ||
Mon 22 Feb | LC09 | New | Insertion sort | Not covered |
Tue 23 Feb | LC10 | New | Merge sort | BJP |
Wed 24 Feb | PC20 | TextExcelB Final due / Assign TextExcelC | ||
Fri 26 Feb | QC4 | Review and Quiz | ||
Mon 29 Feb | LC11 | New | Comparable, project time | BJP 10.2 |
Tue 01 Mar | LC12 RP | New | Review, project time | |
Wed 02 Mar | PC21 | TextExcelC CP1 due | ||
Fri 04 Mar | LC13 | New | Efficiency and complexity, project time | BJP 13.2 |
Mon 07 Mar | TC | Mid-term test | ||
Tue 08 Mar | LC14 P | Project time | ||
Wed 09 Mar | PC22 | TextExcelC Final due | ||
Fri 11 Mar | PD10 | Assign Photo Lab | ||
Mon 14 Mar | LD01 | Discuss/peer-grade Schram C1, C2 | S 1,2 | |
Tue 15 Mar | LD02 | Discuss/peer-grade Schram C3, C4 | S 3,4 | |
Wed 16 Mar | LD03 | Discuss/peer-grade Schram C20 FRQ 1-2 | ||
Fri 18 Mar | LD04 | Discuss/peer-grade Schram C5, C6 | S 5,6 | |
Mon 21 Mar | LD05 | Discuss/peer-grade Schram C7, C8 | S 7,8 | |
Tue 22 Mar | LD06 | Discuss/peer-grade Schram C20 FRQ 3-4 | ||
Wed 23 Mar | PD11 | Photo Lab CP1 due | ||
Fri 25 Mar | LD07 | Discuss/peer-grade Schram C9, C10 | S 9,10 | |
Mon 28 Mar | LD08 | Discuss/peer-grade Schram C11, C12 | S 11,12 | |
Tue 29 Mar | LD09 | Discuss/peer-grade Schram C21 FRQ 1-2 | ||
Wed 30 Mar | PD12 | Photo Lab Final due | ||
Fri 01 Apr | X | MSFT field trip | ||
Mon 04 Apr | X | No school - Spring break | ||
Tue 05 Apr | X | No school - Spring break | ||
Wed 06 Apr | X | No school - Spring break | ||
Fri 08 Apr | X | No school - Spring break | ||
Mon 11 Apr | LD10 | Discuss/peer-grade Schram C13, C14 | S 13,14 | |
Tue 12 Apr | LD11 | Discuss/peer-grade Schram C15, C16 | S 15,16 | |
Wed 13 Apr | LD12 | Discuss/peer-grade Schram C21 FRQ 3-4 | ||
Fri 15 Apr | LD13 | Discuss/peer-grade Schram C17, C18 1-10 | S 17,18 | |
Mon 18 Apr | LD14 | Discuss/peer-grade Schram C18 11-30 | ||
Tue 19 Apr | LD15 | Final part 1 review or slack | ||
Wed 20 Apr | TD1 | Final part 1 - MCQ | ||
Fri 22 Apr | LD16 | Discuss final part 1 | ||
Mon 25 Apr | LD17 | Discuss/peer-grade Schram C22 FRQ 1-2 | ||
Tue 26 Apr | LD18 | Final part 2 review or slack | ||
Wed 27 Apr | TD2 | Final part 2 - FRQ | ||
Fri 29 Apr | LD19 | Discuss final part 2 | ||
Mon 02 May | LD20 | [AP Zone] Last AP coaching day | ||
Tue 03 May | AP | AP CS exam day | ||
Wed 04 May | LE01 | [AP Zone] AP debrief, SB intro | ||
Fri 06 May | LE02 | [AP Zone] SB intro | ||
Mon 09 May | LE03 | [AP Zone] SB find middle | ||
Tue 10 May | LE04 | [AP Zone] SB find middle | ||
Wed 11 May | LE05 | [AP Zone] SB shapes in space | ||
Fri 13 May | LE06 | [AP Zone] SB shapes in space | ||
Mon 16 May | PE10 | SB asteroid miner assigned | ||
Tue 17 May | X | No class - SBA week | ||
Wed 18 May | LE09 P | [SBA test zone] SB asteriod miner | ||
Thu 19 May | LE10 P | SB asteriod miner | ||
Mon 23 May | LE11 P | SB asteriod miner | ||
Tue 24 May | PE11 | SB asteriod miner game day | ||
Wed 25 May | PE20 | SB bauble hunt assigned | ||
Fri 27 May | LE14 P | SB bauble hunt | ||
Mon 30 May | X | No school - Memorial Day | ||
Tue 31 May | LE15 P | SB bauble hunt | ||
Wed 01 Jun | LE16 P | SB bauble hunt | ||
Fri 03 Jun | LE17 | Xbox/BBQ day | ||
Mon 06 Jun | X | Finals week | ||
Tue 07 Jun | LE18 | Final exam (SB bauble hunt game day) | ||
Wed 08 Jun | X | Finals week | ||
Fri 10 Jun | X | Graduation |