Showing preview only (1,183K chars total). Download the full file or copy to clipboard to get everything.
Repository: TEALSK12/introduction-to-computer-science
Branch: master
Commit: 6a9db3c07b14
Files: 499
Total size: 1.1 MB
Directory structure:
gitextract_ikmzkwy5/
├── .gitignore
├── CSTA-content-matrix-9-12.docx
├── CSTA_standards_mapping.md
├── Changelog.md
├── Country-n-State.txt
├── Excel-Randomizer.xlsx
├── GLOSSARY.md
├── Grudgeball.md
├── Project 1 - Nursery Rhyme.docx
├── Projects/
│ └── Projects Word/
│ ├── Platform_Game_Planning_Worksheet.docx
│ ├── Project 1 Storytelling.docx
│ ├── Project 2 Pong.docx
│ ├── Project 3 Platform Game Easy.docx
│ ├── Project 3 Platform Game.docx
│ ├── Project 4 Guessmyword.docx
│ ├── Project 4 Snowman.docx
│ ├── Project 5 Space Invaders.docx
│ ├── Project 6 Final Project.docx
│ ├── Project_ 2_alternative.docx
│ ├── Project_2_Pong_Planning_Worksheet.docx
│ ├── Project_4_Guessmyword_Planning_Worksheet.docx
│ └── project_5.docx
├── README.md
├── SNAP Program Design and Planning Worksheet.docx
├── Snap Tips.docx
├── TEALS Intro CS Curriculum Guide - handout.docx
├── Unit 0/
│ ├── IntrotoCSSyllabusExample.docx
│ ├── Student Experiences Survey.docx
│ ├── lab_04.docx
│ └── lab_05.docx
├── Unit 1 Word/
│ ├── Helping Trios.docx
│ ├── Lab 1.1 Welcome To SNAP.docx
│ ├── Lab 1.2 SNAP Scavenger Hunt.docx
│ ├── Lab 1.3 Squares Triangles.docx
│ └── Lab 1.4 Sprites in Action.docx
├── Unit 2 Word/
│ ├── Lab 2.1 Triangles and Squares Redux.docx
│ ├── Lab 2.2 Another Brick in the Wall.docx
│ ├── Lab 2.2 Yellow Brick Road.docx
│ ├── Lab 2.3 What Shape Is That.docx
│ ├── Lab 2.4 Guessing Game.docx
│ └── Lab 2.5 Triangles of All Kinds.docx
├── Unit 3 Word/
│ ├── Lab 3.1 Drawing Shapes Again.docx
│ ├── Lab 3.2 What Goes Up.docx
│ ├── Lab 3.3 Let Me Check My Calendar.docx
│ ├── Lab 3.4 If My Calculations Are Correct.docx
│ └── Lab 3.4 The Technicolor Window.docx
├── Unit 4 Word/
│ ├── Lab 4.2 You Talkin To Me.docx
│ ├── Lab 4.3 Guess Who.docx
│ ├── Lab 4.4 Number Cruncher.docx
│ ├── Lab 4.5 Its Around Here Somewhere.docx
│ └── SNAP Lists Components.docx
├── Unit 5 Word/
│ ├── Lab 5.1 Connect the Dots.docx
│ ├── Lab 5.2 Lots of Balls.docx
│ └── Lab 5.3 Fewer Balls.docx
├── Unit 6 PDF/
│ └── Final Project Development Plan.docx
├── Unit 6 Word/
│ ├── Final Project Development Plan.docx
│ ├── Final Project Plan Organizer.docx
│ ├── Project Feedback Form.docx
│ └── TEALS Final Project Design Steps.docx
├── Video Resources.md
├── additional_curriculum_resources.md
├── bjc_videosuggestions.md/
│ └── bjcvideosuggestions.md
├── book.json
├── chapter1.md
├── contributing.md
├── create-book.cmd
├── culture_day_lesson_a.md
├── culture_day_lesson_b.md
├── culture_day_lesson_c.md
├── culture_day_lesson_d.md
├── curriculum_map.md
├── do_now_04.md
├── do_now_05.md
├── do_now_11.md
├── do_now_12.md
├── do_now_13.md
├── do_now_14.md
├── do_now_15.md
├── do_now_152.md
├── do_now_153.md
├── do_now_21.md
├── do_now_22.md
├── do_now_23.md
├── do_now_24.md
├── do_now_25.md
├── do_now_26.md
├── do_now_31.md
├── do_now_32.md
├── do_now_33.md
├── do_now_34.md
├── do_now_42.md
├── do_now_43.md
├── do_now_44.md
├── do_now_45.md
├── do_now_46.md
├── do_now_52.md
├── do_now_53.md
├── docs/
│ ├── .gitignore
│ ├── CSTA-content-matrix-9-12.docx
│ ├── CSTA_standards_mapping.md.html
│ ├── Changelog.md.html
│ ├── Country-n-State.txt
│ ├── Excel-Randomizer.xlsx
│ ├── Final Project Development Plan.docx
│ ├── Final Project Plan Organizer.docx
│ ├── GLOSSARY.md.html
│ ├── Grudgeball.md.html
│ ├── Project 1 - Nursery Rhyme.docx
│ ├── Projects/
│ │ └── Projects Word/
│ │ ├── Platform_Game_Planning_Worksheet.docx
│ │ ├── Project 1 Storytelling.docx
│ │ ├── Project 2 Pong.docx
│ │ ├── Project 3 Platform Game Easy.docx
│ │ ├── Project 3 Platform Game.docx
│ │ ├── Project 4 Guessmyword.docx
│ │ ├── Project 4 Hangman.docx
│ │ ├── Project 4 Snowman.docx
│ │ ├── Project 5 Space Invaders.docx
│ │ ├── Project 6 Final Project.docx
│ │ ├── Project_ 2_alternative.docx
│ │ ├── Project_2_Pong_Planning_Worksheet.docx
│ │ ├── Project_4_Guessmyword_Planning_Worksheet.docx
│ │ └── Project_4_Hangman_Planning_Worksheet.docx
│ ├── SNAP Program Design and Planning Worksheet.docx
│ ├── SUMMARY.md.html
│ ├── Snap Tips.docx
│ ├── TEALS Intro CS Curriculum Guide - handout.docx
│ ├── Unit 0/
│ │ ├── IntrotoCSSyllabusExample.docx
│ │ ├── Lab 0.4.docx
│ │ ├── Student Experiences Survey.docx
│ │ ├── lab_04.docx
│ │ └── lab_05.docx
│ ├── Unit 1 Word/
│ │ ├── Helping Trios.docx
│ │ ├── Lab 1.1 Welcome To SNAP.docx
│ │ ├── Lab 1.2 SNAP Scavenger Hunt.docx
│ │ ├── Lab 1.3 Squares Triangles.docx
│ │ └── Lab 1.4 Sprites in Action.docx
│ ├── Unit 2 Word/
│ │ ├── Lab 2.1 Triangles and Squares Redux.docx
│ │ ├── Lab 2.2 Another Brick in the Wall.docx
│ │ ├── Lab 2.2 Yellow Brick Road.docx
│ │ ├── Lab 2.3 What Shape Is That.docx
│ │ ├── Lab 2.4 Guessing Game.docx
│ │ └── Lab 2.5 Triangles of All Kinds.docx
│ ├── Unit 3 Word/
│ │ ├── Lab 3.1 Drawing Shapes Again.docx
│ │ ├── Lab 3.2 What Goes Up.docx
│ │ ├── Lab 3.3 Let Me Check My Calendar.docx
│ │ ├── Lab 3.4 If My Calculations Are Correct.docx
│ │ └── Lab 3.4 The Technicolor Window.docx
│ ├── Unit 4 Word/
│ │ ├── Lab 4.2 You Talkin To Me.docx
│ │ ├── Lab 4.3 Guess Who.docx
│ │ ├── Lab 4.4 Number Cruncher.docx
│ │ ├── Lab 4.5 Its Around Here Somewhere.docx
│ │ ├── Project 4 Guessmyword.docx
│ │ └── SNAP Lists Components.docx
│ ├── Unit 5 Word/
│ │ ├── Lab 5.1 Connect the Dots.docx
│ │ ├── Lab 5.2 Lots of Balls.docx
│ │ └── Lab 5.3 Fewer Balls.docx
│ ├── Unit 6 PDF/
│ │ └── Final Project Development Plan.docx
│ ├── Unit 6 Word/
│ │ ├── Final Project Development Plan.docx
│ │ ├── Final Project Plan Organizer.docx
│ │ ├── Project Feedback Form.docx
│ │ └── TEALS Final Project Design Steps.docx
│ ├── Video Resources.md.html
│ ├── additional_curriculum_resources.md.html
│ ├── appendix-bjc-video-lectures.md.html
│ ├── bjc_videosuggestions.md/
│ │ └── bjcvideosuggestions.md
│ ├── book.json
│ ├── chapter1.md.html
│ ├── contributing.md.html
│ ├── create-book.cmd
│ ├── culture_day_lesson_a.md.html
│ ├── culture_day_lesson_b.md.html
│ ├── culture_day_lesson_c.md.html
│ ├── culture_day_lesson_d.md.html
│ ├── curriculum_map.md.html
│ ├── custom-reference.docx
│ ├── do_now_04.md.html
│ ├── do_now_05.md.html
│ ├── do_now_11.md.html
│ ├── do_now_12.md.html
│ ├── do_now_13.md.html
│ ├── do_now_14.md.html
│ ├── do_now_15.md.html
│ ├── do_now_152.md.html
│ ├── do_now_153.md.html
│ ├── do_now_21.md.html
│ ├── do_now_22.md.html
│ ├── do_now_23.md.html
│ ├── do_now_24.md.html
│ ├── do_now_25.md.html
│ ├── do_now_26.md.html
│ ├── do_now_31.md.html
│ ├── do_now_32.md.html
│ ├── do_now_33.md.html
│ ├── do_now_34.md.html
│ ├── do_now_42.md.html
│ ├── do_now_43.md.html
│ ├── do_now_44.md.html
│ ├── do_now_45.md.html
│ ├── do_now_46.md.html
│ ├── do_now_52.md.html
│ ├── do_now_53.md.html
│ ├── helping_trios.md.html
│ ├── helping_trios_handout.md.html
│ ├── index.html
│ ├── intro-book-complete.docx
│ ├── lab_04.md.html
│ ├── lab_05.md.html
│ ├── lab_11.md.html
│ ├── lab_12.md.html
│ ├── lab_13.md.html
│ ├── lab_14.docx
│ ├── lab_14.md.html
│ ├── lab_21.md.html
│ ├── lab_22.docx
│ ├── lab_22.md.html
│ ├── lab_23.md.html
│ ├── lab_24.docx
│ ├── lab_24.md.html
│ ├── lab_25.md.html
│ ├── lab_31.md.html
│ ├── lab_32.docx
│ ├── lab_32.md.html
│ ├── lab_33.md.html
│ ├── lab_34.md.html
│ ├── lab_42.md.html
│ ├── lab_43.md.html
│ ├── lab_44.docx
│ ├── lab_44.md.html
│ ├── lab_45.md.html
│ ├── lab_51.md.html
│ ├── lab_52.md.html
│ ├── lab_53.md.html
│ ├── lab_day_lesson.md.html
│ ├── lesson_01.md.html
│ ├── lesson_02.md.html
│ ├── lesson_03.md.html
│ ├── lesson_04.md.html
│ ├── lesson_05.md.html
│ ├── lesson_11.md.html
│ ├── lesson_12.md.html
│ ├── lesson_13.md.html
│ ├── lesson_14.docx
│ ├── lesson_14.md.html
│ ├── lesson_15.md.html
│ ├── lesson_21.html
│ ├── lesson_21.md.html
│ ├── lesson_22.md.html
│ ├── lesson_23.md.html
│ ├── lesson_24.md.html
│ ├── lesson_25.md.html
│ ├── lesson_26.md.html
│ ├── lesson_31.md.html
│ ├── lesson_32.md.html
│ ├── lesson_33.md.html
│ ├── lesson_34.md.html
│ ├── lesson_35.md.html
│ ├── lesson_41.md.html
│ ├── lesson_42.md.html
│ ├── lesson_43.md.html
│ ├── lesson_44.md.html
│ ├── lesson_45.md.html
│ ├── lesson_46.md.html
│ ├── lesson_51.md.html
│ ├── lesson_52.md.html
│ ├── lesson_53.md.html
│ ├── lesson_54.md.html
│ ├── lesson_61.md.html
│ ├── lesson_62.md.html
│ ├── lesson_63.md.html
│ ├── lesson_64.md.html
│ ├── lesson_65.md.html
│ ├── lesson_66.md.html
│ ├── markdeep-footer-tocstyle-none.txt
│ ├── markdeep-footer.txt
│ ├── markdeep-header.txt
│ ├── master_vocab.md.html
│ ├── md-to-markdeep.cmd
│ ├── project_1.md.html
│ ├── project_2.md.html
│ ├── project_2_alternative.md.html
│ ├── project_3.md.html
│ ├── project_3_platform_game_easy.md.html
│ ├── project_4.md.html
│ ├── project_5.md.html
│ ├── project_6.md.html
│ ├── quiz_1.md.html
│ ├── quiz_2.md.html
│ ├── quiz_3.md.html
│ ├── quiz_4.md.html
│ ├── quiz_5.md.html
│ ├── reference.docx
│ ├── slidedecks/
│ │ ├── TEALS SNAP 0.1.pptx
│ │ ├── TEALS SNAP 0.2.pptx
│ │ ├── TEALS SNAP 0.3.pptx
│ │ ├── TEALS SNAP 0.4.pptx
│ │ ├── TEALS SNAP 0.5.pptx
│ │ ├── TEALS SNAP 1.1.pptx
│ │ ├── TEALS SNAP 1.2.pptx
│ │ ├── TEALS SNAP 1.3.pptx
│ │ ├── TEALS SNAP 1.4.pptx
│ │ ├── TEALS SNAP 1.5.pptx
│ │ ├── TEALS SNAP 2.1.pptx
│ │ ├── TEALS SNAP 2.2.pptx
│ │ ├── TEALS SNAP 2.3.pptx
│ │ ├── TEALS SNAP 2.4.pptx
│ │ ├── TEALS SNAP 2.5.pptx
│ │ ├── TEALS SNAP 3.1.pptx
│ │ ├── TEALS SNAP 3.2.pptx
│ │ ├── TEALS SNAP 3.3.pptx
│ │ ├── TEALS SNAP 3.4.pptx
│ │ ├── TEALS SNAP 4.1.pptx
│ │ ├── TEALS SNAP 4.2.pptx
│ │ ├── TEALS SNAP 4.3.pptx
│ │ ├── TEALS SNAP 4.4.pptx
│ │ ├── TEALS SNAP 4.5.pptx
│ │ ├── TEALS SNAP 5.1.pptx
│ │ ├── TEALS SNAP 5.2.pptx
│ │ ├── TEALS SNAP 5.3.pptx
│ │ └── spaceman.pptx
│ ├── startercode.md.html
│ ├── student_notes_01.md.html
│ ├── student_notes_02.md.html
│ ├── student_notes_03.md.html
│ ├── student_notes_04.md.html
│ ├── student_notes_11.md.html
│ ├── student_notes_12.md.html
│ ├── student_notes_13.md.html
│ ├── student_notes_14.md.html
│ ├── student_notes_15.md.html
│ ├── student_notes_21.md.html
│ ├── student_notes_22.md.html
│ ├── student_notes_23.md.html
│ ├── student_notes_24.md.html
│ ├── student_notes_25.md.html
│ ├── student_notes_31.md.html
│ ├── student_notes_32.md.html
│ ├── student_notes_33.md.html
│ ├── student_notes_34.md.html
│ ├── student_notes_35.md.html
│ ├── student_notes_41.md.html
│ ├── student_notes_42.md.html
│ ├── student_notes_43.md.html
│ ├── student_notes_44.md.html
│ ├── student_notes_45.md.html
│ ├── student_notes_46.md.html
│ ├── student_notes_51.md.html
│ ├── student_notes_52.md.html
│ ├── student_notes_53.md.html
│ ├── student_notes_54.md.html
│ ├── student_notes_61.md.html
│ ├── student_notes_62.md.html
│ ├── student_notes_63.md.html
│ ├── student_notes_64.md.html
│ ├── student_notes_65.md.html
│ ├── student_notes_66.md.html
│ ├── styles/
│ │ ├── curriculum.css
│ │ └── pdf.css
│ ├── tools/
│ │ ├── create-book-Pandoc.cmd
│ │ └── create-book.cmd
│ ├── unit_0.md.html
│ ├── unit_0_tips.md.html
│ ├── unit_1.md.html
│ ├── unit_1_tips.md.html
│ ├── unit_2.md.html
│ ├── unit_2_tips.md.html
│ ├── unit_3.md.html
│ ├── unit_3_tips.md.html
│ ├── unit_4.md.html
│ ├── unit_4_tips.md.html
│ ├── unit_5.md.html
│ ├── unit_5_tips.md.html
│ ├── unit_6.md.html
│ ├── unit_6_tips.md.html
│ └── wordlist.txt
├── helping_trios.md
├── helping_trios_handout.md
├── intro-book-complete.docx
├── lab_04.md
├── lab_05.md
├── lab_11.md
├── lab_12.md
├── lab_13.md
├── lab_14.md
├── lab_21.md
├── lab_22.md
├── lab_23.md
├── lab_24.md
├── lab_25.md
├── lab_31.md
├── lab_32.md
├── lab_33.md
├── lab_34.md
├── lab_42.md
├── lab_43.md
├── lab_44.md
├── lab_45.md
├── lab_51.md
├── lab_52.md
├── lab_53.md
├── lab_day_lesson.md
├── lesson_01.md
├── lesson_02.md
├── lesson_03.md
├── lesson_04.md
├── lesson_05.md
├── lesson_11.md
├── lesson_12.md
├── lesson_13.md
├── lesson_14.md
├── lesson_15.md
├── lesson_21.md
├── lesson_22.md
├── lesson_23.md
├── lesson_24.md
├── lesson_25.md
├── lesson_26.md
├── lesson_31.md
├── lesson_32.md
├── lesson_33.md
├── lesson_34.md
├── lesson_35.md
├── lesson_41.md
├── lesson_42.md
├── lesson_43.md
├── lesson_44.md
├── lesson_45.md
├── lesson_46.md
├── lesson_51.md
├── lesson_52.md
├── lesson_53.md
├── lesson_54.md
├── lesson_61.md
├── lesson_62.md
├── lesson_63.md
├── lesson_64.md
├── lesson_65.md
├── lesson_66.md
├── markdeep-footer-tocstyle-none.txt
├── markdeep-footer.txt
├── markdeep-header.txt
├── master_vocab.md
├── md-to-markdeep.cmd
├── project_1.md
├── project_2.md
├── project_2_alternative.md
├── project_3.md
├── project_3_platform_game_easy.md
├── project_4.md
├── project_5.md
├── project_6.md
├── quiz_1.md
├── quiz_2.md
├── quiz_3.md
├── quiz_4.md
├── quiz_5.md
├── reference.docx
├── slidedecks/
│ ├── TEALS SNAP 0.1.pptx
│ ├── TEALS SNAP 0.2.pptx
│ ├── TEALS SNAP 0.3.pptx
│ ├── TEALS SNAP 0.4.pptx
│ ├── TEALS SNAP 0.5.pptx
│ ├── TEALS SNAP 1.1.pptx
│ ├── TEALS SNAP 1.2.pptx
│ ├── TEALS SNAP 1.3.pptx
│ ├── TEALS SNAP 1.4.pptx
│ ├── TEALS SNAP 1.5.pptx
│ ├── TEALS SNAP 2.1.pptx
│ ├── TEALS SNAP 2.2.pptx
│ ├── TEALS SNAP 2.3.pptx
│ ├── TEALS SNAP 2.4.pptx
│ ├── TEALS SNAP 2.5.pptx
│ ├── TEALS SNAP 3.1.pptx
│ ├── TEALS SNAP 3.2.pptx
│ ├── TEALS SNAP 3.3.pptx
│ ├── TEALS SNAP 3.4.pptx
│ ├── TEALS SNAP 4.1.pptx
│ ├── TEALS SNAP 4.2.pptx
│ ├── TEALS SNAP 4.3.pptx
│ ├── TEALS SNAP 4.4.pptx
│ ├── TEALS SNAP 4.5.pptx
│ ├── TEALS SNAP 5.1.pptx
│ ├── TEALS SNAP 5.2.pptx
│ ├── TEALS SNAP 5.3.pptx
│ └── spaceman.pptx
├── startercode.md
├── student_notes_01.md
├── student_notes_02.md
├── styles/
│ ├── curriculum.css
│ └── pdf.css
├── tools/
│ ├── create-book-Pandoc.cmd
│ └── create-book.cmd
├── unit_0.md
├── unit_0_tips.md
├── unit_2.md
├── unit_3.md
├── unit_4.md
├── unit_5.md
├── unit_6.md
└── wordlist.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
/.idea/
/.vscode/
================================================
FILE: CSTA_standards_mapping.md
================================================
# TEALS Intro to Computer Science
In this document, we have put together a mapping to Computer Science Teachers Association(CSTA) curriculum standards.
## CSTA Standards Mapping
Here you can find the curriculum standards to reference: [https://www.csteachers.org/page/standards](https://www.csteachers.org/page/standards)
## Unit 0: Beginnings
| Lesson | Standards |
| ------ | ---------- |
| [0.1: The First Day of School][] | 3A- CS-01 |
| [0.2: Algorithms][] | 3B-AP-11, 3A-AP-13|
| [0.3: Programming Languages][] | 3A-CS-02 |
| [0.4: Self-Portrait][] | 3A-AP-13, 3B-AP-14|
| [0.5: Coordinate System][] | 3A-AP-13 |
## Unit 1: Basics
| Lesson | Standards |
| ------ | ---------- |
| [1.1: Welcome to Snap!][] | 3A-AP-13 |
| [1.2: Building Blocks][] | 3A-DA-11 |
| [1.3: Drawing Shapes][] | 3A-AP-13 |
| [1.4: Animation][] | 3A-AP-23 |
| [1.5: Storytelling Project][] | 3A-AP-13, 3A-AP-16, 3A-CS-03 |
| [Culture Day Lesson A: Video/Reading][] | 3A-IC-24 |
## Unit 2: Loop-de-Loop
| Lesson | Standards |
| ------ | ---------- |
| [2.1: Loops][] | 3A-AP-16 |
| [2.2: Nested Loops][] | 3A-AP-16 |
| [2.3: Inputs and Conditionals][] | 3A-AP-16 |
| [2.4: Variables][] | 3A-AP-16, 3A-AP-23 |
| [2.5: Boole in the House][] | 3A-AP-16 |
| [2.6: Pong Project][] | 3A-AP-13, 3A-AP-16, 3A-AP-17, 3A-AP-23, 3A-CS-03 |
| [Culture Day Lesson B: Student Research Project/Presentation][] | 3A-IC-27 |
## Unit 3: Abstraction and Customization
| Lesson | Standards |
| ------ | ---------- |
| [3.1: Abstraction and Generalization][] | 3A-CS-01 |
| [3.2: Combining Loops and Conditionals][] | 3A-AP-16 |
| [3.3: Customization I: Arguments][] | 3A-AP-23 |
| [3.4: Customization II: Reporters and Predicates][] | 3A-AP-16 |
| [3.5: Platform Game Project][] | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-DA-12 |
| [Culture Day Lesson C: My Skills and Interests Journal][] | 3A-IC-24 |
## Unit 4: Lists
| Lesson | Standards |
| ------ | ---------- |
| [4.1: Intro to Lists][] | 3A-AP-14 |
| [4.2: Static Lists][] | 3A-AP-14 |
| [4.3: List Practice I][] | 3A-AP-14 |
| [4.4: List Practice II][] | 3A-AP-14 |
| [4.5: Sequential Search][] | 3A-AP-13 |
| [4.6: Guess My Word Project][] | 3B-AP-09, 3A-AP-13, 3A-AP-14, 3A-AP-18, 3A-AP-23, 3A-CS-03 |
| [Culture Day Lesson D: Interview with People in Technology][] | 3A-IC-27 |
## Unit 5: Cloning
| Lesson | Standards |
| ------ | ---------- |
| [5.1: Intro to Cloning][] | 3B-AP-14 |
| [5.2: Cloning Sprites][] | 3B-AP-16 |
| [5.3: Communicating With Clones][] | 3A-DA-12 |
| [5.4: Space Invaders Project][] | 3A-AP-13, 3A-AP-14, 3A-DA-12, 3B-AP-14, 3B-AP-15, 3A-CS-03 |
## Unit 6: Final Project
| Lesson | Standards |
| ------ | ---------- |
| [6.1: Design Basics][] | 3A-AP-13 |
| [6.2: Research and Ideate][] | 3B-AP-17 |
| [6.3: Defining Requirements][] | 3B-AP-15 |
| [6.4: Building a Plan][] | 3B-AP-15 |
| [6.5: Project Implementation][] | 3A-AP-13, 3B-AP-15, 3B-AP-08, 3B-AP-09, 3B-AP-17, 3B-AP-20, 3B-AP-21, 3B-AP-23, 3A-CS-03 |
| [6.6: Project Sharing][] | |
[0.1: The First Day of School]:lesson_01.md
[0.2: Algorithms]:lesson_02.md
[0.3: Programming Languages]:lesson_03.md
[0.4: Self-Portrait]:lesson_04.md
[0.5: Coordinate System]:lesson_05.md
[1.1: Welcome to Snap!]:lesson_11.md
[1.2: Building Blocks]:lesson_12.md
[1.3: Drawing Shapes]:lesson_13.md
[1.4: Animation]:lesson_14.md
[1.5: Storytelling Project]:lesson_15.md
[Culture Day Lesson A: Video/Reading]:culture_day_lesson_a.md
[2.1: Loops]:lesson_21.md
[2.2: Nested Loops]:lesson_22.md
[2.3: Inputs and Conditionals]:lesson_23.md
[2.4: Variables]:lesson_24.md
[2.5: Boole in the House]:lesson_25.md
[2.6: Pong Project]:lesson_26.md
[Culture Day Lesson B: Student Research Project/Presentation]:culture_day_lesson_b.md
[3.1: Abstraction and Generalization]:lesson_31.md
[3.2: Combining Loops and Conditionals]:lesson_32.md
[3.3: Customization I: Arguments]:lesson_33.md
[3.4: Customization II: Reporters and Predicates]:lesson_34.md
[3.5: Platform Game Project]:lesson_35.md
[Culture Day Lesson C: My Skills and Interests Journal]:culture_day_lesson_c.md
[4.1: Intro to Lists]:lesson_41.md
[4.2: Static Lists]:lesson_42.md
[4.3: List Practice I]:lesson_43.md
[4.4: List Practice II]:lesson_44.md
[4.5: Sequential Search]:lesson_45.md
[4.6: Guess My Word Project]:lesson_46.md
[Culture Day Lesson D: Interview with People in Technology]:culture_day_lesson_d.md
[5.1: Intro to Cloning]:lesson_51.md
[5.2: Cloning Sprites]:lesson_52.md
[5.3: Communicating with Clones]:lesson_53.md
[5.4: Space Invaders Project]:lesson_54.md
[6.1: Design Basics]:lesson_61.md
[6.2: Research and Ideate]:lesson_62.md
[6.3: Defining Requirements]:lesson_63.md
[6.4: Building a Plan]:lesson_64.md
[6.5: Project Implementation]:lesson_65.md
[6.6: Project Sharing]:lesson_66.md
================================================
FILE: Changelog.md
================================================
# Change Log
## [2.2.5] - 2022-5-12
|Unit | Change |
|---------|--------|
| 1 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 2 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 3 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 4 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 5 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 6 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
## [2.2.4] - 2022-1-25
|Unit | Change |
|---------|--------|
| All files | Added discussion link to top navigation |
| 1.5 Slide deck | Link added in lesson 1.5 and review slide updated. |
| Unit 1 tips | seperate page delete and added directly into lesson page. |
| Lesson 1.5 | Grudgeball link removed and instructions added directly to slide deck. |
| All lessons | Continued alignment to the Microsoft Style guide. |
## [2.2.3] - 2021-10-09
|Unit | Change |
|---------|--------|
| All lessons, labs, projects and do nows | Aligned to MS style guide |
| Slide decks | Added a .zip of all slide decks to be downloaded at once. |
| Unit 0 | Lab .docx and .pdf aligned to Teals branding |
| Culture day lessons | updated for clarity |
## [2.2.2] - 2021-6-10
|Unit | Change |
|---------|--------|
| All lessons| removed reference to TEALS forum |
| Images | naming convention consistency aligned |
| Curriculum Map | CSTA standards alignment added |
| Curriculum Map | Master word list added |
## [2.2.1] - 2020-11-25
|Unit | Change |
|---------|--------|
|Lesson 1.4 | Updated guidance with images to the Broadcast and Wait instructions |
|Lab 1.4 | Update Rubric, instructions and answer key to set expectations to using `Broadcast` in the solution. |
|Unit 6| Removed references to Agile |
|Unit 6| Added Project specs to each lesson for consistency |
|Lesson 6.6 | Added |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 4.4, 4.5 |
## [2.2.0] - 2020-11-13
|Unit | Change |
|---------|--------|
|Lessons 4.1 - 4.5| Wording consistency, spelling updates |
|Labs 4.2 - 4.5 | Formatting, wording consistency, Creative Common and TEALS Branding |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 4.2, 4.3 |
## [2.1.9] - 2020-10-23
|Unit | Change |
|---------|--------|
|Lessons 2.1 - 3.4| Wording consistency, spelling updates |
|Labs 2.1 - 3.4 | Formatting, wording consistency, Creative Common and TEALS Branding |
|Lab 3.4 | Distance Formula changed to Bonus problem. |
|2.4 Slide Deck | Boolean Operators introduction video added and updates instruction |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 2.1, 2.3, 2.4, 2.5, 3.1, 3.3, 3.4 |
## [2.1.8] - 2020-10-16
|Unit | Change |
|---------|--------|
|Curriculum Map | Objectives aligned to lesson plans|
|Lesson 1.4| Updated lab instructions to be more clear, added instruction on how to add a second sprite. |
|Unit 3| Updated title to Abstraction and customization |
|Lesson 1.3 | Updates to Do now and lab instructions |
|Lab 2.1 | Formatting Updates |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 1,1, 1.2, 1.3, 1.4, 2.2, 3.2 |
## [2.1.7] - 2020-10-7
|Unit | Change |
|---------|--------|
|Curriculum Map | Added Guidance on where to find answer keys|
|All Units| Snap! Spelling Consistent across HTML files|
|Unit 1 | Labs 1.1, 1.2, 3.2 Answer Keys added to additional curriculum Materials |
|Helping Trios Activity | Restructured and Remote Guidance Added |
|Lab 3.2 | Added Scoring rubric and updated wording to be more concise |
## [2.1.6] - 2020-9-16
|Unit | Change |
|---------|--------|
|Curriculum Map | Reformatted page with a days column for consolidation and consistency, moved PPTs to lesson pages|
|CSS | Updated CSS so that tables will align left and slightly more appealing to look at|
|Units 1-3| Added Video Resources and Video Quizzes |
|All Units| Spelling and Grammatic updates|
|All Lessons| consistently referenced all materials and resources in the Materials and Prep Section|
|Unit 1| fixed some formatting of images issue|
|Lesson 0.5| Added a lesson on the Snap! Coordinate system to enhance inclusivity for any high school student with built in scaffolding support|
|Unit 2|Expended scaffolding support for Exterior Angles of Polygons to increase inclusivity for any high school student|
|Unit 0 and Curriculum Map| Added Template Syllabus |
|Curriculum Map | Added link to Master Vocabulary List in accordance to UDP|
|Unit 0 and Unit 1| Added Remote Guidance for classroom instruction Activities|
## [2.1.5] - 2020-08-28
|Unit | Change |
|---------|--------|
|Unit 0 | Added Resources for Creating an account, saving and sharing in Snap!|
|Unit 0 | Added Video Resource for saving and sharing in Snap! |
|Unit 1| Adding Scaffolding Accommodations for finding the Exterior angle of a shape|
|Unit 1| Replace Do Now 1.3 Snap! Starter Code due to broken link|
|Unit 1| Added Grace Hopper Summary Video|
|Unit 1| fixed some formatting of images issue|
## [2.1.4] - 2020-08-27
|Unit | Change |
|---------|--------|
|Unit 4| Added Slide decks|
|Unit 2| Added context to 2.4 Do Now|
|Unit 4| Aligned the name of Project|
|Unit 0| Added Scaffolding Lesson 0.5 Snap! Coordinate System|
## [2.1.3] - 2020-05-20
|Unit | Change |
|---------|--------|
|Unit 0| Added Slide decks|
|Unit 1| Added Slide decks|
|Unit 2| Added Slide decks|
|Unit 3| Added Slide decks|
|Unit 5| Added Slide decks|
|Unit 2| removed 2.6|
|Unit 3| Combined 3.1/3.2 and changed name to 3.1 Abstraction and Generalization |
|Unit 3| Moved 2.6 to 3.2|
## [2.1.2] - 2018-11-28
|Unit | Change |
|---------|--------|
|Culture_day_lesson_b.md| Added Curriculum Competencies and Possible Topics|
|Culture_day_lesson_c.md| Added "My Skills and Interests Journal" culture day|
|Culture_day_lesson_d.md| Added "Interview with People in Technology" culture day|
|lab_11.md| Fixed Alignment|
|lesson_33.md| Fixed Spelling|
|lesson_61.md| Added content curriculum Competencies|
|lesson_62.md| Added content Learning Objectives; Big Ideas; Curriculum Competencies - understanding context, defining, ideating and Curriculum Competencies - understanding context|
|lesson_63.md| Added content Curriculum Competencies; Materials / Preparation|
|lesson_64.md| Added content Learning Objectives; Curriculum Competencies - Prototype, Test and Make; Curriculum Competencies - Applied Technologies; Reference|
|lesson_65.md| Added content Curriculum Competencies; Materials / Preparation|
|lesson_66.md| Added Project Sharing; Curriculum Competencies - Share, Applied skills, Applied Technologies; Materials / Preparation; Instructor's Notes; Curriculum Competencies - Applied Skills; Accommodation / Differentiation; Forum discussion|
|Project_1.md| Changed Content from Canadian perspective to US perspective; Added Content Big Ideas; Reference; Behavior; Implementation Details; Sharing, Curriculum Competencies design sharing|
|Project_2_alternative.md| Added the Whole Content and changed content to US perspective|
|Project_3.md| Added and Changed Content on Big Ideas from BC specific to US specific; Added content Curriculum Competencies - Design Sharing|
|Summary.md| Added Culture day C and D, added Project 2 alternative|
## [2.1.1] - 2018-08-21
| Unit | Change |
|---------|--------|
| lab_22.md | Change theme from brick wall to yellow brick road
| lesson_22.md |
| SUMMARY.md |
| +Lab 2.2 Yellow Brick Road.docx/.pdf |
## [2.1.0] - 2018-08-16
| Unit | Change |
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0.2 | Toothbrush activity option added to Do Now <br>World Cafe protocol added for Lab |
| 0.4 | Student Experiences Survey added and updated lab files uploaded |
| 1.1 | Diverse Grouping guidance added for lab <br>Helping Trios handout added as Accommodation/Differentiation |
| 1.2 | Options added to Do Now and Activity <br>Cold Calling Alternative protocol added |
| 1.3 | Geometry Cheat Sheet handout added |
| 2.1 | Do Now option added <br>Geometry Cheat Sheet handout added |
| 2.2 | Lab challenge activity edited to personalize <br>Diverse Grouping reminder <br>Cold Calling Alternative added in debrief |
| 2.3 | An intro to conditionals video by Flocabulary added |
| 2.4 | Variable Boxes Unplugged Activity added to Do Now as a intro to Variables |
| 2.5 | Boolean Expression Unplugged Activity added as intro to Boolean Expressions <br>Reminder about diverse grouping <br>Geometry Cheat Sheet handout added |
| 3.1 | Lab edited to include options for personalization |
| 3.2 | Do Now option added Reminder about diverse pairing |
| 3.3 | Lab challenge edited to include personalization of No. 4 updated lab files uploaded |
| 4.2 | Do Now option added <br>Lists Structure Handout <br>Grammar Cheat Sheet handout accommodation added |
| 4.3 | Lab language change & uploaded updated files <br>Diverse Grouping reminder |
| 4.6 | Hangman project changed to Word Guessing game with edited handouts uploaded <br>Snowman Snap! project replaces hangman example |
| 5.1 | Diverse grouping reminder |
| 5.2 | New Space Invaders links added includes Vimeo link <br>Lab now focusing on bouncing sprites instead of balls & updated files uploaded |
| 5.3 | Lab now focusing on bouncing sprites instead of balls & updated files uploaded <br>Helping Trios handout added |
| 6.1 | TEALS final project examples added <br>TEALS design steps handout added |
| 6.2 | Peer Feedback Handout added <br>Inspirational software design video from Code.org added <br>Diverse grouping reminder |
| 6.3 | Links to Final Project Development Plan & Organizer added |
| 6.4 | Links to Final Project Development Plan & Organizer added |
| 6.5 | Wise Feedback protocol added <br>Meerkating guidance added <br>Links to Final Project Development Plan & Organizer |
| | |
| Overall | CRTchanges aim to provide for student choice, voice and agency in the curriculum. They include options and resources to address different learning styles and to personalize to the cultural specifics of your classroom. |
| Overall | "Unit Tips" documents have been added for each unit with helpful Snap! shortcuts and teaching tips relevant to the unit. It also includes definition of terms introduced in the unit that can be used on a classroom Word Wall. |
================================================
FILE: Country-n-State.txt
================================================
District of Columbia
United Arab Emirates
Dominican Republic
North Macedonia
Solomon Islands
North Carolina
South Carolina
United Kingdom
Faroe Islands
French Guiana
Guinea-Bissau
Hong Kong SAR
Liechtenstein
Massachusetts
New Caledonia
New Hampshire
United States
West Virginia
Bahamas, The
Burkina Faso
North Dakota
Pennsylvania
Rhode Island
Saudi Arabia
Sierra Leone
South Africa
South Dakota
Turkmenistan
Afghanistan
Congo
Connecticut
El Salvador
Mississippi
Netherlands
New Zealand
North Korea
Philippines
Puerto Rico
Saint Lucia
South Sudan
Switzerland
Antarctica
Azerbaijan
Bangladesh
Cabo Verde
California
Costa Rica
Guadeloupe
Kazakhstan
Kyrgyzstan
Luxembourg
Madagascar
Martinique
Mauritania
Micronesia
Montenegro
Montserrat
Mozambique
New Jersey
New Mexico
San Marino
Seychelles
Tajikistan
Uzbekistan
Washington
Argentina
Australia
Gibraltar
Greenland
Guatemala
Indonesia
Jan Mayen
Lithuania
Louisiana
Macao SAR
Mauritius
Minnesota
Nicaragua
Singapore
Sri Lanka
stateless
Tennessee
Venezuela
Wisconsin
Anguilla
Arkansas
Barbados
Botswana
Bulgaria
Cambodia
Cameroon
Colombia
Colorado
Delaware
Djibouti
Eswatini
Ethiopia
Guernsey
Honduras
Illinois
Kentucky
Kiribati
Malaysia
Maldives
Maryland
Michigan
Missouri
Mongolia
Nebraska
New York
Oklahoma
Pakistan
Paraguay
Portugal
Slovakia
Slovenia
Suriname
Svalbard
Tanzania
Thailand
Virginia
Zimbabwe
Alabama
Albania
Algeria
Andorra
Arizona
Armenia
Austria
Bahrain
Belarus
Belgium
Bermuda
Bolivia
Bonaire
Burundi
Comoros
Croatia
Czechia
Denmark
Ecuador
Eritrea
Estonia
Finland
Florida
Georgia
Germany
Grenada
Hungary
Iceland
Indiana
Ireland
Jamaica
Lebanon
Lesotho
Liberia
Mayotte
Melilla
Moldova
Montana
Morocco
Myanmar
Namibia
Nigeria
Reunion
Romania
Senegal
Somalia
Tokelau
Tunisia
Ukraine
Uruguay
Vanuatu
Vermont
Vietnam
Wyoming
Alaska
Angola
Belize
Bhutan
Brazil
Brunei
Canada
Cyprus
France
Greece
Guinea
Guyana
Hawaii
Israel
Jordan
Kansas
Kosovo
Kuwait
Latvia
Malawi
Mexico
Monaco
Nevada
Norway
Oregon
Panama
Poland
Rwanda
Serbia
Sweden
Taiwan
Turkey
Tuvalu
Uganda
Zambia
Aruba
Benin
Ceuta
Chile
China
Congo
Egypt
Gabon
Ghana
Haiti
Idaho
India
Italy
Japan
Kenya
Korea
LIBYA
Maine
Malta
Nauru
Nepal
Niger
Palau
Qatar
Samoa
Spain
Sudan
Syria
Texas
Tonga
Yemen
Chad
Cuba
Fiji
Guam
Iowa
Iran
Iraq
Laos
Mali
Niue
Ohio
Oman
Peru
Saba
Togo
Utah
================================================
FILE: GLOSSARY.md
================================================
# Master Vocabulary List
Introduction to Computer Science - 1st Semester
## A
<hr />
### Abstraction
Removing the specifics that are not relevant in a given context.
### Argument
Any area in a block that accepts user input, or another block. It could be a Boolean Block or a value placed inside of a variable or block. The value that is "passed into" a parameter of a custom block.
## B
<hr />
### Backgrounds
Pictures that fill the entire stage area.
### Block
Puzzle-piece shapes that are used to create code.
### Boolean Expression
A value (text, number, picture, etc.) that evaluate to true or false.
### Boolean Operators
Boolean expressions that can be nested.
## C
<hr />
### Command Block
Puzzle-piece shaped block that executes a command (it causes an effect).
### Cloning
A feature that allows a sprite to create a clone, or semi-duplicate, of itself, while the project is running. Clones of a sprite will be the same as the original or parent sprite but as a separate instance. Clones inherit the parent's scripts, costumes, sounds, and properties, yet they can then be modified.
### Conditional
A block used to make a choice between executing two different chunks of code."If" statements.
### Contains Block
Checks an operator block for a particular variable.
### Costume
A costume is one out of possibly many "frames" or alternate appearances of a sprite.
### Custom Blocks
Allow for one to make their own programming blocks.
## D
<hr />
### Detail Removal
Reducing the complexity of an algorithm or process by focusing on the important parts.
## E
<hr />
`No E entries`
## F
<hr />
### Functions/Methods
Other programming languages, like Python or Java, use these terms to refer to the same idea as a Custom Block in Snap! a reusable.
## G
<hr />
### Generalization
Combining a group of related concepts or processes into a single category.
### Global Variable
A variable that can be used by all of your sprites.
## H
<hr />
`No H entries`
## I
<hr />
### Index Variable
Keeps track of where you currently are in a list.
## J
<hr />
### Join Block
Links two values together and reports the result.
### Jukebox
A collection of sounds that can be applied to a sprite costume.
## K
<hr />
`No K entries`
## L
<hr />
### Lists Block
A block which controls a list.
### List Element
A part of a list.
### Loop
A type of block that causes other code to run multiple times in succession. A control flow statement that allows code to be executed repeatedly based on a given Boolean condition.
## M
<hr />
### Modeling
Building a system to simulate the behavior of a real-life phenomenon by simplifying or ignoring certain details.
## N
<hr />
### Nested Loop
A loop used inside the body of another loop.
## O
<hr />
### Operator Block
A block that performs math functions and string handling.
## P
<hr />
### Predicate Block
A hexagonal block that always returns a Boolean value (true or false).
### Procedural Decomposition
Breaking a problem down into smaller subtasks, usually to increase readability and/or maintainability, often by applying one of the above concepts.
### Programming List
Called an 'array' in most programming languages, this holds lots of values.
## Q
<hr />
`No Q entries`
## R
<hr />
### Receive Block
Code Block in Control that receives a message from another block.
### Reporter Block
Report a value, usually for use in another block's input slot.
## S
<hr />
### Say Block
The block gives its sprite a speech bubble with the specified text — the speech bubble stays until an another speech or thought block is activated, or the stop sign is pressed.
### Scenario
A description of a set of interactions and/or tasks that describe a start-to-finish example of how a user might want to use the application
### Snap!
Snap! is an extended reimplementation of [Scratch](http://scratch.mit.edu) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, first class sprites, first class costumes, first class sounds, and first class continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
### Scripts
Different types of blocks linked together.
### Sequential Search Algorithm
A method for finding a target value within a list. It sequentially checks each element of the list for the target value until a match is found or until all the elements have been searched.
### Sprites
An object which performs functions controlled by scripts.
### Stage
The background of a project, performs functions through scripting.
### Super-sprite
A sprite that is composed of pieces that can move together but can also be separately articulated.
## T
<hr />
### Transform
Create a new list based on the values of the old list.
### Traverse
Go through or travel across an item/list.
### Truth Tables
A tool for evaluating the possible inputs and outputs of a Boolean expression.
## U
<hr />
`No U entries`
## V
<hr />
### Variable
A placeholder for some value. Types of variables:Global variables - apply to all sprites Sprite variable - applies to one sprite script variable - parameter that applies to one script
## W
<hr />
### Wardrobe
A collection of sprite costumes. The wardrobe is located in the Costumes tab, which is accessed through the file icon.
### Watcher Block
reporter blocks you can click the checkbox for; they will appear in the Stage and you can track them.
### Wireframe
A high-level sketch of an application's user interface intended to help visualize layout, interactions, and transitions
## X
<hr />
### X Position
The position that a sprite or the mouse is at along the horizontal axis.
## Y
<hr />
### Y Position
The position that a sprite or the mouse is at along the vertical axis.
## Z
<hr />
`No Z entries`
================================================
FILE: Grudgeball.md
================================================
# traditional Grudgeball Instructions
1. Each team gets 10 "X's".
2. Split your class into 5 or 6 teams, depending on how fast you want the game to go.
3. Each group gets a question. If they get it right they automatically get to erase two X's from the board. They can take it from one team or split it. They can not commit suicide (take X's from themselves).
4. Before they take off these X's, though, they have a chance to increase their ability to get the other teams to hate them. They get to shoot the Nerf ball. I set up two lines with masking tape. One is a two point line while the other is a three pointer.
5. If they shoot from the two point line and get it in, they can take four X's off the board. If they go from the three point line, and make it in, they can take five off the board. If they don't make it they still get to take the original two off the board.
## Instruction
1. Prepare 3-6 teams of 5-6 students team.
2. Prepare a worksheet of 4-5 questions for each team.
* Each document should be uploaded to a cloud service in order to share the link to the file for the whole group to work on.
3. While students are coming up with their answers, prepare the game board by adding an image or graphic above each number.
1.
3. Move student teams into breakout rooms with 4-5 questions to review together as a team.
* student should be prepared to answer one of the questions when they return to play the game.
## Game Play
1. Team 1 answers the question.
1. If the question correct, they get to select from Board
================================================
FILE: README.md
================================================
# Intro to Computer Science
The **Introduction to Computer Science curriculum** is a flexible and approachable course adapted from the [UC Berkeley CS 10](https://cs10.org), and is course for a wide range of high school students from diverse backgrounds. The course has been successfully implemented in hundreds of high schools.
Introduction to Computer Science is an engaging course that explores a variety of basic computational thinking and programming concepts through a project-based learning environment. Every unit culminates in a comprehensive project and roughly 75% of student time is spent building projects and practicing the skills they are learning.
## Visual and approachable
This course uses Snap!, an approachable visual block-based programming language with a robust tool set, perfect for introducing students to coding for the first time.
## Course version control
This course uses GitHub to manage version, course updates, etc. You can access the repository here:
* GitHub: https://github.com/TEALSK12/introduction-to-computer-science/
### Curriculum Issues
TEALS will no longer be making edits to TEALS curricula. You may still <a href="https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue">open an issue</a> if you encounter things like factual, spelling, or grammatical errors, broken links, sequencing problems (topics needed before they are taught), or incomplete/missing materials.
### Giving feedback and asking questions about the curriculum
For general curriculum-related questions and discussion not tied to a specific reported issue, we encourage everyone to actively participate in the <a href="https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions">GitHub Discussions</a> board for the corresponding curriculum. This is a great place to share alternative lesson ideas, share pro-tips for implementation and differentiation, pacing advice, etc...
### Document structure
This curriculum uses [Markdeep] to generate the files used to display the curriculum in Github pages. HTML version of the files are located in the /docs folder. We use the script [md-to-markdeep.cmd](md-to-markdeep.cmd) to convert from Markdown to html and display on the curriculum page.
## Introduction to computer science implementation options
This Introduction to CS course can be offered as a semester-long course offered twice in a single school year or as a year-long course with an expanded curriculum. The year-long class transitions to text-based programming using the beginner-friendly Python language in the second semester. Teachers participating in the TEALS Program can use the following options:
* [TEALS Second Semester Introduction to Computer Science - Python curriculum](https://tealsk12.github.io/2nd-semester-introduction-to-computer-science/)
* [Carnegie Mellon CS Academy](https://academy.cs.cmu.edu).
## About this curriculum
### Philosophy
This curriculum has been designed by the TEALS program to support computer science teachers and/or volunteer professionals teaching an introductory computer science course in a high school classroom. The curriculum is based on, and borrows heavily from, the [Beauty and Joy of Computing Curriculum](http://bjc.berkeley.edu/) developed at the University of California, Berkeley. The TEALS curriculum has a heavier focus on the basic programming components of the course than BJC, sacrificing some of the advanced programming and conceptual topics that are less appropriate in an introductory high school classroom.
This curriculum advocates a "hands-on" learning approach in which students' primary means of learning is through discovery, experimentation, and application. To that end, each unit is built around a large, culminating, programming project that exercises the objectives of the unit. In addition, nearly all lessons in the curriculum include a guided activity of some kind to allow students to practice with and experience the concepts covered in the lesson first-hand. Taken together, the lessons provide the skills and support necessary to enable students to complete the project and demonstrate mastery of the unit's objectives. Substantial class time should be provided for the project in each unit to ensure students have the opportunity to demonstrate mastery of the skills from each unit before moving on.
Because this curriculum was designed to be used in a wide variety of classrooms, we have made as few assumptions as possible. In particular, the curriculum does not depend on any specific technologies or resources in the classroom other than computers with reliable internet access. This curriculum is also designed without any student homework assignment, as not all classes will have students who can reliably access a computer with internet access at home. For classes where home computer access is not an issue, some amount of lab work can be reassigned as homework.
### Resources
This curriculum is designed for use with the Snap! programming language designed at the University of California, Berkeley. Snap! is a visual programming language designed to allow students to focus on concepts and skills rather than syntax when learning to program. Snap! is an extension and reimplementation of Scratch, designed at MIT, and many Scratch lessons and programs can be easily adapted to Snap! The following resources are available to support use of Snap! in this curriculum:
* [The Snap! Reference Manual](https://snap.berkeley.edu/snap/help/SnapManual.pdf)
* [Snap! examples and extensions](https://snap.berkeley.edu/#help-examples) (including using hardware devices with Snap!):
* [ScratchEd online community for Scratch educators:](https://scratch.mit.edu/educators/)
* [Beauty and Joy of Computing curriculum:](https://bjc.berkeley.edu/)
### Snap! mirrors
Access to Snap! is necessary for students to complete the labs. The main Snap! site has been known to be inaccessible due to system updates or network outages. It is important to have contingency plans in the event the web site is unreachable. Here is a list of mirror sites that can be used in the event the main site is unreachable. In addition, Snap! can be downloaded to run locally on a student's computer, however the projects will not be able to be save to the cloud and will need to be exported and then imported to the cloud when Snap! becomes available.
The Berkeley Snap! is located at: http://snap.berkeley.edu/
The following are mirror sites:
* [Mirror 1](http://bjc.edc.org/snapsource/snap.html)
* [Mirror 2](http://media.mit.edu/~harveyb/snap)
* [Mirror 3](http://cs10.org/snap)
You can also download a local copy of Snap! as a backup:
1. Run Snap! from browser
2. Click on the Snap! logo in the upper-left of the app.
3. Choose “Download source” from the menu

4. Save snap.zip locally on your computer.
5. Extract snap.zip.
6. Open snap.html in a web browser.
## Using this curriculum
### Semester pacing
The TEALS Intro CS curriculum is designed for a semester-long introductory course meeting daily for 55 minute periods. A course that meets these criteria is expected to have roughly 90 class meetings in a semester. However, the TEALS curriculum in its current form includes an estimated 102 days of material. First and foremost, teachers should be reminded that the pacing in the curriculum is intended as a guideline and teaching teams are encouraged to make any adjustments they deem appropriate or necessary. However, there are certain aspects of the curriculum that are vital to maintain. In particular, the following should be considered when making pacing adjustments:
#### Lab Days
The number of lab days allotted for each project is an estimate for a typical class. Classes that are moving quickly, or classes in which most students are able to do work outside of class, can reduce the number of in-class lab days. If this route is taken, be certain that students still have enough time available to complete the projects. As the projects are the primary summative assessments in this course, it is vital that students not be rushed through completion of the project and that requirements are not cut in an attempt to shorten the time necessary.
#### Culture Days
Culture Days (see below) are included in the curriculum roughly once every two weeks. While it may be tempting to reduce the number of culture days, or remove them entirely, to gain back class days, these lessons are considered central to the student experience in this course. If an extra day or two are needed, culture days may be skipped on occasion, but teaching teams are advised to avoid making a habit of skipping culture days.
#### Pacing Considerations
##### Unit 5 (Optional)
It is expected that many teams will find it necessary to remove some or all of **Unit 5** from the curriculum. This unit covers cloning and prototyping, an interesting and worthwhile, though advanced topic. If time allows, teaching teams are encouraged to attempt to include at least part of this unit, possibly with a simplified version of the project, in their curriculum. But this unit can be removed without having too adverse an impact on the student experience, and should be the first major cut if one is necessary.
##### Unit 6 (Preserved)
The capstone experience for the course, Unit 6 enables students to apply the skills they have learned in a large-scale, individualized project setting. Cutting this unit would deprive students of the opportunity to experience a close approximation of a real-world development setting. Earlier units should be condensed or cut as necessary to ensure that Unit 6 is still included in the curriculum.
### Daily lesson plans
Most lesson plans in this curriculum are designed to represent a single 55-minute class period with average pacing. Each class will have slightly different needs, possibly including different period length, student capabilities, classroom interruptions, and more. Teachers and volunteers are encouraged to consider the lesson plans as guidance for one possible use of time to present the material, and to feel free to adapt the lesson plans as necessary to fit the needs of the particular class in which the plans are being applied.
With a few exceptions, each daily lesson plan consists of the following components:
#### Welcome/Announcements/Bell work
Five minutes are allotted at the beginning of each day for administrative tasks such as taking attendance, giving announcements, returning work, or other necessary actions. During this time, teachers are encouraged to assign "bell work" (sometimes called "do now" activities) for students to work on.
* These activities aim to engage students with the subject immediately upon entering the room, and should be short, clear, and able to be completed by all students.
* Specific "do now" activities are not given in the lesson plans, as they should be chosen by the teacher to reinforce or preview the specific topics with which students have or are expected to struggle most.
#### Instruction/discussion
Most lessons begin with a brief period of instruction on the topic of the day. These sections should be kept as brief as possible—the primary means of student learning in most lessons will be the lab activities.
* The goals of the instruction section of the lesson should be to motivate the concepts being exercised in the lab and to provide a short demonstration to help students find the necessary parts of Snap! the first time.
* Teaching teams should vary the ways in which the instruction is presented throughout the course, including class discussions, kinesthetic activities, demonstrations, Socratic seminars, occasional lectures, and other approaches.
#### Activity
The largest portion of time in each lesson is dedicated to a guided activity that allows students to explore and practice with the day's key topics. Each activity is broken down into several parts, each of which consists of several steps. In general, the steps in a single section build on each other, and each section covers a new topic or new application.
* It is intended that the labs be well enough structured for students to work through on their own, but teachers should feel free to interject at appropriate points to assess student progress and provide additional guidance as necessary.
* On occasion, steps 3 and 4 are repeated for multi-part activities.
#### Debrief
After each activity has concluded, time is allotted for teachers to review and debrief the activities with students. In general, there is not enough time, nor is there necessarily the need, to go through the lab step-by-step. Students should be able to at least partially assess their own progress by verifying that their programs function as specified in the lab.
* Rather than presenting solutions to each step of the lab, teachers are encouraged to use the debrief time to focus on particularly tricky or noteworthy parts of the lab or to discuss areas in which students struggled.
* Debrief time can also be used to compare and contrast different possible approaches to some of the problems, emphasizing that, in most cases, there is more than one valid solution.
* Whenever possible, use examples of student work rather than instructor-created solutions during the debrief—this is an excellent chance to showcase students who solve problems in elegant, creative, or canonical ways.
### Homework
This curriculum does not assign homework as part of its typical lessons. Because this curriculum is intended to be used in a wide variety of classrooms, some of which may include students that do not have regular access to an internet-enabled computer at home, all work is done during class time. In some circumstances, assigning some lab activities as homework can enable the teaching team to regain in-class time for additional lessons or activities, but this must be done with care. In particular, if homework is assigned, arrangements must be made so that any students who do not have the ability to complete the homework at home do not fall behind. Further, it should be expected that some students will not complete the assigned homework and teaching teams must have a way to both assess that homework was completed and ensure the material is reinforced briefly in class.
### Quizzes
To gauge student understanding, the addition of Unit quizzes has been added. These are intended as low stakes formative assessments that allow students to visit topics at the end of the unit to reinforce learning. They are open book giving students incentive to take good notes. Ideally the quizzes are non-graded and students would reflect on the answers they got wrong in order to learn from their mistakes. The quizzes and answer keys can be found with protected materials for the course.
### Grading
Student work consists of class participation, daily labs, end of unit projects, and final project. Each classroom teacher is responsible for determining the grading breakdown for their classes. TEALS recommends the following as a starting point as grading guidelines for the introductory computer science course.
| Percentage | Description |
| ---------- | ------------------------------------- |
| 40 | Daily Labs |
| 40 | Projects and Large-Scale Labs |
| 20 | Participation, Notebooks, etc. |
## Printing
The Introduction to Computer Science can be printed by navigating to https://aka.ms/TEALSIntroPDF.
* click on the document to enable the pdf menu to show and clicking the down arrow or "Save as Copy"
* right click on the .pdf document and select "Save As"
### Creative Commons Attribution Non-Commercial Share-alike License
This curriculum is licensed under the [Creative Commons Attribution Non-Commercial Share-alike License](http://creativecommons.org/licenses/by-nc-sa/4.0/), which means you may share and adapt this material for non-commercial uses as long as you attribute its original source, and retain these same licensing terms.
================================================
FILE: Video Resources.md
================================================
# Video Resources
## Intro to Computer Science - Snap
| Lesson | Video | Length |
| --- | --- | -- |
| 0.1: The First Day | https://www.youtube.com/watch?v=cKhVupvyhKk | 1:15 |
| 0.2: Algorithms | https://youtu.be/ZnBF2GeAKbo | 1:57 |
| 0.3: Programming Languages | https://www.youtube.com/watch?v=6qF3HmRzg8o | 5:13 |
| 0.4: Self Portrait | https://www.youtube.com/watch?v=7fncD7NH7g8 https://youtu.be/_Mwc1gc77dc | 8:16 |
| 0.5: Getting to Know Coordinates | https://youtu.be/5ctsUsvIp8w | 2:07 |
| 1.1: Welcome to Snap!| https://www.youtube.com/watch?v=b-EWj7xN90U | 1:43 |
| 1.2: Building Blocks | https://youtu.be/u80WYSNxRjM | |
| 1.3: Drawing Shapes | https://www.youtube.com/watch?v=qLU3PtaG3ww | 8:38 |
| 1.4: Animation | https://youtu.be/3x5ZI-mKc44 | 5:00 |
| 2.1: Loops | https://youtu.be/XbZqfRGPom0 | 5:00 |
| 2.2: Nested Loops | https://youtu.be/bons028VLEU https://youtu.be/Y5lZQRawsFk | 5:00 |
| 2.3: Inputs and Conditionals | https://youtu.be/t3k3wOxO1xI | 5:00 |
| 2.4: Variables | https://youtu.be/YMVo9Wdpv5s | 5:00 |
| 2.5: Boole in the House | https://youtu.be/XXS9aDlN14s | 5:00 |
| 3.1: Abstraction and Friends | https://youtu.be/Dxw9cIbzaLk?t=681 | 25:11 |
| 3.2: Combining Loops and Conditionals | https://youtu.be/MegYWakO1yw | 9:42 |
| 3.3: Customizing I: Arguments | https://youtu.be/ZLxql1kLvCw | 5:00 |
| 3.4: Customizing II: Reporters and Predicates | https://youtu.be/6gT91ltwM1Q | 5:00 |
================================================
FILE: additional_curriculum_resources.md
================================================
# Accessing Additional Curriculum Materials
To access the "Additional Curriculum Materials", log into your TEALS Dashboard at <https://tealsk12.org/dashboard>.
1. The Additional Curriculum Materials are stored in a Microsoft Office 365 SharePoint site under the TEALS domain.
2. You will find the link, username, and password for these materials under the "Resources" heading on the dashboard.
3. If you are already logged into an Office 365 account (perhaps because you use Office 365 at school or work) you will run into an authentication conflict when you try to access this SharePoint site in step 1. In this case, you need to access the "Additional Curriculum Materials" SharePoint site using an Incognito or InPrivate browser session.
4. To open an Incognito or InPrivate browser session, right-click on the "Additional Curriculum Materials" link and select "Open link in Incognito/InPrivate window".
5. The website will ask you to log into Office 365.
6. Be sure to use the username and password listed on the TEALS Dashboard, and not the account you usually use to log in at work or school.
================================================
FILE: bjc_videosuggestions.md/bjcvideosuggestions.md
================================================
# BJC Lecture Suggestions
Dan Garcia of UC Berkeley presents the Beauty and Joy of Computing
## About the Lectures
### Use
The TEALS’ Introduction to CS Course is based on the The Beauty and Joy of Computing by Dan Garcia at UC Berkeley. However, the TEALS' curriculum varies greatly in content and scale, as it is aimed at High School students. This page outlines a series of video lectures from Dan Garcia’s version of this course--however the videos are not applicable in their entirety. The lectures are mapped out below by lecture, subject and time in their entirety.
Some of the lectures (or sections of the lectures) will be useful background for teachers learning the course materials. Some sections of the lectures are useful as instructional tools for classroom instruction. It is notated if the lecture is useful for background knowledge for teachers/volunteers and/or for classroom instruction. The lectures that are directly relevant to lessons or labs are directly referenced *below* the "Instructor's Notes". The lecture videos are licensed under a Creative Commons License by UC Berkeley.
- [BJC Lecture 1: Abstraction](https://www.youtube.com/watch?v=Dxw9cIbzaLk)
- Basic concepts of the course: 0:00-7:00
- Introduction of Piazza: 7:00-8:25
- Abstraction: 11:40-15:40
- Generalization: 15:50-20:00
- Summary: 20:05-25:10
- [BJC Lecture 2: 3D Graphics](https://www.youtube.com/watch?v=q2UMQaoW30U)
- SOPA & PIPA: 0:00-1:00
- 3D Computer Graphics Explanation: 1:00-5:24
- 3D Graphics steps outlined: 5:25-5:50
- Modelling (Useful for Lab 2.5): 5:50-11:40
- Animation (Uncanny Valley Explanation): 11:40-16:55
- Procedural Based Motion (Lab 1.1): 16:56-20:00
- Genetic Algorithms: 20:05-25:25
- Lighting and Shading: 25:25-27:10
- Rendering: 27:10- 30:55
- Global Illumination: 30:55-34:21
* [ BJC Lecture 3: Video Games](https://www.youtube.com/watch?v=hdSFuhyGTIg)
- Demystification Lecture-Novel Interaction techniques(emotive systems) 00:00-2:30
- [History of Video Games Overview](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=2m30s) (Platform Game Prep) 2:30-7:55 **Good for Classroom Instruction**
- [Casual Video Game World ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=8m0s)(light weight) 8:00-10:40 **Good for Classroom Instruction**
- [Core Video Game](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=10m45s) (heavy weight) 10:45-13:05 **Good for Classroom Instruction**
- 3D Computer Graphics 13:10-15:20
- [Motion Capture ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=15m25s)(Hero Movement for Platform Game Lab 2.6) 15:25-17:30 **Good for Classroom Instruction**
- Artificial Intelligence (Enemy Logic for Lab 2.6) 17:30-19:40
- [Video Games w/purpose](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=19m40s) (social benefits) 19:40-24:36 **Good for Classroom Instruction**
- [Negative Aspects of Video Games ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=19m40s)(RSI, addition, violence) 24:40-28:00 **Good for Classroom Instruction**
- [Glenn Sugden-Game Developer ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=28m03s)(History of VG Development & Industry) 28:03-40:53 **Good for Classroom Instruction**
* [BJC Lecture 4: Functions](https://www.youtube.com/watch?v=_uKCBmQEf5w)
* SIRI-EVI 0:00-1:00
* Functions & Generalizations (Function Basics) 1:00-3:45
* More Terminology (Boolean etc) 3:47-6:10
* Types of Input (Sentences, words, characters, digits) 6:12-8:00
* Functions (Explanations of Use-can be tied in to loops, and inputs) 8:00-9:55
* MIT Scratch --> BYOB Snap! ( Development of SNAP, DEMO) 10:00-11:30
* Functions-1 (BYOB-Custom Blocks) & Generalization 11:30-14:50
* Functions-2 (Join Block) Domain and Range 14:52-17:50
* Types of Blocks 18:15-19:45
* Recursion Preview 19:50-27:40
* Functional Programming Summary (Big concepts narrow down to functions) 27:40- End
* [BJC Lecture 5: Programming Paradigms](https://www.youtube.com/watch?v=_4ScHcLvQnw)
- Dilemma of Being a Cyborg 0:00-2:30
- Programming Paradigms 2:30-3:50
- Snap! BYOB (Hybrid) 3:55-4:45
- Functional Programming (Cascading Values) 4:50-5:35
- Imperative/Sequential 5:41-8:35
- Object Oriented Programming (OOP Basic Explanation) 8:40-15:45
- [OOP Ex: Sketch Pad Dr. Ivan Sutherland](http://www.youtube.com/watch?v=_4ScHcLvQnw&t=15m45s) "Father of Computer Graphics 15:45-22:10 **Good for Classroom Instruction**
- OOP in BYOB (Demo of Functions in BYOB) 22:35-29:20
- Declarative Programming 29-22-31:20
- Declarative Programming Examples in BYOB 31:25-35:20
- Review of Paradigms 35:25-end
* [BJC Lecture 6: Algorithms](https://www.youtube.com/watch?v=3tvbqdLjjSU) (With Luke Segars)
- Computer Worms 0:00-1:30
- Algorithm Concept Intro: Rubic Cube Competition 1:40-2:40
- [Algorithm Definition](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=3m20s) 3:20-4:20 **Good for Classroom Instruction**
- [Early Algorithms](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=4m25s) 4:25-5:55 **Good for Classroom Instruction**
- [Familiar Algorithms](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=6m00s) 6:00-7:30 **Good for Classroom Instruction**
- Commonly Used Algorithms (Page Rank, etc.) 8:00-10:45
- Choosing an Algorithm Technique 10:50-12:15
- Ways to Tackle Problems (Brute Force, Top Down, Bottom Up) 12:20-15:30
- Algorithms vs Functions and Procedures 15:30-16:00
- Turing Completeness (Computer Theory-BYOB is Turing Complete) 16:05-21:15
- Algorithm Correctness 21:25-26:00
- Algorithm Summary 26:00-end
* [BJC Lecture 7: Algorithm Complexity](https://www.youtube.com/watch?v=_fgtTE2bhMg)
- Yahoo predicts America’s Political Winner 0:00-1:25
- Function Abstraction (Explanation of Functions and Algorithms) 1:28-2:45
- What is IN a Spec 2:45-3:30
- What is NOT in a Spec 3:30-5:15
- Reference Text “Introduction to Algorithms” 5:18
- [Algorithm Analysis: The Basics](http://www.youtube.com/watch?v=_fgtTE2bhMg&t=6m0s) 6:00-7:40 ** Good for Classroom Instruction**
- [Algorithm Analysis: Running Time](http://www.youtube.com/watch?v=_fgtTE2bhMg&t=7m41s) 7:41-8:25 **Good for Classroom Instruction**
- Algorithm Analysis: Runtime Analysis Problem and Solution 8:25-9:55
- Runtime Analysis: Input Size and Efficiency 9:58-11:25
- Runtime Analysis: Worst of Avg Case 11:25-13:20
- Run Time: Final Assessment 13:20-16:46
- Example:Finding a student by ID (detailed explanation of input/output)
17:00-31:20
- Ex: Finding a shared birthday 31:21-33:30
- Ex: Finding Subsets 33:40 to End
* [BJC Lecture 8: Concurrency (Yaniv Assaf)](https://www.youtube.com/watch?v=LlLLcGJPvwU)
- Friendship Paradox: Facebook 00-1:30
- Concurrency & Parallelism (Inter-Intra Computer, Cloud Computing) 1:31-4:10
- [Anatomy of a Computer ( John von Neumann Architecture) 4:15-5:20 ](http://www.youtube.com/watch?v=LlLLcGJPvwU&t=4m15s)**Good for Classroom Instruction**
- But what is INSIDE of a Processor 5:20-6:30
- Moore’s Law Prediction (2x Transistors/chip every 2 years) 6:35-7:45
- Moore’s Law & Related Curves 7:50-10:00
- Power Density Prediction circa 2000 (Heat as an issue) 10:00-11:40
- Multiple Core and Energy Efficiency 11:45-14:40
- Energy & Power Considerations 14:45-15:40
- Parallelism Again (What’s different this time?) 15:41-16:40
- Speedup Issues: Amdahl’s Law 16:42-19:50
- Background:Threads (Threads of Execution” is a single stream of instruction) 19:55-21:15
- Speedup Issues:Overhead 21:15-23:50
- Parallel Programing Example in Snap! BYOB (Race Condition) 23:53-26:50
- Another Concurrency Problem (Deadlock and Livelock) 26:55-29:30
- Summary “Sea Change” of Computing 29:30 to End
* [BJC Lecture 9: Recusion](https://www.youtube.com/watch?v=JKn3nsfzBdA)
- Movie “Inception” as an example of recursion 0:00-0:50
- Recursion 0:50-1:40
- Recursion Demo in Snap! 1:40-17:00
- Overview 17:00-21:00
- Definition of Recursion 21:00-24:30
- Examples of Recursion (You Already Know It!) 24:30-26:20
- Trust the Recursion 26:22-29:40
- Summary of Recursion 29:40-End
* [BJC Lecture 10: Social Implications of Computing](https://www.youtube.com/watch?v=Rng91dxdsuM)
- META: Computers in Education (Implications of Multiple Choice Tests) 0:00-4:30
- Computers in Education (Open?) Judah Schwartz 4:31 --
- Tools 4:50-5:30
- Microworld 5:30-6:30
- Microworld Example Physics Simulation 6:30-10:30
- Courseware 10:38-11:30
- RSA Animate: Changing Educational Paradigms 11:35
- Animation Begins (Sir Ken Robinson: Changing Paradigms) 12:30-24:25
* [BJC Lecture 11: Recursion II Alijia Yan](https://www.youtube.com/watch?v=w2d_snYBLeY&index=11&list=PLA4F0F0CA4A3EE7F4)
- Mobile World Congress 0:00-2:15
- Recursion:Factorials (Factorial (n)+ n! 2:30-7:40
- [Fibonacci and Fibonacci Series Video 7:45-11:45](http://www.youtube.com/watch?v=w2d_snYBLeY&t=7m45s) **Good for Classroom Instruction**
- Fibonacci Ex: fin(n) Math and Snap! blocks 11:50-13:15
- Example of Recursion: Counting Change 13:20-17:30
- Call Tree for “Counting Change” with Snap! example 17:35-22:50
- Summary of Recursion 25:40-26:21
* [BJC Lecture 12: Social Implications II Dr. Gerald Friedland](https://www.youtube.com/watch?v=RNN19b61oRg)
**Good for Classroom Instruction-Suggest Previewing due to Social Media Examples.**
(This would be a good suppport for Social Media Safety/Awareness lesson)
- Dr. Gerald Friedland Sr. Research Scientist at International Computer Science Institute (ICSI) on Sharing Multimedia and the Impact on Online Privacy) 0:00-1:45
- Introduction to Social Media: The Price of Social Media Use-Stephen Colbert 1:50-6:25
- Observations on Sharing Data and Ineffective Privacy Protection 6:30-7:50
- Social Cause: Collection of Data Across Sites 7:50-10:30
- Multimedia in Internet is Growing 10:35-12:05
- CS Problem: Higher Demand for Retrieval and Organization of Data 12:07-13:05
- Manual Tagging & Geo Tagging 13:05-17:30
- Issue of Tracking & Dangers of Oversharing 17:30-18:31
- Berkeley Multimedia Location Estimation Project 18:31-28:14
- ICSI’s Evaluation Results 19:49
- YouTube Cybercasing 20:47
- Privacy Implication of Internet and Data 22: 30
- Person Linking Using Internet Videos 25:45-26:45
- Solutions for Privacy that Don’t Work: Think Before You Post! 26:45-28:14
* BJC Lecture 13 is Not Available
* [BJC Lecture 14: Human-Computer Interaction Bjorn Hartman ](https://www.youtube.com/watch?v=3VZ7D01T2Yc)
- Bjorn Hartman Background 0:00-3:30
- Human Computer Interface(HCI) 3:45-6:00
- HCI: Design, Computer Science, Applied Psychology 6:00-8:00
- Iterative Design Cycle 8:00-10:30
- Understanding Users 10:35-11:35
- Prototype Interface Examples 11:40-14:00
- Evaluation (Formative, Summative) 14:50
- [Why Study User Interfaces ](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=15m0s)**Good for Classroom Instruction**
Ex:Mouse Xy axis, Sketchpad, PC, Tablets 15:00-25:00
- What had changed? Research: Mainframe to Ubiquitous Computing 25:00-29:30
- [Example Project: Using Dexterity for Computer Interface Video](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=28m30s) 28:30-29:30 **Good for Classroom Instruction**
- Zipf/Power Law Distribution 30:00-32:00
- HCI Research at Berkeley 32:10-46:25
- [Multi Touch Apps and Toolkits](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=32m0s) **Useful for Classroom Instruction**
* [BJC Lecture 15:) Artificial Intelligence- Anna Rafferty](https://www.youtube.com/watch?v=_xcGWx3eDnw)
-Anna Rafferty 0:00-1:00
- Definition of AI 1:00-1:48
- John McCarthy AI definition 1:50-2:30
- AI History and Explanation 2:35-6:40
- Revival of AI: Rules & Concepts 6:45-10:20
- AI and Intelligence (What intelligent things do people do?) 10:25-11:52
- Tour of AI applications 11:55-12:30
- AI Planning 12:30-14:50
- Machine Learning 14:50-18:58
- Robot Learning to Walk (Video) 18:58-20:25
- Natural Language Processing 20:30-23:15
- Unsupervised Learning Ex. 23:20-25:00
- Robotics 25:00-30:05
- Automatic Towel Folding Robot (video) 27:40-29:45
- Recap of AI 30:10-31:15
- Turing Test of Intell 31:15-34:15
- Summary 34:20-35:53
* [BJC Lecture 16:) Computational Game Theory](https://www.youtube.com/watch?v=iATKQQaTKKY)
- Checkers (Weakly) Solved 0:00-1:17
- Computer Science Game Theory 1:20-1:35
- CS- A USV View 1:36-2:16
- The Turk (1770) 2:20-4:00
- Claude Shannon 1950 “Father of Informational Technology) 4:05-5:10
- Deep Blue vs Gary Kasparov 1997
- What is “Game Theory” 11:41-12:40
- What “Board Game” do you mean? 12:41-13:25
- What is a “Strong” Soluntion 13:28-15:00
- Game Crafters (Strongly Solve) 15:11-20:15
- Strongly Solve Ex. Video “War Games”(1983)16:26-19:41
- Weakly Solving a Game (Checkers) 20:20-22:12
- Strongly Solving Ex:1,2:...12) 22:20-35:00
- Ex: Tic Tac Toe 27:25
- Demo 29:20-33:15
- Games Crafters Revisited 35:00-35:50
- Future Application 35:51-36:47
* [BJC Lecture 17:) Higher Order Functions ](https://www.youtube.com/watch?v=Xr9dYPH3fw4)
- Coding is Cool Again 0:00-0:45
- High Order Function Introduction 0:47-8:50
- Higher Order Function Demo in Snap! BYOB (Functions and Blocks are commented out) 8:51-37:35
* [BJC Lecture 18:) Distributed Computing](https://www.youtube.com/watch?v=LkkQy6ivbe4)
- 0:00-2:25 Super Computers Faster than 50M Laptops
- Lecture Overview 2:25-3:00
- Memory Hierarchy 3:00-6:00
- Memory Hierarchy Details 6:00-10:40
- Networking Basics 10:45-12:45
- Networking Facts & Benefits 12:45-13:30
- Performance Needed for Big Problems 13:30-16:40
- What can we do? Use many CPUs 16:41-18:05
- Distributed Computing Themes 18:05-21:20
- Distributed Computing Challenges 21:25-25:40
- Review: Map Reduce 25:41-26:30
- Google’s Map Reduce Simplified 26:30-40:52
* [BJC Lecture 19: Higher Order Functions II](https://www.youtube.com/watch?v=QsiK8pB7KdQ)
- Busting the King’s Gambit (Strongly Solve-Chess) 0:00-2:30
- Higher Order Function Review (Filter, Map, Reduce) 2:30-6:30
- Snap! BYOB Demo (Commented Out) 6:31-28:19
================================================
FILE: book.json
================================================
{
"plugins": [
"mathjax"
],
"pluginsConfig": {}
}
================================================
FILE: chapter1.md
================================================
# First Chapter
GitBook allows you to organize your book into chapters, each chapter is stored in a separate file like this one.
================================================
FILE: contributing.md
================================================
<!-- This document is very idealistic by design, feel free to suggest toning down any part -->
# Contributing
## Repository Location
The curriculum's source code is hosted on GitHub at: https://github.com/TEALSK12/introduction-to-computer-science
You can open issues, fork the curriculum, or submit pull requests to suggest changes.
## Markdown style
To keep the curriculum's underlying markdown consistent, we use [this markdown style guide](http://www.cirosantilli.com/markdown-style-guide). Since markdown is not a strict specification, there are a few options we choose to take from the style guide
* [space-sentence:1]( http://www.cirosantilli.com/markdown-style-guide/#option-space-sentence-1)
* [wrap:inner-sentence](http://www.cirosantilli.com/markdown-style-guide/#option-wrap-inner-sentence)
* [header:atx](http://www.cirosantilli.com/markdown-style-guide/#option-header-atx)
* [list-space:mixed](http://www.cirosantilli.com/markdown-style-guide/#option-list-space-mixed)
* [code:fenced](http://www.cirosantilli.com/markdown-style-guide/#option-code-fenced)
### Updating GitBook with changes
If you make changes to file names and links, make sure to update the GitBook references in summary.md accordingly.
### Lint tool
We use [mdast-lint](https://github.com/wooorm/mdast-lint) to enforce the above style. All submissions will be run through [mdast-lint](https://github.com/wooorm/mdast-lint) and free of any errors and warnings.
## Curriculum style
### How to write *Snap!*
```snap
*Snap!*
```
### *Snap!* Code
Blocks and scripts should always be presented as they would be in *Snap!* as an image.
Good
> Use the  block to move your sprite.
Bad
> Use the move block to move your sprite.
If it is absolutely necessary that a block not have a picture, wrap the name in blockquotes (e.g. ```move 10 steps``` block).
#### Creating new script images
Use the "script pic..." feature to create new images. If you need the result of a reporter block, use shift-right-click to get the "script pic with result..." option.
If you are adding a block, the file name should follow the text of the block with lower camel case.
Good
>  -> ```move10Steps.png```
Bad
>  -> ```move.png```
#### Reusing existing script images
Before you create new blocks images, check to see of blocks are stored in the curriculum in ```/blocks```.
All script images should be stored in ```/scripts```.
### Vocabulary words
### Labs
### Lesson plans
## Creating a pull request
Each pull request should have it's own branch. Here are a few examples of a proper pull request workflow
* http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-teams-using-github/
* https://github.com/skyscreamer/yoga/wiki/GitHub-Best-Practices
* https://www.thinkful.com/learn/github-pull-request-tutorial/
================================================
FILE: create-book.cmd
================================================
@echo off
setlocal
REM -- Create output directory and set up target output file name
mkdir 2>nul build
set targetBook=intro-book-complete.md
@REM set chrome="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
set edge="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk"
REM -- We need the `sed.exe` tool; grab it from the user's Git install.
if not exist "%ProgramFiles%\Git\usr\bin" (
echo ERROR: Unable to find Git install for `sed.exe` tool.
exit /b 1
)
path %ProgramFiles%\Git\usr\bin;%path%
type >%targetBook% SUMMARY.md
REM -- For each file referenced in SUMMARY.md, add it to the target output Markdown file.
REM -- The following sed command extracts the file name from inside parentheses, and reverses path
REM -- slashes.
for /f "delims=" %%t in ('findstr -c:"(" SUMMARY.md ^| sed -e "s/^ *\* *\[.*\](\(.*\))$/\1/"
-e "s/\//\\\/g"') do (
echo %%t
echo.>>%targetBook%
type >>%targetBook% %%t
)
REM -- Normalize line endings to newlines.
move /y >nul %targetBook% %targetBook%.tmp
eol "\n" <%targetBook%.tmp >%targetBook%
del %targetBook%.tmp
@REM -- Create .pdf version of markdown files with no toc
type >"%targetBook%.html" .\markdeep-header.txt
type >>"%targetBook%.html" .\"%targetBook%
type >>"%targetBook%".html .\markdeep-footer-tocstyle-none.txt
@REM --no-margins does not work, had to edit the javascript
@REM %chrome% --headless --print-to-pdf="%%~pf%%~nf.pdf" --no-margins "%%f-pdf.html"
echo %edge% --headless --print-to-pdf="%targetBook%.pdf" --no-margins "%targetBook%.html"
%edge% --headless --print-to-pdf="%CD%\intro-book-complete.pdf" --no-margins "%CD%\%targetBook%.html"
del "%targetBook%.html"
del "%targetBook%"
echo.
echo Finished. You can find the resulting unified book in `intro-book-complete.pdf`.
================================================
FILE: culture_day_lesson_a.md
================================================
# Culture day: Real world video or selected reading
In this lesson, students will have the opportunity to learn about concepts not currently covered in this course and relates to the societal impacts of computing. Take this opportunity to allow students to explore outside of their course work and learn where computer science intersects other industries. Have them dive deep into a concept and challenge them to explore their interests.
## Learning objectives
Students will be able to...
* Describe how computer science intersects with other industries.
* Explore new topics in computer science that interests them.
* Connect their learning to some aspect of their culture, society, or life.
## Materials/preparation
* Select a video or reading excerpt about a real world topic.
* Prepare leading questions directly relevant to the video or reading.
* [TEALS Volunteer show and tell example video](https://youtu.be/TeUgIXgds5o)
* [Computer Science Education Week daily video playlist](https://youtube.com/playlist?list=PL-YUPixQ92JF67xXTcYkUI1Fnk6lcwGuj)
* Created by the Computer Science Teacher Association
## Pacing guide
| Duration | Description |
| :--- | :--- |
| 5 minutes | Welcome, attendance, bell work, announcements |
| 10 minutes | Introduction to topic and video or reading |
| 15 minutes | Watch video or Read material |
| 20 minutes | Class discussion or activity |
| 5 minutes | Debrief and wrap-up |
Feel free to adjust the pacing guide liberally to meet the needs of your chosen material. If a video or reading will require more than 20-25 minutes, consider splitting the lesson across two days.
* Day one should include introduction of the topic, the video/reading, and a brief reflection, with the discussion or activity pushed to day two.
## Instructor's notes
### Introduction to topic
Show video or have students read to begin class. Students may take notes if desired, but should give their full attention to the material.
Example discussion questions:
* Was there anything that suprised you about the video?
* How does this video relate to what we are currently studing in class.
Reinforce how the video or reading relates to the current topic in class.
* Your goal is to provide context and background, not to preview the material itself.
Provide students with some leading questions about the topic to push them into exploration.
* You will want to elaborate on the questions to get students all on the same page.
* In some cases, you will want to be deliberately vague to encourage students to form their own ideas or interpretations.
### Discussion/activity
Lead a class discussion or activity about the topics covered in the video/reading and guiding by the questions presented before the material. This can take one of several forms, including, but not limited to:
#### Full-class discussion
When using the approach, be sure that all students have a chance to contribute and that the conversation is not dominated by a few voices.
#### Small group discussions
This can either be open-ended, allowing each group to discuss whatever they choose, or a ["jigsaw"](https://www.jigsaw.org/)-style activity where each group is given one question to focus on.
* [Video explanation](https://youtu.be/-9AWNl-A-34) of a think-pair-share activity.
* Have students share out about their discussions with the class.
#### Think-pair-share
["think-pair-share"](http://www.readingrockets.org/strategies/think-pair-share) - a structured activity to simulate or recreate something discussed in the material to allow students to gain a deeper appreciation of the topic.
* As an example, after a reading or video on computer security, students could play (or at least read about and consider) the game [Control-Alt-Hack](http://www.controlalthack.com/)
### Debrief
Ask one or more students to summarize the topics covered in the lesson and their thought or opinions.
Consider collecting some evidence of the activity, such as students' responses to the guiding questions or notes from small-group discussions, to evaluate engagement with the lesson.
## Accommodation/differentiation
For example, if showing ["Smartest Machine on Earth"](http://www.pbs.org/wgbh/nova/tech/smartest-machine-on-earth.html), be aware that some students may not be familiar with _Jeopardy!_.
Try to vary the topics of culture days throughout the semester to engage a broad range of students' interests and experiences. Not all students will connect with every lesson, but you should strive to have every student connect with at least one or two culture days each semester.
================================================
FILE: culture_day_lesson_b.md
================================================
# Culture day: Student research project and presentation
In this lesson, students will have the opportunity to research a topic related to computer science, describe an impact it had on the world, and present it to the class. This allows students to explore topics that interest them and present to the class. Presenting is a great way for students share what they know and give them practice in a crucial skill to have in the workplace. It also allows students to learn about other topics from each other. Finally, analyzing topics in Computer Science put the lessons of the class into context.
## Learning objectives
Students will be able to...
* Describe their assigned or chosen computer science related topic in detail.
* Facilitate and answer questions about their topic.
* Explore and analyze the interactions between technology and the rest of society.
## Materials/preparation
* A list of example topics for research projects.
* Prepare guidelines for projects and/or presentations.
* Encourage students to research from online and other resources, and keep track of sources.
* [Citation generator](http://www.easybib.com/) this is a handy way to generate citations (even for websites) that can be included as a Bibliography or References for the project.
* [Presentation tips](https://www.thinkoutsidetheslide.com/top-5-powerpoint-tips-for-student-presentations-in-school/)
* [Ideas for giving interesting presentations](https://www.powtoon.com/blog/17-killer-presentations-tips-students-stand/)
## Pacing guide
|Duration | Description|
|--|--|
|5 minutes | Welcome, attendance, bell work, announcements |
|15 minutes | Presentation #1 |
|15 minutes | Presentation #2 |
|15 minutes | Presentation #3 |
|5 minutes | Debrief and wrap-up |
## Explain to students
Coding is a technical skill, but the larger process of software development, product creation, and deployment involves
* Technical innovations
* A community of people
* Cultural beliefs and values.
This process is impacted by the society in which it occurs, and those developlments and products in turn impact that society and possibly many others. These impacts can occur at many levels incuding personal, communal, global, and environmental. The impacts are often positive, but frequently include negative consequences. People in all fields make choices about how they interact with technology and how technology interacts with the rest of the world. These choices -- choices the students will make -- can affect millions or billions of people. Understanding how technologies have affected us and continue to affect us will help us make better decisions in the future.
## Example topics
* Famous figures in computer science that are role models in the community you are serving.
* Important technologies or algorithms (RSA, Dijstra's Algorithm, RAID, integrated circuits).
* New and emerging technologies (AI, Machine Learning, robotics, cryptocurrencies).
* The tech industry (social media, smart phones, video games, health and lifestyle).
* Ethical computing (privacy, cyberbullying, security).
## Instructor notes
### Prior to culture day
* Assign each student one or more topics to research and present to the class on a future day. Topics can be assigned, chosen by students from a pre-defined list, or suggested by students and approved by instructors.
* Create a schedule of when culture days will occur and which students will present on each day.
* Depending on how many students are in the class, and how many days you wish to allot for presentations, your pacing guide can be adjusted.
### Student presentations
* Each student should give a 5-7 minute presentation on their assigned topic, followed by 8-10 minutes for questions from the class.
* Students should have a visual aspect to their project (poster, slide deck, props) as well as giving a verbal presentation.
* Use your judgement regarding the level of technical detail expected in the presentation. It is probably not realistic to expect students to become experts in advanced technologies but they should be able to give an overview of their topic and explain at least one way in which this person or technology has impacted some aspect or segment of society.
* Do not allow students to simply read a textbook or online definition of the topic. Ensure they can at least explain the subject in their own words and are begining to analyze its effects on the world.
* Allow classmates to ask questions, but beware of students trying to stump each other.
* Have a few questions for each assigned topic prepared ahead of time for instructors to ask in case classmates do not have questions.
### Accommodation/differentiation
* In smaller classes, each student may be able to present twice in a single semester.
* For classes where students are less experienced with presentations, consider a "science fair"-style event where students produce a display that can be viewed by others to present their topic.
* For students with high levels of anxiety, consider allowing them to submit a video to share with the class or any method that they are comfortable with.
* Students new to presenting can have success presenting with one or two of their peers. Each student should make an attempt to speak during the presentation.
================================================
FILE: culture_day_lesson_c.md
================================================
# Culture day: My skills and interests journal
In this lesson, students will use a learning journal to record the learning throughout the course in order to gain confidents in using and creatiing with technology.
## Learning objectives
Students will be able to...
* Document their technology learning journey.
* Self-reflect on the joys and challenges of technology learning.
* Appreciate software development as a process.
## Pacing guide
Have students do self-evaluation journaling at different stages during the course, for example:
1. first week of course
2. after unit 2
3. after unit 4
4. and last week of course.
On Journal Writing days, teachers can omit bell work, and provide students with 10 minutes to do their writing.
| Duration | Description |
| :--- | :--- |
| 2 minutes | Welcome, attendance, (omit bell work), announcements |
| 10 minutes | Journal Writing Time |
| 38 minutes | A shortened regular class |
| 5 minutes | Debrief and wrap-up |
## Materials/Preparation
* Students should have individual notebooks, a registered blog space, or worksheet handout to journal with.
* Teachers can provide a list of guidance questions (see below), or a survey that contains these questions.
## Instructor's Notes
### Explain to students
You may come to this course with stereotypes and myths about your abilities with computer science. By keeping a learning journal we will be using self-evaluation and self-reflection to help build your confidence. We will be reflecting on:
* what skills you currently have.
* what skills you gained over time.
* what you are capable of learning.
* what your interests might be.
* and what you would like to learn in the future
It's ok not to know everything. There is always something new to learn. Just take one step at a time.
### Beginning of the course
* Introduce students to the idea of a learning journal.
* Create a schedule of when, or how frequently, students are to write in their Journal.
### Self-evaluation and reflection example questions
Teacher should writes their own response to the prompts and share them with students.
Peer feedback is a powerful tool to use for this entries. When doing this make sure to go over how to give feedback with the students.
Here are some sentence starters to help guide through giving feedback to guide students.
* One thing I liked was…
* One thing I would change was…
* I’d like to know about ….
#### Beginning of the course entry
* What tools and technologies have you used before?
* On a scale of 1-5, how confident are you with them (5 being super-confident)
* What do you look forward to learning in this course?
* What are your worries and concerns about this course?
* other thoughts or comments.
#### Intermediate entries
* List the technical skills have you gained since the last time you wrote in your journal.
* What other skills have you gained? For example: creating a plan, drawing a graphic design, giving a presentation.
* What would you like more time working on to learn more?
* Looking at the new skills you have gained, or practiced, how do you feel about it?
* What did you like best about the course so far?
* What other skills would you really like to learn?
* What do you think we can do to improve the course?
* other thoughts or comments.
#### End of the course entry
* If you were to give advice to a new student who will start the course, what would it be?
* Was learning new skills easier, or harder than you thought? Explain.
* What are your project or design interests?
* Would skills would you like to learn next?
* What future jobs might use these skills?
* other thoughts or comments.
### Continue explaining to students
Like learning any new skill, or language, it takes time to learn. In computer programming, it's normal for a section of code to not work the first time.
Here are some things to think about during your journey through computer science:
1. If something doesn't work, don't be discouraged! It's part of the process. In fact, even experienced programmers spend a lot of time finding errors in their design and code. It's like detective work. This is when you can practice critical thinking steps of breaking down the problem, isolating the error, analyzing the values of variables. It can be frustrating but it's fun and rewarding when you resolve the error.
2. Don't be afraid to ask for help. Professional developers consult focus groups online to ask questions, and share solutions. One popular developer community is [Stack overflow](https://stackoverflow.com/)
#### Share learning journey with peers
* At the end of the course, ask each students to share a few key points with the class. They can refer to their final entry page in their Journal.
* This is an excellent oppotunity to share these stories to build community in your school and help to encourage more students to join the class.
### Continue to emphasize with students
Let's celebrate your learning journey! Don't let stereotypes, myths, or negative messages affect your motivation to learn technology. Whether it's coding, creative user-centered design, project management and everything in between. Don't just be technology consumers, be equipped to create and build your own uses for technology. The essentials skills you learn in this course will empower you to use technology in meaningful ways for a better future.
## Accommodation/differentiation
* This exercise could also be conducted in the form of a series of online surveys. The survey should allow for written responses, so that students are free to enter their own thoughts. Though remember that it's important that they reflect on this at the end of the course in order to build their confidence.
================================================
FILE: culture_day_lesson_d.md
================================================
# Culture day: Interview people in technology fields
## Learning Objectives
Students will be able to...
* Identify the people in their family, or community, who have technology-related jobs.
* Create interview questions to find out about their jobs.
* Conduct an interview.
* Identify the different types of roles and skills needed in the technology industry.
* Identify technology skills needed in non-technology organizations.
* Reflect on how technology could be part of their future careers.
## Resources and project ideas
[Computer science hero classroom resources](https://www.csedweek.org/teach)
## Pacing Guide
This lesson can be done over two class periods.
### Day 1
Students prepare for the interviews. This class could be combined with a [journal writing day](culture_day_lesson_c.md).
| Duration | Description |
| :--- | :--- |
| 5 minutes | Welcome, attendance, bell work, announcements |
| 15 minutes | Introduce lesson and warmup activity|
| 15 minutes | Prepare interview questions |
| 10 minutes | Other activity (suggestion: Journal Writing)|
| 5 minutes | Debrief and wrap-up |
### Day 2
Students share and report on the interviews.
| Duration | Description |
| :--- | :--- |
| 5 minutes | Welcome, attendance, bell work, announcements |
| 45 minutes | Each group presents their interview highlights and key reflections|
| 5 minutes | Debrief and wrap-up |
## Instructor's Notes
### Explain to students
You may come with stereotypes and myths about technology jobs. There are many different types of roles and skills needed in the technology industry. There are many roles that don't require you to sit at your computer all day long and write code.
Here are a few examples:
* Artistic designers
* Music creators
* Script writers
* Project managers
* Marketing specialists
* Web designer
As you get to know people in your community, you can discover individuals who are willing to be mentors for your classroom in the days ahead.
### Introduction to the lesson, and warmup activity
#### Identifying local industries
* Before students start thinking about who to interview, find out how much your students know about technology companies in your city or town. Spend some time to search online. Write on the board some examples of technology companies, or companies that have technology departments.
#### Identify people in their lives
* Ask each student alone, or with partner, to brainstorm on a piece of paper 3-4 people who have technology-related jobs. Encourage students to think of a different variety of jobs.
* Encourage students to think of people that they know personally.
* Encourage students to think about the different people around them:
* those who work in technology organizations.
* those who have technical positions in other types of organizations.
* could be friend, relative, or even someone that you can approach
#### Share and decide
* Find a partner, and share your list with each other.
* Agree on 2 people from your combined list to interview together.
### Preparing for the interview
* In pairs, have students prepare a list of interview questions for each person.
* Encourage students to create a variety of questions, for example:
* What does your typical work day look like?
* What do you like, or not like, about your job?
* What inspires you?
* What are some challenges?
* What educational background is needed to do your job?
* What kind of technical skills are needed in your job?
* What advice do you have for students?
### Conducting the interview
* Each pair should make a plan of how to conduct the interview in the coming week.
* This should be done outside of class time.
#### Professional and respectful
* Contact the person first to arrange a time and place to meet
* Be punctual; if working with a partner, remember to introduce all parties involved.
* Tell interviewee the purpose of the interview is for you (students) to learn more about technology related careers.
* Ask politely for permission to share some of their answers (within the classroom).
* Avoid questions that may be awkward or too personal (like salary), and always thank the person for their time.
* Take some notes, while still listening and being attentive.
#### After the interview
* Students should talk with each other about key points, and personal take-aways.
* Here are some reflection prompts for students:
* What surprised you?
* What was interesting?
* What did you learn?
* Did you feel inspired or get ideas about possibilities jobs you could do in the future?
* Write 1-2 paragraphs of reflection
* As a team, prepare a few PowerPoint slides (or photos, brochures, or grab bag items) to capture your interview findings and reflections, which to use for sharing with peers.
### Share with peers
* Ask each pair to share highlights, and key reflections, with the class.
* This can be done in one class period. The presentation time per group should be adjusted so to accommodate all students, so that no one feels left out.
* As a guideline for a 5-6 minute presentation, they can prepare 2-3 slides for each person interviewed.
* Students can also play short video clips from their interview as well.
## Accommodation and differentiation
* Students who have little experience with interviews may practice interviewing one another in the class with a few simple questions.
* Some students may struggle to think of others to interview. They may be encouraged to consider asking a teacher or staff in the school as potential interviewees.
* Be sensitive to assist students who are new to the community, those not living with family, those who don't speak English at home, or have other situations that they may feel embarrassed about.
* Working with a partner can alleviate awkwardness for students who can't think of anyone to interview and anxiety related to a face-to-face interview.
* Motivated students could video the interview as well, and show clips during peer sharing time, with permission from the interviewee. The final sharing could be done in the format of a prepared video.
================================================
FILE: curriculum_map.md
================================================
# Intro to Computer Science teaching resource (curriculum map)
Materials and preparation resources can be found in each of the lesson pages.
**Pacing guidance:** 1 Day is a 55 minute class period.
**Protected content** such as unit quizzes, quiz answer keys, project sample solutions can be accessed from the TEALS Dashboard in Additional Curriculum Materials.
## Support documents
* [Template Syllabus](https://github.com/TEALSK12/introduction-to-computer-science/raw/master/Unit%200/IntrotoCSSyllabusExample.docx): Feel free to use this template to build a syllabus for your class.
* [Master Vocabulary List](master_vocab.md)
* [Computer Science Teachers Association Standards Mapping](CSTA_standards_mapping.md)
* [Slide decks](slidedecks.zip): Download all the slide decks in one zip file.
* [CSTA content matrix](CSTA-content-matrix-9-12.docx) - this resource has some culture day activities aligned to the CSTA standards.
## Unit 0: Beginnings
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | -- |
| [0.1: The first day of school][] | Identify the class they are taking. List the high-level goals of the course. Describe classroom procedures, rules, and norms. | Syllabus | 1 |
| [0.2: Algorithms][] | Define **algorithm.** Construct algorithms for performing simple tasks. | Peanut Butter Jelly | 1 |
| [0.3: Programming languages][] | Complete small scripting tasks (Hour of Code). Explain why computer programs are written in specialized languages. | Hour of Code | 1 |
| [0.4: Self-portrait][] | Create a simple script in to describe themselves | Getting to Know You | 1 |
| [0.5: Coordinate system][] | Recall the Cartesian coordinate system. Implement the coordinate system to position a sprite using Coordinates. | Getting to Know Coordinates | 1 |
## Unit 1: basics
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [1.1: Welcome to Snap!][] | Define and identify **blocks**, **scripts**, **sprites**, and **the stage**. Write simple scripts. Describe what simple scripts do without executing the script.| Welcome to Snap! | 2 |
| [1.2: Building blocks][] | Identify the pallettes of blocks in . Describe the function of several common blocks. Be able to use common blocks to build simple scripts. | Scavenger Hunt | 1 |
| [1.3: Drawing shapes][] | Construct simple algorithms to draw shapes. Convert algorithms into scripts. | Squares, triangles and Stars | 1 |
| [1.4: Animation][] | Animate sprites using costume changes and movement.Trigger action in other sprites using broadcasts. Implement scripts for multiple sprites. | Sprites in Action | 1 |
| [1.5: Storytelling project][] | Apply programming skills to create an animated movie, play, nursery rhyme, or other scene. Practice good debugging skills to correct issues as they arise while scripting. | Project 1: Animated Storytelling | 2 |
| [Culture day lesson A: Video/reading][] | Connect CS Unit topics with current events | | 1 or more |
## Unit 2: Loop-de-loop
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [2.1: Loops][] | Define **loop** in a programming context. Explain why loops are useful. Implement simple repeat and forever loops. Apply loops to reduce redundancy in a program. | Squares and Triangles Redux | 1 |
| [2.2: Nested loops][] | Apply nested loops to solve programming problems. | Yellow Brick Road | 1 |
| [2.3: Inputs and conditionals][] | Apply **Ask** and **Receive**. Apply simple conditional, **if** and **if-else** blocks, to alter control flow in a script. | What Shape Is That? | 1 |
| [2.4: Variables][] | Apply variables to track values throughout a program or script. | Guessing Game | 1 |
| [2.5: Boole in the house][] | Define and identify Boolean expressions and operators. Evaluate Boolean expressions. Utilize Boolean operators, `and`, `or`, `not`, to create compound conditions. | Triangles of All Kinds | 1 |
| [2.6: Pong project][] | Implement a well-written version of Pong. Practice good style and conventions to create readable and maintainable program. | Project 2: Pong | 4 |
| [Culture Day Lesson B: Student research project/presentation][] | Connect CS Unit topics with current events | | 1 or more |
## Unit 3: Abstraction and Customization
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [3.1: Abstraction and generalization][] | Define the terms **Abstraction** and **Generalization**. Recognize opportunities to improve algorithms by abstracting or generalizing parts into sub-procedures. | Drawing Shapes Again | 1 |
| [3.2: Combining Loops and conditionals][] | Combine loops with conditionals to create models with repeated but conditional behavior. | What Goes Up... | 1 |
| [3.3: Customization I: Arguments][] | Build custom blocks that take arguments. | Let Me Check My Calendar | 1 |
| [3.4: Customization II: Reporters and predicates][] | Build custom reporter and predicate blocks. | If My Calculations Are Correct... | 1 |
| [3.5: Platform game project][] | Apply loops, variables, and Boolean expressions to implement a Super Mario Bros. style platform game. Practice good debugging skills to correct issues as they arise while scripting. | Project 3: Platform Game | 8 |
| [Culture Day Lesson C: My skills and interests journal][] | Connect CS Unit topics with current events. | | 1 or more |
## Unit 4: Lists
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [4.1: Intro to lists][] | Explain the concept of a `list` in a programming context. Identify scenarios in which lists are useful. | | 1 |
| [4.2: Static lists][] | Create static lists. Access elements of a list. Add and remove elements from a list. | You Talkin' to Me? | 1 |
| [4.3: List practice I][] | Traverse a list, accessing each element one at a time.Perform operations combining all elements in a list. Select defined subsets of elements in a list. | Guess Who | 1 |
| [4.4: List practice II][] | Traverse a list, accessing each element one at a time. Perform operations combining all elements in a list. Select defined subsets of elements in a list. | Number Cruncher | 1 |
| [4.5: Sequential search][] | Explain the sequential search algorithm. Implement several variations of sequential search.. | It's Around Here Somewhere | 1 |
| [4.6: Guess my word project][] | Apply lists to implement a complete version of _Guess My Word_. Exercise good programing practices to produce a program that is not only functional but also elegant and well-written. | Project 4: Guess My Word | 5 |
| [Culture day lesson D: Interview with people in technology][] | | | 1 or more |
## Unit 5: Cloning
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [5.1: Intro to cloning][] | Explain why prototyping and clones can be useful. Describe how complex goals can be accomplished using cloning. | Connect the Dots | 1 |
| [5.2: Cloning sprites][] | Demonstrate the difference between sprite and global variables. Explain how cloning and prototyping simplify similar sprites in the same program. Create prototype sprites and clones of the prototype sprite. Explain the difference between a "master" sprite and a "clone" sprite. | Lots of Balls | 1 |
| [5.3: Communicating With clones][] | Pass information from the master to individual clones. Delete clones when they are no longer needed. | Fewer Balls | 1 |
| [5.4: Space Invaders project][] | Use cloning to implement a complete version of "Space Invaders". Exercise good programing practices to produce a program that is not only functional but also elegant and well-written. | Project 5: Space Invaders | 10 |
## Unit 6: Final project
| Lesson | Objectives | Lab | Days |
| ------ | ---------- | --- | --- |
| [6.1: Design basics][] | Identify the key considerations when designing a piece of software. Describe methods for prioritizing features, use cases, and/or scenarios. Explain why design and planning are necessary steps in the software engineering process. | Final Project | 1 |
| [6.2: Research and ideate][] | Identify potential users, intended impact, and possible unintended negative consequences. Generate ideas to create range of possibilities using a brainstorm technique. Conduct user-centered research to understand design opportunities and barriers. Critically analyze factors when choosing between project ideas. Prioritize proposed project ideas using the identified factors. | Final Project | 1 |
| [6.3: Defining requirements][] | Define key **user-scenarios** for a project and the features required to implement each scenario. Explain the importance of wire framing when designing an application. Capture key scenarios using **sketches** - (hand drawn, or with drawing tool). Refine design based on user-centered research. | Final Project | 1 |
| [6.4: Building a plan][] | Break down, and identify the main technical components needed for the functional project specifications (scenarios). Explain the purpose of each technical component. Develop the project idea into a full, detailed specification. Create a plan that includes specific steps or a list of bite-sized tasks. Estimate time required for tasks. | Final Project | 1 |
| [6.5: Project implementation][] | Apply the skills developed throughout the course to implement a medium* to large-scale software project. Realistically evaluate progress during software development and identify when cuts are necessary. Prioritize features and scenarios and choose which should be eliminated or modified if/when resources and/or time become limited. Record time taken for tasks, and lessons learned in the process, to help refine estimates. Record iterations of prototyping. | Final Project | 10 |
| [6.6: Project sharing][] | Share their progress, invite feedback, collaboration, and if applicable, prepare a marketing pitch. Decide on how and with whom to promote and share their project. Critically evaluate the design process, their ability to work effectively, including the ability to implement project management processes. Identify new design issues, including how they or others might build on their concept. Identify and evaluate their skills, and things to learn in the future. Analyze the role and impact of their project idea, and similar technologies, in societal change. Consider how cultural beliefs, values, and ethical positions affect the development and use of technologies. | Final Project | 1 |
[0.1: The First Day of School]:lesson_01.md
[0.2: Algorithms]:lesson_02.md
[0.3: Programming Languages]:lesson_03.md
[0.4: Self-Portrait]:lesson_04.md
[0.5: Coordinate System]:lesson_05.md
[1.1: Welcome to Snap!]:lesson_11.md
[1.2: Building Blocks]:lesson_12.md
[1.3: Drawing Shapes]:lesson_13.md
[1.4: Animation]:lesson_14.md
[1.5: Storytelling Project]:lesson_15.md
[Culture Day Lesson A: Video/Reading]:culture_day_lesson_a.md
[2.1: Loops]:lesson_21.md
[2.2: Nested Loops]:lesson_22.md
[2.3: Inputs and Conditionals]:lesson_23.md
[2.4: Variables]:lesson_24.md
[2.5: Boole in the House]:lesson_25.md
[2.6: Pong Project]:lesson_26.md
[Culture Day Lesson B: Student Research Project/Presentation]:culture_day_lesson_b.md
[3.1: Abstraction and Generalization]:lesson_31.md
[3.2: Combining Loops and Conditionals]:lesson_32.md
[3.3: Customization I: Arguments]:lesson_33.md
[3.4: Customization II: Reporters and Predicates]:lesson_34.md
[3.5: Platform Game Project]:lesson_35.md
[Culture Day Lesson C: My Skills and Interests Journal]:culture_day_lesson_c.md
[4.1: Intro to Lists]:lesson_41.md
[4.2: Static Lists]:lesson_42.md
[4.3: List Practice I]:lesson_43.md
[4.4: List Practice II]:lesson_44.md
[4.5: Sequential Search]:lesson_45.md
[4.6: Guess My Word Project]:lesson_46.md
[Culture Day Lesson D: Interview with People in Technology]:culture_day_lesson_d.md
[5.1: Intro to Cloning]:lesson_51.md
[5.2: Cloning Sprites]:lesson_52.md
[5.3: Communicating with Clones]:lesson_53.md
[5.4: Space Invaders Project]:lesson_54.md
[6.1: Design Basics]:lesson_61.md
[6.2: Research and Ideate]:lesson_62.md
[6.3: Defining Requirements]:lesson_63.md
[6.4: Building a Plan]:lesson_64.md
[6.5: Project Implementation]:lesson_65.md
[6.6: Project Sharing]:lesson_66.md
================================================
FILE: do_now_04.md
================================================
# Identity
How would you fill in the following: I am ______?
This could be answered in many ways:
1. What you enjoy doing: I am a musician.
2. Physically: I am tall.
3. Personal characteristic: I am funny.
4. Career aspirations: I am an engineer.
5. Self reflective: I am a deep thinker.
6. As an athlete: I am a runner.
## In your notebook
After taking few minutes to think who you are, write down your thoughts in your notebook. We will be using who you are to write a self expression script.
================================================
FILE: do_now_05.md
================================================
# Draw the coordinate system
## In your notebook
Draw this image to the best of your ability and then answer the questions below the image.

1. Can you label the _x_ and _y_ axes?
2. Can you label the tick marks on the axes from -5 to 5?
3. Draw a point at the origin (0, 0).
Note: It's ok you don't know the answers to these questions. We will go over them in this lesson.
================================================
FILE: do_now_11.md
================================================
# Review the coordinate System

## Answer the following in your notebook
1. What are the coordinates of the red sprite?
2. What are the coordinates of the green sprite?
In your window, take a look at the blocks under the motion pallette. The majority of the blocks there will help you position your sprite on the stage. Try them and see what they do! Change the input values to see what happens.
3. List at least 4 blocks from the motion pallette that will change the position of a sprite.
## Make sure you know how to use the **say** block
1. Open the development environment and start a new project.
2. Using the **say** block have your sprite say "Hello World".
3. Save your with the file name _DoNow1.1_.
================================================
FILE: do_now_12.md
================================================
# Tracing and debugging
## In your notebook
1. Define **Code tracing**.
2. Define **Debugging**.
## Putting blocks together to build a script
All of the following blocks, you have been introduced too. Let's put them together to create a script.
1. Open the development environment and Start a new project.
2. Select the check box next to the `x position` and `position` pointer block to display their values on the stage.
3. Have your sprite move 100 units to left.
4. Turn 90 degrees clockwise.
5. Move 100 units.
6. Write down the coordinates in your notebook.
7. Save your project as _DoNow1.2_
================================================
FILE: do_now_13.md
================================================
# Drawing a triangle
## Setup
1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=aspiece%40gmail.com&ProjectName=Equalteral%20Triangle)
2. exit full screen
3. Save your project as _DoNow1.3_.
4. You can use this as a starting point for today's lab.
> Try enabling `visible steps` near the middle of the top toolbar. Adjust the slider so you can see what happens as you step through your script.

## Instructions
Using only the blocks already added on screen (not every block is needed), create a script that draws an equilateral triangle, like:

[starter project]: https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%201.3_Starter
Save your project as _Donow12_.
================================================
FILE: do_now_14.md
================================================
# Example animation
## Follow these steps on your own
1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%201.4_Starter).
2. Log into your account and save the starter project.
3. Save your project as _DoNow1.4_.
4. Press the space bar on your keyboard several times in a row. Notice what happens to the two bats on the screen.
>Hint: If a sprite moves completely off the Stage, you can bring the sprite back on the Stage by right-clicking its icon in the sprite corral and choosing `show`.
5. Use your mouse to point the cursor at one of the bats. Then, click the mouse button several times. Notice what happens to the two bats on the screen.
6. Take a look at all of the parts of the window. Read the comments in the script. Be sure to explore the tabs at the top of the scripting area and the icons in the sprite corral.
> Hint: It may be helpful to activate "visual steps" with the footprint icon near the middle of the top tool bar.
## Respond to the following in your notebook
1. Write down the name of all of the blocks that you have never seen before.
2. Write down every object has a script that executes.
================================================
FILE: do_now_15.md
================================================
# Knock knock joke
1. Write a program where one sprite is telling another a "knock, knock" joke. Internet search for one if you need ideas.
Use these blocks:


2. Save your project as _DoNow1.2_.
================================================
FILE: do_now_152.md
================================================
# Click event interaction
1. Write a script where one sprite acts as a button and when pressed, it increases the size of another sprite. Use these blocks:




2. Save your project as _DoNow1.5.2_.
================================================
FILE: do_now_153.md
================================================
# Movement interaction
1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160201%20Do%20Now%20Bat%20and%20Dragon).
2. Save your project as _DoNow1.5.3_.
3. Look at the bat's program and how events are triggered by two different keys. Trace through the scripts to understand how the it works.
4. Modify the script so that the bat flies to the Dragon when the space key is pressed once.
5. Add to the script to have the bat to say "BOO!" when it stops.
6. Add to the script to have the dragon turn around and say, "You scared me!".
7. Add to the script to have the Bat to then turn around and fly away.
================================================
FILE: do_now_21.md
================================================
# Introduction to loops
Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160205%20Do%20Now%20User%20Input), run the scrpt and test it, then answer these in your notebook.
1. What is the **forever** block, and why is it important for this program?
2. What happens if you take it out temporarily, reattach the rest of the script to the **When Green Flag clicked** block, and run the program?
3. What does the **point direction 90** do to the sprite?
4. What would happen if you decrease or increase the number of steps?
5. Add scripting so that if the user presses the left arrow key, the sprite faces the left direction and moves a few steps in that direction. Test to make sure that this works and also that right arrow key still works.
6. Save your project as _DoNow2.1_.
================================================
FILE: do_now_22.md
================================================
# Building a staircase
1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.2_Starter) puzzle.
2. Reassemble the blocks so Alonzo asks how many stairs to draw.
3. Have Alonzo draw stairs from the center of the stage to the upper right the number of times specified.
4. Save your project as _DoNow2.2_.

================================================
FILE: do_now_23.md
================================================
# Stairs
1. Use the following **Repeat** block to draw a square (note: you will have to put a number in place of the blank).

2. How would you use an additional **repeat** block to draw 12 squares in a line one next to each other. Each square will be to the right of the last square drawn.
3. How would you modify the script so the squares form a set of stairs going up?
4. Save your project as _DoNow2.3_.
================================================
FILE: do_now_24.md
================================================
# Debugging
1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%202.4_Starter) game.
2. Save your project as _DoNow2.4_
3. In this two-player game, Alonzo is trying to catch the blue dog. Both Alonzo and the blue dog are controlled using keys on the keyboard.
4. There are at least six bugs in this program. Four of them affect the game play and two of them are cosmetic.
5. Fix all of the bugs to get the program working correctly.
## Respond to the following in your notebook
1. What keys were used to control Alonzo?
2. What keys were used to control the dog?
3. List at least six bugs in the program and explain what the bugs are and how to fix them.
__Bonus:__ Once you get the game working, can you think of some changes to make it more fun?
================================================
FILE: do_now_25.md
================================================
# Variables practice
## In your notebook
1. Write an algorithm, in English, for how you would swap the values in two variables. For example, suppose we have two variables that have different values:
* set `playerOneValue` to "Torch"
* set `playerTwoValue` to "Gold"
2. How would you swap the values so `playerOneValue` is set to "Gold" and `playerTwoValue` is set to "Torch"?
* Here, "Torch" and "Gold" are just examples. Suppose the algorithm doesn't know what values the variables have before it begins.
3. Swap your algorithm with a partner and test it to determine if it works or not.
================================================
FILE: do_now_26.md
================================================
# Bouncing ball
1. Open a new project and change the sprite's costume to a ball.
2. Save your project as _DoNow2.6_
3. Using the following blocks, write a script that continuously moves the ball across the screen and bounces the ball when it hits the edge of the screen.




4. Add a second sprite. Add the same script from step 2 above for the new sprite.
5. What happens when you run? Explain what you observe.
================================================
FILE: do_now_31.md
================================================
# Guided Tour
## In your notebook
Plan a route, starting at the hotel, so that tourists can visit every tourist attraction just once and be back to the hotel.

Credit: Queen Mary University of London
================================================
FILE: do_now_32.md
================================================
# Sprite control
1. Open this [starter program](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&ProjectName=Do_Now%203.2_Starter).
2. Save your project as _DoNow3.2_.
3. Add to the program to do the following:
* Move Dino up 1 unit at a time when you press the **arrow up** key. You must use the **change y by** block.
* Move Dino down 1 unit at a time when you press the **arrow down** key. You must use the **change y by** block.
* Don't let Dino leave the screen.
* Don't let Dino go through the platform.
* Don't let Dino go underground.
================================================
FILE: do_now_33.md
================================================
# Jumping
Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160223%20Do%20Now%20dog%20walking%20and%20jumping) that can move left and right in response to arrow keys. Make the following modifications to the program:
1. A walking animation for the dog. Hint: it has 2 costumes.
2. Add the script below to the **forever** block to make the dog jump.

* What is the problem with this jump script when you test it?
* How should jump work when the player presses the spacebar?
3. Add gravity by making a custom **motion** block called "gravity" and adding it inside the forever loop. In the **gravity** custom block use an if statement to implement gravity. Hint: If not touching ground or platform color, go down by a small amount.
4. Save your project as _DoNow3.3_.
================================================
FILE: do_now_34.md
================================================
# Practice using arguments
Open your _DoNow3.3_ program. In this program, you created a **gravity** block where a sprite would fall to the ground and stop when it touched a color. The sprite always falls at the same rate.
How would we get the sprite to fall at different rates?
We will solve this problem by adding an argument to the **gravity** block. We can then pass the rate we want the sprite to move.
1. Add an argument named "rate" to the **gravity** block by clicking the "+" next to the block name.
2. Change the **move** block to move "rate" spaces by dragging the rate variable to the **move** block.
3. You can now pass different rates in your **gravity** block call located in the sprite's forever loop.
4. Save your project as _DoNow3.4_.
================================================
FILE: do_now_42.md
================================================
# Letters of a word
1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=Starter%20project%20for%20text%20operators%20practice) and run the script.
2. Once you understand how it works, modify the program so that the sprite says every letter in the word.
3. Save your project as _DoNow4.2_.
================================================
FILE: do_now_43.md
================================================
# Quote of the day
1. Create a list with 10 inspirational quotes. You may use the internet for ideas.
2. Use the item block below to pick a random quote of the day.

3. Save your project as _DoNow4.3_.
================================================
FILE: do_now_44.md
================================================
# Traversing lists
## In your notebook
1. Describe what it means to _traverse a list_.
2. List 2 different blocks you can use to traverse list and how you would use them.
================================================
FILE: do_now_45.md
================================================
# List tracing
For each script below, describe what the sprite does when that script is triggered. Number your answers. If you have time, check your answers by assembling these scripts.
You will need to add the "words, sentences" library to your project to use the **list->sentence** block.
1. Click the File Icon in the upper left corner next to the image.
2. Click "Libraries..."
3. Select "Words, sentences"
4. Click "Import"
* The "list->sentence" block will be one of the blocks added to the operators palette.

5. Save your project as _DoNow4.5_.
================================================
FILE: do_now_46.md
================================================
# Spaceman
Participate in a couple of rounds of the game Spaceman with your teacher.
## In your notebook, answer the following questions
1. How could you use lists from this unit to help implement a version of this game?
2. What other creative ideas can you come up with to visualize the number of chances a player has to guess the letters? (come up with at least 2)
================================================
FILE: do_now_52.md
================================================
# Star Wars troopers
1. In Star Wars, what are "clone troopers"? Do an internet search to find out and write a sentence to answer the question.
2. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160425%20Do%20Now%20cloning). Duplicate the sprite (and scripts) so that there are 5 clone troopers that move from the right side of the screen to the left side in a straight line when green flag is clicked. The starting and ending positions of the sprites are shown below.
3. Save your project as _DoNow5.2_.
Start:

End:

================================================
FILE: do_now_53.md
================================================
# Star Wars troopers using cloning
1. In yesterday's do now, we used a script to duplicate 5 Star Wars troopers to march across the stage. Today we will use the clone feature to do the same thing.
2. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectName=160425%20Do%20Now%20cloning). Using the **create a clone of** block, create a script so there are 5 clone troopers that move from the right side of the screen to the left side in a straight line when green flag is clicked. The starting and ending positions of the sprites are shown below.
3. Save your project as _DoNow5.3_.

## Start

## End

================================================
FILE: docs/.gitignore
================================================
/.idea/
/.vscode/
================================================
FILE: docs/CSTA_standards_mapping.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# TEALS Intro to Computer Science
In this document, we have put together a mapping to Computer Science Teachers Association(CSTA) curriculum standards.
## CSTA Standards Mapping
Here you can find the curriculum standards to reference: [https://www.csteachers.org/page/standards](https://www.csteachers.org/page/standards)
## Unit 0: Beginnings
| Lesson | Standards |
| ------ | ---------- |
| [0.1: The First Day of School][] | 3A- CS-01 |
| [0.2: Algorithms][] | 3B-AP-11, 3A-AP-13|
| [0.3: Programming Languages][] | 3A-CS-02 |
| [0.4: Self-Portrait][] | 3A-AP-13, 3B-AP-14|
| [0.5: Coordinate System][] | 3A-AP-13 |
## Unit 1: Basics
| Lesson | Standards |
| ------ | ---------- |
| [1.1: Welcome to Snap!][] | 3A-AP-13 |
| [1.2: Building Blocks][] | 3A-DA-11 |
| [1.3: Drawing Shapes][] | 3A-AP-13 |
| [1.4: Animation][] | 3A-AP-23 |
| [1.5: Storytelling Project][] | 3A-AP-13, 3A-AP-16, 3A-CS-03 |
| [Culture Day Lesson A: Video/Reading][] | 3A-IC-24 |
## Unit 2: Loop-de-Loop
| Lesson | Standards |
| ------ | ---------- |
| [2.1: Loops][] | 3A-AP-16 |
| [2.2: Nested Loops][] | 3A-AP-16 |
| [2.3: Inputs and Conditionals][] | 3A-AP-16 |
| [2.4: Variables][] | 3A-AP-16, 3A-AP-23 |
| [2.5: Boole in the House][] | 3A-AP-16 |
| [2.6: Pong Project][] | 3A-AP-13, 3A-AP-16, 3A-AP-17, 3A-AP-23, 3A-CS-03 |
| [Culture Day Lesson B: Student Research Project/Presentation][] | 3A-IC-27 |
## Unit 3: Abstraction and Customization
| Lesson | Standards |
| ------ | ---------- |
| [3.1: Abstraction and Generalization][] | 3A-CS-01 |
| [3.2: Combining Loops and Conditionals][] | 3A-AP-16 |
| [3.3: Customization I: Arguments][] | 3A-AP-23 |
| [3.4: Customization II: Reporters and Predicates][] | 3A-AP-16 |
| [3.5: Platform Game Project][] | 3A-AP-13, 3A-AP-15, 3A-AP-16, 3A-DA-12 |
| [Culture Day Lesson C: My Skills and Interests Journal][] | 3A-IC-24 |
## Unit 4: Lists
| Lesson | Standards |
| ------ | ---------- |
| [4.1: Intro to Lists][] | 3A-AP-14 |
| [4.2: Static Lists][] | 3A-AP-14 |
| [4.3: List Practice I][] | 3A-AP-14 |
| [4.4: List Practice II][] | 3A-AP-14 |
| [4.5: Sequential Search][] | 3A-AP-13 |
| [4.6: Guess My Word Project][] | 3B-AP-09, 3A-AP-13, 3A-AP-14, 3A-AP-18, 3A-AP-23, 3A-CS-03 |
| [Culture Day Lesson D: Interview with People in Technology][] | 3A-IC-27 |
## Unit 5: Cloning
| Lesson | Standards |
| ------ | ---------- |
| [5.1: Intro to Cloning][] | 3B-AP-14 |
| [5.2: Cloning Sprites][] | 3B-AP-16 |
| [5.3: Communicating With Clones][] | 3A-DA-12 |
| [5.4: Space Invaders Project][] | 3A-AP-13, 3A-AP-14, 3A-DA-12, 3B-AP-14, 3B-AP-15, 3A-CS-03 |
## Unit 6: Final Project
| Lesson | Standards |
| ------ | ---------- |
| [6.1: Design Basics][] | 3A-AP-13 |
| [6.2: Research and Ideate][] | 3B-AP-17 |
| [6.3: Defining Requirements][] | 3B-AP-15 |
| [6.4: Building a Plan][] | 3B-AP-15 |
| [6.5: Project Implementation][] | 3A-AP-13, 3B-AP-15, 3B-AP-08, 3B-AP-09, 3B-AP-17, 3B-AP-20, 3B-AP-21, 3B-AP-23, 3A-CS-03 |
| [6.6: Project Sharing][] | |
[0.1: The First Day of School]:lesson_01.md.html
[0.2: Algorithms]:lesson_02.md.html
[0.3: Programming Languages]:lesson_03.md.html
[0.4: Self-Portrait]:lesson_04.md.html
[0.5: Coordinate System]:lesson_05.md.html
[1.1: Welcome to Snap!]:lesson_11.md.html
[1.2: Building Blocks]:lesson_12.md.html
[1.3: Drawing Shapes]:lesson_13.md.html
[1.4: Animation]:lesson_14.md.html
[1.5: Storytelling Project]:lesson_15.md.html
[Culture Day Lesson A: Video/Reading]:culture_day_lesson_a.md.html
[2.1: Loops]:lesson_21.md.html
[2.2: Nested Loops]:lesson_22.md.html
[2.3: Inputs and Conditionals]:lesson_23.md.html
[2.4: Variables]:lesson_24.md.html
[2.5: Boole in the House]:lesson_25.md.html
[2.6: Pong Project]:lesson_26.md.html
[Culture Day Lesson B: Student Research Project/Presentation]:culture_day_lesson_b.md.html
[3.1: Abstraction and Generalization]:lesson_31.md.html
[3.2: Combining Loops and Conditionals]:lesson_32.md.html
[3.3: Customization I: Arguments]:lesson_33.md.html
[3.4: Customization II: Reporters and Predicates]:lesson_34.md.html
[3.5: Platform Game Project]:lesson_35.md.html
[Culture Day Lesson C: My Skills and Interests Journal]:culture_day_lesson_c.md.html
[4.1: Intro to Lists]:lesson_41.md.html
[4.2: Static Lists]:lesson_42.md.html
[4.3: List Practice I]:lesson_43.md.html
[4.4: List Practice II]:lesson_44.md.html
[4.5: Sequential Search]:lesson_45.md.html
[4.6: Guess My Word Project]:lesson_46.md.html
[Culture Day Lesson D: Interview with People in Technology]:culture_day_lesson_d.md.html
[5.1: Intro to Cloning]:lesson_51.md.html
[5.2: Cloning Sprites]:lesson_52.md.html
[5.3: Communicating with Clones]:lesson_53.md.html
[5.4: Space Invaders Project]:lesson_54.md.html
[6.1: Design Basics]:lesson_61.md.html
[6.2: Research and Ideate]:lesson_62.md.html
[6.3: Defining Requirements]:lesson_63.md.html
[6.4: Building a Plan]:lesson_64.md.html
[6.5: Project Implementation]:lesson_65.md.html
[6.6: Project Sharing]:lesson_66.md.html
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/Changelog.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Change Log
## [2.2.5] - 2022-5-12
|Unit | Change |
|---------|--------|
| 1 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 2 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 3 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 4 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 5 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
| 6 | Lesson spelling and grammar, lab document updates, slide deck alignment, project document updates, issues closed |
## [2.2.4] - 2022-1-25
|Unit | Change |
|---------|--------|
| All files | Added discussion link to top navigation |
| 1.5 Slide deck | Link added in lesson 1.5 and review slide updated. |
| Unit 1 tips | seperate page delete and added directly into lesson page. |
| Lesson 1.5 | Grudgeball link removed and instructions added directly to slide deck. |
| All lessons | Continued alignment to the Microsoft Style guide. |
## [2.2.3] - 2021-10-09
|Unit | Change |
|---------|--------|
| All lessons, labs, projects and do nows | Aligned to MS style guide |
| Slide decks | Added a .zip of all slide decks to be downloaded at once. |
| Unit 0 | Lab .docx and .pdf aligned to Teals branding |
| Culture day lessons | updated for clarity |
## [2.2.2] - 2021-6-10
|Unit | Change |
|---------|--------|
| All lessons| removed reference to TEALS forum |
| Images | naming convention consistency aligned |
| Curriculum Map | CSTA standards alignment added |
| Curriculum Map | Master word list added |
## [2.2.1] - 2020-11-25
|Unit | Change |
|---------|--------|
|Lesson 1.4 | Updated guidance with images to the Broadcast and Wait instructions |
|Lab 1.4 | Update Rubric, instructions and answer key to set expectations to using `Broadcast` in the solution. |
|Unit 6| Removed references to Agile |
|Unit 6| Added Project specs to each lesson for consistency |
|Lesson 6.6 | Added |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 4.4, 4.5 |
## [2.2.0] - 2020-11-13
|Unit | Change |
|---------|--------|
|Lessons 4.1 - 4.5| Wording consistency, spelling updates |
|Labs 4.2 - 4.5 | Formatting, wording consistency, Creative Common and TEALS Branding |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 4.2, 4.3 |
## [2.1.9] - 2020-10-23
|Unit | Change |
|---------|--------|
|Lessons 2.1 - 3.4| Wording consistency, spelling updates |
|Labs 2.1 - 3.4 | Formatting, wording consistency, Creative Common and TEALS Branding |
|Lab 3.4 | Distance Formula changed to Bonus problem. |
|2.4 Slide Deck | Boolean Operators introduction video added and updates instruction |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 2.1, 2.3, 2.4, 2.5, 3.1, 3.3, 3.4 |
## [2.1.8] - 2020-10-16
|Unit | Change |
|---------|--------|
|Curriculum Map | Objectives aligned to lesson plans|
|Lesson 1.4| Updated lab instructions to be more clear, added instruction on how to add a second sprite. |
|Unit 3| Updated title to Abstraction and customization |
|Lesson 1.3 | Updates to Do now and lab instructions |
|Lab 2.1 | Formatting Updates |
|Additional Curriculum Materials | Lab Answer Keys created for Labs: 1,1, 1.2, 1.3, 1.4, 2.2, 3.2 |
## [2.1.7] - 2020-10-7
|Unit | Change |
|---------|--------|
|Curriculum Map | Added Guidance on where to find answer keys|
|All Units| Snap! Spelling Consistent across HTML files|
|Unit 1 | Labs 1.1, 1.2, 3.2 Answer Keys added to additional curriculum Materials |
|Helping Trios Activity | Restructured and Remote Guidance Added |
|Lab 3.2 | Added Scoring rubric and updated wording to be more concise |
## [2.1.6] - 2020-9-16
|Unit | Change |
|---------|--------|
|Curriculum Map | Reformatted page with a days column for consolidation and consistency, moved PPTs to lesson pages|
|CSS | Updated CSS so that tables will align left and slightly more appealing to look at|
|Units 1-3| Added Video Resources and Video Quizzes |
|All Units| Spelling and Grammatic updates|
|All Lessons| consistently referenced all materials and resources in the Materials and Prep Section|
|Unit 1| fixed some formatting of images issue|
|Lesson 0.5| Added a lesson on the Snap! Coordinate system to enhance inclusivity for any high school student with built in scaffolding support|
|Unit 2|Expended scaffolding support for Exterior Angles of Polygons to increase inclusivity for any high school student|
|Unit 0 and Curriculum Map| Added Template Syllabus |
|Curriculum Map | Added link to Master Vocabulary List in accordance to UDP|
|Unit 0 and Unit 1| Added Remote Guidance for classroom instruction Activities|
## [2.1.5] - 2020-08-28
|Unit | Change |
|---------|--------|
|Unit 0 | Added Resources for Creating an account, saving and sharing in Snap!|
|Unit 0 | Added Video Resource for saving and sharing in Snap! |
|Unit 1| Adding Scaffolding Accommodations for finding the Exterior angle of a shape|
|Unit 1| Replace Do Now 1.3 Snap! Starter Code due to broken link|
|Unit 1| Added Grace Hopper Summary Video|
|Unit 1| fixed some formatting of images issue|
## [2.1.4] - 2020-08-27
|Unit | Change |
|---------|--------|
|Unit 4| Added Slide decks|
|Unit 2| Added context to 2.4 Do Now|
|Unit 4| Aligned the name of Project|
|Unit 0| Added Scaffolding Lesson 0.5 Snap! Coordinate System|
## [2.1.3] - 2020-05-20
|Unit | Change |
|---------|--------|
|Unit 0| Added Slide decks|
|Unit 1| Added Slide decks|
|Unit 2| Added Slide decks|
|Unit 3| Added Slide decks|
|Unit 5| Added Slide decks|
|Unit 2| removed 2.6|
|Unit 3| Combined 3.1/3.2 and changed name to 3.1 Abstraction and Generalization |
|Unit 3| Moved 2.6 to 3.2|
## [2.1.2] - 2018-11-28
|Unit | Change |
|---------|--------|
|Culture_day_lesson_b.md.html| Added Curriculum Competencies and Possible Topics|
|Culture_day_lesson_c.md.html| Added "My Skills and Interests Journal" culture day|
|Culture_day_lesson_d.md.html| Added "Interview with People in Technology" culture day|
|lab_11.md.html| Fixed Alignment|
|lesson_33.md.html| Fixed Spelling|
|lesson_61.md.html| Added content curriculum Competencies|
|lesson_62.md.html| Added content Learning Objectives; Big Ideas; Curriculum Competencies - understanding context, defining, ideating and Curriculum Competencies - understanding context|
|lesson_63.md.html| Added content Curriculum Competencies; Materials / Preparation|
|lesson_64.md.html| Added content Learning Objectives; Curriculum Competencies - Prototype, Test and Make; Curriculum Competencies - Applied Technologies; Reference|
|lesson_65.md.html| Added content Curriculum Competencies; Materials / Preparation|
|lesson_66.md.html| Added Project Sharing; Curriculum Competencies - Share, Applied skills, Applied Technologies; Materials / Preparation; Instructor's Notes; Curriculum Competencies - Applied Skills; Accommodation / Differentiation; Forum discussion|
|Project_1.md.html| Changed Content from Canadian perspective to US perspective; Added Content Big Ideas; Reference; Behavior; Implementation Details; Sharing, Curriculum Competencies design sharing|
|Project_2_alternative.md.html| Added the Whole Content and changed content to US perspective|
|Project_3.md.html| Added and Changed Content on Big Ideas from BC specific to US specific; Added content Curriculum Competencies - Design Sharing|
|Summary.md.html| Added Culture day C and D, added Project 2 alternative|
## [2.1.1] - 2018-08-21
| Unit | Change |
|---------|--------|
| lab_22.md.html | Change theme from brick wall to yellow brick road
| lesson_22.md.html |
| SUMMARY.md.html |
| +Lab 2.2 Yellow Brick Road.docx/.pdf |
## [2.1.0] - 2018-08-16
| Unit | Change |
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0.2 | Toothbrush activity option added to Do Now <br>World Cafe protocol added for Lab |
| 0.4 | Student Experiences Survey added and updated lab files uploaded |
| 1.1 | Diverse Grouping guidance added for lab <br>Helping Trios handout added as Accommodation/Differentiation |
| 1.2 | Options added to Do Now and Activity <br>Cold Calling Alternative protocol added |
| 1.3 | Geometry Cheat Sheet handout added |
| 2.1 | Do Now option added <br>Geometry Cheat Sheet handout added |
| 2.2 | Lab challenge activity edited to personalize <br>Diverse Grouping reminder <br>Cold Calling Alternative added in debrief |
| 2.3 | An intro to conditionals video by Flocabulary added |
| 2.4 | Variable Boxes Unplugged Activity added to Do Now as a intro to Variables |
| 2.5 | Boolean Expression Unplugged Activity added as intro to Boolean Expressions <br>Reminder about diverse grouping <br>Geometry Cheat Sheet handout added |
| 3.1 | Lab edited to include options for personalization |
| 3.2 | Do Now option added Reminder about diverse pairing |
| 3.3 | Lab challenge edited to include personalization of No. 4 updated lab files uploaded |
| 4.2 | Do Now option added <br>Lists Structure Handout <br>Grammar Cheat Sheet handout accommodation added |
| 4.3 | Lab language change & uploaded updated files <br>Diverse Grouping reminder |
| 4.6 | Hangman project changed to Word Guessing game with edited handouts uploaded <br>Snowman Snap! project replaces hangman example |
| 5.1 | Diverse grouping reminder |
| 5.2 | New Space Invaders links added includes Vimeo link <br>Lab now focusing on bouncing sprites instead of balls & updated files uploaded |
| 5.3 | Lab now focusing on bouncing sprites instead of balls & updated files uploaded <br>Helping Trios handout added |
| 6.1 | TEALS final project examples added <br>TEALS design steps handout added |
| 6.2 | Peer Feedback Handout added <br>Inspirational software design video from Code.org added <br>Diverse grouping reminder |
| 6.3 | Links to Final Project Development Plan & Organizer added |
| 6.4 | Links to Final Project Development Plan & Organizer added |
| 6.5 | Wise Feedback protocol added <br>Meerkating guidance added <br>Links to Final Project Development Plan & Organizer |
| | |
| Overall | CRTchanges aim to provide for student choice, voice and agency in the curriculum. They include options and resources to address different learning styles and to personalize to the cultural specifics of your classroom. |
| Overall | "Unit Tips" documents have been added for each unit with helpful Snap! shortcuts and teaching tips relevant to the unit. It also includes definition of terms introduced in the unit that can be used on a classroom Word Wall. |
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/Country-n-State.txt
================================================
District of Columbia
United Arab Emirates
Dominican Republic
North Macedonia
Solomon Islands
North Carolina
South Carolina
United Kingdom
Faroe Islands
French Guiana
Guinea-Bissau
Hong Kong SAR
Liechtenstein
Massachusetts
New Caledonia
New Hampshire
United States
West Virginia
Bahamas, The
Burkina Faso
North Dakota
Pennsylvania
Rhode Island
Saudi Arabia
Sierra Leone
South Africa
South Dakota
Turkmenistan
Afghanistan
Congo
Connecticut
El Salvador
Mississippi
Netherlands
New Zealand
North Korea
Philippines
Puerto Rico
Saint Lucia
South Sudan
Switzerland
Antarctica
Azerbaijan
Bangladesh
Cabo Verde
California
Costa Rica
Guadeloupe
Kazakhstan
Kyrgyzstan
Luxembourg
Madagascar
Martinique
Mauritania
Micronesia
Montenegro
Montserrat
Mozambique
New Jersey
New Mexico
San Marino
Seychelles
Tajikistan
Uzbekistan
Washington
Argentina
Australia
Gibraltar
Greenland
Guatemala
Indonesia
Jan Mayen
Lithuania
Louisiana
Macao SAR
Mauritius
Minnesota
Nicaragua
Singapore
Sri Lanka
stateless
Tennessee
Venezuela
Wisconsin
Anguilla
Arkansas
Barbados
Botswana
Bulgaria
Cambodia
Cameroon
Colombia
Colorado
Delaware
Djibouti
Eswatini
Ethiopia
Guernsey
Honduras
Illinois
Kentucky
Kiribati
Malaysia
Maldives
Maryland
Michigan
Missouri
Mongolia
Nebraska
New York
Oklahoma
Pakistan
Paraguay
Portugal
Slovakia
Slovenia
Suriname
Svalbard
Tanzania
Thailand
Virginia
Zimbabwe
Alabama
Albania
Algeria
Andorra
Arizona
Armenia
Austria
Bahrain
Belarus
Belgium
Bermuda
Bolivia
Bonaire
Burundi
Comoros
Croatia
Czechia
Denmark
Ecuador
Eritrea
Estonia
Finland
Florida
Georgia
Germany
Grenada
Hungary
Iceland
Indiana
Ireland
Jamaica
Lebanon
Lesotho
Liberia
Mayotte
Melilla
Moldova
Montana
Morocco
Myanmar
Namibia
Nigeria
Reunion
Romania
Senegal
Somalia
Tokelau
Tunisia
Ukraine
Uruguay
Vanuatu
Vermont
Vietnam
Wyoming
Alaska
Angola
Belize
Bhutan
Brazil
Brunei
Canada
Cyprus
France
Greece
Guinea
Guyana
Hawaii
Israel
Jordan
Kansas
Kosovo
Kuwait
Latvia
Malawi
Mexico
Monaco
Nevada
Norway
Oregon
Panama
Poland
Rwanda
Serbia
Sweden
Taiwan
Turkey
Tuvalu
Uganda
Zambia
Aruba
Benin
Ceuta
Chile
China
Congo
Egypt
Gabon
Ghana
Haiti
Idaho
India
Italy
Japan
Kenya
Korea
LIBYA
Maine
Malta
Nauru
Nepal
Niger
Palau
Qatar
Samoa
Spain
Sudan
Syria
Texas
Tonga
Yemen
Chad
Cuba
Fiji
Guam
Iowa
Iran
Iraq
Laos
Mali
Niue
Ohio
Oman
Peru
Saba
Togo
Utah
================================================
FILE: docs/GLOSSARY.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Master Vocabulary List
Introduction to Computer Science - 1st Semester
## A
<hr />
### Abstraction
Removing the specifics that are not relevant in a given context.
### Argument
Any area in a block that accepts user input, or another block. It could be a Boolean Block or a value placed inside of a variable or block. The value that is "passed into" a parameter of a custom block.
## B
<hr />
### Backgrounds
Pictures that fill the entire stage area.
### Block
Puzzle-piece shapes that are used to create code.
### Boolean Expression
A value (text, number, picture, etc.) that evaluate to true or false.
### Boolean Operators
Boolean expressions that can be nested.
## C
<hr />
### Command Block
Puzzle-piece shaped block that executes a command (it causes an effect).
### Cloning
A feature that allows a sprite to create a clone, or semi-duplicate, of itself, while the project is running. Clones of a sprite will be the same as the original or parent sprite but as a separate instance. Clones inherit the parent's scripts, costumes, sounds, and properties, yet they can then be modified.
### Conditional
A block used to make a choice between executing two different chunks of code."If" statements.
### Contains Block
Checks an operator block for a particular variable.
### Costume
A costume is one out of possibly many "frames" or alternate appearances of a sprite.
### Custom Blocks
Allow for one to make their own programming blocks.
## D
<hr />
### Detail Removal
Reducing the complexity of an algorithm or process by focusing on the important parts.
## E
<hr />
`No E entries`
## F
<hr />
### Functions/Methods
Other programming languages, like Python or Java, use these terms to refer to the same idea as a Custom Block in Snap! a reusable.
## G
<hr />
### Generalization
Combining a group of related concepts or processes into a single category.
### Global Variable
A variable that can be used by all of your sprites.
## H
<hr />
`No H entries`
## I
<hr />
### Index Variable
Keeps track of where you currently are in a list.
## J
<hr />
### Join Block
Links two values together and reports the result.
### Jukebox
A collection of sounds that can be applied to a sprite costume.
## K
<hr />
`No K entries`
## L
<hr />
### Lists Block
A block which controls a list.
### List Element
A part of a list.
### Loop
A type of block that causes other code to run multiple times in succession. A control flow statement that allows code to be executed repeatedly based on a given Boolean condition.
## M
<hr />
### Modeling
Building a system to simulate the behavior of a real-life phenomenon by simplifying or ignoring certain details.
## N
<hr />
### Nested Loop
A loop used inside the body of another loop.
## O
<hr />
### Operator Block
A block that performs math functions and string handling.
## P
<hr />
### Predicate Block
A hexagonal block that always returns a Boolean value (true or false).
### Procedural Decomposition
Breaking a problem down into smaller subtasks, usually to increase readability and/or maintainability, often by applying one of the above concepts.
### Programming List
Called an 'array' in most programming languages, this holds lots of values.
## Q
<hr />
`No Q entries`
## R
<hr />
### Receive Block
Code Block in Control that receives a message from another block.
### Reporter Block
Report a value, usually for use in another block's input slot.
## S
<hr />
### Say Block
The block gives its sprite a speech bubble with the specified text — the speech bubble stays until an another speech or thought block is activated, or the stop sign is pressed.
### Scenario
A description of a set of interactions and/or tasks that describe a start-to-finish example of how a user might want to use the application
### Snap!
Snap! is an extended reimplementation of [Scratch](http://scratch.mit.edu) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, first class sprites, first class costumes, first class sounds, and first class continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
### Scripts
Different types of blocks linked together.
### Sequential Search Algorithm
A method for finding a target value within a list. It sequentially checks each element of the list for the target value until a match is found or until all the elements have been searched.
### Sprites
An object which performs functions controlled by scripts.
### Stage
The background of a project, performs functions through scripting.
### Super-sprite
A sprite that is composed of pieces that can move together but can also be separately articulated.
## T
<hr />
### Transform
Create a new list based on the values of the old list.
### Traverse
Go through or travel across an item/list.
### Truth Tables
A tool for evaluating the possible inputs and outputs of a Boolean expression.
## U
<hr />
`No U entries`
## V
<hr />
### Variable
A placeholder for some value. Types of variables:Global variables - apply to all sprites Sprite variable - applies to one sprite script variable - parameter that applies to one script
## W
<hr />
### Wardrobe
A collection of sprite costumes. The wardrobe is located in the Costumes tab, which is accessed through the file icon.
### Watcher Block
reporter blocks you can click the checkbox for; they will appear in the Stage and you can track them.
### Wireframe
A high-level sketch of an application's user interface intended to help visualize layout, interactions, and transitions
## X
<hr />
### X Position
The position that a sprite or the mouse is at along the horizontal axis.
## Y
<hr />
### Y Position
The position that a sprite or the mouse is at along the vertical axis.
## Z
<hr />
`No Z entries`
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/Grudgeball.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# traditional Grudgeball Instructions
1. Each team gets 10 "X's".
2. Split your class into 5 or 6 teams, depending on how fast you want the game to go.
3. Each group gets a question. If they get it right they automatically get to erase two X's from the board. They can take it from one team or split it. They can not commit suicide (take X's from themselves).
4. Before they take off these X's, though, they have a chance to increase their ability to get the other teams to hate them. They get to shoot the Nerf ball. I set up two lines with masking tape. One is a two point line while the other is a three pointer.
5. If they shoot from the two point line and get it in, they can take four X's off the board. If they go from the three point line, and make it in, they can take five off the board. If they don't make it they still get to take the original two off the board.
## Instruction
1. Prepare 3-6 teams of 5-6 students team.
2. Prepare a worksheet of 4-5 questions for each team.
* Each document should be uploaded to a cloud service in order to share the link to the file for the whole group to work on.
3. While students are coming up with their answers, prepare the game board by adding an image or graphic above each number.
1.
3. Move student teams into breakout rooms with 4-5 questions to review together as a team.
* student should be prepared to answer one of the questions when they return to play the game.
## Game Play
1. Team 1 answers the question.
1. If the question correct, they get to select from Board
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/SUMMARY.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Summary
* [Introduction](README.md.html)
* [Curriculum Map](curriculum_map.md.html)
* [Unit 0: Beginnings](unit_0.md.html)
* [Lesson 0.1: The First Day](lesson_01.md.html)
* [Unit 0 Tips](unit_0_tips.md.html)
* [Lesson 0.2: Algorithms](lesson_02.md.html)
* [Unit 0 Tips](unit_0_tips.md.html)
* [Lesson 0.3: Programming Languages](lesson_03.md.html)
* [Unit 0 Tips](unit_0_tips.md.html)
* [Lesson 0.4: Snap! Self-Portrait](lesson_04.md.html)
* [Unit 0 Tips](unit_0_tips.md.html)
* [Do Now 0.4: I Am ...](do_now_04.md.html)
* [Lab 0.4: Getting to Know You](lab_04.md.html)
* [Unit 1: Snap! Basics](unit_1.md.html)
* [Lesson 1.1.1: Welcome to SNAP](lesson_11.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Do Now 1.1: Coordinate Review](do_now_11.md.html)
* [Lab 1.1: Welcome to SNAP!](lab_11.md.html)
* [Lesson 1.1.2: Welcome to Snap! (Continued lab)](lesson_11.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Lesson 1.2: Building Blocks](lesson_12.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Do Now 1.2: Tracing and Debugging](do_now_12.md.html)
* [Lab 1.2: Snap! Scavenger Hunt](lab_12.md.html)
* [Lesson 1.3: Drawing Shapes](lesson_13.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Do Now 1.3: Drawing a Triangle](do_now_13.md.html)
* [Lab 1.3: Squares, Triangles, and Stars, Oh My!](lab_13.md.html)
* [Lesson 1.4: Animation](lesson_14.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Do Now 1.4: Sprite Communication](do_now_14.md.html)
* [Lab 1.4: Sprites in Action](lab_14.md.html)
* [Unit 1 Quiz: Snap! Basics](quiz_1.md.html)
* [Lesson 1.5: Storytelling Project](lesson_15.md.html)
* [Unit 1 Tips](unit_1_tips.md.html)
* [Do Now 1.5 Day 1: Knock Knock](do_now_15.md.html)
* [Do Now 1.5 Day 2: Click Event Interaction](do_now_152.md.html)
* [Do Now 1.5 Day 3: Movement Interaction](do_now_153.md.html)
* [Project 1: Animated Storytelling](project_1.md.html)
* [Unit 2: Loops](unit_2.md.html)
* [Lesson 2.1: Loops](lesson_21.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.1: Intro Loops](do_now_21.md.html)
* [Lab 2.1: Squares and Triangles Redux](lab_21.md.html)
* [Lesson 2.2: Nested Loops](lesson_22.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.2: Debugging Loops](do_now_22.md.html)
* [Lab 2.2: Yellow Brick Road](lab_22.md.html)
* [Lesson 2.3: Inputs and Conditionals](lesson_23.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.3: Stairs](do_now_23.md.html)
* [Lab 2.3: What Shape is That?](lab_23.md.html)
* [Lesson 2.4: Variables](lesson_24.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.4: Debugging](do_now_24.md.html)
* [Lab 2.4: Guessing Game](lab_24.md.html)
* [Lesson 2.5: Boole in the House](lesson_25.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.5: Variables Practice](do_now_25.md.html)
* [Lab 2.5: Triangles of All Kinds](lab_25.md.html)
* [Unit 2 Quiz: Loops](quiz_2.md.html)
* [Lesson 2.6: Pong Project](lesson_26.md.html)
* [Unit 2 Tips](unit_2_tips.md.html)
* [Do Now 2.6: Bouncing Ball](do_now_26.md.html)
* [Project 2: Pong](project_2.md.html)
* [Project 2 Alternative: Pong](project_2_alternative.md.html)
* [Unit 3: Customization](unit_3.md.html)
* [Lesson 3.1: Abstraction and Generalization](lesson_31.md.html)
* [Unit 3 Tips](unit_3_tips.md.html)
* [Lesson 3.2: Combining Loops and Conditionals](lesson_32.md.html)
* [Unit 3 Tips](unit_3_tips.md.html)
* [Do Now 3.2: Drawing Squares](do_now_32.md.html)
* [Lab 3.2: What Goes Up...](lab_32.md.html)
* [Lesson 3.3: Customization 1](lesson_33.md.html)
* [Unit 3 Tips](unit_3_tips.md.html)
* [Do Now 3.3: Jumping](do_now_33.md.html)
* [Lab 3.3: Let Me Check My Calendar](lab_33.md.html)
* [Lesson 3.4: Customization II](lesson_34.md.html)
* [Unit 3 Tips](unit_3_tips.md.html)
* [Do Now 3.4: Practice using Arguments](do_now_34.md.html)
* [Lab 3.4: If My Calculations Are Correct...](lab_34.md.html)
* [Unit 3 Quiz: Customization](quiz_3.md.html)
* [Lesson 3.5: Platform Game Project](lesson_35.md.html)
* [Unit 3 Tips](unit_3_tips.md.html)
* [Project 3: Platform Game](project_3.md.html)
* [Project 3: Platform Game (Easy)](project_3_platform_game_easy.md.html)
* [Unit 4: Lists](unit_4.md.html)
* [Lesson 4.1: Intro to Lists](lesson_41.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Lesson 4.2: Static Lists](lesson_42.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Do Now 4.2: Letters of a Word](do_now_42.md.html)
* [Lab 4.2: You Talkin' to Me?](lab_42.md.html)
* [Lesson 4.3: List Practice I](lesson_43.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Do Now 4.3: Quote of the Day](do_now_43.md.html)
* [Lab 4.3: Guess Who](lab_43.md.html)
* [Lesson 4.4: List Practice II](lesson_44.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Do Now 4.4: Traversing List](do_now_44.md.html)
* [Lab 4.4: Number Cruncher](lab_44.md.html)
* [Lesson 4.5: Sequential Search](lesson_45.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Do Now 4.5: List Tracing](do_now_45.md.html)
* [Lab 4.5: It's Around Here Somewhere](lab_45.md.html)
* [Unit 4 Quiz: Lists](quiz_4.md.html)
* [Lesson 4.6: Guess My Word Project](lesson_46.md.html)
* [Unit 4 Tips](unit_4_tips.md.html)
* [Do Now 4.6: Gentle Guess My Word](do_now_46.md.html)
* [Project 4: Guess My Word](project_4.md.html)
* [Unit 5: Cloning](unit_5.md.html)
* [Lesson 5.1: Intro to Cloning](lesson_51.md.html)
* [Unit 5 Tips](unit_5_tips.md.html)
* [Lab 5.1: Connect the Dots](lab_51.md.html)
* [Lesson 5.2: Cloning Sprites](lesson_52.md.html)
* [Unit 5 Tips](unit_5_tips.md.html)
* [Do Now 5.2: Star Wars Troopers](do_now_52.md.html)
* [Lab 5.2: Lots of Balls](lab_52.md.html)
* [Lesson 5.3: Communicating with Clones](lesson_53.md.html)
* [Unit 5 Tips](unit_5_tips.md.html)
* [Do Now 5.3: Star Wars Troopers using Cloning](do_now_53.md.html)
* [Lab 5.3: Fewer Balls](lab_53.md.html)
* [Unit 5 Quiz: Cloning](quiz_5.md.html)
* [Lesson 5.4: Space Invaders Project](lesson_54.md.html)
* [Unit 5 Tips](unit_5_tips.md.html)
* [Project 5: Space Invaders](project_5.md.html)
* [Unit 6: Final Project](unit_6.md.html)
* [Lesson 6.1: Design Basics](lesson_61.md.html)
* [Unit 6 Tips](unit_6_tips.md.html)
* [Lesson 6.2: Research and Ideate](lesson_62.md.html)
* [Lesson 6.3: Defining Requirements](lesson_63.md.html)
* [Lesson 6.4: Building a Plan](lesson_64.md.html)
* [Lesson 6.5: Project Implementation](lesson_65.md.html)
* [Project 6: Final Project](project_6.md.html)
* [Lesson 6.6: Project Sharing](lesson_66.md.html)
* [Additional Curriculum Resources](additional_curriculum_resources.md.html)
* [Contributing](contributing.md.html)
* [Changelog](Changelog.md.html)
* [Appendix: BJC Lecture Videos](bjc_videosuggestions.md.html/bjcvideosuggestions.md.html)
* [Lab Day Lesson](lab_day_lesson.md.html)
* [Culture Day]
* [Lesson A: Video/Reading](culture_day_lesson_a.md.html)
* [Lesson B: Student Research](culture_day_lesson_b.md.html)
* [Lesson C: My Skills and Interests Journal](culture_day_lesson_c.md.html)
* [Lesson D: Interview with People in Technology](culture_day_lesson_d.md.html)
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/Video Resources.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/additional_curriculum_resources.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Accessing Additional Curriculum Materials
To access the "Additional Curriculum Materials", log into your TEALS Dashboard at <https://tealsk12.org/dashboard>.
1. The Additional Curriculum Materials are stored in a Microsoft Office 365 SharePoint site under the TEALS domain.
2. You will find the link, username, and password for these materials under the "Resources" heading on the dashboard.
3. If you are already logged into an Office 365 account (perhaps because you use Office 365 at school or work) you will run into an authentication conflict when you try to access this SharePoint site in step 1. In this case, you need to access the "Additional Curriculum Materials" SharePoint site using an Incognito or InPrivate browser session.
4. To open an Incognito or InPrivate browser session, right-click on the "Additional Curriculum Materials" link and select "Open link in Incognito/InPrivate window".
5. The website will ask you to log into Office 365.
6. Be sure to use the username and password listed on the TEALS Dashboard, and not the account you usually use to log in at work or school.
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/appendix-bjc-video-lectures.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="https://tealsk12.github.io/introduction-to-computer-science/styles/curriculum.css">
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/bjc_videosuggestions.md/bjcvideosuggestions.md
================================================
# BJC Lecture Suggestions
Dan Garcia of UC Berkeley presents the Beauty and Joy of Computing
## About the Lectures
### Use
The TEALS’ Introduction to CS Course is based on the The Beauty and Joy of Computing by Dan Garcia at UC Berkeley. However, the TEALS' curriculum varies greatly in content and scale, as it is aimed at High School students. This page outlines a series of video lectures from Dan Garcia’s version of this course--however the videos are not applicable in their entirety. The lectures are mapped out below by lecture, subject and time in their entirety.
Some of the lectures (or sections of the lectures) will be useful background for teachers learning the course materials. Some sections of the lectures are useful as instructional tools for classroom instruction. It is notated if the lecture is useful for background knowledge for teachers/volunteers and/or for classroom instruction. The lectures that are directly relevant to lessons or labs are directly referenced *below* the "Instructor's Notes". The lecture videos are licensed under a Creative Commons License by UC Berkeley.
- [BJC Lecture 1: Abstraction](https://www.youtube.com/watch?v=Dxw9cIbzaLk)
- Basic concepts of the course: 0:00-7:00
- Introduction of Piazza: 7:00-8:25
- Abstraction: 11:40-15:40
- Generalization: 15:50-20:00
- Summary: 20:05-25:10
- [BJC Lecture 2: 3D Graphics](https://www.youtube.com/watch?v=q2UMQaoW30U)
- SOPA & PIPA: 0:00-1:00
- 3D Computer Graphics Explanation: 1:00-5:24
- 3D Graphics steps outlined: 5:25-5:50
- Modelling (Useful for Lab 2.5): 5:50-11:40
- Animation (Uncanny Valley Explanation): 11:40-16:55
- Procedural Based Motion (Lab 1.1): 16:56-20:00
- Genetic Algorithms: 20:05-25:25
- Lighting and Shading: 25:25-27:10
- Rendering: 27:10- 30:55
- Global Illumination: 30:55-34:21
* [ BJC Lecture 3: Video Games](https://www.youtube.com/watch?v=hdSFuhyGTIg)
- Demystification Lecture-Novel Interaction techniques(emotive systems) 00:00-2:30
- [History of Video Games Overview](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=2m30s) (Platform Game Prep) 2:30-7:55 **Good for Classroom Instruction**
- [Casual Video Game World ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=8m0s)(light weight) 8:00-10:40 **Good for Classroom Instruction**
- [Core Video Game](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=10m45s) (heavy weight) 10:45-13:05 **Good for Classroom Instruction**
- 3D Computer Graphics 13:10-15:20
- [Motion Capture ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=15m25s)(Hero Movement for Platform Game Lab 2.6) 15:25-17:30 **Good for Classroom Instruction**
- Artificial Intelligence (Enemy Logic for Lab 2.6) 17:30-19:40
- [Video Games w/purpose](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=19m40s) (social benefits) 19:40-24:36 **Good for Classroom Instruction**
- [Negative Aspects of Video Games ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=19m40s)(RSI, addition, violence) 24:40-28:00 **Good for Classroom Instruction**
- [Glenn Sugden-Game Developer ](http://www.youtube.com/watch?v=hdSFuhyGTIg&t=28m03s)(History of VG Development & Industry) 28:03-40:53 **Good for Classroom Instruction**
* [BJC Lecture 4: Functions](https://www.youtube.com/watch?v=_uKCBmQEf5w)
* SIRI-EVI 0:00-1:00
* Functions & Generalizations (Function Basics) 1:00-3:45
* More Terminology (Boolean etc) 3:47-6:10
* Types of Input (Sentences, words, characters, digits) 6:12-8:00
* Functions (Explanations of Use-can be tied in to loops, and inputs) 8:00-9:55
* MIT Scratch --> BYOB Snap! ( Development of SNAP, DEMO) 10:00-11:30
* Functions-1 (BYOB-Custom Blocks) & Generalization 11:30-14:50
* Functions-2 (Join Block) Domain and Range 14:52-17:50
* Types of Blocks 18:15-19:45
* Recursion Preview 19:50-27:40
* Functional Programming Summary (Big concepts narrow down to functions) 27:40- End
* [BJC Lecture 5: Programming Paradigms](https://www.youtube.com/watch?v=_4ScHcLvQnw)
- Dilemma of Being a Cyborg 0:00-2:30
- Programming Paradigms 2:30-3:50
- Snap! BYOB (Hybrid) 3:55-4:45
- Functional Programming (Cascading Values) 4:50-5:35
- Imperative/Sequential 5:41-8:35
- Object Oriented Programming (OOP Basic Explanation) 8:40-15:45
- [OOP Ex: Sketch Pad Dr. Ivan Sutherland](http://www.youtube.com/watch?v=_4ScHcLvQnw&t=15m45s) "Father of Computer Graphics 15:45-22:10 **Good for Classroom Instruction**
- OOP in BYOB (Demo of Functions in BYOB) 22:35-29:20
- Declarative Programming 29-22-31:20
- Declarative Programming Examples in BYOB 31:25-35:20
- Review of Paradigms 35:25-end
* [BJC Lecture 6: Algorithms](https://www.youtube.com/watch?v=3tvbqdLjjSU) (With Luke Segars)
- Computer Worms 0:00-1:30
- Algorithm Concept Intro: Rubic Cube Competition 1:40-2:40
- [Algorithm Definition](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=3m20s) 3:20-4:20 **Good for Classroom Instruction**
- [Early Algorithms](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=4m25s) 4:25-5:55 **Good for Classroom Instruction**
- [Familiar Algorithms](http://www.youtube.com/watch?v=3tvbqdLjjSU&t=6m00s) 6:00-7:30 **Good for Classroom Instruction**
- Commonly Used Algorithms (Page Rank, etc.) 8:00-10:45
- Choosing an Algorithm Technique 10:50-12:15
- Ways to Tackle Problems (Brute Force, Top Down, Bottom Up) 12:20-15:30
- Algorithms vs Functions and Procedures 15:30-16:00
- Turing Completeness (Computer Theory-BYOB is Turing Complete) 16:05-21:15
- Algorithm Correctness 21:25-26:00
- Algorithm Summary 26:00-end
* [BJC Lecture 7: Algorithm Complexity](https://www.youtube.com/watch?v=_fgtTE2bhMg)
- Yahoo predicts America’s Political Winner 0:00-1:25
- Function Abstraction (Explanation of Functions and Algorithms) 1:28-2:45
- What is IN a Spec 2:45-3:30
- What is NOT in a Spec 3:30-5:15
- Reference Text “Introduction to Algorithms” 5:18
- [Algorithm Analysis: The Basics](http://www.youtube.com/watch?v=_fgtTE2bhMg&t=6m0s) 6:00-7:40 ** Good for Classroom Instruction**
- [Algorithm Analysis: Running Time](http://www.youtube.com/watch?v=_fgtTE2bhMg&t=7m41s) 7:41-8:25 **Good for Classroom Instruction**
- Algorithm Analysis: Runtime Analysis Problem and Solution 8:25-9:55
- Runtime Analysis: Input Size and Efficiency 9:58-11:25
- Runtime Analysis: Worst of Avg Case 11:25-13:20
- Run Time: Final Assessment 13:20-16:46
- Example:Finding a student by ID (detailed explanation of input/output)
17:00-31:20
- Ex: Finding a shared birthday 31:21-33:30
- Ex: Finding Subsets 33:40 to End
* [BJC Lecture 8: Concurrency (Yaniv Assaf)](https://www.youtube.com/watch?v=LlLLcGJPvwU)
- Friendship Paradox: Facebook 00-1:30
- Concurrency & Parallelism (Inter-Intra Computer, Cloud Computing) 1:31-4:10
- [Anatomy of a Computer ( John von Neumann Architecture) 4:15-5:20 ](http://www.youtube.com/watch?v=LlLLcGJPvwU&t=4m15s)**Good for Classroom Instruction**
- But what is INSIDE of a Processor 5:20-6:30
- Moore’s Law Prediction (2x Transistors/chip every 2 years) 6:35-7:45
- Moore’s Law & Related Curves 7:50-10:00
- Power Density Prediction circa 2000 (Heat as an issue) 10:00-11:40
- Multiple Core and Energy Efficiency 11:45-14:40
- Energy & Power Considerations 14:45-15:40
- Parallelism Again (What’s different this time?) 15:41-16:40
- Speedup Issues: Amdahl’s Law 16:42-19:50
- Background:Threads (Threads of Execution” is a single stream of instruction) 19:55-21:15
- Speedup Issues:Overhead 21:15-23:50
- Parallel Programing Example in Snap! BYOB (Race Condition) 23:53-26:50
- Another Concurrency Problem (Deadlock and Livelock) 26:55-29:30
- Summary “Sea Change” of Computing 29:30 to End
* [BJC Lecture 9: Recusion](https://www.youtube.com/watch?v=JKn3nsfzBdA)
- Movie “Inception” as an example of recursion 0:00-0:50
- Recursion 0:50-1:40
- Recursion Demo in Snap! 1:40-17:00
- Overview 17:00-21:00
- Definition of Recursion 21:00-24:30
- Examples of Recursion (You Already Know It!) 24:30-26:20
- Trust the Recursion 26:22-29:40
- Summary of Recursion 29:40-End
* [BJC Lecture 10: Social Implications of Computing](https://www.youtube.com/watch?v=Rng91dxdsuM)
- META: Computers in Education (Implications of Multiple Choice Tests) 0:00-4:30
- Computers in Education (Open?) Judah Schwartz 4:31 --
- Tools 4:50-5:30
- Microworld 5:30-6:30
- Microworld Example Physics Simulation 6:30-10:30
- Courseware 10:38-11:30
- RSA Animate: Changing Educational Paradigms 11:35
- Animation Begins (Sir Ken Robinson: Changing Paradigms) 12:30-24:25
* [BJC Lecture 11: Recursion II Alijia Yan](https://www.youtube.com/watch?v=w2d_snYBLeY&index=11&list=PLA4F0F0CA4A3EE7F4)
- Mobile World Congress 0:00-2:15
- Recursion:Factorials (Factorial (n)+ n! 2:30-7:40
- [Fibonacci and Fibonacci Series Video 7:45-11:45](http://www.youtube.com/watch?v=w2d_snYBLeY&t=7m45s) **Good for Classroom Instruction**
- Fibonacci Ex: fin(n) Math and Snap! blocks 11:50-13:15
- Example of Recursion: Counting Change 13:20-17:30
- Call Tree for “Counting Change” with Snap! example 17:35-22:50
- Summary of Recursion 25:40-26:21
* [BJC Lecture 12: Social Implications II Dr. Gerald Friedland](https://www.youtube.com/watch?v=RNN19b61oRg)
**Good for Classroom Instruction-Suggest Previewing due to Social Media Examples.**
(This would be a good suppport for Social Media Safety/Awareness lesson)
- Dr. Gerald Friedland Sr. Research Scientist at International Computer Science Institute (ICSI) on Sharing Multimedia and the Impact on Online Privacy) 0:00-1:45
- Introduction to Social Media: The Price of Social Media Use-Stephen Colbert 1:50-6:25
- Observations on Sharing Data and Ineffective Privacy Protection 6:30-7:50
- Social Cause: Collection of Data Across Sites 7:50-10:30
- Multimedia in Internet is Growing 10:35-12:05
- CS Problem: Higher Demand for Retrieval and Organization of Data 12:07-13:05
- Manual Tagging & Geo Tagging 13:05-17:30
- Issue of Tracking & Dangers of Oversharing 17:30-18:31
- Berkeley Multimedia Location Estimation Project 18:31-28:14
- ICSI’s Evaluation Results 19:49
- YouTube Cybercasing 20:47
- Privacy Implication of Internet and Data 22: 30
- Person Linking Using Internet Videos 25:45-26:45
- Solutions for Privacy that Don’t Work: Think Before You Post! 26:45-28:14
* BJC Lecture 13 is Not Available
* [BJC Lecture 14: Human-Computer Interaction Bjorn Hartman ](https://www.youtube.com/watch?v=3VZ7D01T2Yc)
- Bjorn Hartman Background 0:00-3:30
- Human Computer Interface(HCI) 3:45-6:00
- HCI: Design, Computer Science, Applied Psychology 6:00-8:00
- Iterative Design Cycle 8:00-10:30
- Understanding Users 10:35-11:35
- Prototype Interface Examples 11:40-14:00
- Evaluation (Formative, Summative) 14:50
- [Why Study User Interfaces ](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=15m0s)**Good for Classroom Instruction**
Ex:Mouse Xy axis, Sketchpad, PC, Tablets 15:00-25:00
- What had changed? Research: Mainframe to Ubiquitous Computing 25:00-29:30
- [Example Project: Using Dexterity for Computer Interface Video](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=28m30s) 28:30-29:30 **Good for Classroom Instruction**
- Zipf/Power Law Distribution 30:00-32:00
- HCI Research at Berkeley 32:10-46:25
- [Multi Touch Apps and Toolkits](http://www.youtube.com/watch?v=3VZ7D01T2Yc&t=32m0s) **Useful for Classroom Instruction**
* [BJC Lecture 15:) Artificial Intelligence- Anna Rafferty](https://www.youtube.com/watch?v=_xcGWx3eDnw)
-Anna Rafferty 0:00-1:00
- Definition of AI 1:00-1:48
- John McCarthy AI definition 1:50-2:30
- AI History and Explanation 2:35-6:40
- Revival of AI: Rules & Concepts 6:45-10:20
- AI and Intelligence (What intelligent things do people do?) 10:25-11:52
- Tour of AI applications 11:55-12:30
- AI Planning 12:30-14:50
- Machine Learning 14:50-18:58
- Robot Learning to Walk (Video) 18:58-20:25
- Natural Language Processing 20:30-23:15
- Unsupervised Learning Ex. 23:20-25:00
- Robotics 25:00-30:05
- Automatic Towel Folding Robot (video) 27:40-29:45
- Recap of AI 30:10-31:15
- Turing Test of Intell 31:15-34:15
- Summary 34:20-35:53
* [BJC Lecture 16:) Computational Game Theory](https://www.youtube.com/watch?v=iATKQQaTKKY)
- Checkers (Weakly) Solved 0:00-1:17
- Computer Science Game Theory 1:20-1:35
- CS- A USV View 1:36-2:16
- The Turk (1770) 2:20-4:00
- Claude Shannon 1950 “Father of Informational Technology) 4:05-5:10
- Deep Blue vs Gary Kasparov 1997
- What is “Game Theory” 11:41-12:40
- What “Board Game” do you mean? 12:41-13:25
- What is a “Strong” Soluntion 13:28-15:00
- Game Crafters (Strongly Solve) 15:11-20:15
- Strongly Solve Ex. Video “War Games”(1983)16:26-19:41
- Weakly Solving a Game (Checkers) 20:20-22:12
- Strongly Solving Ex:1,2:...12) 22:20-35:00
- Ex: Tic Tac Toe 27:25
- Demo 29:20-33:15
- Games Crafters Revisited 35:00-35:50
- Future Application 35:51-36:47
* [BJC Lecture 17:) Higher Order Functions ](https://www.youtube.com/watch?v=Xr9dYPH3fw4)
- Coding is Cool Again 0:00-0:45
- High Order Function Introduction 0:47-8:50
- Higher Order Function Demo in Snap! BYOB (Functions and Blocks are commented out) 8:51-37:35
* [BJC Lecture 18:) Distributed Computing](https://www.youtube.com/watch?v=LkkQy6ivbe4)
- 0:00-2:25 Super Computers Faster than 50M Laptops
- Lecture Overview 2:25-3:00
- Memory Hierarchy 3:00-6:00
- Memory Hierarchy Details 6:00-10:40
- Networking Basics 10:45-12:45
- Networking Facts & Benefits 12:45-13:30
- Performance Needed for Big Problems 13:30-16:40
- What can we do? Use many CPUs 16:41-18:05
- Distributed Computing Themes 18:05-21:20
- Distributed Computing Challenges 21:25-25:40
- Review: Map Reduce 25:41-26:30
- Google’s Map Reduce Simplified 26:30-40:52
* [BJC Lecture 19: Higher Order Functions II](https://www.youtube.com/watch?v=QsiK8pB7KdQ)
- Busting the King’s Gambit (Strongly Solve-Chess) 0:00-2:30
- Higher Order Function Review (Filter, Map, Reduce) 2:30-6:30
- Snap! BYOB Demo (Commented Out) 6:31-28:19
================================================
FILE: docs/book.json
================================================
{
"plugins": [
"mathjax"
],
"pluginsConfig": {}
}
================================================
FILE: docs/chapter1.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# First Chapter
GitBook allows you to organize your book into chapters, each chapter is stored in a separate file like this one.
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/contributing.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
<!-- This document is very idealistic by design, feel free to suggest toning down any part -->
# Contributing
## Repository Location
The curriculum's source code is hosted on GitHub at: https://github.com/TEALSK12/introduction-to-computer-science
You can open issues, fork the curriculum, or submit pull requests to suggest changes.
## Markdown style
To keep the curriculum's underlying markdown consistent, we use [this markdown style guide](http://www.cirosantilli.com/markdown-style-guide). Since markdown is not a strict specification, there are a few options we choose to take from the style guide
* [space-sentence:1]( http://www.cirosantilli.com/markdown-style-guide/#option-space-sentence-1)
* [wrap:inner-sentence](http://www.cirosantilli.com/markdown-style-guide/#option-wrap-inner-sentence)
* [header:atx](http://www.cirosantilli.com/markdown-style-guide/#option-header-atx)
* [list-space:mixed](http://www.cirosantilli.com/markdown-style-guide/#option-list-space-mixed)
* [code:fenced](http://www.cirosantilli.com/markdown-style-guide/#option-code-fenced)
### Updating GitBook with changes
If you make changes to file names and links, make sure to update the GitBook references in summary.md.html accordingly.
### Lint tool
We use [mdast-lint](https://github.com/wooorm/mdast-lint) to enforce the above style. All submissions will be run through [mdast-lint](https://github.com/wooorm/mdast-lint) and free of any errors and warnings.
## Curriculum style
### How to write *Snap!*
```snap
*Snap!*
```
### *Snap!* Code
Blocks and scripts should always be presented as they would be in *Snap!* as an image.
Good
> Use the  block to move your sprite.
Bad
> Use the move block to move your sprite.
If it is absolutely necessary that a block not have a picture, wrap the name in blockquotes (e.g. ```move 10 steps``` block).
#### Creating new script images
Use the "script pic..." feature to create new images. If you need the result of a reporter block, use shift-right-click to get the "script pic with result..." option.
If you are adding a block, the file name should follow the text of the block with lower camel case.
Good
>  -> ```move10Steps.png```
Bad
>  -> ```move.png```
#### Reusing existing script images
Before you create new blocks images, check to see of blocks are stored in the curriculum in ```/blocks```.
All script images should be stored in ```/scripts```.
### Vocabulary words
### Labs
### Lesson plans
## Creating a pull request
Each pull request should have it's own branch. Here are a few examples of a proper pull request workflow
* http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-teams-using-github/
* https://github.com/skyscreamer/yoga/wiki/GitHub-Best-Practices
* https://www.thinkful.com/learn/github-pull-request-tutorial/
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/create-book.cmd
================================================
@echo off
setlocal
REM -- Create output directory and set up target output file name
mkdir 2>nul build
set targetBook=intro-book-complete.md
@REM set chrome="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
set edge="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk"
REM -- We need the `sed.exe` tool; grab it from the user's Git install.
if not exist "%ProgramFiles%\Git\usr\bin" (
echo ERROR: Unable to find Git install for `sed.exe` tool.
exit /b 1
)
path %ProgramFiles%\Git\usr\bin;%path%
type >%targetBook% SUMMARY.md
REM -- For each file referenced in SUMMARY.md, add it to the target output Markdown file.
REM -- The following sed command extracts the file name from inside parentheses, and reverses path
REM -- slashes.
for /f "delims=" %%t in ('findstr -c:"(" SUMMARY.md ^| sed -e "s/^ *\* *\[.*\](\(.*\))$/\1/"
-e "s/\//\\\/g"') do (
echo %%t
echo.>>%targetBook%
type >>%targetBook% %%t
)
REM -- Normalize line endings to newlines.
move /y >nul %targetBook% %targetBook%.tmp
eol "\n" <%targetBook%.tmp >%targetBook%
del %targetBook%.tmp
@REM -- Create .pdf version of markdown files with no toc
type >"%targetBook%.html" .\markdeep-header.txt
type >>"%targetBook%.html" .\"%targetBook%
type >>"%targetBook%".html .\markdeep-footer-tocstyle-none.txt
@REM --no-margins does not work, had to edit the javascript
@REM %chrome% --headless --print-to-pdf="%%~pf%%~nf.pdf" --no-margins "%%f-pdf.html"
echo %edge% --headless --print-to-pdf="%targetBook%.pdf" --no-margins "%targetBook%.html"
%edge% --headless --print-to-pdf="%CD%\intro-book-complete.pdf" --no-margins "%CD%\%targetBook%.html"
del "%targetBook%.html"
del "%targetBook%"
echo.
echo Finished. You can find the resulting unified book in `intro-book-complete.pdf`.
================================================
FILE: docs/culture_day_lesson_a.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Culture day: Real world video or selected reading
In this lesson, students will have the opportunity to learn about concepts not currently covered in this course and relates to the societal impacts of computing. Take this opportunity to allow students to explore outside of their course work and learn where computer science intersects other industries. Have them dive deep into a concept and challenge them to explore their interests.
## Learning objectives
Students will be able to...
* Describe how computer science intersects with other industries.
* Explore new topics in computer science that interests them.
* Connect their learning to some aspect of their culture, society, or life.
## Materials/preparation
* Select a video or reading excerpt about a real world topic.
* Prepare leading questions directly relevant to the video or reading.
* [TEALS Volunteer show and tell example video](https://youtu.be/TeUgIXgds5o)
* [Computer Science Education Week daily video playlist](https://youtube.com/playlist?list=PL-YUPixQ92JF67xXTcYkUI1Fnk6lcwGuj)
* Created by the Computer Science Teacher Association
## Pacing guide
| Duration | Description |
| :--- | :--- |
| 5 minutes | Welcome, attendance, bell work, announcements |
| 10 minutes | Introduction to topic and video or reading |
| 15 minutes | Watch video or Read material |
| 20 minutes | Class discussion or activity |
| 5 minutes | Debrief and wrap-up |
Feel free to adjust the pacing guide liberally to meet the needs of your chosen material. If a video or reading will require more than 20-25 minutes, consider splitting the lesson across two days.
* Day one should include introduction of the topic, the video/reading, and a brief reflection, with the discussion or activity pushed to day two.
## Instructor's notes
### Introduction to topic
Show video or have students read to begin class. Students may take notes if desired, but should give their full attention to the material.
Example discussion questions:
* Was there anything that suprised you about the video?
* How does this video relate to what we are currently studing in class.
Reinforce how the video or reading relates to the current topic in class.
* Your goal is to provide context and background, not to preview the material itself.
Provide students with some leading questions about the topic to push them into exploration.
* You will want to elaborate on the questions to get students all on the same page.
* In some cases, you will want to be deliberately vague to encourage students to form their own ideas or interpretations.
### Discussion/activity
Lead a class discussion or activity about the topics covered in the video/reading and guiding by the questions presented before the material. This can take one of several forms, including, but not limited to:
#### Full-class discussion
When using the approach, be sure that all students have a chance to contribute and that the conversation is not dominated by a few voices.
#### Small group discussions
This can either be open-ended, allowing each group to discuss whatever they choose, or a ["jigsaw"](https://www.jigsaw.org/)-style activity where each group is given one question to focus on.
* [Video explanation](https://youtu.be/-9AWNl-A-34) of a think-pair-share activity.
* Have students share out about their discussions with the class.
#### Think-pair-share
["think-pair-share"](http://www.readingrockets.org/strategies/think-pair-share) - a structured activity to simulate or recreate something discussed in the material to allow students to gain a deeper appreciation of the topic.
* As an example, after a reading or video on computer security, students could play (or at least read about and consider) the game [Control-Alt-Hack](http://www.controlalthack.com/)
### Debrief
Ask one or more students to summarize the topics covered in the lesson and their thought or opinions.
Consider collecting some evidence of the activity, such as students' responses to the guiding questions or notes from small-group discussions, to evaluate engagement with the lesson.
## Accommodation/differentiation
For example, if showing ["Smartest Machine on Earth"](http://www.pbs.org/wgbh/nova/tech/smartest-machine-on-earth.html), be aware that some students may not be familiar with _Jeopardy!_.
Try to vary the topics of culture days throughout the semester to engage a broad range of students' interests and experiences. Not all students will connect with every lesson, but you should strive to have every student connect with at least one or two culture days each semester.
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>
================================================
FILE: docs/culture_day_lesson_b.md.html
================================================
<meta charset="utf-8"><link rel="stylesheet" media="screen" href="styles/curriculum.css"><meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
**TEALS Program**
<a href="https://tealsk12.github.io/introduction-to-computer-science/">Home</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/curriculum_map.md.html">Curriculum Map</a> |
<a href="https://github.com/TEALSK12/introduction-to-computer-science/discussions">Discussions</a> |
<a href="https://tealsk12.github.io/introduction-to-computer-science/Changelog.md.html">Change Log</a>
# Culture day: Student research project and presentation
In this lesson, students will have the opportunity to research a topic related to computer science, describe an impact it had on the world, and present it to the class. This allows students to explore topics that interest them and present to the class. Presenting is a great way for students share what they know and give them practice in a crucial skill to have in the workplace. It also allows students to learn about other topics from each other. Finally, analyzing topics in Computer Science put the lessons of the class into context.
## Learning objectives
Students will be able to...
* Describe their assigned or chosen computer science related topic in detail.
* Facilitate and answer questions about their topic.
* Explore and analyze the interactions between technology and the rest of society.
## Materials/preparation
* A list of example topics for research projects.
* Prepare guidelines for projects and/or presentations.
* Encourage students to research from online and other resources, and keep track of sources.
* [Citation generator](http://www.easybib.com/) this is a handy way to generate citations (even for websites) that can be included as a Bibliography or References for the project.
* [Presentation tips](https://www.thinkoutsidetheslide.com/top-5-powerpoint-tips-for-student-presentations-in-school/)
* [Ideas for giving interesting presentations](https://www.powtoon.com/blog/17-killer-presentations-tips-students-stand/)
## Pacing guide
|Duration | Description|
|--|--|
|5 minutes | Welcome, attendance, bell work, announcements |
|15 minutes | Presentation #1 |
|15 minutes | Presentation #2 |
|15 minutes | Presentation #3 |
|5 minutes | Debrief and wrap-up |
## Explain to students
Coding is a technical skill, but the larger process of software development, product creation, and deployment involves
* Technical innovations
* A community of people
* Cultural beliefs and values.
This process is impacted by the society in which it occurs, and those developlments and products in turn impact that society and possibly many others. These impacts can occur at many levels incuding personal, communal, global, and environmental. The impacts are often positive, but frequently include negative consequences. People in all fields make choices about how they interact with technology and how technology interacts with the rest of the world. These choices -- choices the students will make -- can affect millions or billions of people. Understanding how technologies have affected us and continue to affect us will help us make better decisions in the future.
## Example topics
* Famous figures in computer science that are role models in the community you are serving.
* Important technologies or algorithms (RSA, Dijstra's Algorithm, RAID, integrated circuits).
* New and emerging technologies (AI, Machine Learning, robotics, cryptocurrencies).
* The tech industry (social media, smart phones, video games, health and lifestyle).
* Ethical computing (privacy, cyberbullying, security).
## I
gitextract_ikmzkwy5/ ├── .gitignore ├── CSTA-content-matrix-9-12.docx ├── CSTA_standards_mapping.md ├── Changelog.md ├── Country-n-State.txt ├── Excel-Randomizer.xlsx ├── GLOSSARY.md ├── Grudgeball.md ├── Project 1 - Nursery Rhyme.docx ├── Projects/ │ └── Projects Word/ │ ├── Platform_Game_Planning_Worksheet.docx │ ├── Project 1 Storytelling.docx │ ├── Project 2 Pong.docx │ ├── Project 3 Platform Game Easy.docx │ ├── Project 3 Platform Game.docx │ ├── Project 4 Guessmyword.docx │ ├── Project 4 Snowman.docx │ ├── Project 5 Space Invaders.docx │ ├── Project 6 Final Project.docx │ ├── Project_ 2_alternative.docx │ ├── Project_2_Pong_Planning_Worksheet.docx │ ├── Project_4_Guessmyword_Planning_Worksheet.docx │ └── project_5.docx ├── README.md ├── SNAP Program Design and Planning Worksheet.docx ├── Snap Tips.docx ├── TEALS Intro CS Curriculum Guide - handout.docx ├── Unit 0/ │ ├── IntrotoCSSyllabusExample.docx │ ├── Student Experiences Survey.docx │ ├── lab_04.docx │ └── lab_05.docx ├── Unit 1 Word/ │ ├── Helping Trios.docx │ ├── Lab 1.1 Welcome To SNAP.docx │ ├── Lab 1.2 SNAP Scavenger Hunt.docx │ ├── Lab 1.3 Squares Triangles.docx │ └── Lab 1.4 Sprites in Action.docx ├── Unit 2 Word/ │ ├── Lab 2.1 Triangles and Squares Redux.docx │ ├── Lab 2.2 Another Brick in the Wall.docx │ ├── Lab 2.2 Yellow Brick Road.docx │ ├── Lab 2.3 What Shape Is That.docx │ ├── Lab 2.4 Guessing Game.docx │ └── Lab 2.5 Triangles of All Kinds.docx ├── Unit 3 Word/ │ ├── Lab 3.1 Drawing Shapes Again.docx │ ├── Lab 3.2 What Goes Up.docx │ ├── Lab 3.3 Let Me Check My Calendar.docx │ ├── Lab 3.4 If My Calculations Are Correct.docx │ └── Lab 3.4 The Technicolor Window.docx ├── Unit 4 Word/ │ ├── Lab 4.2 You Talkin To Me.docx │ ├── Lab 4.3 Guess Who.docx │ ├── Lab 4.4 Number Cruncher.docx │ ├── Lab 4.5 Its Around Here Somewhere.docx │ └── SNAP Lists Components.docx ├── Unit 5 Word/ │ ├── Lab 5.1 Connect the Dots.docx │ ├── Lab 5.2 Lots of Balls.docx │ └── Lab 5.3 Fewer Balls.docx ├── Unit 6 PDF/ │ └── Final Project Development Plan.docx ├── Unit 6 Word/ │ ├── Final Project Development Plan.docx │ ├── Final Project Plan Organizer.docx │ ├── Project Feedback Form.docx │ └── TEALS Final Project Design Steps.docx ├── Video Resources.md ├── additional_curriculum_resources.md ├── bjc_videosuggestions.md/ │ └── bjcvideosuggestions.md ├── book.json ├── chapter1.md ├── contributing.md ├── create-book.cmd ├── culture_day_lesson_a.md ├── culture_day_lesson_b.md ├── culture_day_lesson_c.md ├── culture_day_lesson_d.md ├── curriculum_map.md ├── do_now_04.md ├── do_now_05.md ├── do_now_11.md ├── do_now_12.md ├── do_now_13.md ├── do_now_14.md ├── do_now_15.md ├── do_now_152.md ├── do_now_153.md ├── do_now_21.md ├── do_now_22.md ├── do_now_23.md ├── do_now_24.md ├── do_now_25.md ├── do_now_26.md ├── do_now_31.md ├── do_now_32.md ├── do_now_33.md ├── do_now_34.md ├── do_now_42.md ├── do_now_43.md ├── do_now_44.md ├── do_now_45.md ├── do_now_46.md ├── do_now_52.md ├── do_now_53.md ├── docs/ │ ├── .gitignore │ ├── CSTA-content-matrix-9-12.docx │ ├── CSTA_standards_mapping.md.html │ ├── Changelog.md.html │ ├── Country-n-State.txt │ ├── Excel-Randomizer.xlsx │ ├── Final Project Development Plan.docx │ ├── Final Project Plan Organizer.docx │ ├── GLOSSARY.md.html │ ├── Grudgeball.md.html │ ├── Project 1 - Nursery Rhyme.docx │ ├── Projects/ │ │ └── Projects Word/ │ │ ├── Platform_Game_Planning_Worksheet.docx │ │ ├── Project 1 Storytelling.docx │ │ ├── Project 2 Pong.docx │ │ ├── Project 3 Platform Game Easy.docx │ │ ├── Project 3 Platform Game.docx │ │ ├── Project 4 Guessmyword.docx │ │ ├── Project 4 Hangman.docx │ │ ├── Project 4 Snowman.docx │ │ ├── Project 5 Space Invaders.docx │ │ ├── Project 6 Final Project.docx │ │ ├── Project_ 2_alternative.docx │ │ ├── Project_2_Pong_Planning_Worksheet.docx │ │ ├── Project_4_Guessmyword_Planning_Worksheet.docx │ │ └── Project_4_Hangman_Planning_Worksheet.docx │ ├── SNAP Program Design and Planning Worksheet.docx │ ├── SUMMARY.md.html │ ├── Snap Tips.docx │ ├── TEALS Intro CS Curriculum Guide - handout.docx │ ├── Unit 0/ │ │ ├── IntrotoCSSyllabusExample.docx │ │ ├── Lab 0.4.docx │ │ ├── Student Experiences Survey.docx │ │ ├── lab_04.docx │ │ └── lab_05.docx │ ├── Unit 1 Word/ │ │ ├── Helping Trios.docx │ │ ├── Lab 1.1 Welcome To SNAP.docx │ │ ├── Lab 1.2 SNAP Scavenger Hunt.docx │ │ ├── Lab 1.3 Squares Triangles.docx │ │ └── Lab 1.4 Sprites in Action.docx │ ├── Unit 2 Word/ │ │ ├── Lab 2.1 Triangles and Squares Redux.docx │ │ ├── Lab 2.2 Another Brick in the Wall.docx │ │ ├── Lab 2.2 Yellow Brick Road.docx │ │ ├── Lab 2.3 What Shape Is That.docx │ │ ├── Lab 2.4 Guessing Game.docx │ │ └── Lab 2.5 Triangles of All Kinds.docx │ ├── Unit 3 Word/ │ │ ├── Lab 3.1 Drawing Shapes Again.docx │ │ ├── Lab 3.2 What Goes Up.docx │ │ ├── Lab 3.3 Let Me Check My Calendar.docx │ │ ├── Lab 3.4 If My Calculations Are Correct.docx │ │ └── Lab 3.4 The Technicolor Window.docx │ ├── Unit 4 Word/ │ │ ├── Lab 4.2 You Talkin To Me.docx │ │ ├── Lab 4.3 Guess Who.docx │ │ ├── Lab 4.4 Number Cruncher.docx │ │ ├── Lab 4.5 Its Around Here Somewhere.docx │ │ ├── Project 4 Guessmyword.docx │ │ └── SNAP Lists Components.docx │ ├── Unit 5 Word/ │ │ ├── Lab 5.1 Connect the Dots.docx │ │ ├── Lab 5.2 Lots of Balls.docx │ │ └── Lab 5.3 Fewer Balls.docx │ ├── Unit 6 PDF/ │ │ └── Final Project Development Plan.docx │ ├── Unit 6 Word/ │ │ ├── Final Project Development Plan.docx │ │ ├── Final Project Plan Organizer.docx │ │ ├── Project Feedback Form.docx │ │ └── TEALS Final Project Design Steps.docx │ ├── Video Resources.md.html │ ├── additional_curriculum_resources.md.html │ ├── appendix-bjc-video-lectures.md.html │ ├── bjc_videosuggestions.md/ │ │ └── bjcvideosuggestions.md │ ├── book.json │ ├── chapter1.md.html │ ├── contributing.md.html │ ├── create-book.cmd │ ├── culture_day_lesson_a.md.html │ ├── culture_day_lesson_b.md.html │ ├── culture_day_lesson_c.md.html │ ├── culture_day_lesson_d.md.html │ ├── curriculum_map.md.html │ ├── custom-reference.docx │ ├── do_now_04.md.html │ ├── do_now_05.md.html │ ├── do_now_11.md.html │ ├── do_now_12.md.html │ ├── do_now_13.md.html │ ├── do_now_14.md.html │ ├── do_now_15.md.html │ ├── do_now_152.md.html │ ├── do_now_153.md.html │ ├── do_now_21.md.html │ ├── do_now_22.md.html │ ├── do_now_23.md.html │ ├── do_now_24.md.html │ ├── do_now_25.md.html │ ├── do_now_26.md.html │ ├── do_now_31.md.html │ ├── do_now_32.md.html │ ├── do_now_33.md.html │ ├── do_now_34.md.html │ ├── do_now_42.md.html │ ├── do_now_43.md.html │ ├── do_now_44.md.html │ ├── do_now_45.md.html │ ├── do_now_46.md.html │ ├── do_now_52.md.html │ ├── do_now_53.md.html │ ├── helping_trios.md.html │ ├── helping_trios_handout.md.html │ ├── index.html │ ├── intro-book-complete.docx │ ├── lab_04.md.html │ ├── lab_05.md.html │ ├── lab_11.md.html │ ├── lab_12.md.html │ ├── lab_13.md.html │ ├── lab_14.docx │ ├── lab_14.md.html │ ├── lab_21.md.html │ ├── lab_22.docx │ ├── lab_22.md.html │ ├── lab_23.md.html │ ├── lab_24.docx │ ├── lab_24.md.html │ ├── lab_25.md.html │ ├── lab_31.md.html │ ├── lab_32.docx │ ├── lab_32.md.html │ ├── lab_33.md.html │ ├── lab_34.md.html │ ├── lab_42.md.html │ ├── lab_43.md.html │ ├── lab_44.docx │ ├── lab_44.md.html │ ├── lab_45.md.html │ ├── lab_51.md.html │ ├── lab_52.md.html │ ├── lab_53.md.html │ ├── lab_day_lesson.md.html │ ├── lesson_01.md.html │ ├── lesson_02.md.html │ ├── lesson_03.md.html │ ├── lesson_04.md.html │ ├── lesson_05.md.html │ ├── lesson_11.md.html │ ├── lesson_12.md.html │ ├── lesson_13.md.html │ ├── lesson_14.docx │ ├── lesson_14.md.html │ ├── lesson_15.md.html │ ├── lesson_21.html │ ├── lesson_21.md.html │ ├── lesson_22.md.html │ ├── lesson_23.md.html │ ├── lesson_24.md.html │ ├── lesson_25.md.html │ ├── lesson_26.md.html │ ├── lesson_31.md.html │ ├── lesson_32.md.html │ ├── lesson_33.md.html │ ├── lesson_34.md.html │ ├── lesson_35.md.html │ ├── lesson_41.md.html │ ├── lesson_42.md.html │ ├── lesson_43.md.html │ ├── lesson_44.md.html │ ├── lesson_45.md.html │ ├── lesson_46.md.html │ ├── lesson_51.md.html │ ├── lesson_52.md.html │ ├── lesson_53.md.html │ ├── lesson_54.md.html │ ├── lesson_61.md.html │ ├── lesson_62.md.html │ ├── lesson_63.md.html │ ├── lesson_64.md.html │ ├── lesson_65.md.html │ ├── lesson_66.md.html │ ├── markdeep-footer-tocstyle-none.txt │ ├── markdeep-footer.txt │ ├── markdeep-header.txt │ ├── master_vocab.md.html │ ├── md-to-markdeep.cmd │ ├── project_1.md.html │ ├── project_2.md.html │ ├── project_2_alternative.md.html │ ├── project_3.md.html │ ├── project_3_platform_game_easy.md.html │ ├── project_4.md.html │ ├── project_5.md.html │ ├── project_6.md.html │ ├── quiz_1.md.html │ ├── quiz_2.md.html │ ├── quiz_3.md.html │ ├── quiz_4.md.html │ ├── quiz_5.md.html │ ├── reference.docx │ ├── slidedecks/ │ │ ├── TEALS SNAP 0.1.pptx │ │ ├── TEALS SNAP 0.2.pptx │ │ ├── TEALS SNAP 0.3.pptx │ │ ├── TEALS SNAP 0.4.pptx │ │ ├── TEALS SNAP 0.5.pptx │ │ ├── TEALS SNAP 1.1.pptx │ │ ├── TEALS SNAP 1.2.pptx │ │ ├── TEALS SNAP 1.3.pptx │ │ ├── TEALS SNAP 1.4.pptx │ │ ├── TEALS SNAP 1.5.pptx │ │ ├── TEALS SNAP 2.1.pptx │ │ ├── TEALS SNAP 2.2.pptx │ │ ├── TEALS SNAP 2.3.pptx │ │ ├── TEALS SNAP 2.4.pptx │ │ ├── TEALS SNAP 2.5.pptx │ │ ├── TEALS SNAP 3.1.pptx │ │ ├── TEALS SNAP 3.2.pptx │ │ ├── TEALS SNAP 3.3.pptx │ │ ├── TEALS SNAP 3.4.pptx │ │ ├── TEALS SNAP 4.1.pptx │ │ ├── TEALS SNAP 4.2.pptx │ │ ├── TEALS SNAP 4.3.pptx │ │ ├── TEALS SNAP 4.4.pptx │ │ ├── TEALS SNAP 4.5.pptx │ │ ├── TEALS SNAP 5.1.pptx │ │ ├── TEALS SNAP 5.2.pptx │ │ ├── TEALS SNAP 5.3.pptx │ │ └── spaceman.pptx │ ├── startercode.md.html │ ├── student_notes_01.md.html │ ├── student_notes_02.md.html │ ├── student_notes_03.md.html │ ├── student_notes_04.md.html │ ├── student_notes_11.md.html │ ├── student_notes_12.md.html │ ├── student_notes_13.md.html │ ├── student_notes_14.md.html │ ├── student_notes_15.md.html │ ├── student_notes_21.md.html │ ├── student_notes_22.md.html │ ├── student_notes_23.md.html │ ├── student_notes_24.md.html │ ├── student_notes_25.md.html │ ├── student_notes_31.md.html │ ├── student_notes_32.md.html │ ├── student_notes_33.md.html │ ├── student_notes_34.md.html │ ├── student_notes_35.md.html │ ├── student_notes_41.md.html │ ├── student_notes_42.md.html │ ├── student_notes_43.md.html │ ├── student_notes_44.md.html │ ├── student_notes_45.md.html │ ├── student_notes_46.md.html │ ├── student_notes_51.md.html │ ├── student_notes_52.md.html │ ├── student_notes_53.md.html │ ├── student_notes_54.md.html │ ├── student_notes_61.md.html │ ├── student_notes_62.md.html │ ├── student_notes_63.md.html │ ├── student_notes_64.md.html │ ├── student_notes_65.md.html │ ├── student_notes_66.md.html │ ├── styles/ │ │ ├── curriculum.css │ │ └── pdf.css │ ├── tools/ │ │ ├── create-book-Pandoc.cmd │ │ └── create-book.cmd │ ├── unit_0.md.html │ ├── unit_0_tips.md.html │ ├── unit_1.md.html │ ├── unit_1_tips.md.html │ ├── unit_2.md.html │ ├── unit_2_tips.md.html │ ├── unit_3.md.html │ ├── unit_3_tips.md.html │ ├── unit_4.md.html │ ├── unit_4_tips.md.html │ ├── unit_5.md.html │ ├── unit_5_tips.md.html │ ├── unit_6.md.html │ ├── unit_6_tips.md.html │ └── wordlist.txt ├── helping_trios.md ├── helping_trios_handout.md ├── intro-book-complete.docx ├── lab_04.md ├── lab_05.md ├── lab_11.md ├── lab_12.md ├── lab_13.md ├── lab_14.md ├── lab_21.md ├── lab_22.md ├── lab_23.md ├── lab_24.md ├── lab_25.md ├── lab_31.md ├── lab_32.md ├── lab_33.md ├── lab_34.md ├── lab_42.md ├── lab_43.md ├── lab_44.md ├── lab_45.md ├── lab_51.md ├── lab_52.md ├── lab_53.md ├── lab_day_lesson.md ├── lesson_01.md ├── lesson_02.md ├── lesson_03.md ├── lesson_04.md ├── lesson_05.md ├── lesson_11.md ├── lesson_12.md ├── lesson_13.md ├── lesson_14.md ├── lesson_15.md ├── lesson_21.md ├── lesson_22.md ├── lesson_23.md ├── lesson_24.md ├── lesson_25.md ├── lesson_26.md ├── lesson_31.md ├── lesson_32.md ├── lesson_33.md ├── lesson_34.md ├── lesson_35.md ├── lesson_41.md ├── lesson_42.md ├── lesson_43.md ├── lesson_44.md ├── lesson_45.md ├── lesson_46.md ├── lesson_51.md ├── lesson_52.md ├── lesson_53.md ├── lesson_54.md ├── lesson_61.md ├── lesson_62.md ├── lesson_63.md ├── lesson_64.md ├── lesson_65.md ├── lesson_66.md ├── markdeep-footer-tocstyle-none.txt ├── markdeep-footer.txt ├── markdeep-header.txt ├── master_vocab.md ├── md-to-markdeep.cmd ├── project_1.md ├── project_2.md ├── project_2_alternative.md ├── project_3.md ├── project_3_platform_game_easy.md ├── project_4.md ├── project_5.md ├── project_6.md ├── quiz_1.md ├── quiz_2.md ├── quiz_3.md ├── quiz_4.md ├── quiz_5.md ├── reference.docx ├── slidedecks/ │ ├── TEALS SNAP 0.1.pptx │ ├── TEALS SNAP 0.2.pptx │ ├── TEALS SNAP 0.3.pptx │ ├── TEALS SNAP 0.4.pptx │ ├── TEALS SNAP 0.5.pptx │ ├── TEALS SNAP 1.1.pptx │ ├── TEALS SNAP 1.2.pptx │ ├── TEALS SNAP 1.3.pptx │ ├── TEALS SNAP 1.4.pptx │ ├── TEALS SNAP 1.5.pptx │ ├── TEALS SNAP 2.1.pptx │ ├── TEALS SNAP 2.2.pptx │ ├── TEALS SNAP 2.3.pptx │ ├── TEALS SNAP 2.4.pptx │ ├── TEALS SNAP 2.5.pptx │ ├── TEALS SNAP 3.1.pptx │ ├── TEALS SNAP 3.2.pptx │ ├── TEALS SNAP 3.3.pptx │ ├── TEALS SNAP 3.4.pptx │ ├── TEALS SNAP 4.1.pptx │ ├── TEALS SNAP 4.2.pptx │ ├── TEALS SNAP 4.3.pptx │ ├── TEALS SNAP 4.4.pptx │ ├── TEALS SNAP 4.5.pptx │ ├── TEALS SNAP 5.1.pptx │ ├── TEALS SNAP 5.2.pptx │ ├── TEALS SNAP 5.3.pptx │ └── spaceman.pptx ├── startercode.md ├── student_notes_01.md ├── student_notes_02.md ├── styles/ │ ├── curriculum.css │ └── pdf.css ├── tools/ │ ├── create-book-Pandoc.cmd │ └── create-book.cmd ├── unit_0.md ├── unit_0_tips.md ├── unit_2.md ├── unit_3.md ├── unit_4.md ├── unit_5.md ├── unit_6.md └── wordlist.txt
Condensed preview — 499 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,171K chars).
[
{
"path": ".gitignore",
"chars": 18,
"preview": "/.idea/\n/.vscode/\n"
},
{
"path": "CSTA_standards_mapping.md",
"chars": 4755,
"preview": "# TEALS Intro to Computer Science\n\nIn this document, we have put together a mapping to Computer Science Teachers Associa"
},
{
"path": "Changelog.md",
"chars": 14675,
"preview": "# Change Log\n\n## [2.2.5] - 2022-5-12\n\n|Unit | Change |\n|---------|--------|\n| 1 | Lesson spelling and grammar, lab d"
},
{
"path": "Country-n-State.txt",
"chars": 2297,
"preview": "District of Columbia\nUnited Arab Emirates\nDominican Republic\nNorth Macedonia\nSolomon Islands\nNorth Carolina\nSouth Caroli"
},
{
"path": "GLOSSARY.md",
"chars": 5930,
"preview": "# Master Vocabulary List\n\nIntroduction to Computer Science - 1st Semester\n\n## A\n\n<hr />\n\n### Abstraction\n\nRemoving the s"
},
{
"path": "Grudgeball.md",
"chars": 1562,
"preview": "# traditional Grudgeball Instructions\n\n1. Each team gets 10 \"X's\".\n2. Split your class into 5 or 6 teams, depending on h"
},
{
"path": "README.md",
"chars": 16195,
"preview": "# Intro to Computer Science\n\nThe **Introduction to Computer Science curriculum** is a flexible and approachable course a"
},
{
"path": "Video Resources.md",
"chars": 1438,
"preview": "# Video Resources\n\n## Intro to Computer Science - Snap\n\n| Lesson | Video | Length |\n| --- | --- | -- |\n| 0.1: The First "
},
{
"path": "additional_curriculum_resources.md",
"chars": 1104,
"preview": "# Accessing Additional Curriculum Materials\n\nTo access the \"Additional Curriculum Materials\", log into your TEALS Dashbo"
},
{
"path": "bjc_videosuggestions.md/bjcvideosuggestions.md",
"chars": 14321,
"preview": "# BJC Lecture Suggestions\n\n\n\nDan Garcia of UC Berkeley presents the Beauty and Joy of Computing\n\n## About the Lectures\n\n"
},
{
"path": "book.json",
"chars": 69,
"preview": "{\n \"plugins\": [\n \"mathjax\"\n ],\n \"pluginsConfig\": {}\n}"
},
{
"path": "chapter1.md",
"chars": 130,
"preview": "# First Chapter\n\nGitBook allows you to organize your book into chapters, each chapter is stored in a separate file like "
},
{
"path": "contributing.md",
"chars": 2915,
"preview": "<!-- This document is very idealistic by design, feel free to suggest toning down any part -->\n# Contributing\n\n## Reposi"
},
{
"path": "create-book.cmd",
"chars": 1801,
"preview": "@echo off\nsetlocal\n\nREM -- Create output directory and set up target output file name\nmkdir 2>nul build\nset targetBook=i"
},
{
"path": "culture_day_lesson_a.md",
"chars": 4604,
"preview": "# Culture day: Real world video or selected reading\n\nIn this lesson, students will have the opportunity to learn about c"
},
{
"path": "culture_day_lesson_b.md",
"chars": 5283,
"preview": "# Culture day: Student research project and presentation\n\nIn this lesson, students will have the opportunity to research"
},
{
"path": "culture_day_lesson_c.md",
"chars": 5842,
"preview": "# Culture day: My skills and interests journal\r\n\r\nIn this lesson, students will use a learning journal to record the lea"
},
{
"path": "culture_day_lesson_d.md",
"chars": 6253,
"preview": "# Culture day: Interview people in technology fields\r\n\r\n## Learning Objectives\r\n\r\nStudents will be able to...\r\n\r\n* Ident"
},
{
"path": "curriculum_map.md",
"chars": 12181,
"preview": "# Intro to Computer Science teaching resource (curriculum map)\n\nMaterials and preparation resources can be found in each"
},
{
"path": "do_now_04.md",
"chars": 500,
"preview": "# Identity\n\nHow would you fill in the following: I am ______?\n\nThis could be answered in many ways:\n\n1. What you enjoy d"
},
{
"path": "do_now_05.md",
"chars": 421,
"preview": "# Draw the coordinate system\n\n## In your notebook\n\nDraw this image to the best of your ability and then answer the quest"
},
{
"path": "do_now_11.md",
"chars": 753,
"preview": "# Review the coordinate System\n\n\n\n## Answer the following in your notebook\n\n1. What are "
},
{
"path": "do_now_12.md",
"chars": 604,
"preview": "# Tracing and debugging\n\n## In your notebook\n\n1. Define **Code tracing**.\n\n2. Define **Debugging**.\n\n## Putting blocks t"
},
{
"path": "do_now_13.md",
"chars": 863,
"preview": "# Drawing a triangle\n\n## Setup\n\n1. Open this [starter script](https://snap.berkeley.edu/snap/snap.html#present:Username="
},
{
"path": "do_now_14.md",
"chars": 1206,
"preview": "# Example animation\n\n## Follow these steps on your own\n\n1. Open this [starter script](https://snap.berkeley.edu/snap/sna"
},
{
"path": "do_now_15.md",
"chars": 291,
"preview": "# Knock knock joke\n\n1. Write a program where one sprite is telling another a \"knock, knock\" joke. Internet search for on"
},
{
"path": "do_now_152.md",
"chars": 375,
"preview": "# Click event interaction\n\n1. Write a script where one sprite acts as a button and when pressed, it increases the size o"
},
{
"path": "do_now_153.md",
"chars": 670,
"preview": "# Movement interaction\n\n1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=wh"
},
{
"path": "do_now_21.md",
"chars": 839,
"preview": "# Introduction to loops\n\nOpen this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whua"
},
{
"path": "do_now_22.md",
"chars": 426,
"preview": "# Building a staircase\n\n1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrews"
},
{
"path": "do_now_23.md",
"chars": 443,
"preview": "# Stairs\n\n1. Use the following **Repeat** block to draw a square (note: you will have to put a number in place of the bl"
},
{
"path": "do_now_24.md",
"chars": 821,
"preview": "# Debugging\n\n1. Open this [starter project](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&Proje"
},
{
"path": "do_now_25.md",
"chars": 605,
"preview": "# Variables practice\n\n## In your notebook\n\n1. Write an algorithm, in English, for how you would swap the values in two v"
},
{
"path": "do_now_26.md",
"chars": 604,
"preview": "# Bouncing ball\n\n1. Open a new project and change the sprite's costume to a ball.\n\n2. Save your project as _DoNow2.6_\n\n3"
},
{
"path": "do_now_31.md",
"chars": 256,
"preview": "# Guided Tour\n\n## In your notebook\n\nPlan a route, starting at the hotel, so that tourists can visit every tourist attrac"
},
{
"path": "do_now_32.md",
"chars": 589,
"preview": "# Sprite control\n\n1. Open this [starter program](https://snap.berkeley.edu/snap/snap.html#present:Username=andrewspiece&"
},
{
"path": "do_now_33.md",
"chars": 897,
"preview": "# Jumping\n\nOpen this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuangpha&ProjectN"
},
{
"path": "do_now_34.md",
"chars": 763,
"preview": "# Practice using arguments\n\nOpen your _DoNow3.3_ program. In this program, you created a **gravity** block where a sprit"
},
{
"path": "do_now_42.md",
"chars": 356,
"preview": "# Letters of a word\n\n1. Open this [starter project](http://snap.berkeley.edu/snapsource/snap.html#present:Username=whuan"
},
{
"path": "do_now_43.md",
"chars": 234,
"preview": "# Quote of the day\n\n1. Create a list with 10 inspirational quotes. You may use the internet for ideas.\n\n2. Use the item"
},
{
"path": "do_now_44.md",
"chars": 174,
"preview": "# Traversing lists\n\n## In your notebook\n\n1. Describe what it means to _traverse a list_.\n\n2. List 2 different blocks you"
},
{
"path": "do_now_45.md",
"chars": 611,
"preview": "# List tracing\n\nFor each script below, describe what the sprite does when that script is triggered. Number your answers."
},
{
"path": "do_now_46.md",
"chars": 371,
"preview": "# Spaceman\n\nParticipate in a couple of rounds of the game Spaceman with your teacher.\n\n## In your notebook, answer the f"
},
{
"path": "do_now_52.md",
"chars": 709,
"preview": "# Star Wars troopers\n\n1. In Star Wars, what are \"clone troopers\"? Do an internet search to find out and write a sentence"
},
{
"path": "do_now_53.md",
"chars": 841,
"preview": "# Star Wars troopers using cloning\n\n1. In yesterday's do now, we used a script to duplicate 5 Star Wars troopers to marc"
},
{
"path": "docs/.gitignore",
"chars": 18,
"preview": "/.idea/\n/.vscode/\n"
},
{
"path": "docs/CSTA_standards_mapping.md.html",
"chars": 5895,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/Changelog.md.html",
"chars": 15700,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/Country-n-State.txt",
"chars": 2297,
"preview": "District of Columbia\nUnited Arab Emirates\nDominican Republic\nNorth Macedonia\nSolomon Islands\nNorth Carolina\nSouth Caroli"
},
{
"path": "docs/GLOSSARY.md.html",
"chars": 6865,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/Grudgeball.md.html",
"chars": 2497,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/SUMMARY.md.html",
"chars": 8244,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/Video Resources.md.html",
"chars": 935,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/additional_curriculum_resources.md.html",
"chars": 2039,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/appendix-bjc-video-lectures.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/bjc_videosuggestions.md/bjcvideosuggestions.md",
"chars": 14321,
"preview": "# BJC Lecture Suggestions\n\n\n\nDan Garcia of UC Berkeley presents the Beauty and Joy of Computing\n\n## About the Lectures\n\n"
},
{
"path": "docs/book.json",
"chars": 69,
"preview": "{\n \"plugins\": [\n \"mathjax\"\n ],\n \"pluginsConfig\": {}\n}"
},
{
"path": "docs/chapter1.md.html",
"chars": 1065,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/contributing.md.html",
"chars": 3855,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/create-book.cmd",
"chars": 1801,
"preview": "@echo off\nsetlocal\n\nREM -- Create output directory and set up target output file name\nmkdir 2>nul build\nset targetBook=i"
},
{
"path": "docs/culture_day_lesson_a.md.html",
"chars": 5539,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/culture_day_lesson_b.md.html",
"chars": 6218,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/culture_day_lesson_c.md.html",
"chars": 6663,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/culture_day_lesson_d.md.html",
"chars": 7061,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/curriculum_map.md.html",
"chars": 13364,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_04.md.html",
"chars": 1435,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_05.md.html",
"chars": 1356,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_11.md.html",
"chars": 1688,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_12.md.html",
"chars": 1539,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_13.md.html",
"chars": 1785,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_14.md.html",
"chars": 2141,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_15.md.html",
"chars": 1226,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_152.md.html",
"chars": 1310,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_153.md.html",
"chars": 1605,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_21.md.html",
"chars": 1774,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_22.md.html",
"chars": 1361,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_23.md.html",
"chars": 1378,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_24.md.html",
"chars": 1756,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_25.md.html",
"chars": 1540,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_26.md.html",
"chars": 1539,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_31.md.html",
"chars": 1191,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_32.md.html",
"chars": 1524,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_33.md.html",
"chars": 1832,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_34.md.html",
"chars": 1698,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_42.md.html",
"chars": 1291,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_43.md.html",
"chars": 1169,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_44.md.html",
"chars": 1109,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_45.md.html",
"chars": 1546,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_46.md.html",
"chars": 1306,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_52.md.html",
"chars": 1644,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/do_now_53.md.html",
"chars": 1776,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/helping_trios.md.html",
"chars": 3080,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/helping_trios_handout.md.html",
"chars": 1349,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/index.html",
"chars": 15757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_04.md.html",
"chars": 3775,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_05.md.html",
"chars": 2515,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_11.md.html",
"chars": 13732,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_12.md.html",
"chars": 4769,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_13.md.html",
"chars": 3551,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_14.md.html",
"chars": 3962,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_21.md.html",
"chars": 2756,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_22.md.html",
"chars": 2790,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_23.md.html",
"chars": 4161,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_24.md.html",
"chars": 3474,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_25.md.html",
"chars": 3129,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_31.md.html",
"chars": 3334,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_32.md.html",
"chars": 3576,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_33.md.html",
"chars": 3661,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_34.md.html",
"chars": 2634,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_42.md.html",
"chars": 4397,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_43.md.html",
"chars": 3690,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_44.md.html",
"chars": 3177,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_45.md.html",
"chars": 2531,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_51.md.html",
"chars": 6061,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_52.md.html",
"chars": 3714,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_53.md.html",
"chars": 3790,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lab_day_lesson.md.html",
"chars": 4680,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_01.md.html",
"chars": 2220,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_02.md.html",
"chars": 11021,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_03.md.html",
"chars": 6080,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_04.md.html",
"chars": 7423,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_05.md.html",
"chars": 5585,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_11.md.html",
"chars": 6660,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_12.md.html",
"chars": 6706,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_13.md.html",
"chars": 5492,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_14.md.html",
"chars": 6158,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_15.md.html",
"chars": 5918,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_21.html",
"chars": 20964,
"preview": "<!DOCTYPE html><html><head>\n <title>lesson_21</title>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" cont"
},
{
"path": "docs/lesson_21.md.html",
"chars": 6800,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_22.md.html",
"chars": 6313,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_23.md.html",
"chars": 6811,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_24.md.html",
"chars": 6858,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_25.md.html",
"chars": 6482,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_26.md.html",
"chars": 5199,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_31.md.html",
"chars": 4836,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_32.md.html",
"chars": 4874,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_33.md.html",
"chars": 5101,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_34.md.html",
"chars": 5401,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_35.md.html",
"chars": 5977,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_41.md.html",
"chars": 4912,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_42.md.html",
"chars": 5729,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_43.md.html",
"chars": 5354,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_44.md.html",
"chars": 4153,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_45.md.html",
"chars": 4917,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_46.md.html",
"chars": 6093,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_51.md.html",
"chars": 4205,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_52.md.html",
"chars": 4314,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_53.md.html",
"chars": 4957,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_54.md.html",
"chars": 5664,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_61.md.html",
"chars": 7913,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_62.md.html",
"chars": 8687,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_63.md.html",
"chars": 5838,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_64.md.html",
"chars": 6296,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_65.md.html",
"chars": 5633,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/lesson_66.md.html",
"chars": 6095,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/markdeep-footer-tocstyle-none.txt",
"chars": 470,
"preview": "<!-- Markdeep: tocstype set to \"none\" -->\n<style class=\"fallback\">body{visibility:hidden;white-space:pre;font-family:mon"
},
{
"path": "docs/markdeep-footer.txt",
"chars": 287,
"preview": "\n<!-- Markdeep: --><style class=\"fallback\">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script "
},
{
"path": "docs/markdeep-header.txt",
"chars": 648,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/master_vocab.md.html",
"chars": 6842,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/md-to-markdeep.cmd",
"chars": 425,
"preview": "@echo off & setlocal\necho %time%\n\nrobocopy /E .\\ .\\docs /XD %CD%\\docs\ncd .\\docs\n\nset sed=\"C:\\Program Files\\Git\\usr\\bin\\s"
},
{
"path": "docs/project_1.md.html",
"chars": 7353,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_2.md.html",
"chars": 5550,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_2_alternative.md.html",
"chars": 6118,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_3.md.html",
"chars": 13444,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_3_platform_game_easy.md.html",
"chars": 6851,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_4.md.html",
"chars": 8879,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_5.md.html",
"chars": 7944,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/project_6.md.html",
"chars": 8111,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/quiz_1.md.html",
"chars": 1786,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/quiz_2.md.html",
"chars": 1785,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/quiz_3.md.html",
"chars": 1793,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/quiz_4.md.html",
"chars": 1785,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/quiz_5.md.html",
"chars": 1787,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/startercode.md.html",
"chars": 1275,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/student_notes_01.md.html",
"chars": 965,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/student_notes_02.md.html",
"chars": 960,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"styles/curriculum.css\"><meta http-equiv=“Pragma” conte"
},
{
"path": "docs/student_notes_03.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_04.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_11.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_12.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_13.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_14.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_15.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_21.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_22.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_23.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_24.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_25.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_31.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_32.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_33.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_34.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_35.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_41.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_42.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_43.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_44.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_45.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_46.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
},
{
"path": "docs/student_notes_51.md.html",
"chars": 757,
"preview": "<meta charset=\"utf-8\"><link rel=\"stylesheet\" media=\"screen\" href=\"https://tealsk12.github.io/introduction-to-computer-sc"
}
]
// ... and 299 more files (download for full content)
About this extraction
This page contains the full source code of the TEALSK12/introduction-to-computer-science GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 499 files (1.1 MB), approximately 283.6k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.