Tag Archives: programming

Helping Others Hack Learning (and Coding)

Last week (#TeachTheWeb week 4), I had an opportunity to build a new Thimble project outlining my goals for teaching coding in kindergarten. Some of you might be surprised to hear kindergarten at the end of that sentence. I’ve heard some people say it’s way too young for kids to have to learn something like coding and I’ve heard others say that there’s no way such young children can grasp the concepts.

Code in K

My response is that, like everything else in early childhood, the key comes back to developmentally appropriate practice, which involves respecting the child’s interests and curiosities as well as her or his individual abilities and limits. Luckily, more and more resources are being developed that are developmentally appropriate for young children. For many years, Scratch has been a go-to resource for educators working with young children who wanted to be makers and creators of technology (and art, stories, music, and more!). Unfortunately, Scratch is specifically built for children age eight an older, although much younger students have used it (check out these examples).

While Scratch Jr. is in the works, other developers have been working hard to create games and tools to scaffold children’s learning of computer programming logic and problem solving, the true foundation of coding (see the resources embedded here). The DevTech group is even working on a coding language that can be constructed with physical, wooden blocks and read by a camera. Once students are exposed to these (potentially literal) building blocks, they can begin to work off of that foundation and create their own programs and games.

Tangible Coding Blocks using CHER-P.
Image credit: DevTech TangibleK

I built my Thimble project to help raise awareness about the fact that resources do currently exist for young children to learn the logic of programming and the basics concepts (e.g., what is a function, how to make an object/sprite move). I also wanted to share the tools I’ve found to support this learning so that others could use them as well and my hope was to then connect with other people who are doing similar work.

Over the summer, I plan to spend more time creating plans, finding resources, and talking with others interested in introducing coding to young children. Being part of Teach the Web has also inspired me to try and create more Thimble resources and maybe even an entire Hackable Kit that others can build off of and remix to work with different ages and groups. I realized that if I want my students (and colleagues) to be creating and remixing the web, I need to be modeling that work by constantly interacting and exploring hacker tools, coding the web myself, and sharing my work openly with a larger community. 

What Most Schools Don’t Teach … And I’m Determined to Learn

At the beginning of both 2012 and 2013, I named learning to code as one of my goals for the year. Recently, I have been exploring new ways to accomplish that goal and I wanted to share them in case others would find them useful too!

In the past, I have explored parts of Codeacademy and TryRuby. Unfortunately, my participation on both of those sites was too sporadic to really teach me very much, so I have been looking into other ways to learn coding.

This spring, I spent more time engaging with Scratch because I hope to introduce it to my students next year. As I mentioned in January, I have been using the Super Scratch Programming Adventure book to guide my learning. Participating in the MIT Learning Creative Learning MOOC has also helped me to try new projects and actually publish one of my own on the Scratch website. I think having a resource like the Scratch book that I can carry around and explore at my own pace, one that’s engaging and asks me to create something with a purpose (e.g., a functioning game) has helped me to learn more of the program. Having the MOOC community has also made a difference because I have been exposed to a group of people engaged in similar work and willing to post their own work and share ideas. Finally, the hope of using this with my students has been a big motivator in helping me persevere with Scratch.

But what if you’re not looking to learn Scratch? Luckily, I’ve also found some other great resources recently to learn coding that have similar supports. One of them is joining local Meetup groups that supports tech learning and offer coding classes. There are actually a couple of groups in my area and they seem to collaborate together or at least announce events for one another so that I have an opportunity to learn almost any coding language I’d like by attending one of their classes. Unfortunately, some of them are pricey (at least for coding newbies on a tight budget) and they are also often on weekends, which can be a challenge sometimes.

Still, I recently attended a Python class and really loved it! I had no previous experience with Python and after a day long session on a Saturday plus a few hours Friday night, I really felt like I had a foundation for working with the language. I still need to work on learning all of the syntax rules but the logic makes much more sense and I was exposed to some great, free resources, like CodingBat and OpenHatch Wiki. Being in a room full of other learners and facilitators (who were very willing to help and problem-solve!) and having such a large block of time dedicated to learning Python, really made it manageable to dive into the language. Now, I need to get back to Codeacademy to practice and start trying to apply my knowledge!

After winning a contest on Twitter for a free class on Codagogy.com, I also took a two week course with them on the basics of HTML. As they define them it, Codagogy offers “Online collaborative web development courses.” where you can “Learn to code in a small group of like-minded women.

codagogy html image

I have picked up bits and pieces of HTML over the years working on my own websites and projects but I was pleasantly surprised to find that I still learned a lot from the basics course. There were answers to little questions that I had always wondered about and wonderfully clear yet concise screencasts about the how-to’s and why’s about things like getting your own domain, finding a server, and adding alt tags to images.

Codagogy in 60 seconds from Susan Buck on Vimeo.

My favorite part of Codagogy courses is how they are structured. You join a two week course but assignments/exercises are only distributed on Sunday, Tuesday, and Thursday, so the work is not overwhelming and is gently introduced. There are also deadlines and points you can gain from completing exercises to help keep you motivated and on-track. This is something I found I struggle with on more free-form sites like Codeacademy. Plus, there are little quizzes at the end of each exercise where you’re asked to check your understanding and also apply your knowledge, so you can walk away feeling confident about what you’ve learned and your ability to use your new skills.

Finally, you are in the course with a limited number of other participants and you have access to a course forum where you can meet/greet those other women, ask questions, and share ideas or resources. This community aspect really brings it all together and makes Codagogy a great  but flexible space to learn new coding skills. Best of all, their courses are very affordable and if you refer friends, both you and they, get $17 off!

codagogy css basics logo

I’m excited to start my next Codagogy course, CSS Basics! In an effort to get more women coding, Codagogy has kindly offered two codes to give away for a free Codagogy class. Even if you’re not looking to code right now, you can sign up for their class on SEO or get notified when Photoshop for the Web is ready.

Enter to win a free class!