Octave is a programming environment mostly compatible with MATLAB; thus, it is a "high-level", interpreted language that lets you get started with programming without having to worry about a lot of the low-level details. An important difference is that, unlike MATLAB, it is free. Octave is used widely, for instance, in Andrew Ng's [[http://www.youtube.com/watch?v=TWqYSOiSTEA | Coursera Machine Learning course]]. Anything you learn and implement in Octave will work in MATLAB (with a few rare exceptions) and MATLAB code, if it does not use advanced toolbox functionality, often works in Octave. Thus, Octave is a great environment to become productive quickly. ==== Setting up Octave ==== * [[http://wiki.octave.org/Octave_for_MacOS_X|OSX]] * [[http://wiki.octave.org/Octave_for_Windows|Windows]] You will also want to install a nice editor such as Emacs or Notepad++. ==== Tutorials ==== To get started, a tutorial roadmap for complete beginners is available [[http://en.wikibooks.org/wiki/Octave_Programming_Tutorial|here]]. The MATLAB for Neuroscientists and Signal Processing Using MATLAB books also have tutorials; these are linked from the [[http://www.vandermeerlab.org/wiki/doku.php?id=analysis:course|Data Analysis in Neuroscience]] homepage. The full Octave manual (for reference) is [[http://www.network-theory.co.uk/docs/octave3/|here]].