Torna alla pagina principale

Caso reale · Università di Catania

Laboratorio di Informatica in Ostetricia: un corso di Basi di Dati e sviluppo App, costruito conversando

Sette lezioni in laboratorio, 73 moduli, 21 ore, per le studentesse del terzo anno del corso di laurea in Ostetricia. Si impara a progettare una base di dati relazionale, a popolarla e interrogarla con SQL e a costruirci sopra una piccola applicazione web, lavorando su dati di vario genere. Gli strumenti di lavoro sono SQL e Oracle APEX; il corso è pubblicato sul nuovo Studium, il portale Moodle dell'Università di Catania. MCPCA e Moodlecraft hanno permesso di realizzarne lezioni, esercizi e prove d'esame: è il primo corso completo realizzato con questi strumenti.

La scheda

Ateneo
Università di Catania
Dipartimento
Chirurgia generale e specialità medico-chirurgiche
Corso di laurea
Ostetricia (abilitante alla professione sanitaria di Ostetrica/o), L/SNT1
Insegnamento
Laboratorio di Informatica (1001448), terzo anno
Anno accademico
2025/2026
Impegno
Sette lezioni in laboratorio, 21 ore, frequenza obbligatoria
Verifica
Quiz a scelta multipla ed esercizi SQL su dati sanitari
Pubblicato su
Studium, l'installazione Moodle dell'ateneo
Realizzato con
MCPCA e Moodlecraft
Docente
Ing. Antonio S. Calanducci, PhD

Il punto di partenza

Basi di dati dentro un corso di laurea sanitario

Al termine del corso lo studente deve saper analizzare un'esigenza informativa reale in ambito professionale sanitario e saperla rappresentare, interrogare e valutare. Sono dati con cui lavorerà ogni giorno: l'anagrafica delle pazienti, il registro dei parti, i turni del personale. Chi frequenta il corso non diventerà informatico, e il syllabus non richiede prerequisiti di programmazione: deve saper dialogare con chi progetta gli applicativi e ricavare in autonomia le informazioni di cui ha bisogno.

Il corso si svolge in presenza, in laboratorio, ed è prevalentemente pratico: brevi spiegazioni seguite da esercizi individuali su Oracle APEX. Moodle è il supporto: lezioni testuali, videoregistrazioni con trascrizione, esercizi. Preparare tutto quel materiale è il lavoro che di solito non si fa, perché costruirlo e pubblicarlo a mano su Moodle richiede troppe ore e troppi passaggi: ci si limita, al più, a caricare le slide.

Con MCPCA ho descritto a parole il risultato desiderato e l'ho ottenuto in Moodle. Con Moodlecraft lo stesso corso è diventato una cartella di file di testo versionata con git: l'anno prossimo si riapplica cambiando le date e il dataset, senza ricominciare da capo.

7lezioni
73pagine pubblicate
32esercizi e soluzioni
80domande nel deposito d'esame
2prove d'esame
35elaborati corretti

Numeri rilevati sul corso il 27 luglio 2026, quando la struttura è stata mappata l'ultima volta.

Come è stato costruito

Dalla slide alla prova d'esame, passo per passo

Ogni passaggio è una conversazione con l'assistente oppure un comando di Moodlecraft. Le etichette indicano gli strumenti del plugin usati in quel passaggio.

  1. Dalle slide alle lezioni

    Le slide di ciascuna lezione sono diventate pagine Markdown su Moodle: un argomento per pagina, con tabelle, esempi di codice formattato e riepiloghi. Ogni lezione si apre con un indice cliccabile che elenca le sue pagine nell'ordine in cui vanno seguite.

    create_sectioncreate_pageupdate_page
  2. Dai video alle pagine con indice

    Le lezioni registrate avevano una trascrizione. Da quella l'assistente ha ricavato un indice con i minutaggi e il testo delle singole sezioni: non la trascrizione grezza, ma il contenuto riscritto e sintetizzato, con il video sempre in cima alla pagina.

    get_page_contentupdate_page
  3. Un filo narrativo per gli esercizi

    La Lezione II è un caso investigativo: una tabella di 500 sospetti di vari crimini e una serie di indizi da tradurre in query, fino a restringere la lista a un solo nome. Quindici esercizi e diciassette soluzioni, ciascuno una pagina, creati insieme al testo della lezione.

    create_page
  4. Il dataset clinico

    Per gli esercizi d'esame ho usato un dataset di ambito ostetrico: pazienti, parti, personale. Il file SQL su cui lavorare è caricato nel corso come risorsa scaricabile, così ognuno ricrea le tabelle nel proprio ambiente Oracle APEX.

    create_resourcecore_files_upload
  5. Il deposito domande

    Un gruppo di domande per lezione: venti domande a scelta multipla ciascuno, con un feedback scritto per ogni risposta sbagliata. Per ogni appello se ne prepara una serie nuova, così chi ripete l'esame non ritrova le stesse domande. Restano nella banca del corso e si rileggono e si correggono conversando, senza aprire l'editor di Moodle.

    create_question_categorycreate_questionlist_questionsupdate_question
  6. Le prove d'esame

    Ogni prova estrae a caso ventidue domande dai quattro depositi — sei dalla Lezione II, sei dalla III, cinque dalla IV, cinque dalla V — e aggiunge quattro esercizi pratici da risolvere in Oracle APEX. Trenta punti in tutto e idoneità al 60%, cioè diciotto, come prescrive il syllabus; un solo tentativo, un'ora di tempo. Chi preferisce può presentare in alternativa un progetto: una piccola applicazione di gestione dati costruita in APEX.

    create_quizcreate_quiz_sectionadd_random_questions_to_quizadd_question_to_quiz
  7. La correzione

    Le domande a scelta multipla le corregge Moodle da sé, con il feedback fornito agli studenti. Per gli esercizi pratici ho esportato le risposte in un foglio di calcolo, le ho valutate una per una con punteggio e commento, e le ho reimportate nel registro: trentacinque elaborati, otto risposte ciascuno. L'esportazione e la reimportazione, al momento, le fa uno script del progetto.

    mod_quiz_get_user_attemptsmod_quiz_get_attempt_review
  8. Il syllabus

    Anche la scheda dell'insegnamento pubblicata dal dipartimento — risultati di apprendimento attesi, contenuti delle sette lezioni, modalità di verifica, testi di riferimento — è nata dallo stesso materiale, rileggendo il corso già pubblicato invece di riscrivere tutto dentro un modulo da compilare: tramite MCPCA l'assistente AI ha letto l'intero corso e ne ha redatto il testo, poi pubblicato su SmartEdu con uno script dedicato.

    core_course_get_contentsget_page_content
  9. Tutto versionato

    Il corso è una cartella sotto controllo di versione con git: plan mostra che cosa cambierebbe, apply applica soltanto le differenze.

    moodlecraft planmoodlecraft apply

Schermate

Il corso pubblicato

Schermate prese dal corso reale sulla piattaforma dell'ateneo.

Home del corso con l'elenco delle sezioni
La home del corso: le sette lezioni più il materiale e la sezione degli esami.
Elenco dei moduli di una lezione
Una lezione aperta: teoria, indizi e soluzioni si alternano nell'ordine in cui vanno seguiti.
Pagina di indice di una lezione
L'indice che apre ogni lezione, con il percorso completo.
Pagina di lezione con video e indice a minutaggi
Una pagina nata da un video: indice con i minutaggi e testo delle sezioni.
Deposito domande del corso
I depositi di domande, uno per lezione.
Struttura della prova d'esame con gli slot casuali
La prova vista dall'editor: ogni sezione pesca a caso dal deposito della sua lezione, un punto per domanda, voto massimo 30.

Estratti reali

Quattro pezzi del corso, come sono oggi

Testi presi dalle pagine pubblicate e dai file che le generano, non ricostruzioni.

Indice — Lezione II: Introduzione a SQL

Lezione II — Introduzione a SQL

In questa lezione impariamo le basi del linguaggio SQL usando Oracle APEX, seguendo un caso investigativo: dobbiamo aiutare SQLman a individuare due ladri di banca all'interno della tabella suspects.

  1. Cos'è SQL?
  2. Il tuo primo accesso a SQL in APEX
  3. Selezionare colonne specifiche e la clausola WHERE
  4. Indizio #1 — Il primo ladro è un uomo
  5. Operatori logici: AND, OR, NOT
  6. Indizio #2 — Cicatrici sulle mani
  7. Indizi #4-7 — Cattura del primo ladro
  8. Sfida finale — Trova te stesso

L'indice apre ogni lezione. La sola Lezione II conta 22 pagine tra teoria, indizi e soluzioni.

Breve tour dell'app APEX — Lezione VI

Video introduttivo alla Lezione VI: un tour dell'applicazione Oracle APEX che verrà costruita da questa lezione in poi, a partire dalle conoscenze SQL già acquisite nel corso.

  • Homepage e le tre pagine dell'app0:52
  • Pagina Sospettati: consultare, modificare, aggiungere una foto1:40
  • Ordinare, filtrare e raggruppare i dati2:48
  • Creare ed eliminare un sospettato5:18
  • Ricerca sospettati con filtri combinati7:04
  • L'app anche su mobile9:26

Dal video alla pagina: indice con i minutaggi e testo delle sezioni, ricavati dalla trascrizione.

Deposito domande — Lezione III

Quale clausola o costrutto SQL si utilizza per combinare i dati delle tabelle pazienti e parti sulla base di una chiave in comune?

  • JOIN (o equi-join)Corretto.
  • GROUP BYGROUP BY raggruppa righe per calcoli aggregati, non collega tabelle.
  • ORDER BYORDER BY ordina il risultato, non collega tabelle.
  • WHERE NOTNOT nega una condizione, non collega tabelle.

Una delle venti domande del deposito della Lezione III. Il feedback spiega perché l'alternativa sbagliata è sbagliata.

Prova di idoneità — esercizi pratici
Esercizio 2 — Query

Scrivi ed esegui in Oracle APEX una query che, tramite un JOIN tra le tabelle parti e personale, restituisca per ciascuna ostetrica il numero di parti seguiti, ordinando i risultati dal più alto al più basso.

Esercizio 2 — Risultato

Riporta qui il risultato ottenuto eseguendo la query dell'Esercizio 2: nome dell'ostetrica e relativo conteggio, in ordine.

Query e risultato sono due domande separate, un punto ciascuna: chi sbaglia la sintassi ma arriva al risultato giusto non perde tutto l'esercizio.

Quattro esercizi come questo chiudono la prova, sul dataset di pazienti, parti e personale.

Che cosa ho imparato

Sei cose che porto al prossimo corso

Non tutto ha funzionato al primo tentativo, e alcune scelte sono diventate regole.

L'assistente non inventa il contenuto

Le pagine nascono dal materiale reale: slide, trascrizioni, dataset. Quello che scrive va comunque riletto, e la responsabilità di ciò che viene pubblicato resta di chi insegna.

La correzione resta una decisione umana

Per gli esercizi aperti l'assistente propone un punteggio e un commento per ogni risposta; la valutazione finale l'ho confermata io, elaborato per elaborato, prima di riportarla sul registro.

Il lavoro della prossima edizione è già fatto per più di metà

Il corso è una cartella versionata: cambiano le date, il dataset e le domande nuove. Il resto si riapplica in pochi minuti, con la certezza che nulla viene duplicato.

Il tempo si sposta, non sparisce

Costruire le pagine di un corso è diventato rapido; il tempo si è spostato sulla scelta di che cosa chiedere, sulla rilettura e sulla correzione.

Gli studenti non vedono nulla di tutto questo

Trovano un corso ordinato, con un indice per lezione, esercizi con soluzione e prove diverse per ciascuno. Il fatto che sia stato costruito conversando è un dettaglio che riguarda solo chi lo ha scritto.

I quiz nascono nascosti

La prova del secondo appello è dichiarata nascosta nel file che la definisce, e ogni riapplicazione rispetta quella scelta.

Vuoi approfondire come è costruito?

Posso mostrarti il corso, i file che lo generano e il modo in cui sono state costruite le prove d'esame. Se insegni o ti occupi di formazione, un corso pilota è sufficiente per valutare se l'approccio è adatto al tuo contesto.

antonio.calanducci AT (unict, unime).it Lo stesso indirizzo è attivo su unict.it e su unime.it: basta sostituire AT con @.