This 8 week course is designed for students ages 7 to 12 who have no prior coding experience. Each week will consist of a personalized, one-hour lesson and a few independent practice exercises to reinforce the concepts discussed in class. Over the course of these 8 weeks, we will start with the basics — how to run your first line of code — and progress to writing functions and developing a game. Students will use JavaScript for all lessons, but concepts will be presented in a language-agnostic way. By the end of the course students should have the skills required to independently build a simple, personalized game. But learning to code is so much more than just memorizing the syntax. In addition to discussing the fundamental concepts in a robust way, students will be encouraged to develop good thinking habits, like: precise communication, asking questions, running experiments to answer those questions, weighing tradeoffs, and clearly identifying unknowns. These skills, often introduced much later in life, will help students build a foundation for a lifetime of effective learning, thinking, and questioning. I've outlined a rough schedule for the course, but because the lessons are 1:1, we may deviate slightly from this plan to move at exactly the right pace for each student. Week 1: What is coding? What will you build? - Discuss: What is coding? What can you do with coding? What will you learn in this course? - Robot Instructions: Practice precise communication by telling a “robot” how to perform simple tasks - Variables: What is a variable? How to make a new one - Simple Data Types: Numbers and Strings - Practice Exercises: Reading and writing robot instructions, Variables about you Week 2: How to Read Code, Functions - How to change and use variables - How to read and simplify code like a computer - What are Functions? - Practice Exercises: Reading Code Like a Computer, Practice with Functions Week 3: Boolean Logic - Boolean Values: True or False - Boolean Questions: ===, are these items equal? - What are If Statements? - Practice Exercises: When to Use Boolean Values, Practice with If Statements Week 4: Loops - More Boolean Questions: >, < - What are While Loops? - Practice Exercises: Practice with Boolean Operators, Practice with While Loops Week 5: Arrays - What are Arrays? How can you use them? - Guided Experimentation: Length, Push, Pop, Access-by-Index - What do these do? - Practice Exercises: Array Method Review. Practice with Arrays Week 6: Combining Arrays and Loops - Practice reading more complicated functions that use arrays and loops - How could you use a loop to build up a long array of numbers? - Time to plan and focus on game project - Practice Exercises: Reading and Writing Functions Week 7: Problem Solving Practice - Apply the tools you’ve learned so far to open-ended problems and puzzles - Time to work on game - Practice Exercises: Reading and Writing Functions Week 8: Review, Game Wrap Up, Next Steps - Review of everything we’ve covered so far - Time to work on game - Next Steps: How to keep working on your game, Other classes, Review sheet
- Present coding as something doable, usable, and fun.
- Introduce students to foundational coding concepts in a robust, language-agnostic way.
- Give students the tools needed to work independently on a game of their own design.
- Encourage good thinking habits and basic problem solving skills (such as: asking questions, running experiments, precise communication, identifying unknowns, and planning solutions)
I studied Statistics and Computer Science at Harvard University before working at Uber and Square as a software engineer for over 4 years. Last year, I shifted my focus to teaching because I wanted to help kids develop the thinking skills and confidence that I wish I’d had sooner.
I can still clearly remember taking my first computer science class and feeling convinced that it was too hard for me. At 18, I was pretty good at carrying out formulaic solutions, but I had almost no experience actually generating them. So when I encountered more open-ended problems in computer science, I found them extremely intimidating and discouraging.
Systematically approaching and deconstructing hard problems makes them much less stressful and more interesting, but this process is very different from what’s typically taught in school. Eventually, I developed this skill and applied it to the classes (and later, a career) that I’d once thought were too hard for me. But I really wish I’d started that process sooner.
My classes will introduce kids to coding, logic, and problem-solving. Because the best learning happens when the topic is fun and usable, students will apply these concepts to a game that they get to design, plan, and build.
20 total ratings, 10 with reviews
Lily is a fantastic teacher! My 12-year-old daughter has learned so much...
Fantastic class! My 11-year-old daughter learned so much in this class....
My 7yo son took this class and absolutely loved it - he really wanted to...