Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved, only few scientists have been trained to use them. As a result, instead of doing their research, they spend far too much time writing deficient code and reinventing the wheel. In this course we will present a selection of advanced programming techniques, incorporating theoretical lectures and practical exercises tailored to the needs of a programming scientist. New skills will be tested in a real programming project: we will team up to develop an entertaining scientific computer game.
We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more importantly, it also works great in scientific simulations and data analysis. We show how clean language design, ease of extensibility, and the great wealth of open source libraries for scientific computing and data visualization are driving Python to become a standard tool for the programming scientist.
This school is targeted at Master or PhD students and Post-docs from all areas of science. Competence in Python or in another language such as Java, C/C++, MATLAB, or Mathematica is absolutely required. Basic knowledge of Python is assumed. Participants without any prior experience with Python should work through the proposed introductory materials before the course.
Date and Location
August 31—September 5, 2015. Munich, Germany.
Day 0 (Mon Aug 31) — Best Programming Practices
Day 1 (Tue Sept 1) — Software Carpentry
Day 2 (Wed Sept 2) — Scientific Tools for Python
Day 3 (Thu Sept 3) — The Quest for Speed
Day 4 (Fri Sept 4) — Efficient Memory Management
Day 5 (Sat Sept 5) — Practical Software Development Programming project
Every evening we will have the tutors' consultation hour: Tutors will answer your questions and give suggestions for your own projects.
You can apply on-line at https://python.g-node.org
Applications must be submitted before 23:59 UTC, March 31, 2015.
Notifications of acceptance will be sent by May 1, 2015.
No fee is charged but participants should take care of travel, living, and accommodation expenses. Candidates will be selected on the basis of their profile. Places are limited: acceptance rate is usually around 20%.
Prerequisites: You are supposed to know the basics of Python to participate in the lectures
Organized by Tiziano Zito (head) and Zbigniew Jędrzejewski-Szmek for the German Neuroinformatics Node of the INCF Germany, Christopher Roppelt for the German Center for Vertigo and Balance Disorders (DSGZ) and the Graduate School of Systemic Neurosciences (GSN) of the Ludwig-Maximilians-Universität Munich Germany, Christoph Hartmann for the Frankfurt Institute for Advanced Studies (FIAS) and International Max Planck Research School (IMPRS) for Neural Circuits, Frankfurt Germany, and Jakob Jordan for the Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6), Jülich Research Centre and JARA, Germany. Additional funding provided by the Bernstein Center for Computational Neuroscience (BCCN) Munich.