Scientific Programming: Part A - Programming
General information
Degrees: | Quantitative and Computational Biology, Data Science |
Period: | September - October |
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 to 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 others 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.
Course Information
Instructor: |
Andrea Passerini Email: |
Teaching assistants: |
Luca Marchetti (QCB) Email: luca.marchetti [guess what] unitn.it David Leoni (Data Science) Email: david.leoni [guess what] unitn.it |
Tutors: |
Gabriele Masina (QCB+DS) Email: gabriele.masina [guess what] studenti.unitn.it |
Office hours: |
Please write an email to arrange a call. |
Lecture time: |
Monday 14.30-16.30 (lecture, room a107) Thursday 11.30-13.30 (lecture, room circoscrizione 1) Tuesday 14.30-16.30 (QCB lab, room a110) Thursday 14.30-16.30 (QCB lab, room a107) Thursday 15.30-17.30 (DS lab, room b106) Friday 17.30-19.30 (DS lab, room a207) |
Communications: | Please 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. |
Slides: |
Course introduction [slides] [handouts]
Introduction to Python [slides] [handouts] Strings, lists, tuples and dictionaries [slides] [handouts] Complex statements [slides] [handouts] Functions [slides] [handouts] Modules and programs [slides] [handouts] Pandas [slides] [handouts] Numpy+MatPlotLib [slides] [handouts] Recursion [slides] [handouts] Programming paradigms [slides] [handouts] |
Lab: |
Lab page (QCB) Lab page (Data Science) |
Exams
Modality: | Written exam |