Pixelated scene: chunky, early-90s computer with integrated music keyboard with moving keys, moving music development blocks on-screen, and two smaller LCD screens with flashing lights and music meter, wired to a microphone and bouncing speaker with animated music notes above. Pixelated scene: chunky, early-90s computer with integrated music keyboard and a flashing cursor on-screen, wired to a microphone and speaker.

I teach computer science lessons where kids learn about technology by making things with technology: coding, game design, robotics, electronics, microcomputers, graphic design, animation, podcasting, music, and more.

Computers are an ideal creative outlet for kids, with unlimited potential (to keep their curiosity burning), plenty of challenge (to keep their boundaries stretching), and forgiveness (+Z).

My lessons are for 3rd–8th graders who want more challenge from their technology learning, homeschoolers, or students whose schools don’t offer technology classes.


“One of my favorite classes is technology because Joe is really fun and loves to laugh. He has cool technology ideas.” — 5th grader

About me (aka Joe)

This is my 12th year as a teacher. I started my career as a graphic designer and later migrated to teaching college-level design classes. That segued into a Master of Design degree from the University of Washington in 2016, where I studied design and technology in classrooms. And I’ve spent the last few (very fun) years teaching elementary & middle school coding and robotics classes.

I love to be creative. I started making stuff with computers in elementary school, and it’s as compelling, weird, and empowering today as it was on those Mac Classics. I’m a technology teacher today because it’s fun to see kids discover that same creative energy in themselves.

Pixelated scene: self-portrait shoulders and head as a floating hologram, wearing sunglasses. Pixelated scene: self-portrait shoulders and head as a floating hologram.

Choose from any of these learning paths

Whether kids are just starting to learn about computer science or have lots of experience, I’ll meet them at their skill level. Choose a path that sounds fun, and I’ll pick creative tools to fit the student. I’m happy to help you choose a path — get in touch!

block coding
Scratch, micro:bit, Code.org
game design / coding
Bitsy, MakeCode Arcade, PICO-8
robotics
LEGO Boost, LEGO Mindstorms
graphic design
logos, posters, t-shirts
animation / cartooning
digital drawing, stop-motion
music production
songs & beats
microcomputers
micro:bit, Raspberry Pi
podcasting
interviewing, editing, production
3D modeling
LEGO Stud.io, Tinkercad
text coding
Python
web development
HTML/CSS, JavaScript
electronic components
breadboards, servos, sensors, buttons
Learning paths Examples of creative toolsGrades 3 4 5 6 7 8
block coding Scratch, micro:bit, Code.org
game design / coding Bitsy, MakeCode Arcade, PICO-8
robotics LEGO Boost, LEGO Mindstorms
graphic design logos, posters, t-shirts
animation / cartooning digital drawing, stop-motion
music production songs & beats
microcomputers micro:bit, Raspberry Pi
podcasting interviewing, editing, production
3D modeling LEGO Stud.io, Tinkercad
text coding Python
web development HTML/CSS, JavaScript
electronic components breadboards, servos, sensors, buttons
Pixelated scene: open laptop with moving game development blocks on-screen, a virtual TV screen floating above with platform gameplay on-screen, and animated game characters jumping and climbing on the devices in the real environment. Pixelated scene: open laptop with a flashing cursor on-screen, wired to a handheld game console, and wireless controller sitting near laptop.

Design + Problem‑solving

I believe wholeheartedly in the design process, which gives kids a proven path to feeling successful. No matter what students are building, we’ll follow these steps to get us there:

  1. setting goals what do I want to make?
  2. getting inspired learning from others
  3. concepting generating lots of ideas
  4. prototyping trying and experimenting
  5. receiving feedback listening to others
  6. iterating applying what I’ve learned

But it’s not all fun and games. Working with technology means (inevitably) running into technical difficulty. In these moments, we’ll reflect on that frustration and try problem-solving strategies: isolate the issue, talk it out, simplify, try something new, take a break — we’re never stuck.

Activities that kids naturally love doing (sports, games, puzzles) are fun because they’re difficult. And with a problem-solving mindset, squashing bugs can be a satisfying adventure all its own.


“I used to hate — like, absolutely hate, coding. But then Joe helped me like it more because he gives you ideas and suggestions. He will also take your ideas and suggestions and try them out.” — 5th grader

Lesson schedule, pricing, and getting started

Basics Lessons are open to students 3rd–8th grade. All classes are taught remotely, and each lesson is 60 minutes. Pricing is flexible.

Schedule The schedule is up to you. We can set a limited number of lessons and complete one awesome project, or kids can create lots of awesome projects in ongoing lessons. Ideally, lessons 1–2 times/week will help kids retain and reinforce what they’re learning.

Materials If we’re working with hands-on hardware (robotics, electronics, microcomputers), you’ll need to purchase your own set. I try to work with free and open-source software, but you may need to purchase an app if a quality free option isn’t available. In every case, I’ll be here to help you find the right versions.

Getting started When you’re ready to start, send me an email. I can help you pick a learning path, and we can find a schedule that works for your family. Before our first lesson, students and I will meet remotely for a few minutes to brainstorm their first project, so I can start planning.

Ready to schedule? Questions? — email me!
Pixelated scene: humanoid robot tossing a virtual miniature basketball into a virtual basketball hoop, wireless remote controller sitting nearby with animated lever and button. Pixelated scene: humanoid robot holding a virtual miniature basketball, wireless remote controller sitting nearby.

Kid-centered lessons

When we want to build something, and we don’t (yet) know how: our drive to learn comes naturally — and with kids, ferociously.

So my teaching is propelled by students’ creative goals. With some cooperative brainstorming, kids pick projects they’re excited to make. Each time we meet, students practice new technology concepts and upgrade their project with the techniques they’ve learned.

Every lesson is designed uniquely for each student. I plan lessons around kids’ current skills and learning needs. As often as possible, I want kids to feel successful, challenged, and always making progress at their own speed.