Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DojoConf Debrief, Gameplan for the next six months #5

Open
cameronmcefee opened this issue Apr 16, 2013 · 19 comments
Open

DojoConf Debrief, Gameplan for the next six months #5

cameronmcefee opened this issue Apr 16, 2013 · 19 comments

Comments

@cameronmcefee
Copy link

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.

  1. 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.
  2. 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.

@donjo
Copy link
Member

donjo commented Apr 16, 2013

@cameronmcefee Thanks for typing all of this up... and flying to the other side of the world!

Before I dig in to the plan for the future, a quick question.

Did any of the Dojos who use a very open "work on what you'd like to work on" type format talk about what happens when a kid comes in who has never seen a piece of computer code before in his or her life? Do they have them go through intro exercises? Is a mentor sitting with them for the whole time? Not every kid is a self-starter and I worry that they won't even have a sense of what they could be making.

@brntbeer
Copy link
Member

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.

👍, this sounds awesome actually.

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.

YES

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.

In this situation for an advance class, would we be building from the ground up or have some basic starter of an app? Thinking sinatra/rails so the kids have a starting point...but i dunno. php may end up being the easiest here, thoughts?

I like where we're heading (the next steps especially!) and I'm incredibly happy about your going to DojoConf to get things squared and back on track.

@kristjan
Copy link
Member

On Tue, Apr 16, 2013 at 7:36 AM, Brent Beer [email protected]:

In this situation for an advance class, would we be building from the
ground up or have some basic starter of an app? Thinking sinatra/rails so
the kids have a starting point...but i dunno. php may end up being the
easiest here, thoughts?

I'd advocate Sinatra as the most straightforward DSL to learn on,
especially with Foreman or Shotgun (forked and renamed Squirtgun...) to
start everything up.

Since they've been into JavaScript too, Node.js could be an option, but the
libraries are still pretty close to the metal and we might run them into
callback hell.

@cameronmcefee
Copy link
Author

Did any of the Dojos who use a very open "work on what you'd like to work on" type format talk about what happens when a kid comes in who has never seen a piece of computer code before in his or her life?

Unfortunately I didn't catch any solutions for this problem. Perhaps we think about having one or two mentors doing one-off noob sessions each week that are basically just the same beginner lesson over and over. If no one shows up for the noob lesson, then those mentors just hang out with the main group.

@kristjan, @brntbeer I could see giving a running app to the advanced kids. We could do a "build an app" class, but we could also do classes where you get a basic running app on day one so that you spend all your time doing the interesting stuff, not the bootstrapping.

@cameronmcefee
Copy link
Author

The noob sessions would also be a great way to phase in new teachers when we have them. the group will be smaller and the topic will basically already be written.

@donjo
Copy link
Member

donjo commented Apr 16, 2013

@cameronmcefee I like the noob session idea a lot, especially in the new space where we would presumably have room to break off. I'll have to dig through some of our old lessons to see what might work best for that kind of thing. I'm thinking probably a javascript lesson that can be done in-browser.

@cameronmcefee
Copy link
Author

Yeah, we could even take some queues from code academy or something along those lines. I wouldn't want to have them just follow it since that's pretty boring and lacks human interaction, but it'd be a good starting place.

@brntbeer
Copy link
Member

@donjo yeah, javascript stuff works really well for noob things =)

@KartikTalwar
Copy link
Member

