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: |
Erik Dassi (QCB) Email: erik.dassi [guess what] unitn.it Antonio Longa (Data Science) Email: antonio.longa [guess what] unitn.it |
Tutors: | TBA |
Office hours: |
Please write an email to arrange a call. |
Lecture time: |
Monday 14.30-16.30 (lecture, room a107) 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) |
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: | TBD |
Exams
Modality: | Written exam, see course introduction slides for the details. |