FONDAMENTI DI INFORMATICA

Ingegneria Civile per l'Ambiente ed il Territorio FONDAMENTI DI INFORMATICA

0612500006
DIPARTIMENTO DI INGEGNERIA CIVILE
CORSO DI LAUREA
INGEGNERIA CIVILE PER L'AMBIENTE ED IL TERRITORIO
2015/2016

ANNO ORDINAMENTO 2012
SECONDO SEMESTRE
CFUOREATTIVITÀ
660LEZIONE
Obiettivi
RISULTATI DI APPRENDIMENTO PREVISTI E COMPETENZE DA ACQUISIRE
IL CORSO FORNISCE GLI ELEMENTI DI BASE PER LA RISOLUZIONE DI PROBLEMI DI COMPLESSITÀ NON ELEVATA MEDIANTE L'USO DI SISTEMI DI ELABORAZIONE, SIA NELL'AMBITO DI APPLICAZIONI DI CARATTERE GENERALE, SIA PER APPLICAZIONI TIPICHE DELLO SPECIFICO SETTORE INGEGNERISTICO UTILIZZANDO IL LINGUAGGIO DI PROGRAMMAZIONE MATLAB/C. IL CORSO È STRUTTURATO IN MODO DA CONSENTIRE AGLI STUDENTI DI ACQUISIRE LE CONOSCENZE RELATIVE ALLE CARATTERISTICHE FONDAMENTALI DI UN SISTEMA DI ELABORAZIONE E DEI SUOI PRINCIPI DI FUNZIONAMENTO, OLTRE CHE DEL MODO IN CUI LE INFORMAZIONI VENGONO CODIFICATE E RAPPRESENTATE ALL'INTERNO DEL SISTEMA. IL CORSO È AFFIANCATO DA UN AMPIO INSIEME DI ESERCITAZIONI PRATICHE IN AULA E IN LABORATORIO, GUIDATE DAL DOCENTE, IN CUI GLI STUDENTI ACQUISISCONO LE CONOSCENZE RELATIVE AGLI ELEMENTI FONDAMENTALI DI UN LINGUAGGIO DI PROGRAMMAZIONE AD ALTO LIVELLO, UNITAMENTE ALLE TECNICHE FONDAMENTALI DI 'PROBLEM SOLVING' MEDIANTE L'USO DI UN ELABORATORE. QUESTE ATTIVITÀ SONO PROGRAMMATE IN MODO CHE ALL'INTERNO DI OGNI ESERCITAZIONE LO STUDENTE POSSA REALIZZARE PRATICAMENTE LE SOLUZIONI DEI PROBLEMI DELINEATI DURANTE LE LEZIONI IN AULA.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE
CONOSCENZE SULL'ARCHITETTURA DEI SISTEMI DI ELABORAZIONE E COMPRENSIONE DELLE LORO MODALITÀ (LOGICA) DI FUNZIONAMENTO, DELLA CODIFICA E RELATIVA RAPPRESENTAZIONE DELLE INFORMAZIONI, DEI COSTRUTTI FONDAMENTALI DEI LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO, DELLE STRUTTURE DATI FONDAMENTALII, DELLA SINTASSI DEL LINGUAGGIO MATLAB/C. CONOSCENZE BASILARI SULLA STRUTTURA DI UN SISTEMA OPERATIVO E COMPRENSIONE DELLA CATENA DI PROGRAMMAZIONE.

KNOWLEDGE AND UNDERSTANDING
BASIC MODERN COMPUTER SYSTEMS ARCHITECTURE, INFORMATION REPRESENTATION, PROGRAMMING FUNDAMENTALS OF THE MATLAB/C HIGH-LEVEL LANGUAGE. FUNDAMENTALS OF OPERATIVE SYSTEMS. PROGRAM DESIGN AND DEVELOPMENT.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
CONOSCENZA DEI PRINCIPI, DELLE METODOLOGIE E DEGLI STRUMENTI PER LO SVILUPPO DI ALGORITMI E PROGRAMMI CHE RISOLVANO PROBLEMI DI COMPLESSITÀ NON ELEVATA. CAPACITÀ DI APPLICARE TALI CONOSCENZE NEL PROGETTO DI ALGORITMI E NELLO SVILUPPO DI PROGRAMMI CHE TRADUCONO GLI ALGORITMI RISOLUTIVI IN MODO CORRETTO, EFFICIENTE, LEGGIBILE E MODULARE MEDIANTE IL LINGUAGGIO DI PROGRAMMAZIONE MATLAB/C.

AUTONOMIA DI GIUDIZIO
SAPER VALUTARE AUTONOMAMENTE IL CORRETTO IMPIEGO DEI COSTRUTTI BASE UN LINGUAGGIO DI PROGRAMMAZIONE DI ALTO LIVELLO PER LA CODIFICA DI ALGORITMI.

ABILITÀ COMUNICATIVE
SAPER COMUNICARE IN MODO CORRETTO ED EFFICACE NELL'AMBITO DELLA PROGRAMMAZIONE IN C.

