Python for Computational Science

Welcome to

Anticipated syllabus

Python for Computational Science Part 1

Monday 3 February to Friday 7 February 2025

The course has been designed for researchers to learn practical programming skills that are relevant for use of data processing, data science and computation in domain specific contexts. The module does not assume prior programming knowledge of participants. The module uses hands-on activities for all participants to exercise and experiment with the taught material. The course introduces skills that are advantageous for data handling - be it from experiment or simulation – and provides a basis for self learning or directed learning of more specialised topics at a later stage.

Part 2 of the course provides a deeper look into Python and introduces a wider range of libraries.

Anticipated topics:

  • Introduction to Python

  • Data types & structures

  • Control flow

  • Functions

  • PEP8

  • Name spaces

  • File Input/Output

  • Numpy

  • matplotlib

  • Spyder

  • IPython

  • Jupyter

Python for Computational Science Part 2

Monday 17 February to Friday 21 February 2025

Building on Part 1, this course covers additional aspects:

  1. advanced Python

  2. additional libraries such as scipy, pandas, and sympy

  3. research software engineering and testing, and

  4. selected numerical methods and application examples with focus on natural science and engineering problems.

Aspects (1) to (3) are covered in the beginning of the course. Part (4) is delivered at the end of the week, and can be omitted if not relevant to the participant.

Anticipated topics:

  • Higher order functions

  • programming paradigms

  • scipy, pandas, sympy

  • Research software engineering practices, in particular testing

  • Python package installation

  • interpolation, root finding, curve fitting

  • Optimisation, computing derivatives

  • Integration of functions and ordinary differential equations

Certificates, credit points, attendance confirmation

We are not able to issue any certificates, credit points, nor attendance confirmation.

Educational activities

  • lecture-style delivery of content (typically in the mornings) with opportunity for interaction

  • self-paced programming exercises

  • feedback provision on exercises

  • opportunity to seek help from tutors for exercises (typically in the afternoon)

Is this course for you?

Hard to say. See what attendees from previous years had to say at the end of the course delivered in January 2024.