Learning Resources

  • Codecademy - Tutorials for many programming languages and frameworks
  • Learn Python - Python Tutorial
  • Learn C - C Tutorial
  • Tutorials Point - Tutorials and reference documentation for many languages
  • W3 Schools - For all things Web Development
  • Stack Overflow - Forum for programmers. Every programmer’s best friend.
  • GitHub - A collection of resources for learning new programming languages.

Programming Puzzle Resources

  • Reddit Daily Programmer - Miscellaneous programming challenges
  • Project Euler - Math puzzles that require programming skills to solve
  • Code Wars - Programming puzzles of varying difficulties
  • Rosalind - Programming puzzles with a theme of bioinformatics (DNA processing + more)

Cool Programming Environments

  • Processing - Simple programming environment for 2D and 3D graphics in Java (Desktop and Android), Python (via Jython) and JavaScript
  • Shadertoy - Sandbox for pixel shader programming using GLSL (OpenGL Shader Language). Also see Peter’s examples
  • Sonic Pi - Environment for live-coding music in Ruby. Included with Raspberry Pi distribution
  • SuperCollider - The underlying synthesizer platform that Sonic Pi uses. It has its own language (sclang) and methods for making custom GUIs
  • LÖVE Game Engine - 2D game engine written in Lua with simple cross-platform support
  • Python Turtle Graphics - Python comes with a built-in library for creating turtle graphics