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.
Mode
Teaching for this course is in synchronous online mode. The details for the connection to the theoretical lectures and the labs are available on the Moodle page of the course.
Course Information
Instructor: |
Andrea Passerini Email: |
Teaching assistants: |
Luca Bianco (QCB) Email: luca.bianco [guess what] fmach.it David Leoni (Data Science) Email: david.leoni [guess what] unitn.it |
Tutors: |
Samuel Valentini (QCB) Email: samuel.valentini [guess what] unitn.it Gabriele Masina (Data Science) Email: gabriele.masina [guess what] studenti.unitn.it |
Office hours: |
Wednesday 14:30-15:30 (send email before) |
Lecture time and place: |
Monday 14.30-16.30 A107 (Lecture) Tuesday 15.30-17.30 A107 (Lab. QCB) Tuesday 15.30-17.30 A103 (Lab. Data Science) Wednesday 11.30-13.30 A107 (Lecture) Thursday 15.30-17.30 A107 (Lab. QCB) Thursday 15.30-17.30 A208 (Lab. Data Science) |
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. |
Material: |
Slides and handouts (pdf format) 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] Recursion [slides] [handouts] Pandas [slides] [handouts] Numpy+MatPlotLib [slides] [handouts] Programming paradigms [slides] [handouts] Exercises — 1 [slides] [handouts] |
Lab: |
Lab page (QCB) Lab page (Data Science) |
Exams
Modality: | Written exam |