- Docente: Alessandro Amoroso
- Credits: 12
- SSD: INF/01
- Language: English
- Moduli: Alessandro Amoroso (Modulo 1) Zeynep Kiziltan (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Genomics (cod. 9211)
Learning outcomes
By the end of the course, the student knows the principles, the tools and the methodologies pertaining to computer programming. The successful student can find solutions to basic programming problems and to choose the best informatics tools to solve specific programming challenges. At the end of the hands-on lab, the student can program in at least one of the main languages used in bioinformatics.
Course contents
Introduction to Python. Simple numerical programs. Functions scoping and abstractions. Structured types, mutabilty and higher-order functions. Testing and debugging. Exceptions and assertions. Classes and object-oriented programming. A simplistic introduction to algorithmic complexity. Some simple algorithms and data structures. Dynamic programming. Stochastic programs, probability and distributions. Monte Carlo simulations. Sampling and confidence intervals. Understanding experimental data. Lies, damned lies, and statistics. Quick look at machine learning.
Readings/Bibliography
John V. Guttag; Introduction to Computation and Programming Using Python (2 ed.); The MIT Press.
Teaching methods
Lessons (BYOD).
Considering the type of the activities and the teaching methodology, to participate to this course it is required to partecipate at the e-learning modules Modules 1 and 2 of Health and Safety Training Courses.
Assessment methods
Both written and oral exam about theory and practice.
Teaching tools
Some source codes
Office hours
See the website of Alessandro Amoroso
See the website of Zeynep Kiziltan
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.