ID:
46427
Tipo Insegnamento:
Obbligatorio
Durata (ore):
96
CFU:
12
Url:
INFORMATICA/Percorso Comune Anno: 1
Anno:
2024
Dati Generali
Periodo di attività
Primo Semestre (19/09/2024 - 17/12/2024)
Syllabus
Obiettivi Formativi
L’insegnamento ha l'obiettivo di introdurre le basi della programmazione dei calcolatori elettronici utilizzando il linguaggio di programmazione C.
Le principali conoscenze acquisite saranno:
- Concetti alla base della risoluzione di problemi per mezzo di calcolatore elettronico (hardware e software, macchina di Von Neumann e macchine astratte, input e output, algoritmo, programma, processo)
- Paradigma procedurale di programmazione (espressioni, variabili, istruzioni, esecuzione condizionale, iterazione, programmazione strutturata, astrazione procedurale)
- Tipi di dato primitivi, derivati e astratti
- Gestione della memoria
- Ricorsione
- Linguaggio di programmazione C
Al termine del corso, gli studenti avranno acquisito le seguenti capacità operative:
- Identificare le strutture dati e degli algoritmi adatti alla risoluzione di semplici problemi
- Implementare in linguaggio C algoritmi e strutture dati
- Strutturare correttamente un programma in modo modulare
- Utilizzare i principali strumenti per la programmazione
Le principali conoscenze acquisite saranno:
- Concetti alla base della risoluzione di problemi per mezzo di calcolatore elettronico (hardware e software, macchina di Von Neumann e macchine astratte, input e output, algoritmo, programma, processo)
- Paradigma procedurale di programmazione (espressioni, variabili, istruzioni, esecuzione condizionale, iterazione, programmazione strutturata, astrazione procedurale)
- Tipi di dato primitivi, derivati e astratti
- Gestione della memoria
- Ricorsione
- Linguaggio di programmazione C
Al termine del corso, gli studenti avranno acquisito le seguenti capacità operative:
- Identificare le strutture dati e degli algoritmi adatti alla risoluzione di semplici problemi
- Implementare in linguaggio C algoritmi e strutture dati
- Strutturare correttamente un programma in modo modulare
- Utilizzare i principali strumenti per la programmazione
Prerequisiti
Nessuno
Metodi didattici
Il corso prevede 96 ore fra lezioni frontali, corredate da esempi, ed esercitazioni al calcolatore su tutti gli argomenti del corso. Sono inoltre previste 40 ore di tutorato didattico, in cui gli studenti possono svolgere autonomamente esercizi con l'assistenza di un tutor.
Verifica Apprendimento
L'apprendimento è verificato attraverso due prove da sostenere nello stesso giorno:
- una prova scritta composta da domande e semplici esercizi, volta a verificare l'acquisizione delle conoscenze elencate nella sezione "Obiettivi formativi" (punti disponibili 11, soglia 6);
- una prova pratica, volta a verificare il possesso delle capacità operative di cui alla voce "Obiettivi formativi", consistente nella scrittura al calcolatore di un programma in linguaggio C che implementi correttamente le funzionalità richieste (punti disponibili 22, soglia 12).
In caso di raggiungimento o superamento della soglia in entrambe le prove, l'esame è superato con voto
- 30 e lode se la somma dei punteggi è 32 o 33
- 30 se la somma dei punteggi è 30 o 31
- la somma dei punteggi negli altri casi.
In caso la somma dei punteggi sia maggiore o uguale a 18 ma una delle prove sia insufficiente, si può sostenere una prova orale/pratica che, se superata, consente il superamento dell'esame con voto uguale alla somma dei punteggi della prova pratica e della prova teorica.
La prova pratica può essere suddivisa in due prove parziali da sostenere, indicativamente, attorno al 10 novembre e attorno al 20 gennaio dell'anno seguente. Per ogni prova parziale sono disponibili 11 punti; la prova pratica è superata se si ottengono almeno 5 punti in ognuna delle prove parziali e almeno 12 in totale. Solo nel caso di superamento della prova pratica tramite prove parziali, è possibile sostenere la prova teorica in un qualsiasi appello fino a settembre dell'anno seguente; in caso di mancato superamento della prova teorica, è necessario ripetere l'intero esame.
- una prova scritta composta da domande e semplici esercizi, volta a verificare l'acquisizione delle conoscenze elencate nella sezione "Obiettivi formativi" (punti disponibili 11, soglia 6);
- una prova pratica, volta a verificare il possesso delle capacità operative di cui alla voce "Obiettivi formativi", consistente nella scrittura al calcolatore di un programma in linguaggio C che implementi correttamente le funzionalità richieste (punti disponibili 22, soglia 12).
In caso di raggiungimento o superamento della soglia in entrambe le prove, l'esame è superato con voto
- 30 e lode se la somma dei punteggi è 32 o 33
- 30 se la somma dei punteggi è 30 o 31
- la somma dei punteggi negli altri casi.
In caso la somma dei punteggi sia maggiore o uguale a 18 ma una delle prove sia insufficiente, si può sostenere una prova orale/pratica che, se superata, consente il superamento dell'esame con voto uguale alla somma dei punteggi della prova pratica e della prova teorica.
La prova pratica può essere suddivisa in due prove parziali da sostenere, indicativamente, attorno al 10 novembre e attorno al 20 gennaio dell'anno seguente. Per ogni prova parziale sono disponibili 11 punti; la prova pratica è superata se si ottengono almeno 5 punti in ognuna delle prove parziali e almeno 12 in totale. Solo nel caso di superamento della prova pratica tramite prove parziali, è possibile sostenere la prova teorica in un qualsiasi appello fino a settembre dell'anno seguente; in caso di mancato superamento della prova teorica, è necessario ripetere l'intero esame.
Testi
Diapositive usate a lezione
Manuali degli strumenti e delle librerie software utilizzati nelle esercitazioni
Testo adottato (soprattutto per chi non frequenta le lezioni):
- P.Deitel, H.Deitel - Il linguaggio C. Fondamenti e tecniche di programmazione (Ottava edizione) - Pearson
Per riferimento e approfondimenti:
- A.Bellini, A.Guidi - Linguaggio C (quinta edizione) - Mc Graw-Hill
- B.W.Kernighan, D.R.Ritchie - Il linguaggio C. Principi di programmazione e manuale di riferimento (seconda edizione) - Pearson
- A.Kelley, I.Pohl - C Didattica e Programmazione (seconda edizione) - Pearson
Manuali degli strumenti e delle librerie software utilizzati nelle esercitazioni
Testo adottato (soprattutto per chi non frequenta le lezioni):
- P.Deitel, H.Deitel - Il linguaggio C. Fondamenti e tecniche di programmazione (Ottava edizione) - Pearson
Per riferimento e approfondimenti:
- A.Bellini, A.Guidi - Linguaggio C (quinta edizione) - Mc Graw-Hill
- B.W.Kernighan, D.R.Ritchie - Il linguaggio C. Principi di programmazione e manuale di riferimento (seconda edizione) - Pearson
- A.Kelley, I.Pohl - C Didattica e Programmazione (seconda edizione) - Pearson
Contenuti
Introduzione (6 ore):
- Informazioni sul corso
- Sistemi di calcolo
- Introduzione al C
- Algoritmi e programmi
Espressioni (6 ore):
- Tipo e valore
- Side effects
- Aritmetica intera
- Espressione variabile
- Assegnamento
- Aritmetica in virgola mobile
- Operatori relazionali e logici
Controllo del flusso (30 ore):
- Istruzioni
- Flusso predefinito
- Esecuzione Condizionale
- Salti
- Blocchi
- Cicli
- Funzioni
- Passaggio parametri
- Argomenti della linea di comando
- Ricorsione
Tipi di dato (15 ore):
- Variabili
- Tipi interi
- Tipi in virgola mobile
- Casting
- Vettori
- Stringhe
- Struct, Union
- Enum
- Vettori multidimensionali
- Puntatori
Input e output (9 ore):
- Input/Output a console
- File di testo
- File binari
Gestione della memoria (9 ore):
- Allocazione dinamica
- Liste collegate
Strumenti per la programmazione (15 ore):
- File system e interprete comandi
- Editor
- Compilatore
- Debugger
- Controllo di versione
- Preprocessore C
- Build
Programmazione modulare (3 ore):
- Programmi su più file
- Tipi di dato astratti
Aspetti professionali (3 ore):
- Procedimento di programmazione
- Sicurezza
- Etica professionale
- Informazioni sul corso
- Sistemi di calcolo
- Introduzione al C
- Algoritmi e programmi
Espressioni (6 ore):
- Tipo e valore
- Side effects
- Aritmetica intera
- Espressione variabile
- Assegnamento
- Aritmetica in virgola mobile
- Operatori relazionali e logici
Controllo del flusso (30 ore):
- Istruzioni
- Flusso predefinito
- Esecuzione Condizionale
- Salti
- Blocchi
- Cicli
- Funzioni
- Passaggio parametri
- Argomenti della linea di comando
- Ricorsione
Tipi di dato (15 ore):
- Variabili
- Tipi interi
- Tipi in virgola mobile
- Casting
- Vettori
- Stringhe
- Struct, Union
- Enum
- Vettori multidimensionali
- Puntatori
Input e output (9 ore):
- Input/Output a console
- File di testo
- File binari
Gestione della memoria (9 ore):
- Allocazione dinamica
- Liste collegate
Strumenti per la programmazione (15 ore):
- File system e interprete comandi
- Editor
- Compilatore
- Debugger
- Controllo di versione
- Preprocessore C
- Build
Programmazione modulare (3 ore):
- Programmi su più file
- Tipi di dato astratti
Aspetti professionali (3 ore):
- Procedimento di programmazione
- Sicurezza
- Etica professionale
Lingua Insegnamento
ITALIANO
Corsi
Corsi
INFORMATICA
Laurea
3 anni
No Results Found
Persone
Persone
Docenti di ruolo di IIa fascia
No Results Found