**TEALS Program** Home | Curriculum Map # Unit 3: Advanced Data & Control Flow (4 weeks) The following curriculum map is a day-by-day listing of the AP Computer Science course in chronological order. Each row represents one day of class, based on a medium-paced class. Readings from the textbook and homework assignments are included on the day when they should be assigned. Refer to the Introduction document for information about how to adjust this pacing for your specific classroom. - [Unit 3 Slides][] - [Unit 3 Word Bank][] - [Curriculum Assets](../Assets.md.html) - [Consumer Review Lab](Lesson-318.md.html) | LP | Title | In Class | Reading | Homework | | :-- | :--- | :------- | :------ | :------- | | [3.00][] |Test Review & Reteach|[Algorithm for Solving Problems][]||Test corrections | | [3.01][] |Parameters|SC 3.1 - 3.3 | 3.1 up to “Limitations of Parameters”|SC 3.4-3.7 | | [3.02][] | Limitations of Parameters & Multiple Parameters | (Art project) | "3.1 “Limitations of Parameters”, “Multiple Parameters”, ""Parameters versus Constants"""| Jazz up art project and program | | [3.03][] | Return Values|SC 3.14 - 3.16 |"3.1 “Overloading Methods”, 3.2 ""Methods That Return Values"""| SC 3.17, E 3.1 | | [3.04][] | Programming Project|[WS 3.4][] [Equestria][] | | SC 3.18, 3.19 | | [3.05][] | Using Objects & String Processing | [WS 3.5][] | 3.3 up to “Interactive Programs and Scanner Objects”| SC 3.19-3.21 | | [3.06][] | Interactive Programs & Scanner Objects | SC 3.24 - 3.26, (5th: 3.23 - 3.25); E 3.12, 3.14, 3.15 |3.3 “Interactive programming” and “Sample interactive program” | Outline ch 3 (omit 3.4) | | [3.07][] | Pokémon Battle Programming Project | [WS 3.7][] LP Battle | | Summarize notes since last exam | | [3.08][] | Finding & Fixing Errors | Fix HW webmaker.org | | SC 4.1-4.4 | | [3.09][] | Relational Operators & if/else | [Operator Precedence][]Grudgeball | 4.1 up to “nested if else statements” | SC 4.7-4.9; E 4.1-4.2 | | [3.10][] | Nested if/else Statements | [WS 3.10][] Teach mini-lessons SC 4.5, 4.6, E 4.3 | 4.1 “Nested if/else” and “Flow of control” | E 4.4, 4.5 | | [3.11][] | Reducing Redundancy | (Refactoring com petition) | 4.1, “Factoring if/else statements” and “Testing multiple conditions”|Outline ch 4 (omit 4.4, 4.5) | | [3.12][] | Cumulative Algorithms | Tally code on board,Collaborative Programming Exercise [WS 3.12][] | Read 4.2 | PP 4.2 | | [3.13][] | while Loops | SC 5.1 - 5.4, E 5.2 [WS 3.13][] | 5.1 skip “do/while loops” | E 5.2 | | [3.14][] | Random Numbers | SC 5.5-5.7; E 5.4, 5.5 | 5.1 ”Random numbers” | PP 5.1 | | [3.15][] | Fencepost & Sentinel Loops | [WS 3.15][] Teach mini-lessons | 5.2 | E 5.6, 5.8 | | [3.16][].1 | Boolean Logic | SC 5.27, 5.29 [WS 3.16][] (RPS, Pig) [DeMorgan’s Law][] [Poster 3.16.1][] [Poster 3.16.2][] | 5.3 |Outline ch 5 (through 5.3) | | [3.16][].2 |Boolean Logic (Day 2) | | | | | [3.17][] |Finding & Fixing Errors | (Fix HW) | | Submit questions for review | | [3.18][].1 | Consumer Review Lab (day 1) | Consumer Review Lab Activity 1 | Review ch 3-5 | | [3.18][].2 | Consumer Review Lab (day 2) | Consumer Review Lab Activity 2 | | | [3.18][].3| Consumer Review Lab (day 3) | Consumer Review Lab Activity 3 | | | [3.18][].4 | Consumer Review Lab (day 4) | Consumer Review Lab Activity 4 | | | [3.18][].5 | Consumer Review Lab (day 5) | Consumer Review Lab Activity 5 | | | [3.18][].6 | Consumer Review Lab (day 6) | Consumer Review Lab Activity 5 (day 2) | | | [3.18a] | Alternative Project: [Calculator][] | work on project | conduct research | Continue working on project | | 3.18b | Alternative Project: [Frac Calc][] | | | | | [3.19][] | Review | (Review questions), [WS 3.18][] practice test | |Study | | 3.99 | Unit 3 test | [Test 2 Guide][] Test 2 Section I Test 2 Section II | | | Students are expected to work on project in class. | **Reading** | Students are expected to conduct research. | **Homework** | Continue working on project. ## 3.00 | [Lesson 3.00][] | _Test Review & Reteach_ |:----------------|:----------------------- | **Objectives** | Students will re-learn or strengthen content knowledge and skills from Unit 2. | **Assessments** | Students will re-submit test answers with updated corrections for partial or full credit, depending on instructor preference. | **In Class** | [Algorithm for Solving Problems][] | **Reading** | | **Homework** | Test corrections ## 3.01 | [Lesson 3.01][] | _Parameters_ |:----------------|:------------ | **Objectives** | Students will correctly construct formal and actual parameters (arguments). Students will predict the output of programs that use parameters. | **Assessments** | Students will teach a mini-lesson explaining the relationship between parameters and values stored in memory. Students will submit questions. | **In Class** | SC 3.1–3 | **Reading** | 3.1 up to “_Limitations of Parameters_” | **Homework** | SC 3.4–7 ## 3.02 | [Lesson 3.02][] | _Limitations of Parameters & Multiple Parameters_ |:----------------|:------------------------------------------------- | **Objectives** | Students will modify programs using parameters and class constants to create original artworks. | **Assessments** | Students will complete an art project and “artist statement” justifying their programming choices. | **In Class** | Art project | **Reading** | 3.1 “_Limitations of Parameters_”, “_Multiple Parameters_”, “_Parameters versus Constants_” | **Homework** | Jazz up art project and program ## 3.03 | [Lesson 3.03][] | _Return Values_ |:----------------|:--------------- | **Objectives** | Students will write a program that returns values. | **Assessments** | Students will complete questions and write a program to meet a Pokémon Challenge. | **In Class** | SC 3.14–16 | **Reading** | 3.1 “_Overloading Methods_” 3.2 “_Methods That Return Values_” | **Homework** | SC 3.17 E 3.1 ## 3.04 | [Lesson 3.04][] | _Programming Project_ |:----------------|:--------------------- | **Objectives** | Students will write a program that uses parameters, the math class, and returns values. | **Assessments** | Students will submit an Equestria program by the end of class. | **In Class** | [WS 3.4][] [Equestria][] | **Reading** | | **Homework** | SC 3.18–19 ## 3.05 | [Lesson 3.05][] | _Using Objects & String Processing_ |:----------------|:----------------------------------- | **Objectives** | Students will be able to differentiate between primitive and object types. Students will apply 0-indexing and string processing techniques to predict the output of a program. | **Assessments** | Students will complete WS 3.5 | **In Class** | [WS 3.5][] | **Reading** | 3.3 up to “_Interactive Programs and Scanner Objects_” | **Homework** | SC 3.19–21 ## 3.06 | [Lesson 3.06][] | _Interactive Programs & Scanner Objects_ |:----------------|:---------------------------------------- | **Objectives** | Students will write programs that accept user input using a scanner object. | **Assessments** | Students will complete problems. | **In Class** | SC 3.24–26 E 3.12,14,15 | **Reading** | 3.3 “_Interactive Programming_” and “_Sample Interactive Program_” | **Homework** | Outline ch 3 (omit 3.4) ## 3.07 | [Lesson 3.07][] | _Pokémon Battle Programming Project_ |:----------------|:------------------------------------ | **Objectives** | Students will write a program that requests user input and returns data. | **Assessments** | Students will write a program that calculates damage done to Pokémon in a battle. | **In Class** | [WS 3.7][] LP Battle | **Reading** | | **Homework** | Summarize notes since last exam ## 3.08 | [Lesson 3.08][] | _Finding & Fixing Errors_ |:----------------|:------------------------- | **Objectives** | Students will find errors and correct their previously submitted homework and classwork assignment. | **Assessments** | Students will re-submit all homework assignments with corrected answers. | **In Class** | Fix homework webmaker.org | **Reading** | | **Homework** | SC 4.1–4 ## 3.09 | [Lesson 3.09][] | _Relational Operators & if/else_ |:----------------|:-------------------------------- | **Objectives** | Students will be able to evaluate relational expressions, predict and trace the flow of an if statement. | **Assessments** | Students will evaluate relational expressions and practice correct if statement syntax during a game of grudgeball. | **In Class** | [Operator Precedence][] Grudgeball | **Reading** | 4.1 up to “_Nested If/Else Statements_” | **Homework** | SC 4.7–9 E 4.1–2 ## 3.10 | [Lesson 3.10][] | _Nested if/else Statements_ |:----------------|:--------------------------- | **Objectives** | Students will will be able to choose which if statements to use for different problems Students will use correct syntax for the different if statements. | **Assessments** | Students will teach a mini-lesson on sequential or nested if statements. Students will submit several questions. | **In Class** | [WS 3.10][] Teach mini-lessons SC 4.5–6 E 4.3 | **Reading** | 4.1 “_Nested If/Else_” and “_Flow of Control_” | **Homework** | EX 4.4–5 ## 3.11 | [Lesson 3.11][] | _Reducing Redundancy_ |:----------------|:--------------------- | **Objectives** | Students will simplify code and reduce redundancy by factoring if/else statements and testing multiple conditions simultaneously. | **Assessments** | Students will complete a class competition. | **In Class** | Refactoring competition | **Reading** | 4.1, “_Factoring If/Else Statements_” and “_Testing Multiple Conditions_” | **Homework** | Outline ch 4 (omit 4.4, 4.5) ## 3.12 | [Lesson 3.12][] | _Cumulative Algorithms_ |:----------------|:----------------------- | **Objectives** | Students will find and correct syntax errors in conditional cumulative algorithms. | **Assessments** | Students will write, modify, and correct programs written by others. | **In Class** | Tally code on board Collaborative Programming Exercise [WS 3.12][] | **Reading** | 4.2 | **Homework** | PP 4.2 ## 3.13 | [Lesson 3.13][] | _while Loops_ |:----------------|:------------- | **Objectives** | Students will trace while loops to predict (1) the number of times the body executes and (2) the output of the code. Students will be able to differentiate between while loops, if statements, and for loops. | **Assessments** | Students will complete questions. | **In Class** | SC 5.1–4 E 5.2 [WS 3.13][] | **Reading** | 5.1 (skip “_Do/While Loops_”) | **Homework** | EX 5.2 ## 3.14 | [Lesson 3.14][] | _Random Numbers_ |:----------------|:---------------- | **Objectives** | Students will be able to write expressions that generate a random integer between any two values. | **Assessments** | Students will complete questions. | **In Class** | SC 5.5–7 E 5.4–5 | **Reading** | 5.1 “_Random Numbers_” | **Homework** | PP 5.1 ## 3.15 | [Lesson 3.15][] | _Fencepost & Sentinel Loops_ |:----------------|:---------------------------- | **Objectives** | Students will be able to describe when to use fencepost and sentinel loops. Students will use proper syntax to construct these control structures. | **Assessments** | Students will teach a mini-lesson explaining the relationship between parameters and values stored in memory. | **In Class** | [WS 3.15][] Teach mini-lessons | **Reading** | 5.2 | **Homework** | EX 5.6,8 ## 3.16.1 | [Lesson 3.16][] | _Boolean Logic (Day 1)_ |:----------------|:----------------------- | **Objectives** | Students will work in pairs to write a game that plays Rock Paper Scissors. | **Assessments** | Students will submit a program at the end of 2 or 3 class periods. | **In Class** | SC 5.27, 5.29 [WS 3.16][] (RPS, Pig) [DeMorgan’s Law][] [Poster 3.16.1][] [Poster 3.16.2][] | **Reading** | 5.3 | **Homework** | Outline ch 5 (through 5.3) ## 3.16.2 | [Lesson 3.16][] | _Boolean Logic (Day 2)_ |:----------------|:----------------------- ## 3.17 | [Lesson 3.17][] | _Finding & Fixing Errors_ |:----------------|:------------------------- | **Objectives** | Students will find errors in their returned homework assignments, and correct their code. | **Assessments** | Students will re-submit all homework assignments with corrected answers. | **In Class** | Fix homework | **Reading** | | **Homework** | Submit questions for review ## 3.18.1 | [Lesson 3.18][] | _Consumer Review Lab (Day 1)_ |:----------------|:-------------------- | **Objectives** | Students will complete a long-form lab, using string literals, static methods, if statements, while loops, algorithms, and the String class. | **Assessments** | Students will complete the College Board’s AP CS A Consumer Review Lab. Students will answer end of activty Check your understanding and complete Open-ended activity. | **In Class** | Lab: Consumer Review Lab Consumer Review Lab Activity 1 | **Reading** | Review ch 3–5 | **Homework** | ## 3.18.2 | [Lesson 3.18][] | _Consumer Review Lab (Day 2)_ |:----------------|:-------------------- | **Objectives** | | **Assessments** | | **In Class** | Consumer Review Lab Activity 2 | **Reading** | | **Homework** | ## 3.18.3 | [Lesson 3.18][] | _Consumer Review Lab (Day 3)_ |:----------------|:-------------------- | **Objectives** | | **Assessments** | | **In Class** | Consumer Review Lab Activity 3 | **Reading** | | **Homework** | ## 3.18.4 | [Lesson 3.18][] | _Consumer Review Lab (Day 4)_ |:----------------|:-------------------- | **Objectives** | | **Assessments** | | **In Class** | Consumer Review Lab Activity 5 | **Reading** | | **Homework** | ## 3.18.5 | [Lesson 3.18][] | _Consumer Review Lab (Day 5)_ |:----------------|:-------------------- | **Objectives** | | **Assessments** | | **In Class** | Consumer Review Lab Activity 5 | **Reading** | | **Homework** | ## 3.18.6 | [Lesson 3.18][] | _Consumer Review Lab (Day 6)_ |:----------------|:-------------------- | **Objectives** | | **Assessments** | | **In Class** | Consumer Review Lab Activity 5 (day 2) | **Reading** | | **Homework** | ## 3.18a | [Lesson 3.18a][] | _Alternative Project - Calculator Project_ |:----------------|:----------- | **Objectives** | Students will conduct user-centered research, plan and create, and test, evaluate, and share the end product. | **Assessments** | Students will submit project for end of Unit 3 assessment. | **In Class** | Students are expected to work on project in class. | **Reading** | Students are expected to conduct research | **Homework** | Continue working on project. ## 3.18b | Lesson 3.18b | _Alternative Project - Frac Calc_ |:----------------|:----------- | **In Class** | [Frac Calc][] ## 3.19 | [Lesson 3.19][] | _Review_ |:----------------|:-------- | **Objectives** | Students will identify weaknesses in their Unit 3 knowledge. | **Assessments** | Students will create a personalized list of review topics to guide tonight’s study session. | **In Class** | Review questions [WS 3.18][] Practice Test | **Reading** | | **Homework** | Study ## 3.99 | Unit 3 Test | _Advanced Data & Control Flow_ |:----------------|:------------------------------ | **Guide** | [Test 2 Guide][] | **In Class** | Test 2 Section I Test 2 Section II ## Abbreviations - **WS** — Worksheet - **SC** — Self-Check problem (in the textbook) - **EX** — Exercise (in the textbook) - **PP** — Programming Project (in the textbook) [3.00]: Lesson-300.md.html [3.01]: Lesson-301.md.html [3.02]: Lesson-302.md.html [3.03]: Lesson-303.md.html [3.04]: Lesson-304.md.html [3.05]: Lesson-305.md.html [3.06]: Lesson-306.md.html [3.07]: Lesson-307.md.html [3.08]: Lesson-308.md.html [3.09]: Lesson-309.md.html [3.10]: Lesson-310.md.html [3.11]: Lesson-311.md.html [3.12]: Lesson-312.md.html [3.13]: Lesson-313.md.html [3.14]: Lesson-314.md.html [3.15]: Lesson-315.md.html [3.16]: Lesson-316.md.html [3.17]: Lesson-317.md.html [3.18]: Lesson-318.md.html [3.18a]: Lesson-318a.md.html [3.19]: Lesson-319.md.html [Algorithm for Solving Problems]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Algorithm%20for%20Solving%20Problems.docx [Calculator]: Lesson-318a.md.html [DeMorgan’s Law]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/DeMorgan%27s%20Law.pptx [Equestria]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Map%20of%20Equestria.pptx [Frac Calc]: ../Assets.md.html#fraccalc [Lesson 3.00]: Lesson-300.md.html [Lesson 3.01]: Lesson-301.md.html [Lesson 3.02]: Lesson-302.md.html [Lesson 3.03]: Lesson-303.md.html [Lesson 3.04]: Lesson-304.md.html [Lesson 3.05]: Lesson-305.md.html [Lesson 3.06]: Lesson-306.md.html [Lesson 3.07]: Lesson-307.md.html [Lesson 3.08]: Lesson-308.md.html [Lesson 3.09]: Lesson-309.md.html [Lesson 3.10]: Lesson-310.md.html [Lesson 3.11]: Lesson-311.md.html [Lesson 3.12]: Lesson-312.md.html [Lesson 3.13]: Lesson-313.md.html [Lesson 3.14]: Lesson-314.md.html [Lesson 3.15]: Lesson-315.md.html [Lesson 3.16]: Lesson-316.md.html [Lesson 3.17]: Lesson-317.md.html [Lesson 3.18]: Lesson-318.md.html [Lesson 3.18a]: Lesson-318a.md.html [Lesson 3.19]: Lesson-319.md.html [Operator Precedence]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Operator%20Precedence.pptx [Poster 3.16.1]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Poster%203.16.1.pdf [Poster 3.16.2]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Poster%203.16.2.pdf [Test 2 Guide]: Test-2-Guide.md.html [Unit 3 Slides]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Unit3.pptx [Unit 3 Word Bank]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/Unit%203%20Word%20Bank.docx [WS 3.10]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.10.docx [WS 3.12]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.12.docx [WS 3.13]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.13.docx [WS 3.15]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.15.docx [WS 3.16]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.16.docx [WS 3.18]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.18.docx [WS 3.4]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.4.docx [WS 3.5]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.5.docx [WS 3.7]: https://raw.githubusercontent.com/TEALSK12/apcsa-public/master/curriculum/Unit3/WS%203.7.docx