Schema della sezione

  • Il corso di Programmazione e Algoritmi 1 e quello di Laboratorio di Programmazione 1 sono a tutti gli effetti due insegnamenti separati. Pertanto, si svolgeranno due esami distinti, con modalità completamente diverse tra di loro. Tra questi due esami non c'è nessuna relazione di propedeuticità, potete sostenerli nell'ordine che volete.

    Le regole qui sotto valgono per gli studenti degli anni accademici a partire dal 2023/24. Per gli studenti degli anni accademici 2022/23 e precedenti ci sono regole leggermente diverse, per le quali vi invito a consultare la sezione specifica.
      • Per il corso di Programmazione e Algoritmi 1, l'esame è costituito da una prova scritta ed una prova orale. La prova scritta è divisa in due parti, che si svolgono lo stesso giorno, una immediatamente dopo l'altra:

        • Parte analogica: si svolge su carta, senza l'ausilio di computer o altri strumenti di calcolo. Comprende:
          • esercizi di programmazione, in cui si chiede di sviluppare un programma secondo certe specifiche;
          • esercizi in cui si chiede di mostrare la traccia di esecuzione passo-passo di un programma dato;
          • esercizi e domande a risposta aperta (ad esempio, ma non esclusivamente, sulla shell di Linux, la complessità computazionale e gli algoritmi studiati studiati durante il corso).
        • Parte digitale: è previsto l'uso dei computer dell'aula informatica, e consiste essenzialmente in esercizi di programmazione, più articolati di quelli della prova scritta. Durante lo svolgimento è possibile consultare le pagine su FAD, la documentazione ufficiale di Python e il libro di testo.

        Chi ha ottenuto nella prova scritta un voto maggiore o uguale a 18, a meno di diversa indicazione del docente, può verbalizzare direttamente il voto conseguito. Tuttavia, in questo modo, il voto massimo verbalizzabile è 26: un voto superiore ottenuto allo scritto sarà comunque verbalizzato come 26. Chi vuole un voto superiore a 26 deve obbligatoriamente sostenere la prova orale.

        La prova orale consiste in domande teoriche o pratiche su tutto il programma del corso. Alla prova orale si accede su richiesta del docente o dello studente che abbia superato la prova scritta. Il voto conseguito nella prova orale costituirà il voto finale dell'esame, e potrà essere superiore o inferiore a quello della prova scritta.

        • Questo è l'elenco dei compiti di Programmazione e Algoritmi 1 in Python assegnati negli a.a. 2023/24 e 2024/25, alcuni con soluzioni. Si noti che la struttura dei compiti potrebbe essere diversa da quella dell'a.a. 2025/26, ma gli esercizi in essi presenti sono comunque rilevanti.

      • La modalità di svolgimento dell'esame di Laboratorio di Programmazione 1 non è ancora stata del tutto finalizzata, ma comprenderà sicuramente lo sviluppo di un progetto, da svolgere da soli o in gruppo.
      • Gli studenti degli a.a. 2022/23 e precedenti possono scegliere se sostenere l’esame in Python o Java.

        • Se volete sostenere l'esame in Python, esso si svolgerà esattamente come quello per l’a.a. 2025/26. Tuttavia, poiché dal punto di vista formale fino all’a.a. 2022/23 la parte di laboratorio era accorpata a quella teorica in un singolo esame da 9 CFU, non sarà possibile verbalizzarlo finché non verrà superata sia la prova di Programmazione e Algoritmi 1 che quella di Laboratorio di Programmazione 1. Le due prove vanno superate nello stesso anno accademico. A parte questo, resta valido il fatto che non esiste propedeuticità tra di esse.

        • Se volete sostenere l'esame in Java, esso consisterà esclusivamente in una prova orale, comprendente esercizi di programmazione e domande teoriche su algoritmi, complessità computazionale, etc... Il programma dell'esame è quello del corso di "Programmazione e Algoritmi 1" dell'a.a. 2022/23, che è l'ultimo che si è tenuto in Java. 

          Per partecipare all'esame, non dovete iscrivervi all'appello ufficiale di "PROGRAMMAZIONE E ALGORITMI 1", ma alla prova parziale denominata "Prova orale per programmazione in Java". Le prove orali si svolgeranno nel mio ufficio.