FONDAMENTI DI PROGRAMMAZIONE

Obiettivi formativi

Obiettivi generali Introduzione alla programmazione tramite il linguaggio Python. Obiettivi specifici Introduzione alla programmazione tramite il linguaggio Python. Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e Input/Output. Strutture dati: vettori, stringhe, liste, tuple e dizionari. Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti. Algoritmi ricorsivi ed iterativi. Librerie di Python per la grafica, per la gestione dei file, per l'elaborazione di testi/html e per l'accesso ad Internet. Debugging e testing di programmi. Conoscenza e comprensione Comprendere e definire i requisiti di un problema. Decidere come rappresentare le informazioni in input e quali strutture dati usare per le elaborazioni intermedie e per l'output. Definire l'algoritmo di soluzione. Codificare l'algoritmo sotto forma di programma Python. Modularizzare il programma in piccole funzioni/metodi separate. Verificare tramite tests che il programma segua i requisiti. Applicazione di conoscenza e comprensione Lo studente dovrà realizzare dei compiti di programmazione per casa, scansionati durante il corso, per mettere in pratica e dimostrare le conoscenze apprese. Alla fine del corso la prova d'esame sarà basata su una prova in laboratorio in cui lo studente dovrà risolvere e programmare alcuni esercizi. Autonomia di giudizio Lo studente alla fine del corso deve essere in grado di scegliere autonomamente come risolvere un problema di programmazione (analisi, implementazione e test). Abilità comunicative Nella fase di analisi del problema e definizione dei requisiti è importante avere una buona capacità di comprensione del linguaggio. Capacità di apprendimento successivo Le basi dell'analisi di un problema per comprendere le specifiche e progettare sia le strutture dati necessarie che l'algoritmo più adatto è applicabile ad altri linguaggi di programmazione e potrà aiutare nei successivi corsi di programmazione.

Canale 1
ANDREA STERBINI Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione alla programmazione tramite il linguaggio Python. Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e Input/Output. Strutture dati: vettori, stringhe, liste, tuple e dizionari. Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti. Algoritmi ricorsivi ed iterativi. Librerie di Python per la grafica, per la gestione dei file, per l'elaborazione di testi/html e per l'accesso ad Internet. Debugging e testing di programmi.
Prerequisiti
È richiesta un'adeguata preparazione iniziale relativa alle materie presenti nei programmi della scuola secondaria superiore, con particolare riguardo all’italiano e alla matematica. Una discreta conoscenza dell’inglese è di grande aiuto.
Testi di riferimento
Vi consigliamo di seguire uno dei libri: - Allen B. Downey Pensare in Python - Allen B. Downey Thinking in Python 2nd edition (in inglese) - John V. Guttag Introduzione alla programmazione con Python. Dal pensiero computazionale al machine learning Altri libri molto utili. - F. Pellacini, Fondamenti di Programmazione in Python - The Python 3 tutorial - Josh Cogliati, Tutorial per principianti in Python (python 2.7)
Modalità insegnamento
Il corso si basa su lezioni e dimostrazioni in presenza e su compiti di programmazione da svolgere a casa opzionali.
Frequenza
Le simulazioni d'esame sono opzionali
Modalità di esame
La prova di esame consiste in una prova in laboratorio in cui gli studenti devono risolvere alcuni esercizi di programmazione.
DANIELE FRIOLO Scheda docente
Canale 2
MATTIA SAMORY Scheda docente
SALVATORE PONTARELLI Scheda docente

Programmi - Frequenza - Esami

Prerequisiti
Non ci sono prerequisiti richiesti
Modalità insegnamento
Il corso alternerà lezioni di teoria ad esercitazioni, volte a chiarire come le nozioni teoriche siano applicate nella pratica.
Frequenza
La modalità di svolgimento è tradizionale, con lezioni frontali
Bibliografia
Reti logiche, Mano M. Morris, Charles R. Kime, Antonio Gentile , Prentice Hall, Pearson.
Modalità di erogazione
Il corso alternerà lezioni di teoria ad esercitazioni, volte a chiarire come le nozioni teoriche siano applicate nella pratica.
  • Codice insegnamento1015883
  • Anno accademico2025/2026
  • CorsoInformatica
  • CurriculumCurriculum unico
  • Anno1º anno
  • Semestre1º semestre
  • SSDINF/01
  • CFU9
  • Ambito disciplinareFormazione informatica