@cameronmcefee :

  • Letting kids do their own thing and get help for it, I believe needs to be one of the top priorities. We won't always be able to get all students on the same page, every session so there needs to be a window for that freedom. The same goes for their personal projects
  • The belt idea sounds nice. Do think that there should be some sort of incentive for the kids. This might come in handy for the 6 week sessions
  • Show and tell would come into play in conjunction to the aforementioned
  • Multiweek sessions sound like a better way do manage the teachings
    • Definitely in favor or having a lesson every saturday
    • 3 hr session (9-12?) with a 30 min break -> yes!
    • Also in favor of having the session start between 9-10 AM
    • 6 weeks off to plan the next block sounds too much imo..
  • w.r.t. other speakers and companies we can most definitely do that and even if they don't want to teach, we can have the lesson be 2 hrs and they get the rest of the session to do their own thing where guests can showcase their stuff or teach micro lessons or kids can just do personal projects or something
  • Advanced classes: Although that would mainly depend on the number of students wanting to get involved, even if it doesn't work out that well, we can, for a short amount of time, treat that as a 1-on-1 sort of mentoring (aka a third way).
    • So, the advanced learner picks a topic and if it's self driven (api classes on codeacademy or python or ruby), they do it there, by themselves, and ask for help from one of us when stuck (this might be haphazard but would work).
    • The mentors then can help out beginners with the normal session and when the advanced learner is stuck, teach them on one on one basis
    • This is based on the assumption that there won't be a lot of advanced learners so the mentor to student ratio would work out very well
  • Getting parents involved does sound like a good idea and so far I've notice that this already happens. Usually the tech savvy parent is helping the people they are sitting next to and that's where it ends. I guess we just need to let them know that they are free to stand up, roam around and help anyone.
  • Comments on wrap up:
    • See previous comment on time off
    • I'm in favor of the lesson planning strategy in the 3nd paragraph
    • Gradually moving to advanced topics sounds good
    • Networking plan: I think if we record a video of one of the sessions, this would help out a lot in answering mostly all faqs

@brntbeer :

  • I think it can be a combination of both, we can do some things from scratch (using apis) and/or have a fix 'broken' code style lesson where the advanced learners will learn new concepts which will help them arrive at a final working code or something
  • Using PHP will be a million times easier (in terms of usage, understanding and setup on all platforms) but I'm gonna have to say sinatra because codeacademy has sinatra lessons which they can do as homework or something

I'm liking the comments on noob sesions and would prefer to stick with js for them

Lastly, as an example from the last session, one kid wanted to leave because the lesson was going too slow for him. I told him that if you think this is easy or boring, you don't have to stick with whats going on up there. Pointed him to codeacademy and he was learning advanced js for the 2nd half of the session. I said you are free to pursue this and ask questions if you get stuck and he was actually really happy and thanked me for telling him to do that. This is what I mean by haphazard way of doing the advanced version but I say that because only very few kids will be doing this (at least initially).

I'm liking this discussion 😄

@cameronmcefee
Copy link
Author

6 weeks off to plan the next block sounds too much imo

I mostly was just trying to give the mentors a break. Six consecutive weekends is kind of tough, especially for mentors with significant others that want their company. Maybe we shorten it to 3-4 weeks.

@KartikTalwar
Copy link
Member

That makes sense. You do a block session and just take a month off kinda thing

@kneath
Copy link
Member

kneath commented Apr 19, 2013

Love all of this. I'm gonna let this simmer and see where I can play into this.

@brntbeer
Copy link
Member

Awesome. Thanks @KartikTalwar

@marcyDel
Copy link

Hey everyone. I'm co-running the Silicon Valley CoderDojo in Mountain View. I was also at DojoCon and spoke briefly with Cameron about dojo formats and coordination, etc. I also attended his session on "Better Together", and realize I have a lot to learn about what GitHub does and how to use it.. I think Cameron outlined a great plan to consider and work towards! Here are a few things I'd like to add to this awesome discussion

  1. Local website - Need one. Working on one. A place to find out what's happening in the area. One registration point for participants and mentors. Shared info between near-by dojos and links to coderdojo
  2. On-line learning - I have two classes and teachers from Skillshare willing to give CoderDojo free access to some highly interactive and interesting material. This format could be great for "down times". Also good for those that can't make all, the or any, of the sessions. Could be a resource for those who want to go further. Would love to prototype with multiple dojos over the summer!
  3. Registration and tracking - Eventbrite is not optimized for what CoderDojo does. Need way to track participants and progress if we ever want to get to badging and/or access to kid mentors.
  4. Beginners - Dojos I spoke with at DojoCon said they used multiple classrooms to handle beginners. They have a set "intro class", sometimes use kids mentors, and typically focus on Scratch and HTML only.

Would like to have a brief coordination meeting with y'all sometime, so we can get to know what each other is doing and offer help where it makes sense. I think we can be more organized, without necessarily feeling like an Organization. Still doing what works for each dojo and it's resources, while also trying to reduce redundancy and optimize the tools we can all use.

I would really like to work together and start by getting dojos on the West Coast communicating and sharing. I'm willing to put in a lot of time to get things going. Looking for feedback and ideas!

Marcy

