Resources: Programming

Logo, Scratch and Variations

The Invent To Learn Guide to Block Programming is an overview of block programming, pros/cons, and numerous resources.

  • MicroWorlds and MicroWorlds EX – Modern multimedia versions of the Logo programming language, with robotics control with an optional robotics version from Logo Computer Systems International (LCSI)
  • Scratch – Free block-based programming language for simple storytelling and games. Works in a browser or office. Materials and videos for educators and classrooms.
  • WeDo programming in Scratch – Scratch also may be used to program LEGO’s early childhood robotics set called WeDo. Plug the WeDo into your computer  and new blocks appear for robotics control in Scratch.
  • ScratchED web site – For educators who teach with Scratch
  • S4A (Scratch for Arduino) – A block-based version of Scratch intended for programming and controlling an Arduino microcontroller
  • Snap! – Scratch with first-class objects added to make more complex programming projects possible
  • StarLogo – Cross-platform massively parallel version of Logo intended for complex systems modeling, simulations, and problem solving
  • StarLogo TNG – StarLogoTNG (The Next Generation) builds on StarLogo and features elements for the creation of games, 3D graphics, and virtual worlds
  • NetLogo – NetLogo focuses on mathematical explorations and scientific simulations that may be run on computers across the globe.
  • Turtle Art – A simple yet elegant variation of Logo with an iconic interface intended to create beautiful images
  • Super Scratch Programming Adventure!: Learn to Program By Making Cool Games – A full-color project book for learning Scratch programming. It even includes a chapter on using the external Picoboard!
  • Kinect2Scratch – Program the Kinect with Scratch.

Other Programming Languages and Environments

  • Processing – A powerful graphic programming language. Be sure to explore both the “learning” and “reference” tabs
  • Learning Processing – Excellent guide to learning Processing by Daniel Shiffman
  • BASIC-256 – Free, easy to use BASIC designed to teach programming. (Windows)
  • Small BASIC – Microsoft-supported free BASIC and tutorials. (Windows)
  • Python – (Mac, Windows & Linux) Download, share code, and learn about the Python programming language
  • Introduction to Python – Free e-book by Mark Clarkson
  • Invent Your Own Computer Games with Python – (Free e-book or book) by Al Sweigart
  • Squeak – Squeak is the vehicle for a wide range of projects including multimedia applications, educational platforms, and commercial web application development. Scratch itself was created in Squeak.
  • Etoys – Created in Squeak, the Etoys software provides microworlds for kids to explore powerful mathematical and scientific concepts
  • Flash – Flash is often used to create graphics and animations for websites, and has a programming language that can be used to control the animations and make games. Suitable mostly for high school students.
  • AgentSheets – AgentSheets is part of the Scalable Game Design project to teach young people around the world about computer science and science. AgentCubes is a recently released 3D version
  • LiveCode – A “Hypercard on steroids” cross platform development engine.
  • Game Salad Creator – Drag and drop game creation tool
  • MIT App Inventor – Create apps and games for Android devices with this software. Code samples, tutorials, and extensive educator resources are on the MIT website.
  • Game Maker – Commercial product used in many schools (mostly high schools) to teach programming through game design. It does have a free version that is usable, although the full versions are very reasonable. The website offers ma.
  • Gamestar Mechanic – Another commercial product designed to teach game development. It offers education pricing, lessons, tutorials, and an educator community.
  • Kodu – A visual programming tool made for creating Xbox games. The programming environment runs on the Xbox and uses a game controller for input.