Start Here

  • Codecademy - a free and interactive way to learn how to code. It's a gentle starting point for anyone with little or no experience in programming.
  • Python the Hard Way
  • Think Python - a concise book aimed at new programmers, using Python as an introductory language.
  • Javascript: The Good Parts - Beginner programmers often form bad habits when it comes to Javascript. This is an excellent book to get the learner into focusing on the good stuff. Though short, it's dense and covers a lot of great features in the Javascript language.
  • C50 - Taken by 12% of undergraduate students, it's Harvard College's most popular course.
  • Alex Krupp's Code Year - A comprehensive blog entry on his year of teaching himself to code and the resources he used.

Development Bootcamps

Choose Your Own Adventure

The following are the frameworks/platforms that are common in web and mobile application development, and competency in any one of its development stack will lead to the fastest path for employment as a junior application developer in today's trend. Even if you do not intend stay as an application developer, the market's current demand for these developers makes this a great starting point for other opportunities down the road in software engineering and entrepreneurship.

Ruby on Rails

Known for rapid application development and its big community.


Also known for rapid development, configurability is one of its strong suits.


Arguably the most popular operating system by manufacturer.


The open source mobile operating system from Google, and on track to being if not already the most popular operating system in the world.

Version Control

Although not substantively programming, version control is crucial to the process of software development. Familiarity with Git is essentially a requirement for a job.

Computer Science Fundamentals