Read more if you have the time...I wrote all this kinda fast, so excuse any typos and please ask, if you need more clarification.

Website:
Irish Innovation Center in San Jose, wants to open a dojo and encourage others to do the same in the area. Because the Bay Area is so densely populated many kids, and even mentors, may "dojo hop". Google groups seem inefficient for registering and communicating with the local dojo community. Websites allow a one-time push and storage point for information which participants and new members can access when needed.

We are working on a general "Silicon Valley CoderDojos" website that would have general info about dojos in the Bay Area. Dojo-specfic pages, maintained by each dojo, would contain unique content, format and schedule information.

We are using Wordpress, because other dojos like NY and LA, for example, have used the same. We also have resources who know Wordpress, can copy the template, and keep things simple to get started. I think of it as a starting point and working prototype, for something more interesting i the future. Kinda waiting to see if main dojo website gets going. In the meantime local website could be very beneficial to us all.

On-line learning:
My son and I took an awesome Unity and HTML class through Skillshare. The classes are project-based, interesting, have "live" video of the teacher, and great examples. The power of these classes is the ability for the students to upload their projects and see what others are doing, get ideas and try new things. If you pair a real-time meet-up (at a local CoderDojo) after a participant has taken the on-line class, kids can come prepared to share their projects and learn from each other. If the "classrooms" are kept to dojo-specific attendees and parents sign-up the kids for the class, I think we are compliant with COPA, etc. Need to verify of course.

I have contacted both teachers and they are willing to give us a modified version of the class material. That is, add a CoderDojo welcome message, take out Skillshare specific content, etc.

Ideally, I'd like to contact Skillshare and have them provide a CoderDojo classroom areas. However the HTML teacher said he could easily recreate a CoderDojo access area with passwords etc. So we could consider this as well. Perhaps Github also has a way to support this type of thing? Teachers are waiting and we just need to tell them what we need and how participants should access the material.

If you haven't tried Unity it is an amazing tool. It's a monster and needs some time to adsorb before you can feel really confident with it. Unity uses a Unity Scripting Language, similar to JavaScript. Kids can get great looking games in a short amount of time. PlayMaker, has also agreed to give us free licenses for their Finite State Machine development tool. This tool makes the initial development easier and can bridge learning into the scripting language.

Also, Tynker, a Scratch inspired, HTML5-based programming tool, with built-in tutorials, has said thy would support CoderDojo in some way. We had our last two sessions on Tynker and the kids loved it. Perhaps we could do a similar online learning "event" , followed by real-time classroom project time?

Registration and tracking:
Eventbrite needs to be replaced with something more flexible, database-centric, and can support recurring events that sign up "families", etc. So much more to say here, but need to go now.

@cameronmcefee
Copy link
Author

Something I left out of my original idea, but Bill Liao suggested csunplugged.org after hearing the portion of my talk outlining how we do our physical demos. This site seems like it's a great resource for similar demos.

@cameronmcefee
Copy link
Author

@marcyDel Great thoughts.

Local website - Need one. Working on one. A place to find out what's happening in the area. One registration point for participants and mentors. Shared info between near-by dojos and links to coderdojo

I like the sound of this notion but I feel that we could focus these things a little bit better into two separat ideas:

  1. Location finding and connectivity. Ideally the main CoderDojo site ought to handle this kind of thing since it's more of an organizational level concept. "I'd like to find a dojo in my area" "I'd like to find similar dojos in my area". This seems like something we should work together with the organization to improve.
  2. Registration for participants and mentors. This I feel ought to be handled at the singular dojo level since the demands change significantly. Having some sort of customizable site that each dojo can deploy and tailor to their needs would be awesome. We're in the progress of prototyping one that we'll run our dojo from for a while and eventually try to encourage other dojos to adopt once we see if it works.

On-line learning - I have two classes and teachers from Skillshare willing to give CoderDojo free access to some highly interactive and interesting material. This format could be great for "down times".

I definitely like this. Having people like skillshare and whatnot doing CoderDojo flavored lessons would be awesome, but even just having a collection of links to places like http://www.code.org and http://www.codecademy.com/ would be great. Kata already includes a bunch of resources like this, so I think the next logical step would be for us to start directing more attention in that direction. Kata also is an imperfect resource that sounds like it will be undergoing some changes soon.

