Coding

This list presents a sampling of learning resources from around the Internet. It covers everything from gamified apps for kids to full-blown professional development resources. This is intended to be representative, but not necessarily comprehensive. Know a good resource that isn’t here? Drop us a line

Basic coding and concepts

  • Code Combat: Heavily gamified and targeted to younger users (middle school and up), but very approachable. Teaches basic concepts using JavaScript and Python.

  • Scratch: Generally targets younger users. Basic concepts illustrated by drag-and-drop, snap-together parts…no text coding required.

  • SNAP: Originally an implementation of Scratch aimed at adults, SNAP has been completely rewritten under the hood, but sports the familiar Scratch-ish interface. Drag-and-drop, code-free.

Specific Languages and Platforms

  • Android Developer: Canonical resources for Android development.)

  • Apple Developer: Canonical resources for learning to code for OS X and iOS, as well as Apple’s Xcode IDE.

  • Codecademy: HTML & CSS, Ruby, Rails, Ruby on Rails, AngularJS, BASH, SQL, Java, GIT, JavaScript, Python, jQuery, PHP (also specific APIs including NHTSA, Dwolla, github, OAuth2, WePay, NPR, SendGrid, SoundCloud, Evernote, box, Twitter, YouTube, etc.)

  • Khan Academy: Introductory courses in JavaScript, HTML & CSS, SQL, and combinations thereof.

  • Processing: Home of the Processing language and IDE. Processing is an easy-to-learn programming language based around short programs called sketches.

  • Lynda: Extensive learning resources for a tremendous array of applications, including Arduino, iOS, OS X, Windows, Android, Python, PHP, Java, C, Visual Basic, and so on, as well as foundational courses covering core programming concepts and practices. Lynda tends to assume that you know what you want to learn…if you want to browse courses, try broad keywords. For coding, the Developer category is a good starting point.

  • Windows Dev Center: Canonical resources for Windows development.

Hardware IDEs:

  • Arduino: Coding sketchbook for Arduino cards of all varieties.

Makerspaces

Tinkering

Tinker (verb): To attempt to repair or improve something in a casual or desultory way, often to no useful effect.

Lasercutting/Engraving

MakerCase Lasercut Box Design