Scheda programma d'esame
COMPUTER SCIENCE FOR BIOTECHNOLOGIES
MATTIA SETZU
Academic year2023/24
CourseBIOTECHNOLOGY
Code278AA
Credits6
PeriodSemester 1
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
INFORMATICA PER LE BIOTECNOLOGIEINF/01LEZIONI56
FABRIZIO LUCCIO unimap
MARCO PODDA unimap
MATTIA SETZU unimap
Obiettivi di apprendimento
Learning outcomes
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:

  • loops
  • functions
  • pointers
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