FONDAMENTI DI INFORMATICA

Luca GRECO FONDAMENTI DI INFORMATICA

0612700005
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA
INGEGNERIA INFORMATICA
2015/2016

OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2015
PRIMO SEMESTRE
CFUOREATTIVITÀ
1FONDAMENTI DI INFORMATICA
660LEZIONE
2FONDAMENTI DI INFORMATICA
330LEZIONE


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, USANDO IL LINGUAGGIO DI PROGRAMMAZIONE 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, AGLI ELEMENTI FONDAMENTALI DI UN LINGUAGGIO DI PROGRAMMAZIONE AD ALTO LIVELLO, UNITAMENTE ALLE TECNICHE FONDAMENTALI DI “PROBLEM SOLVING” MEDIANTE L’USO DI UN ELABORATORE. IL CORSO È AFFIANCATO DA UN AMPIO INSIEME DI ESERCITAZIONI PRATICHE AL CALCOLATORE, GUIDATE DAL DOCENTE, IN CUI GLI STUDENTI METTONO IN PRATICA LE CONOSCENZE ACQUISITE. QUESTE ATTIVITÀ SONO PROGRAMMATE IN MODO CHE ALL’INTERNO DI OGNI ESERCITAZIONE LO STUDENTE POSSA REALIZZARE PRATICAMENTE GLI ALGORITMI RISOLUTIVI DEI PROBLEMI DELINEATI DURANTE LE LEZIONI IN AULA.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE
CODIFICA E RAPPRESENTAZIONE DELLE INFORMAZIONI, COSTRUTTI FONDAMENTALI DEI LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO, DELLE STRUTTURE DATI FONDAMENTALI, DELLA RAPPRESENTAZIONE DEGLI ALGORITMI ATTRAVERSO DIAGRAMMI A BLOCCHI, DELLA SINTASSI DEL LINGUAGGIO C. CATENA DI PROGRAMMAZIONE. ALGORITMI DI RICERCA E ORDINAMENTO.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
PROGETTARE UN ALGORITMO PER LA RISOLUZIONE DI PROBLEMI DI COMPLESSITÀ NON ELEVATA. TRADURRE UN ALGORITMO IN UN PROGRAMMA IN LINGUAGGIO C USANDO UN AMBIENTE DI SVILUPPO.

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

