| FONDAMENTI DI INFORMATICA
(obiettivi)
OBIETTIVI FORMATIVI Il corso di Fondamenti di Informatica si propone di insegnare i principi fondamentali su cui si basa la gestione e l'elaborazione dell'informazione mediante un approccio sia pratico che teorico, utilizzando il linguaggio di programmazione C come strumento per l'apprendimento.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente sarà in grado: conoscere i principi di funzionamento di un computer e delle relative tecnologie abilitanti; comprendere i processsi che sono alla base della creazione di un software; capire le problematiche più comuni relative alla gestione della memoria e della complessità; conoscere alcuni dei sistemi più diffusi di strutture dati e algoritmi di ordinamento; avere una conoscenza di base del sistema operativo Linux.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente sarà in grado di i) comprendere il funzionamento di applicativi software e di elaboratori informativi; ii) avere dei principi di progettazione di un sistema software; iii) realizzare un applicativo software in linguaggio C.
AUTONOMIA DI GIUDIZIO: Lo studente viene abituato a ragionare sulle varie opzioni disponibili per la gestione della complessità, sperimentandole attraverso la creazione pratica di software. ABILITÀ COMUNICATIVE: Lo studente dovrà essere in grado di comunicare in modo chiaro, corretto e con linguaggio tecnico le proprie conoscenze acquisite durante il corso. Questo aspetto verrà promosso dedicando 10-15 minuti di ogni lezione alla revisione, e all’eventuale chiarificazione, dei concetti acquisiti nel corso della lezione precedente e stimolando gli studenti alla partecipazione di una discussione di classe.
CAPACITÀ DI APPRENDIMENTO: Capacità di porsi criticamente di fronte ad un problema nuovo, di saperlo gestire e trovare soluzioni funzionali e correttamente impostate anche attraverso la consultazione di risorse online, banche dati e della letteratura scientifica disponibile.
|
|
Codice
|
8037345 |
|
Lingua
|
ITA |
|
Tipo di attestato
|
Attestato di profitto |
|
Crediti
|
9
|
|
Settore scientifico disciplinare
|
ING-INF/05
|
|
Ore Aula
|
90
|
|
Ore Studio
|
-
|
|
Attività formativa
|
Attività formative caratterizzanti
|
Canale Unico
|
Docente
|
SALSANO STEFANO DOMENICO
(programma)
- Introduzione al corso, macchina di Von Neumann, perché è importante studiare il linguaggio C - Linux: cos'è, la shell, primi comandi - Introduzione al C: compilazione e hello world - Introduzione al C: if, scanf, printf funzioni - Operatori di preincremento/postincremento, cicli for, break, while - PRNG - le librerie statiche e dinamiche - Il debugger GDB e lo stacktrace - Le classi di memoria e attributi delle variabili - La codifica - Funzioni ricorsive - Enum, Const, Casting - Gli array - Le stringhe - I puntatori - Caratteri e stringhe - Il preprocessore - Strutture e Unioni - Algebra booleana; Lavorare sui bit - Lavorare con i file - La gestione dinamica della memoria - Le strutture dati: liste, pile, code, alberi - Algoritmi di ordinamento: selection, insertion, e merge sort - POSIX, gestione del tempo e introduzione ai programmi multi-processo
 Il linguaggio C Fondamenti e tecniche di programmazione Paul J. Deitel - Harvey M. Deitel
Slides del docente e altro materiale fornito dal docente e reso disponibile mediante Microsoft Teams.
|
|
Date di inizio e termine delle attività didattiche
|
- |
|
Modalità di erogazione
|
Tradizionale
|
|
Modalità di frequenza
|
Non obbligatoria
|
|
Docente
|
BRACCIALE LORENZO
(programma)
- Introduzione al corso, macchina di Von Neumann, perché è importante studiare il linguaggio C - Linux: cos'è, la shell, primi comandi - Introduzione al C: compilazione e hello world - Introduzione al C: if, scanf, printf funzioni - Operatori di preincremento/postincremento, cicli for, break, while - PRNG - le librerie statiche e dinamiche - Il debugger GDB e lo stacktrace - Le classi di memoria e attributi delle variabili - La codifica - Funzioni ricorsive - Enum, Const, Casting - Gli array - Le stringhe - I puntatori - Caratteri e stringhe - Il preprocessore - Strutture e Unioni - Algebra booleana; Lavorare sui bit - Lavorare con i file - La gestione dinamica della memoria - Le strutture dati: liste, pile, code, alberi - Algoritmi di ordinamento: selection, insertion, e merge sort - POSIX, gestione del tempo e introduzione ai programmi multi-processo
 Il linguaggio C Fondamenti e tecniche di programmazione Paul J. Deitel - Harvey M. Deitel
Slides del docente e altro materiale fornito dal docente e reso disponibile mediante Microsoft Teams.
|
|
Date di inizio e termine delle attività didattiche
|
- |
|
Modalità di erogazione
|
Tradizionale
|
|
Modalità di frequenza
|
Non obbligatoria
|
|
Metodi di valutazione
|
Valutazione di un progetto
|
|
|