COMPUTER SCIENCE FOR BIOTECHNOLOGIES
Academic year2023/24
CourseBIOTECHNOLOGY
Code278AA
Credits6
PeriodSemester 1
LanguageItalian
Modules | Area | Type | Hours | Teacher(s) |
INFORMATICA PER LE BIOTECNOLOGIE | INF/01 | LEZIONI | 56 | |
Obiettivi di apprendimento
Conoscenze
Il corso si impone di impartire allo studente/alla studentessa competenze basilari di algoritmica e programmazione.
Basi di algoritmica:
- complessità computazionale
- algoritmi di ricerca
- algoritmi di ordinamento
- programmazione dinamica
Basi di programmazione, linguaggio C:
- cicli
- iterazioni
- funzioni
- puntatori
Knowledge
The course comprises of a theoretical, algorithm-oriented thread, and a practical, programming-oriented one.
In the former, the course will deal with:
- computational complexity
- search algorithms
- sorting algorithms
- dynamic programming
In the latter, the course will focus on the C language:
Modalità di verifica delle conoscenze
Esame scritto strutturato in due compiti, uno per ognuna delle due parti indicate sopra. Il corso prevede una prova opzionale in itinere a fine corso.
Assessment criteria of knowledge
Written exam. In order to pass the course, the student will have to succesfully pass both.
Capacità
Al termine del corso lo studente/la studentessa sarà in grado di
- progettare e analizzare algoritmi, e definirli formalmente mediante diagrammi di flusso
- sviluppare programmi in linguaggio C, e usufruire di librerie esistenti.
Skills
By the end of the course, the student will be able to
- analyze algorithms, formally defining them with flow charts;
- implement said algorithms in the C language.
Modalità di verifica delle capacità
Durante lezioni frontali e esercitazioni in classe, gli studenti saranno impegnati nello sviluppo di programmi relativi al campo delle biotecnologie.
Assessment criteria of skills
In both lectures and exercise sessions, the students will be exposed to and develop biotechnologies-oriented programs
Comportamenti
Saranno acquisite competenze basiche di programmazione che lo studente/la studentessa potrà poi applicare in vari ambiti.
Behaviors
The student will learn programming fundamentals which will serve them in implementing programmatic solutions to a plethora of problems.
Modalità di verifica dei comportamenti
Durante le lezioni e esercitazioni in classe saranno coinvolti gli studenti e corretti i programmi da essi proposti.
Assessment criteria of behaviors
Exercise sessions will directly involve the students, who will be able to get a direct feedback from the teacher.
Prerequisiti (conoscenze iniziali)
- Nozioni matematiche di base su analisi di funzioni
- Utilizzo di un editor di testo
Prerequisites
- Basic notions of calculus.
- Basic use of a text editor
Indicazioni metodologiche
Corso svolto mediante lezioni frontali. È richiesto accesso a un computer per studio e esercitazioni in proprio, ma è solo consigliato per le lezioni frontali.
Il materiale didattico è interamente caricato direttamente sul gruppo Teams del corso.
I docenti mettono a disposizione un'orario d'ufficio da concordarsi, e sono reperibili presso il gruppo Teams sopraindicato.
Programma (contenuti dell'insegnamento)
Basi di algoritmica
- Classi di complessità,
- algoritmi di ricerca: non ordinata, ricorsiva, binaria;
- algoritmi di ordinamento: insertion-sort, merge-sort, foolish-sort;
- algoritmi su stringhe: allineamento e similarità;
- strutture dati: alberi e alberi filogenetici.
Basi di programmazione C:
- Iterazione;
- Selezione;
- Funzioni;
- Tabelle dei simboli e Activation records;
- Puntatori.
Syllabus
Algorithms:
- complexity classes;
- search algorithms: unordered, recursive, binary;
- sorting algorithms: insertion-sort, merge-sort, foolish-sort;
- algorithms and strings: alignment and similarity;
- data structures: trees and philogenetic trees.
The C language:
- loops;
- selection;
- functions;
- symbols table and activation records;
- pointers.
Bibliografia e materiale didattico
Testi consigliati (uno tra)
- Il linguaggio C. Principi di programmazione e manuale di riferimento, D. M. Ritchie, B. W. Kernighan
- C. Didattica e programmazione, A. Kelley, I. Pohl
- Linguaggio C. Guida alla programmazione, A. Bellini, A. Guidi
Materiale didattico aggiuntivo caricato sul sito del corso.
Bibliography
One of
- Il linguaggio C. Principi di programmazione e manuale di riferimento, D. M. Ritchie, B. W. Kernighan
- C. Didattica e programmazione, A. Kelley, I. Pohl
- Linguaggio C. Guida alla programmazione, A. Bellini, A. Guidi
Additional material uploaded on the Teams group.
Indicazioni per non frequentanti
Programma invariato rispetto all'anno accademico precedente.
Non-attending students info
The program is the same as the past year.
Modalità d'esame
La prova d'esame consiste in
- una prova scritta relativa alle competenze di programmazione, in cui lo studente/la studentessa svilupperà dei piccoli programmi e analizzerà del codice proposto, rispondendo a domande su di esso volte a verificare la comprensione della semantica del linguaggio.
- Una prova scritta relativa alle competenze algoritmiche.
Un esame sarà tenuto in itinere durante il corso.
Assessment methods
The exam comprises of
- a written exam where the student will have to develop/analyze C programs;
- a writtern exam where the student will have to analyze algorithms, e.g., studying their complexity.
Updated: 22/09/2023 14:22