Algoritmi (modulo di laboratorio)

Orari e aule


Le lezioni si tengono presso il Dipartimento di Matematica in aula 2

  • martedì dalle 15.30 alle 18.30
  • mercoledì dalle 10.30 alle 13.30

Esame


L'esame si compone di

  1. un progetto pratico
  2. un esame orale sugli argomenti del corso

Il testo del progetto pratico verrà pubblicato su questa pagina prima di ciascun appello e richiederà di

  • modellare un problema
  • progettare uno o più algoritmi per risolverlo
  • realizzare codice C per eseguire gli algoritmi
  • stendere una relazione riassuntiva

L'esame orale è subordinato al superamento del progetto.

A causa di pochi comportamenti scorretti, ho dovuto purtroppo burocratizzare l'esame. Prima di mettersi al lavoro, si richiede di scorrere le indicazioni utili (aggiornate nel dicembre 2025).


Lezioni


Nota: Segnalazioni di oscurità o errori nei materiali di questa pagina sono benvenute.

Nota: Per i materiali del modulo di teoria, si veda invece la pagina del prof. Goldwurm

Non sono in grado di indicare strumenti di laboratorio validi per tutti. In Linux, bastano il gcc presente in ogni installazione e un editor di testo qualsiasi. In Windows, io personalmente uso:

  • come terminale, la Windows PowerShell, che si apre dal menù File di EsploraFile
  • come ambiente di compilazione, Orwell Dev-Cpp, ignorando l'interfaccia grafica, e chiamando direttamente gcc da terminale dopo aver aggiunto al path di sistema la cartella che contiene l'eseguibile
  • come editor TextPad
Purtroppo, anche usando gcc, ci sono differenze (secondarie) tra le diverse versioni.

Potrebbe essere utile agli studenti sapere che quando valuterò i progetti d'esame, trattandosi di programmi un po' più sofisticati, userò Visual Studio Express 2019: lungi da me voler forzare un ambiente (men che meno pubblicizzarlo), ma negli anni passati ho osservato che questo è particolarmente pignolo nella compilazione ed esecuzione del codice, e spesso trova errori (errori oggettivi, non idiosincrasie) che altri ambienti non rilevano.

I materiali vengono via via rivisti, ed eventualmente corretti e integrati dopo ciascuna lezione. Le modifiche sono in genere minori, se non nulle.

È disponibile un abbozzo di dispense tratto per sbobinatura dalle registrazioni del 2020. È in corso di revisione, per cui risulta prolisso e parzialmente datato.

Prima lezione (25 febbraio 2025)

Seconda lezione (26 febbraio 2025)

Terza lezione (4 marzo 2025)

Quarta lezione (5 marzo 2025)

Nota: Prima di stendere una relazione ispirandosi alle tracce fornite, si consultino su un dizionario le definizioni di schema e traccia e quelle di esempio e fac-simile, e si discutano con una persona di madre lingua italiana le differenze tra queste e quelle. Si mediti anche sulla distinzione tra i due tipi di traccia forniti in questa pagina: la "traccia di lezione", rivolta a studenti che stanno seguendo il corso di algoritmi e ripassando la programmazione in C, e la "traccia di relazione", rivolta a un lettore ideale che ha terminato entrambi i corsi.

Quinta lezione

Sesta lezione

Settima e ottava lezione

Nona e decima lezione

Undicesima lezione

Dodicesima lezione

Tredicesima lezione

Quattordicesima lezione

Quindicesima lezione

Sedicesima lezione