I met CodeNow founder Ryan Seashore at a Startup Weekend EDU event in DC late last year, and I was immediately sold on his pitch to help teach kids learn programming. CodeNow focuses specifically on teaching these skills to under-served populations; the non-profit offers its weekend trainings in DC, but hopes to expand to other cities. For more information about CodeNow, read my story here on Hack Education or (even cooler) check out what the White House has to say about Seashore and his initiative.
I contacted Seashore about my research project for Mozilla in part because I noticed in a recent CodeNow newsletter that he'd added Treehouse to the teaching toolbox. Treehouse is a Web-based service that teaches Web design, Web development, and iOS development. "Why Treehouse?" I wanted to know, among other things.
The notes from our conversation are below.
Why Treehouse?: CodeNow has struck a partnership with Treehouse so that participants in CodeNow receive access to the platform free or charge. That access is important as it will be part of the multi-pronged approach that CodeNow takes to teaching programming. In this case, it helps serve as an online component where students can continue to work on their Web design and development skills outside of the weekend workshops.
The elements of CodeNow's program:
- Weekend, face-to-face classes -- getting students excited about programming (using Hackety Hack and Mindstorms, for example)
- Online training -- give students a way to work on their HTML and Web-building skills beyond the classroom (via Treehouse in part, but CodeNow has plans to built out its online platform)
- Boot Camp -- intensive 4 day training session
- A netbook for all participants
- Alumni community
Teaching (and Supporting Learners) Online: The addition to Treehouse to CodeNow does mean that students can continue to work on their HTML skills by completing its various assignments. But Seashore says he wants to help build out the online component of CodeNow further, helping students track their progress (in part, through Treehouse's badging system) and by offering peer-to-peer support. Is it enough to just provide online tools and programs? "How can we enable students to help each other?" he asks.
Learning Alone vs. Learning with Others / Self-instruction vs. Instructors Many of the students who participate in CodeNow's training have zero programming experience; until they receive the netbook, many of them have no computer access at home. There's a lot of work that needs to be done to overcome the preconceived notion that programming is beyond their reach (technically, academically, etc) "We want to give them every resource possible," says Seashore. He also talked about the need to have a "constant point of interaction" -- so that kids can access questions at any point along the way.
[This ties into something I've been thinking a lot about lately: the attitudes of many programmers that are (mostly) self-taught towards teachers]
"We can't ignore the barriers that students in under-represented groups face," says Seashore, nor can we take for granted that igniting their interest in programming is sufficient.
Where Do You Start and How Technical Do You Need to Get: Seashore has also switched from using Scratch in his workshops to using Hackety Hack -- a move he said was a result of wanting to make sure that students had "transferable skills" (something that echoes, perhaps, some of Julie Meloni's concerns about a "Scratch for HTML5"). It doesn't hurt either that Steve Klabnik, the current Hackety Hack developer, is one of the CodeNow trainers. CodeNow is very focused on project-based learning too, says Seashore -- that's the emphasis of the face-to-face sessions, at least. To the question "How technical do you need to get" with introductory programming tools and services, Seashore stressed again that the important part was getting students up-and-running and providing them with mentorship and inspiration to keep working towards their own answer to that question.