Teoria: sistemi operativi, linguaggio C, rappresentazione dei dati, strutture dati ed algoritmi elementari.
Laboratorio: basi di scripting, pratica del linguaggio C (dichiarazioni, operatori, condizionali, funzioni, array, puntatori ed allocazione dinamica della memoria, applicazione di algoritmi, esempi di problemi fisici).
Libri di testo consigliati:
- "Linguaggio C. Guida alla programmazione" di Alessandro Bellini, Andrea Guidi
- "Fondamenti della programmazione. Linguaggio C, strutture dati e algoritmi elementari, C++" di Stefano Berretti, Laura Carnevali, Enrico Vicario
Obiettivi Formativi - Laboratorio - Cognomi I-P
i) Conoscenza e comprensione: conoscenza dei principi dell’informatica e dell’approccio algoritmico e numerico ai problemi; capacità risolvere problemi trasferendo la modellazione matematica in una algoritmica.
ii) Capacità di applicare conoscenza e comprensione: capacità di applicare metodi matematici per modellare, analizzare e risolvere problemi di carattere fisico con l’ausilio di strumenti informatici, in particolare sfruttando il linguaggio di programmazione C per implementare algoritmi fondamentali e per risolvere problemi logici, matematici e numerici.
iii) Capacità di apprendimento: superamento dell'esame tramite prove prevalentemente pratiche, applicate in contesti di studio del corso di laurea.
Prerequisiti - Laboratorio - Cognomi I-P
Non e' richiesta una esperienza acquisita di programmazione.
Metodi Didattici - Laboratorio - Cognomi I-P
Teoria: lezioni frontali in aula; uso della piattaforma Moodle per esercitazioni ed esami.
Laboratorio: lezioni frontali e pratica di programmazione in laboratorio.
Altre Informazioni - Laboratorio - Cognomi I-P
Contattare via mail i docenti per domande, chiarimenti o richieste di ricevimento.
Durante il corso, gli avvisi e le informazioni aggiuntive vengono gestiti tramite piattaforma Moodle.
Modalità di verifica apprendimento - Laboratorio - Cognomi I-P
Lo studente deve essere in grado di risolvere problemi tramite algoritmi con l'ausilio di strumenti informatici e si compone di due prove scritte: una prova scritta per la teoria ed una prova scritta per il laboratorio.
Durante il corso verranno programmati due compitini. Il voto dei compitini (sia per la teoria che per il laboratorio), ha validità di un anno.
E’ possibile accedere alla prova scritta di teoria solo dopo aver superato la prova di laboratorio (eccezione per i compitini che vengono svolti in parallelo durante il periodo di lezione).
La verbalizzazione dell’esame avviene dopo aver terminato entrambe le prove.
Il voto finale sarà pari alla media delle votazioni di teoria e laboratorio.
Programma del corso - Laboratorio - Cognomi I-P
Programma Teoria -
Introduzione al corso: costanti, variabili e Algebra di Boole, Flow chart, uso di compilatori;
Cenni sui sistemi Operativi; Rappresentazione dati: Numeri, Interi con e senza segno, Caratteri e stringhe; Linguaggio C: Tipi, variabili e costanti, operatori ed espressioni, istruzioni, concetti di programma e funzione, uso di librerie, funzioni iterative e ricorsive; Strutture dati: Cenni su tabelle, pile, code, alberi; Implementazione di array e matrici (allocazione statica e dinamica); Liste alberi binari di ricerca.
Programma Laboratorio (il linguaggio di programmazione utilizzato e' il C) -
Introduzione alla shell, basi di scripting, overview di editors e IDE; Analisi critica dell'Hello World, operazioni aritmetche (operatori), gestione di input / output (scanf / printf), libreria math; numeri casuali, operatori logici e condizionali; utilizzo delle funzioni; array statici e cicli; puntatori, allocazione dinamica della memoria; risoluzione di esempi di problemi fisici.