a Winter School by the G-Node and University of Warsaw


Scientists spend more and more time writing, maintaining, and
debugging software. While techniques for doing this efficiently have
evolved, only few scientists actually 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 with
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’ll 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. Clean language design and easy extensibility are
driving Python to become a standard tool for scientific computing.
Some of the most useful open source libraries for scientific
computing and visualization will be presented.
This winter school is targeted at Post-docs and PhD students from
all areas. Substantial proficiency in Python or in another language
(e.g. Java, C/C++, MATLAB, Mathematica) is absolutely required. An
optional, one-day introduction to Python is offered to participants
without prior experience with the language.
Date and Location: February 8th — 12th, 2010. Warsaw, Poland.
Preliminary Program:
- Day 0 (Mon Feb 8) — [Optional] Dive into Python
- Day 1 (Tue Feb 9) — Software Carpentry
• Documenting code and using version control
• Test-driven development and unit testing
• Debugging, profiling and benchmarking techniques
• Object-oriented programming, design patterns, and agile
programming
- Day 2 (Wed Feb 10) — Scientific Tools for Python
• NumPy, SciPy, Matplotlib
• Data serialization: from pickle to databases
• Programming project in the afternoon
- Day 3 (Thu Feb 11) — The Quest for Speed
• Writing parallel applications in Python
• When parallelization does not help: the starving CPUs
problem
• Programming project in the afternoon
- Day 4 (Fri Feb 12) — Practical Software Development
• Software design
• Efficient programming in teams
• Quality Assurance
• Programming project final
Applications:
Applications should be sent before December 6th, 2009 to:
python-winterschool(at)g-node(dot)org
No fee is charged but participants should take care of travel,
living, and accommodation expenses. Applications should include full
contact information (name, affiliation, email & phone), a *short* CV
and a *short* statement addressing the following questions:
• What is your educational background?
• What experience do you have in programming?
• Why do you think “Advanced Scientific Programming in Python” is
an appropriate course for your skill profile?
Candidates will be selected on the basis of their profile. Places
are limited: early application is recommended. Notifications of
acceptance will be sent by December 14th, 2009.
Faculty
• Francesc Alted, author of PyTables,
Castelló de la Plana, Spain [Day 3]
• Pietro Berkes, Volen Center for Complex Systems,
Brandeis University, USA [Day 1]
• Zbigniew Jędrzejewski-Szmek, Institute of Experimental Physics,
University of Warsaw, Poland [Day 0]
• Eilif Muller, Laboratory of Computational Neuroscience,
Ecole Polytechnique Fédérale de Lausanne, Switzerland [Day 3]
• Bartosz Teleńczuk, Institute for Theoretical Biology,
Humboldt-Universität zu Berlin, Germany [Day 2]
• Niko Wilbert, Institute for Theoretical Biology,
Humboldt-Universität zu Berlin, Germany [Day 1]
• Tiziano Zito, Bernstein Center for Computational Neuroscience,
Berlin, Germany [Day 4]
Organized by Piotr Durka, Joanna and Zbigniew Jędrzejewscy-Szmek
(Institute of Experimental Physics, University of Warsaw), and
Tiziano Zito (German Neuroinformatics Node of the INCF).
Website: http://www.g-node.org/python-winterschool

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Google Buzz Post to LinkedIn Post to Slashdot Post to StumbleUpon Post to Technorati