Writing stimulus delivery programs
Languages and tools
The successor to "Psyscope" and "Mel", this point & click program is good for non-programmers, who wish to write fairly simple experiments. It has a scripting back end that is like Visual Basic. While quite flexible, it does have its limits, and sometimes ends up more complicated and harder to set up than when using a full programming language.
Visual Basic 6 & .net
A Microsoft language that is quick to develop in, fast to run and flexible. It has a slick development environment and good support for the design of graphical interfaces. It allows easy integration with the vast range of Windows components, including those in the "Useful tools" section below.
The latest version is VB.net, which runs on the "Microsoft .Net Framework", which allows easy integration with other .Net languages such as C#. These languages are interoperable, with users able to extend programs written in one language with another.
The older version, Visual Basic 6, is gradually being phased out, so if you are new to programming, choose VB.net.
Downloading & learning Visual Basic
* Free "Express" versions of VB.net and C# are available, and probably do everything needed for experiements http://msdn.microsoft.com/vstudio/express/downloads/.
* An example .net experiment written by us, is on this page VbDotNetExample
* The msdn website also contains lots of training material. There are feature overviews and starter guides to programming here: http://msdn.microsoft.com/vstudio/express/beginner/windows/tier1/
* I've found the videos very helpful and painless (or at the very least, effortless) way of learning about these tools. Try for example: http://msdn.microsoft.com/vstudio/express/beginner/windows/tier1/vb/
A new language somewhat like C or Java, but running on the .net Framework. The most refined of the .net languages.
Cogent (runs under Matlab)
A piece of software from various London labs http://www.vislab.ucl.ac.uk/Cogent/
An introduction to Matlab 'for Psychologists' can be found at http://www.antoniahamilton.com/matlab.html
The official documentation plus a list of examples can be found here: http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/demo_example.html
Useful tools for Windows
The ScannerSync tool is designed to help synchronising with the scanner from Windows programs.
You'll need this if you want tight control of your visual or auditory presentation. Designed for games, it allows complete use of the hardware. Most people in the unit still use DirectX 7 (DirectDraw) but in due course we must switch to more recent versions. See http://msdn.microsoft.com/directx