Description
This weekend I had the opportunity to speak at DojoCon. Having a chance to see the progress of dojos started both before and after ours, it's clear there is a lot we could be doing to make our dojo way more awesome.
Most of the things I see our dojo lacking can mostly be attributed to my reluctance to be social with other dojos (antisocial GitHub dojo, lol) and lack of planning and “leadership” up to this point. There is also a ton more information about running a dojo than there was when we started. Now that we've got a pretty good group of mentors, I think we're less in need of leadership and more just in need of a direction.
In an effort to create action rather than suggest it, I'd like to brain dump an approximate plan of things we can improve over the next year, taken mostly from what I observed at the conference.
RTFM
CoderDojo stores most of its knowledge in Kata. It'll be worthwhile for me primarily, but also anyone else in the overall health/future of our dojo to read through it, at least as far as standards and practices go.
Focus on the kids
Seems obvious, but we're doing a lot of teaching (what we want) and not a lot of mentoring (what they want). We've always been open to letting the kids do their own thing, but we haven't put any work into actively encouraging it.
Topic requests
We should ask the kids if there is anything they want to learn about. This is probably as simple as asking for suggestions at the end of a lesson.
Individual projects
We should openly encourage the kids to bring in their own projects. This could mean long lessons made of multiple sessions. Maybe we just tell them that they're welcome to bring in things they're working on outside of the dojo.
Progress evaluation
This one is kid of nebulous. How are the kids progressing? Are they progressing at all? On our side it's mostly anecdotal information to decide how we want to evaluate it.
Some of the dojos have a system of belts (special wristband flash drives) that represent proficiency in certain topics. Considering GitHub will likely be willing to pay for the belts I think this might be worth working into our dojo. There are some predefined proficiency standards we could follow, so it should be fairly easy to implement if we adjust our curriculum in such a way as to teach the topics.
Show and tell
If we give the kids a chance to do their own projects, we should give them a chance to show them off. Other dojos generally announce a half an hour or so before the end of the lesson that show-and-tell time will begin soon. Then the kids line up at the projector, plug in, and take 20-30 seconds to demo/describe what they've done.
Our current format doesn't lend itself well to this since they mostly do the same thing, so we'd need to work branching out/doing their own thing more into the lesson plans. Other dojos usually doing this by making their sessions ½ lesson, ½ personal work.
Kids as mentors
We should encourage students that get things figured out early to help each other.
Multi-week sessions
One of the dojos mentioned that they operate in 6 week blocks. I kind of like the notion that we could have volunteers commit to certain tasks for specified amounts of time. That way we have accountable people and they aren't committed forever. I also like the idea of distributing tickets for 6 week blocks for lessons that progress. Then we only have to do one round of tickets per block.
This would require planning/announcing tickets ahead of time, but I think it could be worth it to lower our admin overhead and improve our ability to progress kids through lessons. Some of the lessons could even be guided study, letting them take their projects in their own directions.
This also requires some evaluation of our every-other-week format. Perhaps we change things up where it's six weeks with a session every saturday, then six weeks off to give the mentors a break and plan the next block.
Earlier, longer sessions
I've begun to dislike our current 12-2 format. It's after lunch time and ends up killing an entire day for the mentors that show up early and leave late. I'd kind of like to move our seasons earlier to 10am or maybe even 9am.
If we were to implement the half-and-half type lessons mentioned earlier, it would be beneficial to make the sessions a bit longer, perhaps for 3 hours. That could be an hour of lesson, 15-30 minutes for a break, then the rest of the time for personal exploration of the lesson.
Special guests
We should have cool people come to our sessions
Career mentors
Imagine if the last session of a 6-week block about manipulating the Twitter API ended with the guys from Tweetbot coming in to talk about how they went from learning basic http requests to writing popular apps? What if a session about PHP ended with the Wordpress guys talking about how they went from learning PHP to writing Wordpress. It'd be awesome to bring in people to talk about how they use the stuff the kids are learning every day to do cool things.
Teachers and topics
What if the guys from Lytro came and taught a session about photography. Or if Notch taught a session about Mindcraft modding. Let's try to get people or companies to come teach special topic sessions and talk about what they do. I bet there are companies that would be totally down to do a six week block if we took care of all the organizing stuff so all they had to do is write the lesson/teach.
Beginner/Advanced classes
This is one that would have to happen after GitHub moves to its new office, but it'd be great to split things up into multiple tracks. There are a couple ways we could go about it.
- We run simultaneous multi-session blocks, one easy beginner type stuff and one with more complex stuff. Think basic html vs leveraging a public API for a html page.
- We run a single multi-session block. People show up part way through or miss a session can come in and follow our online lessons to catch up and join he main group.
Parental involvement
If we move to the session-block model we could recruit parents to help out for specified blocks of time to help the dojo out.
Social media
I hate social media (which means I don't really do it), but it's the place that a lot of people like to get their information. Right now we only publish ticket links to Google Groups and Twitter. I imagine there's a large contingent that wishes they could be notified via Facebook. Most dojos have busy Twitter feed but we (I) only ever update ours with tickets. This would be a great place to have parents help out.
Mentors
Nearly every parent that comes to our dojo is involved in tech. Not all are tech savvy, but some of them are. We should try to get them to volunteer. They're there anyway so why not?
CoderDojo Networking
This is one of the major areas I've failed at in regards to our dojo. I'd love to be more connected with the US and specifically west coast dojos.
Decide what networking means
At GitHub most ideas will quickly be forgotten if the suggester doesn't have a proof of concept or get someone to start building it for them. I tend to back burner emails from dojos that suggest we "connect" but don't suggest what that means or to what end. This has basically ended up with us being antisocial.
In an effort to better connect with other dojos and also avoid the time wasted of ambiguous inter-dojo meetings I'd like to put together some sort of notion of what is hoped to be accomplished by networking. That way when we get "we should work together" emails we can guide the process and make sure it's beneficial to everyone involved.
Wrap up
Now that I've dumped a huge list of ideas here, I'd like to suggest a roadmap.
Move to session blocks rather than one-off sessions
This involves a six week hiatus in which we work behind the scenes preparing for six sessions
Let's do one more session, then take 6 weeks off. At this session we ask the kids what they're interested in learning to get an idea of what focus on. After the session we get together, go over the kids responses, and pick a topic for our first six week session block. Based on the topic, we should also pick out some potential target career mentors to try to bring in.
During the following six weeks we put together lessons for four half-and-half teaching lessons, one open study lesson, and then one wrap-up/career mentor lesson. With a good game plan we could probably each do one lesson, get them built in the first couple weeks, which will give us some time to go over/debug them.
In the mean time, we can try to recruit some parents to help out with the social stuff and possibly recruit them as mentors for the session block since we'll have a topic we can tell them ahead of time. This will also help us have mentors we can rotate through since six consecutive weeks is a big commitment for any of us to do.
Since we'll probably end up doing something like html, which means many of our repeat kids will already know the topic, in the early sessions we can encourage them to work on customizing/designing that week's completed demo (which we'll supply). It could also be a good time to encourage them to pick a topic or a project to work toward since we'll tell them what it is we'll be doing for the whole six weeks. For example, we tell them we'll spend the time learning html so we can manipulate the Twitter API, they can start planing that they want to write a Twitter widget for their webpage.
This would also be a great opportunity to encourage the advanced kids to mentor the rest.
Networking plan
Have by the end of summer
I'd like to get a basic guideline for connecting with other dojos. This sounds silly being formally defined, but I'd love something that we use when a dojo contacts us without any clear goal as to what they're looking for.