Octave and matlab have many similarities. But Octave is a command line interface. You have to type each command in the command prompt, while matlab comes with best GUI. I recommend first you use matlab student version; after learning basic lessons use gnu octave permentaly. Now gnu octave comes with gui, but it is a development version now. There are some gui front end for gnu octave, like guioctave, xoctave(not free), DomainMath IDE,etc.