PROGRAMMAZIONE E LABORATORIO-1 ESERCITAZIONI

Anno accademico 2018/2019 Programmi anni precedenti
Titolo corso in inglese PROGRAMMING AND LABORATORY-1 PRACTICE
Codice insegnamento CT0442 (AF:297177 AR:163580)
Modalità Convenzionale
Crediti formativi universitari 0 su 12 di PROGRAMMAZIONE E LABORATORIO
Livello laurea Laurea
Settore scientifico disciplinare INF/01
Periodo II Semestre
Anno corso 1
Sede VENEZIA
Inquadramento dell'insegnamento nel percorso del corso di studio
Il corso si propone di introdurre gli elementi base della programmazione imperativa per formulare soluzioni algoritmiche a problemi di complessità limitata.

Lo studente acquisirà conoscenza e comprensione dei principi fondanti dell'informatica, relativamente a linguaggi imperativi e algoritmi di base. Acquisirà altresì comprensione della risolubilità dei problemi informatici e capacità di selezionare metodi adeguati per analisi e modellazione di base.
Risultati di apprendimento attesi
Al termine del corso lo studente dovrà essere in grado di utilizzare un ambiente di programmazione di tipo professionale, di editare, debuggare, compilare ed eseguire programmi su piattaforma Unix-like e Windows. In particolare dovrà saper:
1. formalizzare un problema di limitata complessità (fornendone la specifica);
2. progettare una o più soluzioni ad esso (sviluppando algoritmi corrispondenti);
3. implementare tali soluzioni utilizzando linguaggi di programmazione di tipo imperativo;
4. verificare l'esecuzione dei programmi proposti con opportuni casi di test.
Prerequisiti
Elementi di base di logica. Nozioni elementari della programmazione (assegnamento ed iterazioni).
Contenuti
Variabili e tipi elementari del linguaggio C.
Assegnamento ed espressioni.
Array mono e multi-dimensionali.
Funzioni, passaggio di parametri per copia e per riferimento.
Ambienti globali e locali. Variabili automatiche.
Problem solving: decomposizione dei problemi, metodologie di soluzione top-down e bottom-up.
Indirizzi di memoria e puntatori.
Tipi strutturati.
Ricorsione.
Memoria dinamica: operazioni di allocazione e deallocazione esplicita.
Tipi di dati astratti: insiemi, liste e pile.
Strutture dati dinamiche.
Puntatori a funzione.
Testi di riferimento
- A. Kelley, I. Pohl. C didattica e programmazione. Ed. Pearson-Addison Wesley, 2004.
- B. Kernighan, D. Ritchie. Il Linguaggio C, Ed. Pearson-Prentice Hall, 2004.
Modalità di verifica dell'apprendimento
L'esame consiste in una prova scritta, nello svolgimento delle esercitazioni di laboratorio settimanali ed un progetto finale.

Descrizione della prova scritta per gli studenti FULL TIME:
La prova scritta mira a valutare le capacità di problem solving dello studente, la conoscenza del linguaggio C e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione. Questa parte dell’esame può essere superata in due modi:
Con una singola prova scritta nelle date previste degli appelli. Questa prova avrà un test iniziale a risposta chiusa volto a valutare le conoscenze teoriche dello studente. Se l’esito del test è sufficiente, saranno valutati gli esercizi della seconda parte dell’esame.
Con due prove intermedie, una collocata durante lo svolgimento del corso e la seconda in concomitanza con il primo appello del corso. Anche in questo caso vi sarà una parte dell’esame con risposta chiusa per valutare le conoscenze teoriche e degli esercizi.

Descrizione delle esercitazioni di laboratorio e progetto finale:
Le esercitazioni di laboratorio mirano a sviluppare le capacità di problem solving dello studente, la conoscenza del linguaggio C e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione. Il progetto finale mira a valutare l'abilità nell'applicare le capacità acquisite alla soluzione di problemi maggiormente strutturati.

I requisiti per il superamento della parte laboratoriale dell'esame si distinguono a seconda della tipologia di studenti. Per gli studenti FULL-TIME è obbligatorio consegnare le esercitazioni di laboratorio che verranno assegnate durante il corso ed il progetto finale. La parte laboratoriale risulta sufficiente se almeno il 60% delle esercitazioni ed il progetto finale sono sufficienti. La valutazione del progetto concorre alla determinazione del punteggio finale del corso. Gli studenti PART-TIME possono scegliere se svolgere l'esame con le modalità degli studente full-time oppure se sostituire la parte laboratoriale con un orale.

In casi particolari comprovati per i quali lo studente non sia in grado di svolgere le esercitazioni con regolarità, nello specifico gli STUDENTI CON PROBLEMI DI SALUTE CERTIFICATI O CHE STIANO SVOLGENDO UN PERIODO FUORI SEDE, è possibile effettuare una prova alternativa per coprire parzialmente o integralmente le prove di laboratorio.
Metodi didattici
Lezioni frontali e laboratorio.
Modalità di esame
scritto e orale
Programma definitivo.
Data ultima modifica programma
27/11/2018