- Fornire la conoscenza di base dei concetti fondamentali della programmazione imperativa con linguaggi di programmazione classici: macchina virtuale; codifica dei dati e delle istruzioni; modello Von Neumann; linguaggio formale, analisi lessicale, sintattica e semantica; algoritmo; tipo di dato; asserzione invariante; complessità di calcolo. - Imparare ad usare un linguaggio di programmazione imperativo e un ambiente testuale di sviluppo di programmi, come per esempio il linguaggio C oppure C++ (limitato alla parte non object-oriented), con un editor di testi, il compilatore GCC e GNU Make. - Imparare a progettare, realizzare e far funzionare un programma sequenziale di piccole dimensioni partendo dalle specifiche informali fornite dall'utente.
Tradizionale: Alle lezioni tradizionali in aula ed alle esercitazioni di laboratorio si affianca anche l'uso di un forum su Aulaweb per approfondimenti e discussioni.
l corso è formato da una parte di lezioni teoriche che si svolgono in aula e da una consistente parte pratica di programmazione che si svolge in laboratorio. La data di inizio del laboratorio verrà comunicata in aula. Argomenti trattati in aula
D.S. Malik, Programmazione in C++, Apogeo, 2011, ISBN 978-88-503-2967-0 in alternativa o a complemento: B. Stroustrup, Programming: Principles and practice using C++ altro materiale vario messo a disposizione dai docenti su Aulaweb
Ricevimento: Su appuntamento o via mail.
Ricevimento: Su appuntamento; disponibile anche senza appuntamento per questioni brevi
FRANCESCA ODONE (Presidente)
MAURA CERIOLI
FILIPPO RICCA
STEFANO ROVETTA
L'esame si compone di tre parti: - una prova scritta sulla parte di teoria - una prova di laboratorio - la consegna di alcune delle esercitazioni svolte in laboratorio È necessario superare tutte e tre le prove per poter registrare l'esame.