PROGRAMMAZIONE PROCEDURALE CON LABORATORIO



Progetto di esame

Testo progetto esame a.a. 2022/2023 link

Link Github sottomissione del progetto per parteciapre allo scritto del 5 Settembre 2023: scadenza sottomissione 3 Settembre frore 23:59 link




Correzioni esami

17 Gennaio FILA A, FILA B

31 Gennaio FILA A, FILA B

14 Febbraio FILA A, FILA B

4 Aprile FILA UNICA

13 Giugno FILA UNICA

27 Giugno FILA UNICA

5 Settembre FILA UNICA




Risorse per l'utilizzo di GitHub

Guida rapida per lavorare su un repository GitHub pdf per Ubuntu o per altre piattaforme

Alternativametne può essere utilizzato GitHub Desktop




Risultati esonero link




Linee guida per l'esame

DA LEGGERE ATTENTAMENTE: L'esame si suddivide in 1) una prova scritta, 2) un progetto di programmazione (assegnato a Dicembre 2023), 3) ed infine una prova orale. Il voto della prova scritta (se superata), rimane valido fino all'ultimo appello della sessione in cui si è sostenuto lo scritto d'esame (inverno / aprile-estate / autunno). È quindi possibile sostenere la prova orale in uno degli appelli successivi della stessa sessione (se ho superato la prova scritta al primo appello di Gennaio, posso sostenere l'orale anche a Febbraio, ma non oltre). Presentarsi ad una prova scritta della stessa sessione annulla il risultato della prova scritta precedente. Alla prova scritta è possibile utilizzare solo penna/matita/gomma (NO CALCOLATRICE, per esempio). Il progetto dovrà essere sottomesso (via GitHub) tramite l'apposito link che verrà pubblicizzato (qui e su Unistudium) per ogni appello orale. La scadenza per la consegna del progetto sarà sempre un paio di giorni prima della data di appello. La prova orale avverrà all'incirca la settimana successiva alla data dell'appello. Senza progetto non si potrà sostenere la prova scritta. È obbligatorio quindi completare il progetto PRIMA dello scritto. Se non si supera la prova orale, si dovrà risottomettere il progetto al link della sessione orale alla quale si parteciperà in futuro. In sede di orale sarà richiesta una modifica al progetto assegnato, più un paio di domande sul programam svolto.

FAQ:
-Ho sostenuto lo scritto a Gennaio, posso portare il progetto e sostenere l'orale ad Aprile? No, il voto dello scritto è inoltre perso per sempre.
-Se ho passato so scritto, ma poi mi sono presentato all'orale e non l'ho superato, devo ridare anche lo scritto? Sì.
-Avevo giò sottomesso il progetto a Gennaio, ma poi non ho sostenuto la prova orale. Mi sento preparato per l'orale di Febbraio, devo risottomettere anche il progetto? Sì, il progetto deve essere sottomesso al link corrispondente per la sessione orale in cui ci si vuole presentare.
-Se non ho passato l'esame, mi posso presentare subito all'appello successivo? Sì, ci si può presentare a tutti gli appelli disponibili.
-Come viene calcolato il voto complessivo? Voto dello scritto, più 1-4 punti per il progetto, più 2 punti per le domande orali (INDICATIVAMENTE)
-Se il progetto non compila, oppure è incompleto (manca per esempio una funzione richiesta), va bene lo stesso? No, l'esame non si ritiene superato immediatamente.
-Cosa succede se non so modificare il progetto finale, che ho scritto a casa, in sede di orale? La modifica è requisito necessario per il passaggio dell'esame, che quindi non viene superato automaticamente.
-Posso copiare tutto o in parte il progetto di un collega? No, i progetti saranno automaticamente controllati con un software antiplagio: se la somiglianza rilevata oltrepasserà una certa soglia, tutti e due i progetti saranno annullati.





Link utili / Useful Links





Libri di riferimento / Reference Books

In ordine di importanza dal primo all'ultimo. Il libro di testo consigliato è il primo dei tre.

In order of importance, from top to bottom. The reference book for this course is the first one.

Il Linguaggio C Il linguaggio C. Fondamenti e tecniche di programmazione. Ediz. Mylab. Con espansione online, Paul J. Deitel and Harvey M. Deitel (Authors), Publisher: Pearson; 9 edizione, ISBN-10: 8891906239, Pages: 736, 2022.

C. Didattica e programmazione C didattica e programmazione. Ediz. mylab. Con espansione online, Al Kelley and Ira Pohl (Authors), Publisher: Pearson; 2 edizione, ISBN: 9788891908216, Pages: 670+, 2018.

C pocket reference C Pocket Reference, Peter Prinz, Ulla Kirch-Prinz, Publisher: O'Reilly Media, ISBN-10: 0596004362, Pages: 144, 2002.

C in a Nutshell (book cover)C in a Nutshell: The Definitive Reference, Peter Prinz, Tony Crawford, Publisher: O'Reilly Media, ISBN-10: 1491904755, 824 pages, 2015.



Altri libri / More books

Altri libri sul linguaggio C:
  • Il linguaggio C. Principi di programmazione e manuale di riferimento, Brian W. Kernighan (Autore), Dennis M. Ritchie (Autore), ISBN-10: 887192200X, 2004 (Pearson).


Programma corso / Course program

  • Introduction to programming languages
  • Interpreted and compiled languages
  • Names, scope, binding
  • Memory (static, stack, heap)
  • GitHub
  • C language:
    • Language Basics
    • Types
    • Literals
    • Type conversions
    • Expressions and operators
    • Statements
    • Loops
    • Conditional statements
    • Functions
    • Arrays
    • Pointers
    • Structures and Unions
    • Dynamic Memory Management
    • Input and Output
    • Pre-processing directives
    • Compiling with GCC
    • Using make to build C Programs
    • Debugging C Programs with GDB
  • Linked lists


Date appelli esame 2022/2023 / Exam dates 2022/2023

  • ...
  • ....


  • Esami scritti / Written exams

    Soluzioni/Solutions 2021-2022: zip

    Soluzioni/Solutions 2019-2020: zip

    Soluzioni/Solutions 2018-2019: zip

    Soluzioni/Solutions 2018-2019: zip

    Soluzioni/Solutions 2017-2018: zip

    Soluzioni/Solutions 2016-2017: zip

    Soluzioni/Solutions 2015-2016: zip

    Progetto / Project

    2021-2022: pdf possibile soluzione

    2020-2021: pdf possibile soluzione

    2019-2020: pdf possibile soluzione

    2018-2019: pdf possibile soluzione

    2017-2018: pdf possibile soluzione

    2016-2017: pdf possibile soluzione



    More slides / Slides aggiuntive

    • From C to C++ (first part) slides
    • From C to C++ (second part) slides


    Contatti / Contacts

    Ricevimento studenti tutti i Mercoledì dalle 14 alle 17. Si prega contattare il docente preventivamente per conferma. Altrimenti, è possibile anche in altro orario previo appuntamento via email.

    Posso essere contattato direttamente e più velocemente tramite Telegram.

    Iscrivetevi al canale Telegram del corso Programmazione Procedurale con laboratorio per avere velocemente comunicazioni generali (per esempio i risultati degli esami).


    To see me without appointment, try my office hours Wednesdays, 14-17. Please contact me before in order to confirm. At other times, the quickest way is by email.

    I can be directly and more easily contacted via Telegram.

    Please subscribe to the Telegram channel of the course Programmazione Procedurale con laboratorio in order to quickly receive general communications (e.g., exam results).



Francesco Santini