Reminder - Summer School "Advanced Scientific Programming in Python" in Munich, Germany

Tiziano Zito opossumnano at
Mon Mar 23 16:45:20 CET 2015

Reminder: Deadline for application is 23:59 UTC, March 31, 2015.

Advanced Scientific Programming in Python
a Summer School by the G-Node, the Bernstein Center for Computational
Neuroscience Munich and the Graduate School of Systemic Neurosciences

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.

Preliminary Program

Day 0 (Mon Aug 31) — Best Programming Practices
  • Best Practices for Scientific Computing
  • Version control with git and how to contribute to Open
    Source with github
  • Object-oriented programming & design patterns
Day 1 (Tue Sept 1) — Software Carpentry
  • Test-driven development, unit testing & quality assurance
  • Debugging, profiling and benchmarking techniques
  • Advanced Python: generators, decorators, and context managers
Day 2 (Wed Sept 2) — Scientific Tools for Python
  • Advanced NumPy
  • The Quest for Speed (intro): Interfacing to C with Cython
  • Contributing to Open Source Software/Programming in teams
Day 3 (Thu Sept 3) — The Quest for Speed
  • Writing parallel applications in Python
  • Python 3: why should I care
  • Programming project
Day 4 (Fri Sept 4) — Efficient Memory Management
  • When parallelization does not help:
    the starving CPUs problem
  • Programming project
Day 5 (Sat Sept 5) — Practical Software Development
  • Programming project
  • The Pelita Tournament

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

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

Preliminary Faculty
• Pietro Berkes, Enthought Inc., UK
• Marianne Corvellec, Plotly Technologies Inc., Montréal, Canada
• Kathryn D. Huff, Department of Nuclear Engineering, University of
  California - Berkeley, USA
• Zbigniew Jędrzejewski-Szmek, Krasnow Institute, George Mason
  University, USA
• Eilif Muller, Blue Brain Project, École Polytechnique Fédérale de
  Lausanne, Switzerland
• Juan Nunez-Iglesias, Victorian Life Sciences Computation
  Initiative, University of Melbourne, Australia
• Rike-Benjamin Schuppner, Institute for Theoretical Biology, 
  Humboldt-Universität zu Berlin, Germany
• Bartosz Teleńczuk, European Institute for Theoretical Neuroscience,
  CNRS, Paris, France
• Nelle Varoquaux, Centre for Computational Biology Mines ParisTech,
  Institut Curie, U900 INSERM, Paris, France
• Tiziano Zito, Forschungszentrum Jülich GmbH, Germany

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. Additional funding provided by the
Bernstein Center for Computational Neuroscience (BCCN) Munich. 

Contact: python-info at

More information about the Python-announce-list mailing list