What do we know about how novices learn webcraft and programming, and how can we apply that knowledge to teaching free-range learners?

Right now, people all over the world are learning how to write programs and create web sites, but for every one who is doing it in a classroom there are a dozen free-range learners. This group will explore how we, as mentors, can best help them. Topics will include:

What does research tell us about how people learn? Why are the demographics of programming so unbalanced? What best practices in instructional design are relevant to free-range learners? What skills do people need in order to bake their own web? How are grassroots groups trying to teach these things now? What's working and what isn't?

Who Are Your Learners? (target date: Jan 27)

It's clear from responses to the first task that we're trying to help a wide variety of people. One technique user interface designers often use to get a handle on this is to make up short biographies of the people they're trying to help. This doesn't just make it clear for them and other people; it also gives them a short-hand way to refer to particular use cases (as in, "OK, how would Jane use this feature?").

For our second task, let's use this technique to clarify who we're trying to help and how. Please make up biographies for a couple of learners like the ones on the Software Carpentry site and post them in your blog. (Cartoons are not required, but I will award a prize to the best one :-) Please make these made-up people representative of the whole range of learners you're trying to help, i.e., as different from one another as possible while still being in your target audience.

When you're done, please add a link to your post to the list below. If you uncheck the box saying "Minor update", a note about your change will automatically be posted to the course activity wall when you save your changes.

Regarding Luis Pedro Coelho's description of his learners, I like the idea of describing people you're not trying to help. In Gregory Brown's case, I think this includes Ian, a complete beginner who has never programmed before. In all of our cases, I think it includes Clyde, who doesn't want to learn how to program (he's suffering through it because it's a required class in school or for his online degree). Am I wrong about that? Is anyone trying to reach/convert people who aren't already interested in learning to program? If so, how are you doing it?

We definitely want to try to help complete beginners, but did not start out that way. So the real question for us is how do way build that bridge from where we are now to where we want to be? My original plan called for relying on other programs that used a similar teaching style as our own to help bring beginners up to speed, but those never panned out.

Really interested in hearing about that last question, how people are reaching those who aren't already interested in learning to program. I think that would be something that could help reduce the barrier to participation for members of various kinds of marginalized groups that are currently underrepresented (and underserved) by the software development ecosystem.

To provide a bit of context only hinted at by the post, we are a school for intermediate-advanced level developers that is trying to figure out how to work our way towards supporting beginner level programmers as well. The more I do these exercises, the more I realize that our emphasis is very much on career programmers and dedicated hobbyists, and so I feel I've got a lot to learn from all of you who are actually focusing on beginners already.

Thanks for your post. One thing I should clarify: the intent wasn't to categorize learners so much as to sample them—we're after case studies to help us think about needs, and combinations of needs. For example, if you were designing a seat-back video system for airplanes, you might say, "Jane is 15, uses a computer all the time at home, but with a mouse rather than a touch screen, and doesn't have a credit card (i.e., needs someone else to pay for her in-flight movies)." Many user experience designers and learning designers find thinking in terms of specific individuals (real or made-up) is as useful as writing for particular people is to authors.

Hmm... I suppose that there IS a big difference between sampling and categorization, though I thought from the exercise we were supposed to aim for coming up with samples that represent the whole of who we're trying to reach, as opposed to simply outlining several different samples within our population. I probably read that wrong and ran with it :-/ Still, I have my concerns about the suitability of this technique for designing learning environments.

User interactions in a software application are very different (in my mind) than open-ended learning experiences. In a software system, the mechanisms are fixed in place and any flexibilty must be designed for. Similarly, when you write a book or article it's more or less fixed in time: I use this technique for my work by writing for a couple intermediate developers I know well, and it works phenomenally. But I think that's mainly because I'm packaging up a certain "lesson" rather than having a two-way conversation when I write.

In a human system, improvisation and just-in-time customization is possible, and so I don't know how well this technique applies beyond learning programs that have a standard curriculum for all their students rather than allowing their students to come up with their own projects and open ended questions.

All that having been said I think the issue is mostly that Mendicant University is an edge case. Going through the process of trying to fulfill the spirit of this task was a good learning/thinking experience for me, even if I struggled with it.

I posted a link to my response above. This was an interesting exercise, and I enjoyed taking the time to think in depth about the different types of learners I serve throughout my life. Everyone else's blogged responses have been very interesting to read also.

I linked my post above. I didn't touch that much on how I'm trying to help these students, though I did say a little. I found this to be a very useful exercise, and I've enjoyed reading Greg and Steve's descriptions.

I also tried to answer "What will they be able to do (or do better) after learning what you're trying to teach them?" and "How can you tell during the scope of your teaching that they've learned what you hoped to teach them?" Which were in an earlier version of the task, and perhaps will be future tasks (which is good as I need some time to put together some specific examples for the later two quesitons.