(2012-03-06) Watters Udell Web Maker Literacy Perspectives

Audrey Watters has gotten interested in the idea of a "Scratch for HTML-5" IDE, inspired by work like 2011-03-01-HtmlHackingTools. (I'm not sure how far beyond a Gui Html Editor this would go.)

But she had a conversation with Jon Udell recently, which is nudging her more in the direction of his "thinking like the Web" perspective. 2010-11-17-UdellRecentWorkAndPatterns

Neither of them is really talking about Learning Programming. I think this is because they fear it's too high an initial hurdle.

What's relevant? Is it building a website? Or is it understanding the services that are out there? Is it learning to be a remixer of services? How do we help people understand the importance of controlling their data, controlling their domains, controlling their online identity? How do we help people bind their various Web presences to an identity, and not, say, cede all authority to Facebook? The problem of Web (il)literacy (Digital Literacy): How do we solve it? Is it about code? (Udell says no) It is about understanding the components of the Web and knowing how to tag and then manipulate them. By thinking and developing sets of named resources, you are a Web thinker. This isnt about programming but rather the creation of sets of resources and the identification of components that work with those resources and combining them to create a solution. How as you operate online can you do things intentionally and consciously create possibilities for other people to hack and remix?

Current thoughts:

Mar13: She notes challenges that teachers like Laura Blankenship have hit, plus notes the horrible Advanced Placement Computer Science Curriculum, which is driven by classic college CS and Java (two strikes).

Mar14: She interviews Jared Cosulich of Peanutty. The various puzzles are open-ended enough that there isn't just one solution. "You can step outside the instructions," Cosulich says, "but you do have a goal in mind" -- namely, solve the puzzle. I Commented: I just had an idea/nudge for you. It smells to me like you're stuck in "the middle", talking to existing developers. I think you need to spend more time at the 2 ends: (a) the values/attitudes (more than skills) we hope kids end up with, and (b) talking to the kids themselves about what they want to build - defining a few different segments (math/puzzle geeks, web-heads, gamers, craftsy types, etc.). Bonus points (badge) if you can get a sense of the relative size of the different groups. Then focus your design research efforts (the middle/bridge) on serving 1 of those groups. The same toolset may end up being able to serve all, but starting with 1 focus, and the real kids behind it to provide ongoing feedback, is more likely to get tangible results. (Kinda Lean Startup mentality.)

Apr03: found this piece from last monthby Al Sweigart (author of Invent Your Own Computer Games With Python book) about how "nobody wants to learn to program". For the casually interested or schoolchildren with several activities competing for their attention, programming concepts like variables and loops and data types aren’t interesting in themselves. They don’t want to learn how to program just for the sake of programming. They don’t want to learn about algorithm complexity or implicit casting. They want to make Super Mario or Twitter or Angry Birds... We need Lego-s, not playsets. (I enthusiastically endorse Scratch for use by the pre-teen crowd.)... One thing that MIT’s Scratch programming environment gets right is that they have a way to share programs that students create built into the software directly. Nobody wants to learn programming, they want to make cool programs. Being able to easily share (Sharing) their programs with a community not only provides an incentive to learn and create, but it also provides a library of examples for other people to look at to inspire their own programs... Don’t Distract New Programmers with OOP: Enough said. Things you can also toss out for the new programmer syllabus: recursion, regular expressions, MVC, networking, and file I/O.

  • Zed Shaw disagreed, but I think he was ignoring Al's disclaimer/context.
    • Zed's Learn Python The Hard Way book has some advice on programming: Programming as an intellectual activity is the only art form that allows you to create interactive art. You can create projects that other people can play with, and you can talk to them indirectly. No other art form is quite this interactive. Movies flow to the audience in one direction. Paintings do not move. Code goes both ways.... Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines. (Software Is Eating The World) The world needs more weird people who know how things work and who love to figure it all out.

Edited:    |       |    Search Twitter for discussion