Academic Year 2019/2020

  • Moduli: Alessandro Amoroso (Modulo 1) Giuseppe Lisanti (Modulo 2) Giuseppe Lisanti (Modulo 3)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2) Traditional lectures (Modulo 3)
  • 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.

http://www.python.org

Eric Matthes; Python Crash Course, 2nd Edition; No Starch Press

Allen Downey, Think python 2nd Edition, Green Tea Press.

 

Teaching methods

Lessons

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 Giuseppe Lisanti

See the website of Giuseppe Lisanti

SDGs

Quality education Gender equality Decent work and economic growth Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.