12. 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
Adapting Matlab figures to your publications
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 to the course (please let us know if you do not have a laptop and we will make arrangements). Ideally, you should have Matlab preinstalled, but we can help with installation of Matlab at the beginning of the course if needed. Participants are also required to bring their own (possibly digital) textbook to 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. In addition, the NIN has a subscription to online learning tutorials provided by MathWorks (the company that makes the Matlab software), which are also accessible if the participant wishes to use them. 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.

For the absolute novices to Matlab, there is an extra introductory course day, scheduled in the week before the main course begins. The format of this day will be lectures, that participants attend in the classroom while they type the commands in their Matlab window of their laptops. This day is intended to get everybody up to a level that they can start following a chosen text book by themselves (with extra help from the tutors) during the main course. Where possible, absolute beginners are encouraged to practice programming in their own time, in the days following the introductory course day, preceding the full week of the main course.

Maximum number of participants
24

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

Year / dates next course
The course will be organized November 29 – December 3, with an introductory day November 19, 2021

Location
Netherlands Institute for Neuroscience, Meibergdreef 47, Amsterdam

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. 50 euros.

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
Renee Lustenhouwer (r.lustenhouwer@vu.nl)

When you register for participation, please indicate whether or not you want to participate in the introductory day.