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
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
- Introduction to gcc: link
- C operator precedence
- Bash commands
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. 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. Ediz. mylab. Con espansione online, Al Kelley and Ira Pohl (Authors), Publisher: Pearson; 2 edizione, ISBN: 9788891908216, Pages: 670+, 2018.
C Pocket Reference, Peter Prinz, Ulla Kirch-Prinz, Publisher: O'Reilly Media, ISBN-10: 0596004362, Pages: 144, 2002.
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
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).