Vai al contenuto principale

Università degli Studi di Parma, il mondo che ti aspetta

FONDAMENTI DI INFORMATICA + LABORATORIO DI PROGRAMMAZIONE (1° MODULO) ( cod. 1004157)

Insegnamento di INGEGNERIA INFORMATICA, ELETTRONICA E DELLE TELECOMUNICAZIONI (Corsi di Laurea)

Facoltà di Corsi di Laurea triennale (D.M. 270/04)

 

TIPOLOGIA DELL'INSEGNAMENTO: ATTIVITÀ FORMATIVE DI BASE

 
Lingua Insegnamento: 
Italiano

FREQUENZA FACOLTATIVA

Obiettivi

Apprendere i concetti di base dell'informatica e saper sviluppare semplici programmi per calcolatori elettronici, secondo il paradigma ad oggetti. Come linguaggio di programmazione principale viene usato il C++.

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

Introduzione all'informatica, rappresentazione dei dati, linguaggi e macchine astratte, sistemi informatici, sviluppo del software. Linguaggio C++, collezioni e flussi di dati, funzioni, classi ed oggetti, interfacce grafiche, gestione della memoria.

Programma esteso

Introduzione all'informatica (26 ore, in aula) 1. Introduzione: informatica, problemi, algoritmi, sistemi ad oggetti. 2. Rappresentazione dei dati: numeri in complemento a due ed in virgola mobile, algebra booleana, rappresentazione del testo, codifica ASCII ed Unicode, HTML e CSS, rappresentazione di immagini e suoni. 3. Linguaggi e macchine astratte: automi a stati finiti, espressioni regolari, macchina di Touring, architettura di von Neumann, linguaggi e paradigmi di programmazione, complessità computazionale, algoritmi di ricerca e di ordinamento. 4. Sistemi informatici: sistemi operativi, basi di dati relazionali, SQL, reti di calcolatori, World Wide Web, HTTP, PHP, Javascript, AJAX. 5. Sviluppo del software: metodologie di sviluppo e qualità del software, ricerca degli errori, gestione delle versioni, contratti, asserzioni, eccezioni, collaudo. Programmazione ad oggetti in C++ (22 ore, in aula) 1. Il linguaggio C++: struttura di un programma, tipi di dati, costanti, variabili, espressioni, condizioni, cicli, annidamento. 2. Collezioni e flussi di dati: vettori, matrici, mappe, lettura e scrittura dati, console, file, stringhe. 3. Funzioni: ambito degli identificatori, modalità di passaggio dei parametri, stack e record di attivazione, ricorsione. 4. Classi ed oggetti: incapsulamento, allocazione dinamica di oggetti, associazioni tra classi, ereditarietà e polimorfismo. 5. Interfacce grafiche: librerie Qt, disposizione degli elementi, bottoni, menu, meccanismi di segnalazione, eventi, timer, scene con elementi animati. 6. Gestione della memoria: iteratori, puntatori, array ed array di caratteri, gestione dinamica della memoria.

Bibliografia Consigliata

D. Mandrioli, S. Ceri et al.: Informatica arte e mestiere. McGraw-Hill (2008). B. Eckel: Thinking in C++. Prentice-Hall (2000). A. Koenig, B.E. Moo: Accelerated C++: Practical Programming by Example. Addison-Wesley (2000).
Anno accademico: 
2012
Anno di corso: 
1
Semestre: 
1
Numero CFU: 
6
SSD: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Ambito: 
Matematica, informatica e statistica
Ore di attivita frontale: 
42
Ore studio individuale: 
135