Course Unit Page

Academic Year 2020/2021

Learning outcomes

At the end of the course, the student has the knowledge for developing and using tools for sequence and structure analysis of biomolecules and more generally for annotation problems in the genomic era. In particular, the student will be able to independently write programs in Python language, to proficiently use scripting language. He/she will be also able to discuss the theoretical basis of sequence alignment tools (dynamic programming and heuristic algorithms) and machine learning algorithms (Hidden Markov Models) and to implement them.

Course contents

How to program in Python Language; including: variables, expressions and statements, functions, conditionals, iteration, strings, lists, tuples, dictionaries, classes and objects, inheritance, files. The course also includes a brief introduction to linux and to dynamic programming, pairwise alignment algorithms (local, global and semiglobal), Markov Models and Hidden Markov Model (general descriptions and main algorithms).


No specific book is required. Updated teaching material is available through the InsegnamentiOnLine website.

For further information we suggest:

Cay Horstmann, Rance D. Necaise. Python for Everyone, Wiley

Allen B. Downey. Think Python: How to Think Like a Computer Scientist, O’ Reilly

for the Python programming part.

Teaching methods

Theoretical lessons and practical programming activity in Pyhton under linux.

Assessment methods

Written exam based on exercises about Python and script programming.

If the exam will be online, at least part of it will become an oral exam.

Teaching tools

Teaching material will be available on the website InsegnamentiOnLine.

For exercises we will use the linux shell, a text editor (each student can choose the one (s)he prefers) and the Python interpreter.

Office hours

See the website of Ivan Lanese

See the website of Allegra Via