Differences
This shows you the differences between two versions of the page.
start [2018/06/25 12:14] – external edit 127.0.0.1 | — | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Scientists spend more and more time writing, maintaining, | ||
- | 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 and best practices which are standard in the industry, | ||
- | but especially tailored to the needs of a programming scientist. Lectures are devised to be interactive and to give the students enough time to acquire | ||
- | direct hands-on experience with the materials. Students will work in pairs throughout the school and will team up to practice the newly learned skills in a | ||
- | real programming project — an entertaining computer game. | ||
- | |||
- | We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more | ||
- | importantly, | ||
- | 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 and of a version control system such as git, subversion, mercurial, | ||
- | or bazaar is assumed. Participants without any prior experience with Python and/or git should work through the proposed | ||
- | [[introductory_material|introductory material]] **before** the course. | ||
- | |||
- | We are striving hard to get a pool of students which is international and gender-balanced: | ||
- | |||
- | < | ||
- | |||
- | [[faculty|Faculty]], | ||
- | |||
- | |||
- | ==== Date & Location ===== | ||
- | **3–8 September, 2018**. [[https:// | ||
- | |||
- | **If you missed the application deadline**, write to [[python-info@g-node.org]] to be put on the announcement list for next year. | ||
- | |||
- | ==== Program ===== | ||
- | * Version control with git and how to contribute to open source projects with GitHub | ||
- | * Best practices in data visualization | ||
- | * Organizing, documenting, | ||
- | * Testing scientific code | ||
- | * Profiling scientific code | ||
- | * Advanced NumPy | ||
- | * Advanced scientific Python: decorators, context managers, generators, and elements of object oriented programming | ||
- | * Writing parallel applications in Python | ||
- | * Speeding up scientific code with Cython and numba | ||
- | * Memory-bound computations and the memory hierarchy | ||
- | * Programming in teams | ||
- | |||
- | Also see the [[schedule|detailed day-by-day schedule]]. | ||
- | ==== Materials from previous years ==== | ||
- | See the [[archives]]. | ||