69442 - PROGRAMMING FOR BIOINFORMATICS

Anno Accademico 2013/2014

  • Docente: Piero Fariselli
  • Crediti formativi: 10
  • SSD: INF/01
  • Lingua di insegnamento: Inglese
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Bioinformatics (cod. 8020)

Conoscenze e abilità da conseguire

At the end of the course, the student acquires computer science skills and tools used to solve bioinformatics problems. In particular, the student should be able to: understand algorithms behind most used bioinformatics software; use existing tools to solve common bioinformatics problems; design solutions to new problems using computer science techniques; choose the best computer science tools needed to solve a specific problem.

Contenuti

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.

Testi/Bibliografia

  • 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

Metodi didattici

Lectures, practicum and lab activity including python programming exercises.

Modalità di verifica e valutazione dell'apprendimento

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.

Strumenti a supporto della didattica

Video beam, PC, overhead projector, laboratory activity.

Orario di ricevimento

Consulta il sito web di Piero Fariselli