ABILITÀ COMUNICATIVE
SAPER ESPORRE ORALMENTE UN ARGOMENTO TRA QUELLI TRATTATI NEL CORSO.

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 (8H LEZIONE)
INTRODUZIONE. I CONCETTI DI INFORMAZIONE, ALGORITMO, ESECUTORE, PROGRAMMA E PROCESSO. ARCHITETTURA DI SISTEMI DI ELABORAZIONE: MEMORIA CENTRALE, BUS, UNITÀ CENTRALE, INTERFACCE DI INGRESSO/USCITA. ELEMENTI DI ALGEBRA DI BOOLE. RAPPRESENTAZIONE E CODIFICA DELL’INFORMAZIONE. (M. VENTO: CAP. 1)
FONDAMENTI DI PROGRAMMAZIONE (14H LEZIONE, 14H ESERCITAZIONE AL CALCOLATORE)
INTRODUZIONE. I LINGUAGGI DI PROGRAMMAZIONE DI BASSO E DI ALTO LIVELLO. I LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO E LORO DESCRIZIONE. LINGUAGGIO C. INTRODUZIONE AL LINGUAGGIO C. I CONCETTI DI AGGREGAZIONE E ASTRAZIONE. TIPI E VARIABILI. TIPI SEMPLICI: INTERO, FLOAT, CHAR, TIPI ENUMERATIVI. VARIABILI AUTOMATICHE, ESTERNE E STATICHE. INPUT/OUTPUT FORMATTATO. OPERATORI. ESPRESSIONI. L’ISTRUZIONE DI ASSEGNAZIONE E SUA SEMANTICA. ISTRUZIONI SEMPLICI. BLOCCHI DI ISTRUZIONI. STRUTTURE DI CONTROLLO SELETTIVE. STRUTTURE DI CONTROLLO ITERATIVE PREDETERMINATE E NON. CARTE SINTATTICHE DEI PRINCIPALI COSTRUTTI DI PROGRAMMAZIONE. (P.J. DEITEL – H.M. DEITEL: CAP. 2, 3, 4 E 9; M. VENTO: CAP. 2 E 3)
AMBIENTI DI SVILUPPO (2H LEZIONE, 6H ESERCITAZIONE AL CALCOLATORE)
AMBIENTI DI PROGRAMMAZIONE. COMPILATORI ED INTERPRETI. STRUMENTI PER LA PRODUZIONE DI PROGRAMMI. EDITING DI UN PROGRAMMA. COMPILAZIONE, COLLEGAMENTO ED ESECUZIONE. DEBUGGING. (P.J. DEITEL – H.M. DEITEL: CAP. 1; MATERIALE FORNITO DAL DOCENTE)
TIPI DI DATI STRUTTURATI (6H LEZIONE, 6H ESERCITAZIONE AL CALCOLATORE)
ARRAY E MATRICI. IL CONCETTO DI PUNTATORE. GESTIONE DELLE STRINGHE. (P.J. DEITEL – H.M. DEITEL: CAP. 6, 7 E 8; M. VENTO: CAP 6 E 8).
DECOMPOSIZIONE FUNZIONALE E ELEMENTI DI PROGETTO DI PROGRAMMI (6H LEZIONE, 6H ESERCITAZIONE AL CALCOLATORE)
CONCETTI DI PROGRAMMAZIONE MODULARE. IL CONCETTO DI FUNZIONE. DEFINIZIONE, CHIAMATA, PROTOTIPO. PASSAGGIO DEI PARAMETRI PER VALORE E PER RIFERIMENTO. EFFETTI COLLATERALI E PROCEDURE. GRAFO DI FLUSSO. SEQUENZA STATICA E SEQUENZA DINAMICA. VISIBILITÀ E DURATA DELLE VARIABILI. LE FUNZIONI PREDEFINITE DELLA STANDARD LIBRARY. ((P.J. DEITEL – H.M. DEITEL: CAP. 5; M. VENTO: CAP. 5)
I FILE (2H LEZIONE, 4H ESERCITAZIONE AL CALCOLATORE)
IL CONCETTO DI FILE. FILE AD ACCESSO SEQUENZIALE E DIRETTO. FILE DI TESTO. APERTURA ED OPERAZIONI DI LETTURA E SCRITTURA SU FILE. LETTURA A CARATTERE E FORMATTATA. (P.J. DEITEL – H.M. DEITEL: CAP. 11; M. VENTO: CAP. 7)
SVILUPPO DI ALGORITMI (4H LEZIONE, 12 ESERCITAZIONE AL CALCOLATORE)
SVILUPPO DI ALGORITMI NOTEVOLI SU SEQUENZE, VETTORI E MATRICI: CALCOLO DEL MINIMO E DEL MASSIMO, PRODOTTO SCALARE, PRODOTTO MATRICIALE, CALCOLO DELLA TRASPOSTA E DELLA TRACCIA DI UNA MATRICE. SVILUPPO DI PROGRAMMI CON I/O SU FILE. ALGORITMI NOTEVOLI DI RICERCA ED ORDINAMENTO: RICERCA LINEARE, RICERCA DICOTOMICA, SELECTION SORT. DERIVAZIONE ED INTEGRAZIONE NUMERICA DI UNA FUNZIONE. (P.J. DEITEL – H.M. DEITEL: CAP. 6 E 7; M. VENTO: CAP. 9)
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE ED ESERCITAZIONI PRATICHE AL CALCOLATORE. NELLE ESERCITAZIONI VENGONO PROPOSTI E COMMENTATI SPECIFICI ALGORITMI PER LA RISOLUZIONE DI PROBLEMI E LA RELATIVA CODIFICA IN LINGUAGGIO C; GLI STUDENTI, GUIDATI DAL DOCENTE, IMPLEMENTANO, ESEGUONO E VERIFICANO GLI ALGORITMI DELINEATI DURANTE LE LEZIONI.
Verifica dell'apprendimento
LA VALUTAZIONE DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI AVVIENE MEDIANTE UNA PROVA PRATICA ED UN COLLOQUIO ORALE. LA PROVA PRATICA VIENE EFFETTUATA DALLO STUDENTE SUL SISTEMA DI ELABORAZIONE E CONSISTE NELLA SCRITTURA, COMPILAZIONE, ESECUZIONE E VERIFICA DI UN ESERCIZIO DI PROGRAMMAZIONE IN LINGUAGGIO C. PARTENDO DAI CONTENUTI DELLA PROVA PRATICA, LA DISCUSSIONE ORALE VERTE SU TUTTI GLI ARGOMENTI TRATTATI NEL CORSO ALLO SCOPO DI VALUTARE SIA IL GRADO DI CONOSCENZE ACQUISITE SIA LE CAPACITÀ DI SINTESI E DI ESPOSIZIONE. SARÀ EFFETTUATA UNA PROVA INTRA-CORSO DI CARATTERE PRATICO CON LO SCOPO DI PERMETTERE ALLO STUDENTE DI VALUTARE LA CAPACITÀ DI APPLICARE LE CONOSCENZE ACQUISITE.
NELLA VALUTAZIONE FINALE, ESPRESSA IN TRENTESIMI, LA VALUTAZIONE DELLE PROVA INTRA-CORSO E PRATICA PESERÀ PER IL 70% MENTRE IL COLLOQUIO ORALE PER IL 30%. SI È AMMESSI ALLA PROVA ORALE SOLO PREVIO SUPERAMENTO DELLA PROVA PRATICA. LA LODE POTRÀ ESSERE ATTRIBUITA AGLI STUDENTI CHE DIMOSTRINO UNA PIENA CONOSCENZA DI TUTTE LE PRINCIPALI TEMATICHE AFFRONTATE NEL CORSO E CHE ABBIANO DIMOSTRATO UNA OTTIMA CAPACITÀ DI PROGRAMMAZIONE.
ESEMPI DI PROVE PRATICHE SI POSSONO TROVARE NELLA PAGINE DEL CORSO AL SITO WWW.ESSE3WEB.UNISA.IT.
Testi
M. VENTO, FONDAMENTI DI INFORMATICA, APPUNTI DELLE LEZIONI, EDIZIONE 2015. QUESTO TESTO È ADOTTATO PER LA TRATTAZIONE DEGLI ASPETTI INERENTI ALLA PROGRAMMAZIONE.

PAUL J. DEITEL - HARVEY M. DEITEL, IL LINGUAGGIO C - FONDAMENTI E TECNICHE DI PROGRAMMAZIONE, PEARSON.

NELLA PAGINA DEL SITO DELL’INSEGNAMENTO WWW.ESSE3WEB.UNISA.IT È RESO DISPONIBILE AGLI STUDENTI MATERIALE AGGIUNTIVO, COME TRACCE DI ESERCIZI DI ESEMPIO E RELATIVO SVOLGIMENTO, ULTERIORI PROPOSTE DI ESERCIZIO.

TESTI DI APPROFONDIMENTO SUGGERITI

CERI, D. MANDRIOLI, L. SBATTELLA, P. CREMONESI, G. CUGOLA - INFORMATICA: ARTE E MESTIERE, TERZA EDIZIONE MCGRAW-HILL ITALIA.

B.W. KERNIGHAN, D. RITCHIE - C LANGUAGE, PEARSON-PRENTICE HALL, II EDIZIONE.

K.N. KING: PROGRAMMAZIONE IN C, APOGEO, 2009
Altre Informazioni
L’INSEGNAMENTO È EROGATO IN PRESENZA CON FREQUENZA OBBLIGATORIA. LA LINGUA DI INSEGNAMENTO È L’ITALIANO.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]