Registration and tracking - Eventbrite is not optimized for what CoderDojo does. Need way to track participants and progress if we ever want to get to badging and/or access to kid mentors.

Agreed, we need to 🔥 Eventbrite. The dojo app we're prototyping will handle registration stuff at the per-dojo level. In the mean time, I'd love to get some specific feedback about what you think the app should do/how it should do it. We've got our current plan, but we'd love to get some other perspectives from dojos that work differently from ours.

@marcyDel
Copy link

@cameronmcefee ...regarding local community website

I like the sound of this notion but I feel that we could focus these things a little bit better into two separat ideas:

Location finding and connectivity. Ideally the main CoderDojo site ought to handle this kind of thing since it's more >of an organizational level concept. "I'd like to find a dojo in my area" "I'd like to find similar dojos in my area". This >seems like something we should work together with the organization to improve.

Registration for participants and mentors. This I feel ought to be handled at the singular dojo level since the >demands change significantly. Having some sort of customizable site that each dojo can deploy and tailor to their >needs would be awesome. We're in the progress of prototyping one that we'll run our dojo from for a while and >eventually try to encourage other dojos to adopt once we see if it works.

Cameron, I totally agree that CoderDojo should be the focal point which leads people to find dojos in their area. Working together to help refine these links is definitely needed.

I also think there will be a strong need for a local community focal point as well, once participants start attending sessions. So many parents and kids want to get together and do things in the area, after dojo sessions. They want to find other places their kids can meet-up and join in activities together. If there is one web point that summarizes the dojo events in the area, I think it helps the local community, and reduces redundancy. All dojos still maintaining individual info, but all info in one place for the local members. I can't wait to see what you develop regarding a website template That sounds amazing!

Regarding registration, there is registration as in "join" and there is registration as in "attend event". Many people may "join", but not all will attend sessions. The definition and creation of member databases, is a tricky monster, and can get really difficult to manage/update over time. One database of "Members", (mentors, kids, parents, parent mentors, kid mentors, speakers, parent speakers, kid speakers, etc., etc.), in the local area could be really powerful and make things easier for everyone to sign up, get information, and track progress. The idea would be that you only sign up once, but opt in to the things you want to do and the info you want to receive. It's the profile model, where the member is in charge of selecting and modifying what they want people to see and what info they receive. For example, a member could choose to get event announcements from only one dojo or from multiple dojos. They could also opt out of all email announcements and just check the TBD website for calendar and event information.

Of course, each dojo would have their select set of mentors and would need to have forums specific to content development, etc. for their individual dojo events. That's an entirely different thing and needs a dojo-specific focus.

This single database model could also help with tracking kid's progress. Especially if a child attends multiple events or dojos. I'd love to see each kid have a "my dojo" page, where their badges, progress and projects are available. This is the big "portfolio" idea...which is only a pipe dream right now...but setting up the database to support this kind of thing is something to consider, both locally and at the CoderDojo level.

Would be happy to help with any registration or database development ideas. This is what I did a lot of in my working years. I have some pain points and success stories when it comes to these projects, from the point of view of the "customer", i.e. the "members" view point.

@brntbeer
Copy link
Member

I love hearing all the feedback about these projects. Good to know we all have similar goals.

That being said, I think a lot of this stuff will start to go away as we slowly chip away at it with the dojo app we're working on. Would our event-app just be events, and then later we work on https://github.com/CoderDojo/Zen to help make the "local website" easier?

@tomfaulhaber
Copy link

Wow! This sounds like a great set of goals.

Let me add one thing (from a parent's point of view) that may be implicit in the above but maybe should be more explicit: one of the key goals of the CoderDojo should be to get the kids interacting with one another and sharing ideas among themselves. I think a lot of the kids (Tommy is definitely in this boat) are at schools where their interest in tech is not widely shared and helping them get to know other kids who are interested in tech will increase their own interest and make them feel that that is something more socially valued.

As far as parents mentoring, I think that's a great idea and I'm happy to help out there. One thing that is valuable from my perspective is that our kids get a chance to be mentored by someone other than their own parent. (Actually, I think a great thing about the Dojo is that a lot of the mentors are in a different "life place" than the families and it's a chance for both the kids and the mentors to bridge the divide that definitely exists in our culture.) So a nice thing might be to give parents who join up a more assigned role where maybe they are working with kids other than their own.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants