HU Credits:
3
Degree/Cycle:
2nd degree (Master)
Responsible Department:
Brain Science: Computation & Information Proc.
Semester:
1st Semester
Teaching Languages:
English
Campus:
E. Safra
Course/Module Coordinator:
Sapir Shapira
Coordinator Office Hours:
Teaching Staff:
Ms. Sapir Shapira
Course/Module description:
Through MATLAB, this course teaches general computer science skills that are beneficial for large programming projects in labs. It provides a solid basis in advanced MATLAB programming, covering Object Oriented Programming (OOP), programmatic graphics manipulation, Graphical User Interface (GUI) and many more.
Programs with graphical interfaces contribute in many fields of daily lab work: They can manipulate microscopes, provide control of the parameters of simulations, or simplify data analysis by utilization of graphical panes and menus.
Moreover, GUIs extend the usability of programs for lab members who lack programming skills.
Course/Module aims:
Learning outcomes - On successful completion of this module, students should be able to:
Attendance requirements(%):
Teaching arrangement and method of instruction:
The three-hour lesson is divided into two-hour lecture and a workshop dedicated to the assignments
Course/Module Content:
1. Object-Oriented Programming (OOP) with MATLAB.
2. Introduction to Graphical User Interfaces (GUI) using GUIDE.
3. Design and implementation of handle-driven graphics.
4. Production of publication-quality figures (vector graphics & bitmaps)
5. Asynchronous programming with timer objects and callbacks.
6. Real-time data acquisition/visualization loops.
7. Time-efficient coding and temporal code profiling.
8. From scripting to programming: General concepts
9. Multi-processing and parallelization on CPU and GPU
10. Coding conventions for maintainability of large projects
11. Optimization & debugging techniques.
Required Reading:
Additional Reading Material:
Grading Scheme :
Additional information:
For registration please send emails to Nili Vershov and myself, otherwise the course might appear as full or unavailable:
nili.vershov@elsc.huji.ac.il
sapir.shapira@mail.huji.ac.il
This course is intended for intermediate/advanced MATLAB users that have hands-on experience with MATLAB
Students are encouraged to suggest their own lab-relevant objectives as the final project.
Projects from the previous years: (1) Analysis pipeline for calcium images, (2) Go/No-go experiment scheduler, (3) Spike-sorting interactive toolkit
|