For Teenagers to Learn Programming - Where and How to Start

When I talk to teenagers or their parents, I always recommend teenagers to learn a programming language because:

  • It is a fun toy like LEGO that allows you to create whatever you like instead of playing with what others created.
  • It is a universal language like music, arts, and sports that allows you to communicate with and reach out to other people around the world.
  • It is an effective tool that increases your productivity to infinity by automating and delegating your work to a computer (or a “cloud” of computers).
  • Since it is a language like other spoken human languages, the earlier you start, the easier and faster you can learn.

In return, I’ve been asked how and where to start. Here are some good resources to start with:

Get Motivated

What most school don’t teach – Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh and many more share their perspectives on programming.

  • Leaders and trend-setters all agree on one thing – Leaders in business, government, arts and entertainment, and education share why they think programming is important.
  • Why software is eating the world – Wall Street Journal article by Marc Andreessen, one of top venture capitalists, about how and why the software industry has been taking over other industries such as healthcare, financial, telecom, arts and entertainment, etc.

Resources

  • Code.org – a non-profit organization dedicated to growing computer programming education. It lists great resources for people at various levels, from toddlers (seriously!) to advanced developers.
  • Coursera – offers open online courses. For the first time programming learners, I’d like to recommend a Python class from Rice University
  • iTunes-U – also offers many open online courses. If you’re interested in developing iPhone applications, take a look at CS 193b: Developing Apps for iPhone and iPad (Winter 2013) from Stanford University.
  • Code Academy – lets you learn programming on your web browser interactively.
  • Khan Academy – offers a lot of tutorial videos on various subjects including Computer Science.

Which language to learn

Here I list some languages that, I think, are relatively easy to learn, fast to get working results, and useful even after becoming professional (except Scratch).

  • For kids to get familiar with programming – Scratch, which is designed for ages 8 to 16 to create programs without using programming languages (check out the TED video below to see how it looks like).

  • For high schoolers or beginners with interests in developing working programs – Python, which is an easy yet powerful language that can cover almost every verticals (from web pages to scientific programs).
  • For designers with interests in developing interactive art works – Processing, which offers beautiful and interactive visualization capabilities.
  • For those who are interested in Finance or business intelligence – R, which is originally developed as a statistical computing language, but widely used in predictive modeling, data exploration, and data visualization.

I hope everyone who comes across this article can give a try to learn programming, and discover how fun and useful it is. 🙂