Tuesday, March 11, 2014

Get started in open source online and offline


What skills do you need and which projects should you participate in as beginner in open source?
These are common questions for beginners to open source software, hardware, communities, and methodologies. New folks to open source can start their discovery online and offline. Events and projects of many different kinds will help beginners find what they are good at and allow them to get to know their own skills.

Get started with open source online


Beginners in Open Source week

View the complete collection of Beginners in Open Source articles

Codecademy is a website where you can learn several programming languages in an interactive way. Languages such as HTML, PHP, Ruby and Python are a few. With each language, you learn the basics, like syntax and commands, and by finishing assignments, you earn points and badges.
I can recommend Codecademy, as I signed up myself to follow the PHP lessons. The first lessons start real easy, and this course continues to teach you the most common commands and programming structure and syntax. Each lesson ends with practicing what you just learned. All you need for courses at Codecademy is your browser—no extra software is required.

Code School

Codeschool takes a different approach for learning; students take what they call "paths" to Ruby, Javascript, HTML/CSS and iOS. Where Codecademy provides its courses in online reading material, Codeschool presents them through video lessons and challenges.
Each "path" contains several lessons that take you through a specific programming language. Again, no extra setup is required, just the site and your browser. What makes Codeschool interesting is that they also provide a course in programming apps for the iPhone and iPad.


Code.org is known for its Hour of Code program and offers similar courses such as Javascript and Python but also tutorials for beginners. These beginner tutorials let you solve puzzles in a Scratch-like environment based on the Angry Birds game, teaching you concepts like repeat-loops, conditionals, and basic algorithms.
Code.org clearly states the age category to which the courses apply, and the requirements to follow them, which in most cases is a browser or an iOS or Android device.


For the youngest beginners (age 8+) in open source, there is the popular programming language Scratch.
Scratch is a programming language and an online community where children can program and share interactive media such as stories, games, and animation with people from all over the world. As children create with Scratch, they learn to think creatively, work collaboratively, and reason systematically.
Scratch has a very user and kid-friendly interface. It teaches kids the very basics of programming. Scratch provides information for educators and parents, making it easy to adapt in classrooms or at home.
CoderDojo Milano and Scratch
Photo credits: Angelo Sala from CoderDojo Milano

Get started with open source offline

Local User Groups

If you already have an interest for a specific open source programming language, or platform like Linux, local user groups are a great way to get introduced. These groups typically meet weekly to monthly. A great benefit of this offline approach is the ability to ask questions, share knowledge, and find guidance in what you are learning.
A great example of this are the Linux User Groups (LUGs) and PHP User Groups. Other well known open source projects have user groups as well, like Drupal and MySQL.

Hackerspaces and makerspaces

A hackerspace, also known as hacklab or makerspace, is a community led workspace. It’s a place where people meet with a common interest, for example regarding computers, technology, or science.
Hackerspaces can be a great way of discovering the use and development of open source and open hardware. Different from a local user group, a hackerspace can be about more than one topic or interest. This provides a beginner in open source with the opportunity to explore several open source software or hardware projects, and thus, to find out where his or her interest lies.
Hackerspaces are easy to find, just search the Internet and you will most likely find one close to home that you can visit. Some hackerspaces run a website with a list of projects. This is a good way to search for something that you are interested in. To give you an idea, this is the project list for a hackerspace in Amsterdam (Netherlands).


Exploring Coderdojos was inspired by two of my previously published interviews with Lune van Ewijk (Digital Girl 2013) and Julie Cullen (Ambassador for Ireland during Europe Code Week 2013).
CoderDojo: The open source, volunteer led, global movement of free coding clubs for young people.
CoderDojo is a non-profit global movement and was founded in 2011 by James Whelton and Bill Liao. Because CoderDojos are open source by nature, every Dojo is different and autonomous. Young people between the ages of 7 and 17 meet at Dojos to learn how to program apps, games, software, and more. In the true spirit of the open source way, CoderDojos are set up, run, and taught at by volunteers.
CoderDojo Milano Lego Robot
Photo credits: Angelo Sala from CoderDojo Milano
Note: Read more about how CoderDojos are about more than just coding in my interview with Lune van Ewijk. You'll find they can also be about robotics, playing with open source hardware like Arduino or Raspberry Pi boards, and learning the skill of soldering.

Online versus offline

Where the online options give you lots of opportunities to learn the beginnings in open source programming languages, it’s the offline opportunities that really introduce beginners to all the open source projects that are out there.
Young beginners especially off to a great start if they try Scratch or visit a local CoderDojo or hackerspace.
Youth recommendations:
  • Age 6-8 and up: Code.org beginner tutorials, Scratch, Coderdojos
  • Middle school: Javascript and Python, hackerspace, user groups
  • High school: Apps for iOS, hackerspace, user groups

No comments:

Post a Comment