DEV Community


Discussion on: Code Camp Curriculum

heyitry profile image

The most important thing to remember is why your learners are interested in programming. What do they hope to produce? From watching movies and shows, I thought a programmer could typically do any of the following:

  • create or modify recorded sound
  • build 3D or other interactive models
  • create games
  • control robots
  • communicate with another device over a network or data cable

A 'code camp' probably won't allow you to cover all of these in-depth, but for each student you'll probably find a different reason they want to learn to code -- several, since few will have just one interest. A student who is interested in graphics may also be interested in audio. Find where these overlap, and you'll know what to cover. Single-session lessons will work well since the students are looking for breadth. Provide resource suggestions for those who want more depth. Five days is not a lot of time, but covering one aspect well for a day will help ignite that spark. Make your curriculum broad, but with a central theme, e.g. "How do we get X from a computer using code?"

JavaScript and Python are great languages for working with the Pi, since they will transfer to a laptop or desktop or server fairly easily, and allow for cross-device uses such as viewing web code on a mobile browser, and communicating with the server through websockets. At that age range, I would bear Scratch in mind for those who are less familiar with concepts such as syntax, loops, and functions. Also consider something like SonicPi for audio. You don't have to teach music theory or run Adobe software, but think about what a student might like to create or do.

Remember what you thought when you realized this device in front of you made of silicon and attached to a screen, keyboard and mouse could do just about anything. What ideas popped into your head? Now realize the Pi makes a lot of those more accessible, plus gives you direct electronics control through the pins, and open source libraries give you access to more and higher-quality graphics, sound, networking, etc. with less effort than before.

It sounds like you're thinking well ahead, so I think you'll do great. Keep an eye out for where you can expand to meet a learner's desired topics and please post about your experience! I'd love to hear what success you have, as well as what challenges you meet.