- Docente: Piero Fariselli
- Credits: 10
- SSD: INF/01
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Bioinformatics (cod. 8020)
Learning outcomes
Prerequisites:
- basic calculus
- elements of probability and statistics
- basic knowledge of programming is not required but welcome
Course contents
How to program in Python Language; Introduction to: Variables,
Expressions and Statements, Functions, Conditionals and Recursion,
Iteration, Strings, Lists, Tuples, Dictionaries, Classes and
Objects, Inheritance, simple ADTs (Stacks and Queues), Trees and
Graphs. The course includes also a brief introduction to dynamic
programming. Pairwise alignment algorithms (local, global and
semiglobal). Markov Models and Hidden Markov Model: general
descriptions and main algorithms.
Readings/Bibliography
- Downey, J Elkner, C Meyers. How to Think Like a Computer Scientist - Learning With Python. 2002. Available at http://www.greenteapress.com/thinkpython/thinkCSpy/
- Brad Miller and David Ranum. Problem Solving with Algorithms and Data Structures. Franklin, Beedle & Associates; 2nd edition (August 22, 2011) This book will be useful also for "Algorithms and Data Structures" Available at http://interactivepython.org/courselib/static/pythonds/index.html
- Durbin, Eddy, Krogh, Mitchison "Biological sequence analysis Probabilistic models of proteins and nucleic acids" CAMBRIDGE UNIVERSITY PRESS 1998
Teaching methods
Lectures, practicum and lab activity including python programming exercises.
Assessment methods
During the course the students are requested to write python programs on selected topics that must be known for the final evaluation. The final examination will be written exercises on simple python scripts and exercises.
Teaching tools
Video beam, PC, overhead projector, laboratory activity.
Office hours
See the website of Piero Fariselli