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
La valutazione finale avverrà nelle date d’appello previste dall’Ateneo e pubblicate in piattaforma, in modalità scritta online (prova in itinere), scritta strutturata in presenza.
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)
ORGANIZZAZIONE DIDATTICA ESAMI 2026/2027
Lezioni da studiare per la PROVA INTERMEDIA ONLINE:
1 Rappresentazione e codifica delle informazioni
2 Rappresentazione Digitale Binaria
3 Sistemi di numerazione posizionale
4 Codifica binaria di numeri decimali
5 Operazioni aritmetiche tra numeri binari
6 Codifica ottale
7 Codifica esadecimale
8 Codifica del testo
9 Codifica del suono
10 Codifica di immagini e video
11 Rappresentazione in segno e modulo
12 Rappresentazione in complementi a uno
13 Rappresentazione in complementi a due
14 Rappresentazione per eccesso
15 Rappresentazione dei numeri reali
16 Rappresentazione in virgola mobile
17 Concetti introduttivi
18 Assiomi e proprietà
19 Operatori logici e operatori booleani
20 Funzioni ed Espressioni booleane
21 Caratteristiche e componenti fondamentali
22 Ciclo del processore
23 Tipologie di memorie
24 Trasferimento dati
25 Evoluzioni del modello di Von Neumann
26 Problemi, algoritmi, ed esecutori
27 Automi a stati finiti
28 La descrizione degli algoritmi
29 Diagrammi di flusso
30 Diagrammi di flusso: i Blocchi di iterazione
31 Esercizi di riepilogo
32 Linguaggi di Programmazione
33 La progettazione dei programmi
Lezioni da studiare per la PROVA DI PROFITTO FINALE IN PRESENZA:
34 Struttura dei programmi in C
35 Tipi di dati e operatori
36 Strutture di controllo in C: sequenza e selezione
37 Strutture di controllo in C: selezione multipla
38 SQL come Data Definition Language
39 SQL per la definizione di valori null e vincoli
40 SQL per la creazione di oggetti nel DB
41 SQL come Data Manipulation Language
42 Le query SQL e le clausole fondamentali
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