A really neat talk by Andy Finnell at NSConference on using OpenCL to do realtime simulation of watercolour painting. Based on this paper.
How to start programming ?
January 20, 2010
My 12 year old nephew asked me …
“I was wondering if you knew any beginners computer scripting books. I know absolutely nothing about scripting, I don’t have any programs for it or any idea how computer language works or what to type in to make it do something.”
So, I asked people here in the School of Informatics. Thanks to everyone who replied. I received some surprisingly consistent responses:
Scratch – http://scratch.mit.edu/
This seems to be the “lightweight” favourite (9 votes). Graphical output & graphical composition of the source statements – so quick returns. Seems like a good starting point which might get someone interested in the idea of programming quickly without putting them off:
It’s point and click to stick blocks together, rather than edit-compile-run; though concurrent and reactive which makes things interesting too.
- Here’s the “getting started” – http://info.scratch.mit.edu/Support/Get_Started
- Turtle Art has a similar visual approach http://wiki.sugarlabs.org/go/Activities/Turtle_Art
Python – http://docs.python.org/tut/tut.html
Seems to be the “language” favourite (10 votes):
“Snake Wrangling for Kids” is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.” http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/
- The Windows version of the book is here: http://swfk.googlecode.com/files/swfk-win-0.7.7.zip
- This web page has some good pointers to interesting resources, with references for starting Python in particular: http://baheyeldin.com/technology/teaching-kids-programming.html
Some other quoted links:
- Invent your own computer games with Python – http://inventwithpython.com/
- Learning with Python – http://openbookproject.net/thinkcs/python/english2e/
- An Informal Introduction to Python – http://docs.python.org/tutorial/introduction.html
- IntroductoryBooks – http://wiki.python.org/moin/IntroductoryBooks
Mindstorms - http://mindstorms.lego.com/
An obvious choice which gives nice visible results if you buy the hardware (4 votes).
Probably for a younger age group – a programmable car with a pen: http://www.tts-group.co.uk/Pro-Bot
Processing – http://processing.org/ (http://processing.org/learning/)
An interesting choice (2 votes):
“It’s a wrapper around Java that’s used by artists among others, so the introductory materials start simple. Probably won’t teach good
practice, but it does seem to have some of the feel about it that I got when I was a kid learning BASIC on Sinclair and Acorn computers (i.e. you can be drawing stuff on the screen in a few minutes)”
“It’s canned Java — much easier than real Java but will take you there eventually if that’s where you want to go. And you can do really quite neat things with very little effort”
Other Languages
A selection of other languages got one or two votes each …
- Perl (3 votes)
- Basic (2 votes)
- Javascript (2 votes)
- Tcl/Tk (1 vote)
- Logo (1 vote)
- C# (1 vote)
Posted by dcspaul