15. PROGRAMMING IN MATLAB

Aim
The aim is to learn to program in Matlab to an intermediate level. To know the basics of imperative programming, the use of functions and loops. By the end of the course, participants should be able to read in their own data, perform basic quantitative analyses on the data, visualize the results and store them for further analysis. Apart from these basics, the participants will also get acquainted with good programming practices and programming in a collaboration. The course will be mostly self-paced so that people can progress at the speed that is right for them. There will be no common end point, as fast-learner or people that already have more programming experience will learn about more topics or to a deeper level.

Contents
• Using the Matlab GUI
• Basic programming in Matlab (variables, loops, function calls)
• Data visualization
• Basic input/output
• Debugging and code optimization
• Use of version control and software repositories
Depending on the progress of the individual, the participant may also get acquainted with some of the following topics
• Spatiotemporal filtering
• Image analysis
• Fourier transforms

Difference between PhD- and master-course
Not applicable

Duration of the course / ECTS
40 hrs / 1,4 ECTS

Format
Practicals and short lectures. The participant is required to be present during the entire course (exceptions are possible if specifically requested). The course is Bring-Your-Own. All participants bring their own laptop and their own (possibly digital) book to the course (please let us know if you do not have a laptop and we will make arrangements). Ideally, Matlab is preinstalled, but we can help with installation of Matlab at the beginning of the course. People will follow their own book at their own pace, but there will be many tutors in the room that can directly provide help and answer questions to keep the pace high. Interspersed with the periods of people working individually, there will be short lectures on more advanced topics such as version control, debugging, use of variable names, memory usage and parallel programming.

Maximum number of participants
24

Organizers
Dr. J. Alexander Heimel (NIN) and Dr. Xing Chen (NIN)

Year / dates next course
April 3-7, 2017

Program of course
Most recent program is available at: Link to online program

Book
It is required to bring a Matlab book to the course. This could be a PDF or otherwise digital copy. There are many good Matlab books available. The participant should pick one at his/her own level and in a style that appeals to him/her.

We have some suggestions and comments:

Matlab: A Practical Introduction to Programming and Problem Solving by Attaway. Very good introduction up to intermediate level of Matlab programming. Good programming style. Well explained. About 40 euros. Note that this is not the book with a similar name from Upskill Learning. That book is too basic for the course.

Essential MATLAB for Engineers and Scientists by Hahn and Valentine. Extensive introduction to matlab up to intermediate level. About 40 euros.

Mastering MATLAB by Hanselman and Littlefield. Very extensive introduction to Matlab up to intermediate level. About 80 euros.

Matlab for Brain and Cognitive Scientists by Cohen. Extensive book aimed specifically at analysis of neuroscience data, but also providing a good introduction to programming in Matlab. Available in April.

Matlab for Neuroscientists by Wallisch and others. Not a very good introduction to Matlab programming but contains many interesting chapters on neuroscience data analysis.

Matlab for Beginners: A Gentle Approach. Very basic. We hope to get further than this book in this course.

Registration through
Els Borghols (els.borghols@vu.nl)