**TEALS Program** Home | Curriculum Map | Additional Readings | Discussions | Change Log # Lesson 3.05: project 3 ## Learning objectives Students will be able to... * Use project planning skills to complete a large project. * Create functions to organize a project. * Apply skills learned in units 1-3 to create a functioning program. ## Materials/preparation * [3.05 Slide deck](https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/slidedecks/Intro%20Python%203.05%20TEALS.pptx) * [Project spec - Oregon Trail][] ([docx][1]) ([pdf][2]) * [Project spec - Cross-Country Canada][] ([docx][3]) ([pdf][4]) * [Project spec - Daily Planner][] ([docx][5]) ([pdf][6]) * [Oregon Trail starter code](https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/Unit_3_Project_Oregon_Trail_Starter_Code.py) * [Cross-Country Canada starter code](https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/Unit_3_Project_Cross_Country_Canada_Starter_Code.py/) * Solution (Protected content such as unit quizzes, quiz answer keys, project sample solutions are available to those with a TEALS Dashboard account. Please email info@tealsk12.org for access information) * Update the _Project Spec_ as needed to meet your grading requirements. * Try creating your own variation on the Oregon Trail code so you are familiar with the potential challenges and bugs your students will hit. * Review [4 steps to solve any CS problem][] * [Editable grading rubric](https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/rubric.docx) ### Day 1 | **Duration** | **Description** | | ---------- | ----------- | | 10 Minutes | Project Overview | | 40 Minutes | Planning | | 5 Minutes | Debrief | #### Days 2-9 |**Duration** | **Description** | |----------- | ---------------- | | 5 Minutes | Review Day Plan | | 45 Minutes | Project Work | | 5 Minutes | Debrief | ## Instructor's notes ### 1. 4 steps to solve any CS problem * Remind students of the [4 steps to solve any CS problem]. ### 2. Project overview * Demo the finished project. * Give out the project spec and go over game rules. ### 3. Planning 1. Have students draw out the game play. 2. Students should plan to create functions for each user interaction by figuring out where the repeated code will be. 3. Students should list out which variables they will need. 4. Have students plan out their next 7 days. Here is a suggested time line and checkpoints: * Set up user inputs with dummy functions, make sure game loop works. * Create variables necessary to run the game, start implementing basic functions. * Focus on the random functions. * Figure out how to move the days. * Finish day updating. * Connect functions together. * Wrap up and game over check is correct. ## Accommodation/differentiation * Advanced students can add in random events like cholera or snake bites. * Students can also have a list of travelers instead of just 1, where each traveler is affected differently by each action. * The planning phase of this project will be essential, especially for students who you think may struggle with this project. * Provide more guidance and scaffolding to those students that need it. ## Grading ### Objective scoring breakdown [Editable grading rubric](https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/rubric.docx) | Points | Percentage| Objective | Lesson | | :---: | :---: | --- | --- | | 3| 10% | Student correctly identifies data types|2.01| | 3 | 10% | Student correctly uses lists |2.04, 2.05| | 3 | 10% | Student correctly uses built in functions | 3.01| | 12 | 38% |Student can program using user-defined functions |3.02, 3.03, 3.04| | 5| 16% |Student can decompose a problem to create a program from a brief|| | 5| 16%|Student uses naming/ syntax conventions and comments to increase readability|| | 31 | | **Total Points** || ### Scoring consideration You may need to adjust the points in order to fit your class. Treat the percentages as a guide to determine how to weight the objectives being assessed. [Project spec - Oregon Trail]:project.md.html [Project spec - Daily Planner]:alternate_project.md.html [Project spec - Cross-Country Canada]:project_canada.md.html [Oregon Trail - Example code]:oregon_trail.py [TEALS dashboard]:http:/www.tealsk12.org/dashboard [4 steps to solve any CS problem]:https://github.com/TEALS-IntroCS/2nd-semester-introduction-to-computer-science-principles/raw/master/units/4%20Steps%20to%20Solve%20Any%20CS%20Problem.pdf [1]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/project.docx [2]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/project.pdf [3]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/project_canada.docx [4]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/project_canada.pdf [5]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/projecta.docx [6]: https://github.com/TEALSK12/2nd-semester-introduction-to-computer-science/raw/master/units/3_unit/05_lesson/projecta.pdf