Advanced Scientific Programming in Python
=========================================
a Summer School by the G-Node and the Faculty of Electrical
Engineering, Mechanical Engineering and Naval Architecture (FESB),
University of Split
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
=================
September 8—13, 2014. Split, Croatia
Preliminary Program
===================
Day 0 (Mon Sept 8) — 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 9) — Software Carpentry
• Test-driven development, unit testing & quality assurance
• Debugging, profiling and benchmarking techniques
• Advanced Python I: idioms, useful built-in data structures,
generators
Day 2 (Wed Sept 10) — Scientific Tools for Python
• Advanced NumPy
• The Quest for Speed (intro): Interfacing to C with Cython
• Programming in teams
Day 3 (Thu Sept 11) — The Quest for Speed
• Writing parallel applications in Python
• Python 3: why should I care
• Programming project
Day 4 (Fri Sept 12) — Efficient Memory Management
• When parallelization does not help:
the starving CPUs problem
• Advanced Python II: decorators and context managers
• Programming project
Day 5 (Sat Sept 13) — 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.
Applications
============
You can apply on-line at http://python.g-node.org
Applications must be submitted before 23:59 UTC, May 1, 2014.
Notifications of acceptance will be sent by June 1, 2014.
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. You are encouraged
to go through the introductory material available on the website.
Faculty
=======
• Francesc Alted, Continuum Analytics Inc., USA
• Pietro Berkes, Enthought Inc., UK
• 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
• Rike-Benjamin Schuppner, Technologit GbR, Germany
• Nelle Varoquaux, Centre for Computational Biology Mines ParisTech,
Institut Curie, U900 INSERM, Paris, France
• Stéfan van der Walt, Applied Mathematics, Stellenbosch University,
South Africa
• Niko Wilbert, TNG Technology Consulting GmbH, Germany
• Tiziano Zito, Institute for Theoretical Biology, Humboldt-Universität
zu Berlin, Germany
Organized by Tiziano Zito (head) and Zbigniew Jędrzejewski-Szmek for
the German Neuroinformatics Node of the INCF (Germany), Lana Periša
for the Numerical and applied mathematics group, FESB, University of
Split (Croatia), Ivana Kajić from the Bernstein Center for
Computational Neuroscience Berlin (Germany), Ivana Balažević from
the Technical University Berlin (Germany), and Filip Petkovski from
IN2 Ltd. Skopje (Macedonia).
Website: http://python.g-node.org
Contact: python-info@g-node.org
_______________________________________________
Comp-neuro mailing list
Comp-neuro@neuroinf.org
http://www.neuroinf.org/mailman/listinfo/comp-neuro
No comments:
Post a Comment