CAPACITÀ DI APPRENDERE
SAPER APPLICARE LE CONOSCENZE ACQUISITE A CONTESTI DIFFERENTI DA QUELLI PRESENTATI DURANTE IL CORSO, ED APPROFONDIRE GLI ARGOMENTI TRATTATI USANDO LIBRI DI TESTO DIVERSI DA QUELLI PROPOSTI O FONTI DI INFORMAZIONE IN LINEA.
Prerequisiti
NESSUNO
Contenuti
CONCETTI DI BASE (6 H)
IL CONCETTO DI ALGORITMO, PROGRAMMA ED ESECUTORE.
ELEMENTI DI ARCHITETTURA DEI SISTEMI INFORMATICI: L'ARCHITETTURA DI VON NEUMANN.
MEMORIA CENTRALE, BUS, UNITÀ CENTRALE, INTERFACCE DI INGRESSO/USCITA.
RAPPRESENTAZIONE DELL'INFORMAZIONE: NUMERI NATURALI, INTERI E REALI, CARATTERI.

FONDAMENTI DI PROGRAMMAZIONE(10 H)
I LINGUAGGI DI PROGRAMMAZIONE. INTRODUZIONE GENERALE: CONCETTI DI AGGREGAZIONE E ASTRAZIONE. VARIABILI, TIPI SEMPLICI,
ISTRUZIONI SEMPLICI, ESPRESSIONI, OPERATORI.
L'ISTRUZIONE DI ASSEGNAZIONE E SUA SEMANTICA.
BLOCCHI DI ISTRUZIONI.
STRUTTURE DI CONTROLLO SELETTIVE.
OPERATORI.
TIPI STRUTTURATI: ARRAY E STRINGHE.

PROGETTO DI PROGRAMMI (10 H)
IL CONCETTO DI FUNZIONE. DEFINIZIONE, CHIAMATA, PROTOTIPO.
PASSAGGIO DEI PARAMETRI PER VALORE E PER RIFERIMENTO.
EFFETTI COLLATERALI E PROCEDURE. LIVELLI DI VISIBILITA' E DURATA DELLE VARIABILI.
CONCETTI DI PROGRAMMAZIONE MODULARE. I/O E FILES.

SVILUPPO DI SEMPLICI PROGRAMMI (12 H)
STRUMENTI PER LA PRODUZIONE DI PROGRAMMI.
SCRITTURA ED EDITING DI UN PROGRAMMA.
SVILUPPO DI PROGRAMMI DI BASE.

SVILUPPO DI ALGORITMI (12 H)
SVILUPPO DI ALGORITMI SU VETTORI E MATRICI.
SVILUPPO DI ALGORITMI SU FUNZIONI.
SVILUPPI DI PROGRAMMI CON I/O SU FILE.
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE, ESERCITAZIONI IN AULA ED ESERCITAZIONI PRATICHE DI LABORATORIO. NELLE ESERCITAZIONI IN AULA VENGONO PROPOSTI E COMMENTATI ALGORITMI E LA RELATIVA CODIFICA IN LINGUAGGIO MATLAB/C. NELLE ESERCITAZIONI IN LABORATORIO GLI STUDENTI, GUIDATI DAL DOCENTE, IMPLEMENTANO SPECIFICI ALGORITMI PER LA RISOLUZIONE DI PROBLEMI DELINEATI DURANTE LE LEZIONI E LE ESERCITAZIONI IN AULA.

Verifica dell'apprendimento
L'APPRENDIMENTO VIENE VERIFICATO MEDIANTE ESERCIZI PROPOSTI DURANTE LE LEZIONI, LE ESERCITAZIONI PRATICHE IN AULA ED IN LABORATORIO, GUIDATE DAL DOCENTE. LA VALUTAZIONE DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI AVVIENE MEDIANTE UNA PROVA SCRITTA ED UN EVENTUALE COLLOQUIO ORALE. LA PROVA SCRITTA CONSISTE NELLA SCRITTURA ED ESECUZIONE DI UN PROGRAMMA IN LINGUAGGIO MATLAB/C DA REALIZZARSI DIRETTAMENTE IN LABORATORIO INTEGRATA DA ALCUNE DOMANDE A CUI RISPONDERE PER ISCRITTO. PARTENDO DAI CONTENUTI DELLA PROVA SCRITTA, L'EVENTUALE DISCUSSIONE ORALE VERTE SU TUTTI GLI ARGOMENTI TRATTATI NEL CORSO ALLO SCOPO DA VALUTARE SIA IL GRADO DI CONOSCENZE ACQUISITE SIA LE CAPACITÀ DI SINTESI E DI ESPOSIZIONE.
Testi
D. SCIUTO, G. BUONANNO E L. MARI,
INTRODUZIONE AI SISTEMI INFORMATICI,
MACGRAW HILL, 5/ED, 2014

WILLIAM J. PALM III
MATLAB - UN'INTRODUZIONE PER GLI INGEGNERI
MACGRAW HILL - ISBN: 9788838664663
Altre Informazioni
NEL SITO DEL DOCENTE SONO DISPONIBILI MATERIALI INTEGRATIVI DEI DIVERSI ARGOMENTI DEL CORSO.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]