Questo è il programma dettagliato (congiunto) degli insegnamenti di Programmazione e Algoritmi 1 e di Laboratorio di Programmazione 1 per l'anno accademico 2025/26. Il programma è attualmente allo stato di bozza. Piccole variazioni potrebbero essere apportate durante lo svolgimento degli insegnamenti.

  • Introduzione alla programmazione
  • Hardware e software
    • Programmi e algoritmi
    • Linguaggi di programmazione, interpreti e compilatori
    • Software libero e proprietario
    • Introduzione a Linux
    • Introduzione a Python
  • Il primo programma in Python
    • Variabili e tipi di dato numerici
    • Espressioni aritmetiche
    • Input e output da terminale
    • Le stringhe
    • Grafica con la libreria ezgraphics
  • Istruzioni ed operatori condizionali
    • L'istruzione if
    • Operatori relazionali
    • Diramazioni annidate
    • Alternative multiple
    • Operatori booleani
  • Iterazione definita e indefinita
    • Le istruzioni while
    • Schemi d'uso dell'istruzione while
    • L'istruzione break
    • L'istruzione for
    • Cicli annidati
    • Numeri casuali e simulazione
    • Il debugger
  • Funzioni
    • Implementazione di funzioni
    • Passaggio di parametri
    • Risultato delle funzioni
    • Ambito di visibilità delle variabili
    • Collaudo di funzioni con il framework pytest
  • Liste, inisiemi e dizionari
    • Liste
    • Oggetti e riferimenti
    • Tipi mutabili e immutabili
    • Algoritmi che operano sulle liste
    • La list comprehension
    • Tabelle come liste di liste
    • Insiemi
    • Dizionari
  • Gestione dei file
    • Leggere e scrivere file di testo
    • Cenni al trattamento delle eccezioni
  • Ricorsione
    • Funzioni ricorsive
    • La pila dei record di attivazione
  • Cenni al concetto di complessità computazionale
    • Complessità computazionale
    • Calcolo della complessità di un algoritmo
  • Algoritmi di ordinamento e ricerca
    • La ricerca lineare e binaria
    • Ordinamento per selezione
    • Ordinamento per fusione
Last modified: Thursday, 14 August 2025, 5:39 PM