Tuesday, January 31, 2012

Advanced Scientific Programming in Python


 
a Summer School by the G-Node and the Institute of Experimental and
Applied Physics, Christian-Albrechts-Universität zu Kiel

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,
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 2—7, 2012. Kiel, Germany.

Preliminary Program
===================
Day 0 (Sun Sept 2) — Best Programming Practices
  - Best Practices, Development Methodologies and the Zen of Python
  - Version control with git
  - Object-oriented programming & design patterns
Day 1 (Mon Sept 3) — Software Carpentry
  - Test-driven development, unit testing & quality assurance
  - Debugging, profiling and benchmarking techniques
  - Best practices in data visualization
  - Programming in teams
Day 2 (Tue Sept 4) — Scientific Tools for Python
  - Advanced NumPy
  - The Quest for Speed (intro): Interfacing to C with Cython
  - Advanced Python I: idioms, useful built-in data structures, 
    generators
Day 3 (Wed Sept 5) — The Quest for Speed
  - Writing parallel applications in Python
  - Programming project
Day 4 (Thu Sept 6) — Efficient Memory Management
  - When parallelization does not help:
    the starving CPUs problem
  - Advanced Python II: decorators and context managers
  - Programming project
Day 5 (Fri Sept 7) — 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, 2012.
Notifications of acceptance will be sent by June 1, 2012.

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 last
time was 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
  - Valentin Haenel,  Blue Brain Project, École Polytechnique
    Fédérale de Lausanne, Switzerland
  - Zbigniew Jędrzejewski-Szmek, Faculty of Physics, University of
    Warsaw, Poland
  - Eilif Muller, Blue Brain Project, École Polytechnique Fédérale
    de Lausanne, Switzerland
  - Emanuele Olivetti, NeuroInformatics Laboratory, Fondazione Bruno
    Kessler and University of Trento, Italy
  - Rike-Benjamin Schuppner,  Technologit GbR, Germany
  - Bartosz Teleńczuk, Unité de Neurosciences Information et
    Complexité, Centre National de la Recherche Scientifique, France
  - Stéfan van der Walt, Helen Wills Neuroscience Institute,
    University of California Berkeley, USA
  - Bastian Venthur, Berlin Institute of Technology and Bernstein
    Focus Neurotechnology, Germany
  - Niko Wilbert, TNG Technology Consulting GmbH, Germany
  - Tiziano Zito, Institute for Theoretical Biology,
    Humboldt-Universität zu Berlin, Germany

Organized by Christian T. Steigies and Christian Drews of the
Institute of Experimental and Applied Physics,
Christian-Albrechts-Universität zu Kiel , and by Zbigniew
Jędrzejewski-Szmek and Tiziano Zito for the German Neuroinformatics
Node of the INCF. 

Website:  http://python.g-node.org
Contact:  python-info@g-node.org

Friday, January 13, 2012

Python Training for Scientists and Engineers

 
 
Learn NumPy and Much More
=========================

Scientists like Python. If you would like to learn more about
important libraries for scientific applications, you might be
interested in these courses.

The course in Germany covers:

- Overview of libraries
- NumPy
- Data storage with text files, Excel, netCDF and HDF5
- matplotlib
- Object oriented programming for scientists
- Problem solving session

The course in the USA covers all this plus:

- Extending Python in other languages
- Version control
- Unit testing


More details below.

If you have any questions about the courses, please contact me.

Mike


Python for Scientists and Engineers (Germany)
---------------------------------------------

A three-day course covering all the basic tools scientists and engineers need.
This course requires basic Python knowledge.

Date: 19.01.-21.01.2012
Location: Leipzig, Germany
Trainer: Mike Müller
Course Language: English
Link: http://www.python-academy.com/courses/python_course_scientists.html


Python for Scientists and Engineers (USA)
-----------------------------------------

This is an extend version of our well-received course for
scientists and engineers. Five days of intensive training
will give you a solid basis for using Python for scientific
an technical problems.

The course is hosted by David Beazley (http://www.dabeaz.com).

Date: 27.02.-02.03.2012
Location: Chicago, IL, USA
Trainer: Mike Müller
Course Language: English
Link: http://www.dabeaz.com/chicago/science.html