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.

Date & Location

February 8th — 12th, 2010. Warsaw, Poland.

Preliminary Program

Day0 (Mon Feb 8) [Optional]: Dive into Python

Day1 (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

Day2 (Wed Feb 10): Scientific Tools for Python

  • NumPy, SciPy, Matplotlib
  • Data serialization: from pickle to databases
  • Programming project in the afternoon

Day3 (Thu Feb 11): The Quest for Speed

  • Writing parallel applications in Python
  • When parallelization does not help: the starving CPUs problem

Day4 (Fri Feb 12): Practical Software Development

  • Software design
  • Efficient programming in teams
  • Quality Assurance
  • Programming project final
Website: http://www.g-node.org/python-winterschool

Contact: python-winterschool@g-node.org


    4           5