2025–2026 Previous year

Scientific Programming: Part A — Programming

← All courses · Current edition: 2026–2027
  • DegreesQuantitative and Computational Biology, Data Science
  • PeriodSeptember – October
  • InstructorAndrea Passerini
  • Teaching assistants Erik Dassi (QCB)
    Antonio Longa (Data Science)
  • TutorErich Robbi
  • Office hoursPlease write an email to arrange a call.
  • Lecture time Monday 14:30–16:30 (lecture, room a108)
    Tuesday 16:30–18:30 (QCB lab, room a201)
    Tuesday 16:30–18:30 (DS lab, room a202)
    Thursday 11:30–13:30 (lecture, room b108)
    Friday 15:30–17:30 (QCB lab, room a201)
    Friday 15:30–17:30 (DS lab, room b106)
  • CommunicationsPlease check the Moodle page of the course for news and updates.
  • Bibliography Allen Downey, Think Python — How to Think Like a Computer Scientist, Green Tea Press (pdf)
    M. Lutz, Learning Python (5th edition), O'Reilly, 2013
  • ExamWritten exam — see course introduction slides for details.
Materials

Objectives

Computer processing is a key component of modern data analysis pipelines, and plays an increasingly important role in many fields of science. The goal of the first part is to introduce the Python programming language, one of the most widely used scientific computing languages, and a collection of libraries that can be used to analyze data.

At the end of the module, students are expected to:

  • Remember the syntax and semantics of the Python language;
  • Understand programs written by other individuals;
  • Analyze a simple data analysis task and reformulate it as a programming problem;
  • Evaluate which features of the language (and related scientific libraries) can be used to solve the task;
  • Construct a Python program that appropriately solves the task;
  • Evaluate the results of the program.

Slides

Lab

TBD