As always I promote technology that:
- Enhances or encourages learning. Programming is one great way to implement Computational Thinking into your class.
- The software is free and open source.
Disclaimer: These are intended to be a summary. They are presented in no particular order.
Free? FOSS (Free as in zero cost and open source)
Requires an installation? Yes but there are web based options like sage math notebook. Python comes preinstalled on Mac and Linux.
- The syntax is very high level so you and your students can take your ideas and very quickly turn them into code.
- Python is interpreted so as soon as you press enter or run the code you can see the results.
- It has a large number of modules and support for graphics (e.g. VPython), physics, math, language parsing and more.
- Great for prototyping, web, data mining/processing, and almost anything!
Requires an installation? No
- Coupled with HTML5 and CSS allows you to add a lot of power and interactivity to your web pages and applications.
- Gives you to access web APIs (directory of available APIs) and use other services.
Requires an installation? Yes
- Designed to be very easy to make something visual, beautiful and/or interactive.
- With both Processing and Arduino, it provides an introduction to C++ that is less intimidating.
Examples in the Processing software (Select File and then Examples)
- Works with off the shelf parts (e.g. motors, LEDs) to cheaply and easily build projects that sense, move, light up, etc.
- Many "shields" are available to easily add functionality like Bluetooth, Wifi, audio, etc.
- Hardware is relatively inexpensive (~$20-30)
- Interfaces easily with Processing to add interactivity and data visualization.
Examples in the Arduino software (Select File and then Examples)