PROGRAMMAZIONE E LABORATORIO
Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente?
Ecco come fare >>
- English course description
- Anno accademico
- 2015/2016
- Docente
- GIACOMO PIVA
- Crediti formativi
- 12
- Periodo didattico
- Primo Semestre
- SSD
- INF/01
Obiettivi formativi
- Lo scopo del corso è di introdurre gli studenti ai concetti ed alle problematiche che stanno alla base della programmazione.
Durante il corso lo studente acquisirà specifiche conoscenze sugli elementi fondamentali che costituiscono un calcolatore: l'hardware ed il software. Vengono esaminati i concetti di algoritmo, tipo di dato, programmazione strutturata e paradigma procedurale. Viene introdotta la sintassi base del linguaggio C e l'uso del compilatore per la piattaforma Linux. Il corso procede con una approfondita descrizione di tutte le caratteristiche del linguaggio C dando allo studente tutte le conoscenze per l'implementazione anche di complessi programmi.
Al termine del corso, gli studenti acquisiranno abilità relative all'analisi delle problematiche risolvibili mediante l'applicazione di un algoritmo, alla progettazione e all'implementazione (codifica) di algoritmi scritti in linguaggio C, quindi alla compilazione e all'esecuzione degli stessi. Prerequisiti
- Nessuno
Contenuti del corso
- Il corso prevede 96 ore di didattica fra lezioni ed esercitazioni, in particolare sono previste 54 ore di lezione frontale e 42 ore di esercitazione. In particolare il programma del corso è suddivisibile in due parti:
Prima Parte
Le prime 45 ore sono dedicate all'introduzione dei concetti base e degli elementi fondamentali della programmazione strutturata ed il loro utilizzo nel linguaggio C:
Concetti introduttivi sul calcolatore: l'hardware ed il software
Gli algoritmi
Concetti base della programmazione con il linguaggio C
Tipi di dato fondamentali per le variabili e gli operatori.
Programmazione Strutturata: if, if-else, for, while, do-while, switch.
Funzioni di base per gestire l'input e l'output standard
Strutture dati fondamentali (array monodimensionali ed array multidimensionali)
Definizione ed implementazione di funzioni
Seconda parte
Le restanti 51 ore sono dedicate all'utilizzo delle strutture dati evolute del linguaggio C:
Le stringhe
I tipi di dato strutturati (struct, enum, union)
I puntatori e la gestione della memoria
Strutture dati puntate (liste e stack)
Persistenza dei dati, lettura e scrittura su File. Metodi didattici
- Il corso è organizzato nel seguente modo:
Il Docente svolge lezioni in aula su tutti gli argomenti del corso, corredati da esempi.
Il Docente assegna agli studenti esercitazioni da svolgere in autonomia in aula e propone alcune soluzioni. Modalità di verifica dell'apprendimento
- Per poter sostenere l'esame scritto è prima necessario consegnare l'implementazione di un progetto scritto in linguaggio ANSI C il cui testo viene consegnato durante le lezioni dal docente e disponibile online sul sito del corso e dovrà essere consegnato nelle modalità e nei tempi indicati.
Il sostenimento della prova scritta è obbligatoria, è possibile sostenere la prova scritta in due prove parziali.
Ogni prova scritta sia parziale, sia totale è suddivisa in due parti:
La prima parte è composta da 3 fra domande ed esercizi, rispondere e rispondere correttamente a tutte le domande è una condizione necessaria per la validità della Prova.
La seconda parte è composta da 7 fra domande ed esercizi, non è obbligatorio rispondere a tutte le domande ma ad ogni domanda è associato un punteggio e la somma dei punteggi darà il voto complessivo della Prova.
Il punteggio massimo ottenibile con la sola prova scritta è 30 e lode.
Una volta sostenuta la prova scritta, il docente propone un voto che potrà essere migliorato di qualche punto (massimo 3) con una prova orale facoltativa. Testi di riferimento
- Appunti forniti dal docente.
Testo obbligatorio: Kernighan & Ritchie: Programmazione Linguaggio C (II edizione)
Testo suggerito: Esercizi di programmazione in C: di Fulvio Corno e Silvia Chiusano, Editore: lulu.com