CoderDojoGitHub / our-dojo

Our dojo's website, used for archiving lesson plans and signing up students for classes
http://coderdojosf.com
5 stars 4 forks source link

My Vision #19

Closed jonmagic closed 10 years ago

jonmagic commented 11 years ago

My vision for this application can be best summed up by looking at the intended audiences.

  1. Parents and children that have heard of CoderDojo but don't know exactly what it is or how to get involved.
  2. Parents and children that know and are involved in CoderDojo.
  3. Organizers and teachers actively participating in CoderDojo.

    Introduce CoderDojo

The first group needs an introduction to CoderDojo, our mission, and how to get involved. This could be as simple as an introductary paragraph and a form to signup for the next class. Signing up for a class should inform the parent about the pre-reqs, a laptop, basic applications installed, etc.

Ideally we would also present past classes, the lesson plan, links to the repository on GitHub and any other resources, and possibly even video of the class being taught.

Stay Involved

The second group is here to stay involved. Signing up for the next class, viewing a lesson they missed in order to get caught up, or looking for other resources to continue learning.

Besides signing up for individual classes it might be nice to have a newsletter or some kind of list that parents can sign up for to be notified of all upcoming classes.

Automate Management

Organizers need a tool to manage events and signups. Anything that can be automated should be in order to keep the focus on teaching and mentoring (the fun stuff!).

In addition to a tool for creating a lesson file, there should be metrics around events, signups, and anything else we can measure.

Conclusion

The functionality for what I have outlined above is all there with the exception of metrics and an upcoming event newsletter.

The biggest part that I haven't explored is how much of the lesson to present in this application vs directly on github.com. Would it be useful to render the README directly on lesson pages in this application? Should it only include the title and description and then link to the README on github.com?

What am I missing in this vision? This issue is meant to be a higher level view of what I set out to accomplish in order to help a designer catch, share, and make the vision their own.

jonmagic commented 11 years ago

/cc @nrrrdcore @cameronmcefee

nrrrdcore commented 11 years ago

Thanks for getting this started! Most of this seems to be pretty straightforward.

viewing a lesson they missed in order to get caught up

This is the bit I think I need a little more clarification on before I tackle the UI. Here's a few things that would help me better understand your vision:

:ghost:

jonmagic commented 11 years ago

What is the flow for a lesson? Is it just a one page view with an ordered list of steps?

I think it is either the README from the lesson repository (which has an ordered list of steps) or just the title and description and links to the lesson on GitHub. Not sure which? /cc @cameronmcefee

Here is a great example of a lesson repository. The authors/teachers are maintaining these in repositories on GitHub.

This application automatically imports these lessons by looking at their lesson.json file. Currently we are not importing the README.md, but we could.

NOTE: Up until the most recent lesson there was one lesson per repository. Looks like we'll be changing that though.

What type of assets will accompany a lesson? Is there a download? Is it a series of links to resources elsewhere?

Whatever supporting files the author includes in the repository.

Can people upload their projects? Are there comments? What are the community aspects of learning we're trying to promote and encourage with lessons?

I haven't thought about comments, or the ability for a student to share their work when they are done. This is definitely something that could be explored.

How do we encourage feedback on the lessons?

Hadn't thought about this either. I guess I assumed it would be via issues on the lesson repository? Could we link folks to the issues page for the lesson, or better yet to the CONTRIBUTING.md? Not sure I'm ready to build feedback features into this application, so using existing workflows would be helpful.

Where do we encourage people to upload their own lesson?

Historically it has been the teachers creating lessons and adding them as repositories to the CoderDojoSF organization on GitHub. Again, haven't thought outside the box on this one.

cameronmcefee commented 11 years ago

My hope is to run as much as possible through GitHub. The idea here is to reduce the admin junk. When a teacher creates the lesson, they just generate a lesson.json file in their repo and the app does the rest. Not only that, if this becomes a standard, then Kata could potentially index the lesson, as well as anyone else's apps if they're designed to do so. This mostly pertains to lesson specific stuff, while the event/schedule stuff will be done from the app.

I think it is either the README from the lesson repository (which has an ordered list of steps) or just the title and description and links to the lesson on GitHub. Not sure which? /cc @cameronmcefee

My vote on this is that I'd love this place be where kids view the lesson. I'd rather not put them on GitHub if they're in the learning stage. There's so much stuff on GitHub that has nothing to do with the lesson to distract them. Basically coderdojosf.com or coderdojosf.com/mylesson is where they kids will go and see the whole lesson they are going to follow. Since lesson.json is probably providing the repo url and maybe other specific urls, we can use that to add meta links to the lesson that point back to the repo, to the issues for feedback, etc.

What type of assets will accompany a lesson? Is there a download? Is it a series of links to resources elsewhere?

To quickly clarify things I think this is how I see things looking:

For each lesson there could be multiple projects as is happening in this one. @nrrrdcore If you were asking that wondering what sort of specific links we'd want, I think a demo and a project files link is what we'd most likely want to call out.

Where do we encourage people to upload their own lesson?

I want all lessons coming from our dojo to exist as repos on the dojo org. They can potentially get there either by being created by an org member directly in the org or by being forked from a non-member's account. In the vast majority of cases these lessons originate from conversations between the mentors in meatspace or on the org. We prefer to vet the mentors ahead of time, so while it would theoretically be possible that someone new to the org could write a lesson, the wouldn't be able to teach it. That said, we could have a page linked from somewhere that explains that process, and has information about becoming a member.

Can people upload their projects? Are there comments? What are the community aspects of learning we're trying to promote and encourage with lessons?

This is primarily a one way tool, in my mind (though this could change). For now I'm trying to use GitHub as the source of all things, where possible. Comments/feedback could be made in issues on the lesson repo. My main motivator here is that if we do things like comments in this app, we have to think about profiles, which means we have to worry about COPPA, which I really don't want to deal with on this small of a case. I'm working with Julio to try to tackle COPPA on GitHub for now. Once that's taken care of we can look into the ramifications of comments in this particular app, since I know requiring GitHub interaction poses a pretty big hurdle for most people.

What are the community aspects of learning we're trying to promote and encourage with lessons?

We aren't really. This is mostly just a one way venue for sharing the lessons, giving them at a friendly url with a friendly design that the kids and parents can get to without having to know about GitHub. The community aspect happens more in person at the sessions and between the mentors on GitHub.

jonmagic commented 10 years ago

/cc @broccolini

jonmagic commented 10 years ago

:ship: