INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICAIngegneria informaticaAnno accademico 2025/2026

9797558 - FONDAMENTI DI PROGRAMMAZIONE F - O
Modulo PROGRAMMAZIONE I

Docente: GIOVANNI BELLITTO

Risultati di apprendimento attesi

Descrizione del modulo

Il modulo Programmazione I del corso Fondamenti di Programmazione si concentra sulla formazione di studenti competenti nella programmazione Python (con approccio procedurale), capaci di affrontare sfide di media complessità, di valutare, scegliere e progettare algoritmi, e di comunicare utilizzando tecniche e linguaggio informatico appropriati.

Il modulo include cenni sulle strategie di ricerca e correzione degli errori (sintattici, semantici e a tempo di esecuzione), sulla rappresentazione dell’informazione, sull’architettura del calcolatore e sui sistemi operativi.

Al termine del modulo, lo studente sarà in grado di sviluppare e descrivere algoritmi per la soluzione di problemi e avrà una conoscenza delle caratteristiche procedurali del linguaggio Python.

Conoscenza e capacità di comprensione (Knowledge and understanding)

L'obiettivo principale è fornire agli studenti una conoscenza delle tecniche algoritmiche e del linguaggio di programmazione Python, compresa la comprensione della sua sintassi, semantica e applicazioni. Il modulo si concentra sullo sviluppo di semplici algoritmi e sui concetti relativi a tipi di dato, variabili, operatori, strutture di controllo e funzioni.

Conoscenze e capacità di comprensione richieste:

Capacità di applicare conoscenza e comprensione (Applying knowledge and understanding)

Gli studenti svilupperanno la capacità di applicare le conoscenze acquisite attraverso esercitazioni, svolte sia su carta che al calcolatore, che permettono di mettere in pratica le abilità di risoluzione dei problemi tramite algoritmi e la loro implementazione in Python.

Il modulo mira a rendere gli studenti competenti nell'utilizzo delle risorse disponibili, comprese le funzioni delle librerie di base di Python e le loro applicazioni pratiche, con particolare attenzione a:

Competenze sviluppate:


Capacità di apprendimento (Learning skills)

Gli studenti saranno in grado di analizzare e valutare problemi di media complessità, come la gestione di sequenze, il dimensionamento e problemi numerici, applicando la programmazione in Python per risolverli, utilizzando correttamente un ambiente di sviluppo e strumenti di debug. 

Competenze sviluppate:

Abilità comunicative (Communication skills)

Il modulo introdurrà gli studenti al gergo informatico, consentendo loro di comunicare efficacemente attraverso il linguaggio matematico/informatico e di condividere soluzioni e idee di programmazione. Competenze sviluppate:

acquisizione del linguaggio informatico e della terminologia tecnica

Modalità di svolgimento dell'insegnamento

Il corso prevede lezioni frontali per l’acquisizione delle conoscenze teoriche di base e degli elementi sintattici, e lo svolgimento di esercitazioni, sia in aula che in autonomia, proposte dal docente per sviluppare la capacità di risolvere problemi, correggere errori, applicare conoscenze e utilizzare ambienti e metodologie di sviluppo.

Il docente propone inoltre esercitazioni individuali che consistono nella soluzione autonoma di un problema, successivamente corretto o discusso in classe.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza, potranno essere introdotte le necessarie variazioni per rispettare il programma previsto e riportato nel syllabus.

Prerequisiti richiesti

Frequenza lezioni

La frequenza non è obbligatoria, sebbene fortemente consigliata, per sostenere con successo la prova d’esame. La frequenza di almeno il 70% delle lezioni permette di acquisire fino a 2 punti nella valutazione complessiva del modulo. Tale bonus ha valenza sono se l'esame viene effettuato nell'anno accademico corrente. 


Qualora l’insegnamento venisse impartito in modalità mista o a distanza, i requisiti per la partecipazione alle prove in itinere potranno essere modificati.

Contenuti del corso

CONCETTI PRELIMINARI

Algoritmi

Rappresentazione dell'informazione

Architettura del calcolatore e linguaggi di programmazioneIntroduzione a PythonPYTHON: PROGRAMMAZIONE PROCEDURALE

Tipi di dato e operazioni fondamentaliStrutture di controlloStrutture dati fondamentaliFunzioni e modularizzazioneStrategie di risoluzione dei problemiCenni di complessità computazionale

Testi di riferimento

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Prova finale del modulo Programmazione I

La prova finale del Modulo 1 consiste in:


1. Questionario a risposte aperte e/o chiuse sui contenuti del programma (valutato in decimi), in particolare su:

2. Prova al calcolatore, che prevede la scrittura di codice Python, la correzione e la verifica del funzionamento (valutata in ventesimi)

La prova complessiva del modulo ha una durata di 90 minuti ed è valutata in trentesimi (somma dei punteggi delle due prove).
La prova si intende superata se lo studente ottiene almeno 18/30, con almeno 5/10 nel questionario e almeno 10/20 nella prova al calcolatore. Lo studente potrà usufruire di 2 punti bonus legati alla frequenza delle lezioni.

La prova contribuirà percentualmente all’attribuzione del voto finale dell’insegnamento.



Prova d’esame dell’insegnamento

Consiste nel superamento delle prove finali del Modulo 1 e del Modulo 2.
Le prove di entrambi i moduli possono essere sostenute nello stesso appello o in appelli differenti.
Il superamento della prova del Modulo 1 è propedeutico al superamento della prova del Modulo 2, anche se svolte nello stesso appello.
Se la prova del Modulo 2 viene sostenuta nello stesso appello della prova del Modulo 1, sarà ritenuta valida solo se la prova del Modulo 1 è stata superata.
Il voto finale è determinato dalla media dei punteggi ottenuti nelle due prove.
Non sono previste prove in itinere.

Esempi di domande e/o esercizi frequenti

Esempi di domande ed esercizi sono disponibili sulla piattaforma Microsoft Teams.

English version