Ingegneria delle Tecnologie Informatiche

(ex Ingegneria dei Sistemi Informativi)

INFORMATICA E LABORATORIO DI PROGRAMMAZIONE

Docenti: 
Crediti: 
9
Sede: 
PARMA
Anno accademico di offerta: 
2021/2022
Responsabile della didattica: 
Settore scientifico disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Semestre dell'insegnamento: 
Primo Semestre
Anno di corso: 
1
Lingua di insegnamento: 

ITALIANO

Obiettivi formativi

L’obiettivo del corso è fornire allo studente la capacità di comprendere i principi dell'informatica e della programmazione:
- Ragionamento logico formale
- Rappresentazione dei dati
- Computazione, linguaggi, macchine astratte
- Introduzione all'ingegneria del software

Le capacità di applicare le conoscenze elencate riguardano lo sviluppo del cosiddetto “pensiero computazionale”:
- Scomposizione di problemi complessi
- Soluzione di problemi tramite ricorsione
- Composizione di oggetti in sistemi complessi
- Modellazione con diversi livelli di astrazione

Prerequisiti

Nessuna propedeuticità. Si suppone comunque che lo studente conosca le basi dell'uso del computer e di Internet - l'equivalente dei moduli 1, 2, 3 e 7 del Syllabus ECDL (European Computer Driving Licence).

Contenuti dell'insegnamento

1. Introduzione all'informatica: logica, rappresentazione dei dati, sviluppo del software, teoria della computazione
2. Introduzione alla programmazione: algoritmi, funzioni, oggetti, liste, composizione, astrazione

Programma esteso

1. Introduzione all'informatica
1.1 Logica: algebra booleana, logica dei predicati
1.2 Rappresentazione dei dati: numeri, testi, immagini, suoni
1.3 Sviluppo del software: ciclo di vita, qualità, collaudo
1.4 Teoria della computazione: linguaggi, automi, complessità

2. Introduzione alla programmazione
2.1 Algoritmi in Python
2.2 Funzioni, oggetti
2.3 Liste, composizione, astrazione
2.4 Ricorsione
2.5 File, matrici
2.6 Introduzione al C++ moderno

Bibliografia

- Informatica e Laboratorio di Programmazione (A.A. 2019-2020), McGraw-Hill 2019. ISBN 978-1307457001 (~26€, ~300pp., nelle librerie universitarie, su Amazon ecc.)
- A.B. Downey: Think Python 2e - https://github.com/AllenDowney/ThinkPythonItalian
- A.B. Downey: How to Think Like a Computer Scientist C++ Version - http://greenteapress.com/thinkcpp/
- M. Beri: Python 3, Apogeo Pocket 2010, 978-8850329151 (~8€)

Metodi didattici

Lezioni in aula, con l'ausilio di slide rese disponibili in anticipo agli studenti. Soluzione guidata di esercizi in aula. Esercizi di programmazione in laboratorio.

Le esercitazioni in laboratorio sono centrali per il corso. Gli esercizi proposti vertono sugli stessi argomenti generali delle lezioni in aula. L'obiettivo è di introdurre i principi della programmazione orientata agli oggetti, guidando lo studente alla soluzione di problemi con un livello di complessità crescente.

Modalità verifica apprendimento

L'esame consiste di una prova sui fondamenti dell'informatica (brevi esercizi e quiz, a cui rispondere in circa mezz'ora), una prova di programmazione (un programma ad oggetti, da sviluppare in laboratorio in circa 3 ore) e un colloquio. La partecipazione continua e particolarmente proficua alle esercitazioni potrebbe esonerare dalla prova di programmazione finale.

Altre informazioni