Studying at the University of Verona

Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.

Study Plan

The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.

activated in the A.Y. 2022/2023
ModulesCreditsTAFSSD
Further linguistic skills (C1 English suggested)
3
F
-
Stages
3
F
-
Final exam
24
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°

Legend | Type of training activity (TTA)

TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S009834

Credits

6

Language

English en

Scientific Disciplinary Sector (SSD)

INF/01 - INFORMATICS

Period

Semester 1 dal Oct 3, 2022 al Jan 27, 2023.

Learning objectives

In this course we study advanced data structures for the analysis of genomic sequences, and in general, of textual data. Knowledge and understanding The course provides an understanding of the basic challenges and fundamental issues in processing textual data such as genomic sequences; knowledge of some of the most common computational problems on strings and sequences in genomic data analysis and other applications; familiarity with the most important text indices and their use in solving these problems, including complexity analysis (time and space). Applying knowledge and understanding At the end of the course the student will be able to translate typical problems of genomic sequence analysis in operations and algorithms on textual data and evaluate the computational cost incurred. Making judgements At the end of the course the student will be able to judge whether a given algorithm or data structure is appropriate for the problem at hand, including the evaluation of the computational cost incurred. Communication At the end of the course the student will be able to correctly formalize algorithms on sequences with or without the use of advanced text data structures. Lifelong learning skills At the end of the course the student will be able to read and understand independently scientific articles and specialized texts which use advanced string data structures for the analysis of genomic sequences or other textual data.

Prerequisites and basic notions

Algorithms and data structures. No knowledge of biology is necessary for following the course.

Program

In recent years, we have seen vast progress of research in computational biology, in which the use of dedicated data structures for genomic sequences, and other types of biological sequence data, has been decisive. At the same time, these methods can be, and are being, applied to all other kinds of textual data.
The explosion of the amounts of data available ("big data") is one of the major challenges for computer science today. Much of this data is in form of text (or can be easily rendered in textual form): genomic sequences and other biological sequences, webpages, emails, scanned books, musical data, and many others. In order to be able to efficiently store, process, and extract information from this data, we need dedicated data structures and algorithms, i.e. data structures specifically developed for strings, also referred to as text indexes.
Program of the course:
1) introduction to strings (sequences), their basic properties and fundamental issues: alphabet size, character comparison, string sorting
2) classical exact pattern matching algorithms (non index-based): Knuth-Morris-Pratt, Boyer-Moore, Rabin-Karp, Aho-Corasick
3) Text indexes I:
- tries
- suffix trees
4) Text indexes II:
- suffix arrays, enhanced suffix arrays
- Burrows-Wheeler Transform (BWT), FM-index
For each of these text indexes, we will study their properties, efficient construction, and applications to specific string problems.
No previous knowledge of biology is necessary for following the course.

Bibliography

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Didactic methods

Lectures, exercise sessions, homework with discussion in class. In special cases it is possible to access the online streaming.

Learning assessment procedures

Final exam: written and oral. In the written exam, both theoretical questions will be asked (running times and storage space of algorithms, properties of the data structures studied), and concrete examples will have to be solved (compute the suffix tree, suffix array, BWT etc. of a given string, apply certain algorithms). In the oral exam, the student will have the opportunity to explain in detail his/her solution and show to what extent he/she has understood the topics studied.

The exam is the same for all students (whether or not they followed the lectures).

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE

Evaluation criteria

The exam will show that the student
- has acquired sufficient understanding of the most important issues with respect to handling large textual data (alphabet type, comparison of strings, string sorting, size of textual data)
- can apply, explain, and analyze the algorithms studied for non-index based pattern matching
- can apply, explain, and analyze the data structures studied, in particular construction algorithms for and storage space required by these data structures (inverted index, trie, suffix tree, suffix array, BWT)
- can apply, explain, and analyze some applications of these data structures to problems on strings, such as pattern matching, matching statistics, palindromes, etc.

Criteria for the composition of the final grade

complete grade based on the written and the oral exam

Exam language

inglese