Lectures

Topics

Topic

Argument

Agile

Project

Management

Introduction to Project Management: Waterfall vs Agile

How to write stories, maintain a Backlog and work with a board

Improve constantly with Retrospectives

Agile best practices

Clean

Code

Tests and test-driven development

Git

Clean and maintainable code

Useful documentation

Docker [only if enough time left]

Learning Experience

Philosophy

I forget what you tell me
What you show me, I remember
What you make me do, I understand

Confucius

Our workshop has been conceived to put at the center of the spotlight the participants and to make the learning interactive and concrete.

The participants will be divided into teams that will work independently during the exercises, and share their findings at the end of each exercise.

We will follow the Agile concept. Each team will start from a very simple working mode, but after every lesson, new concepts will be introduced and stack up incrementally to the working mode of the team. In the end, each team will be working in a full-agile way, and use modern coding methodologies. We tried to summarize this idea in the following diagram:

_images/sphinx_workshop-loops.png

We will use modern python 3 throughout all our exercises and leave to the participants the task of finding the corresponding technology in their favorite programming language. The concepts that we will introduce will be of course language-independent, and we are confident that participants will be able to find the corresponding in their programming language. During the lectures, we will anyway give some hints in this direction.

Prerequisites and target profile

  • Scientific computing general culture.

  • Programming skills in at least one language.

  • Basic knowledge of the python 3 programming language (see Environment setup and prerequisites section)

These lectures are aimed in particular to PhD students and postdocs, especially the ones who focus more on writing their own code rather than running out-of-the-box simulation tools. As previously mentioned, it could be of particular interest for those who want to have an insight on industries’ methodologies and technologies.

We will provide a form that each participant should fill out for us before the workshop. This form will be useful for us to better understand our audience, and better tailor our lectures around the participants.

Required materials

  • a large room where all participants can fit in

    • equipped with a whiteboard

    • beamer for presentations

  • two extra separate rooms

    • in each should fit 1/3 of the participants, and should be equipped with chairs and tables

  • four (movable) flip-charts

  • each participant should have its own laptop with internet connection

  • each participant should have a block notes for writing

  • a software installation list will be provided before the workshop

  • wished but not necessary, drinks and snacks during the breaks