Intro
- Who this book is for
- How to read this book
Chapter One: Preparing Yourself
- Gaining Content Knowledge
- What do you do if you are not a programmer?
- What to do if you are a programmer?
- What I wish someone had said to me
- It’s okay to fail
- You will not reach everyone
- Bad Lessons Happen
- Listen to your students
Chapter Two: Curriculum Planning
- Grade Level Differentiation
- Breaking up the class
- Background knowledge
- Differing assignments
- Content
- Language
- Relatability
- Fun-ness
- Getting Started
- Use a book
- Read everything
- Pick and choose
- Ending the class
- Reflection
- Modification
- Punctuality
Chapter Three: Classroom Structure & Management
- Physical Structure
- Configuration One
- Configuration Two
- Lesson Structure
- Plan for the Day
- Recall & Review
- Meat
- Recap
- Q&A
- Classroom Management
- Democracy vs Dictatorship
- Handling Different Types of Students
- Always have a question
- Always have a comment
- Know-it-alls
- Never-talkers
- Extraneous Activity
Chapter Four: Teaching the Class
- Explanations
- Multiple Viewpoints
- Illustrations
- Verbal
- Physical
- Demonstrations
- On the Board
- Code-along
- Helping Students
- In Class
- One-on-one
- Walkthrough
Chapter Five: Assignments & Projects
- Project-based Learning
- Schools of Thought
- Academic
- Practical
- Fun
Chapter Six: Grading
- What to Grade
- Beginning Programmers
- Intermediate Programmers
- Advanced Programmers
- How to grade
- Checklists
- Scales
- Critique
Chapter Seven: Final Thoughts
Appendix A: Curriculum Guides
- Level 1 - Young Beginners
- Scratch
- Level 2 - Older Beginners
- Python
- Level 3 - Intermediate Programmers
- Video Games
- JavaScript and Web
- Level 4 - Advanced Programmers
- iPhone Development
- Computer Science Discoveries
Appendix B: Sample Lesson and Assignment
- Lesson: If, If/Else, and If/Elif
- Assignment: Rock, Paper Scissors