Ingegneria Biomedica L-9
Fondamenti di informatica
| Settore scientifico disciplinare | Numero crediti formativi (CFU) | Docente |
| ING-INF/05 (IINF-05/A) | 9 | Ala Arman |
Risultati di apprendimento attesi
· Conoscenza e comprensione dei paradigmi della programmazione iterativa e ricorsiva
· Conoscenza e comprensione dei metodi per la programmazione procedurale e a oggetti
· Conoscenza e comprensione delle strutture fondamentali per la rappresentazione dei dati e per i modelli relazionali.
Modalità di accertamento dei risultati di apprendimento acquisiti dallo studente
1. Discussioni svolte durante le lezioni interattive, utili a verificare la capacità degli studenti di argomentare, confrontarsi e applicare i concetti affrontati.
2. Valutazione dei risultati dell’esame finale, che misura il raggiungimento complessivo dei risultati di apprendimento attesi, sia in termini di conoscenza teorica che di
capacità applicative.
Modalità di esame
Propedeuticità
Nessuna propedeuticità obbligatoria.
Prerequisiti
- Familiarità con l’uso del computer e dei principali strumenti informatici (file, cartelle, applicazioni).
- Capacità di comprendere testi tecnici e seguire procedure passo-passo.
- Non è richiesta alcuna conoscenza pregressa di programmazione.
Organizzazione didattica
- 45 lezioni frontali videoregistrate, della durata di circa 30 minuti ciascuna (tenuta in considerazione la necessità di riascolto) sempre disponibili in piattaforma.
- 9 ore di lezioni online interattive in diretta
- Per gli studenti che sostengono l’esame dopo il 13 febbraio 2026, la prova comprende anche un progetto di programmazione (2 CFU), sviluppato nell’ambito delle attività di laboratorio e descritto nella sezione Home del corso → Elaborati.
Ricevimento studenti
In merito all’appuntamento, può contattarmi tramite il seguente indirizzo email: ala.arman@uniroma5.it
Obiettivi Formativi
L’insegnamento si propone di far acquisire agli studenti le conoscenze sulle nozioni di base dell’informatica ed in particolare i principi, le tecniche e gli strumenti fondamentali relativi al trattamento automatico dell’informazione. Più specificatamente, l’insegnamento si propone di fornire conoscenze e capacità di comprensione in tre ambiti importanti dell’informatica di base:
a) architettura dei calcolatori elettronici;
b) rappresentazione digitale dell’informazione;
c) risoluzione di problemi mediante un approccio algoritmico.
Risultati di apprendimento attesi
- Conoscenza e comprensione dei paradigmi della programmazione iterativa e ricorsiva
- Conoscenza e comprensione dei metodi per la programmazione procedurale e a oggetti
- Conoscenza e comprensione delle strutture fondamentali per la rappresentazione dei dati e per i modelli relazionali.
Programma del Corso
- Fondamenti dell’informatica: architettura dei calcolatori, sistemi operativi, rappresentazione digitale dell’informazione e principi del trattamento automatico dei dati.
- Programmazione in Python: variabili, tipi di dato, strutture di controllo, funzioni, ricorsione, gestione della memoria e programmazione a oggetti.
- Strutture dati: liste, tuple, insiemi, dizionari, matrici, alberi, grafi e relativi algoritmi di visita e manipolazione.
- Attività di laboratorio finalizzata ad offrire agli studenti la possibilità di comprendere e mettere in pratica lo sviluppo di programmi funzionanti.
Testi consigliati
Il docente consiglia l’integrazione del materiale fornito (videolezioni, slides, esercitazioni) con i seguenti testi, a cui il docente può fare riferimento durante le lezioni:
- C. Horstmann, R. D. Necaise, Concetti di Informatica e fondamenti di Python. (Maggioli Editore)
- M.G. Schneider, J.L. Gersting, Informatica, Algoritmi, architetture, linguaggi, applicazioni (Maggioli Editore)
Lezioni
Rappresentazione e codifica delle informazioni
Rappresentazione Digitale Binaria
Sistemi di numerazione posizionale
Codifica binaria di numeri decimali
Operazioni aritmetiche tra numeri binari
Codifica ottale
Codifica esadecimale
Codifica del testo
Codifica del suono
Codifica di immagini e video
Rappresentazione in segno e modulo
Rappresentazione in complementi a uno
Rappresentazione in complementi a due
Rappresentazione per eccesso
Rappresentazione dei numeri reali
Rappresentazione in virgola mobile
Concetti introduttivi
Assiomi e propriet
Operatori logici e operatori booleani
Funzioni ed Espressioni booleane
Caratteristiche e componenti fondamentali
Ciclo del processore
Tipologie di memorie
Trasferimento dati
Evoluzioni del modello di Von Neumann
Problemi, algoritmi, ed esecutori
Automi a stati finiti
La descrizione degli algoritmi
Diagrammi di flusso
Diagrammi di flusso: i Blocchi di iterazione
Esercizi di riepilogo
Linguaggi di Programmazione
La progettazione dei programmi
Struttura dei programmi in C
Tipi di dati e operatori
Strutture di controllo in C: sequenza e selezione
Strutture di controllo in C: selezione multipla
SQL come Data Definition Language
SQL per la definizione di valori null e vincoli
SQL per la creazione di oggetti nel DB
SQL come Data Manipulation Language
Le query SQL e le clausole fondamentali
Il Join tra tabelle