Francesco COLACE | FONDAMENTI DI INFORMATICA
Francesco COLACE FONDAMENTI DI INFORMATICA
cod. 0612400005
FONDAMENTI DI INFORMATICA
0612400005 | |
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE | |
CORSO DI LAUREA | |
INGEGNERIA ELETTRONICA | |
2017/2018 |
OBBLIGATORIO | |
ANNO CORSO 1 | |
ANNO ORDINAMENTO 2016 | |
PRIMO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
INF/01 | 6 | 60 | LEZIONE |
Obiettivi | |
---|---|
RISULTATI DI APPRENDIMENTO PREVISTI E COMPETENZE DA ACQUISIRE Il corso fornisce agli studenti gli elementi basilari per l'analisi e la risoluzione di problemi complessi attraverso la formulazione di algoritmi. Gli allievi matureranno, inoltre, la capacità di implementare gli algoritmi attraverso il linguaggio di programmazione C. In questo modo i discenti si confronteranno con gli aspetti fondamentali relativi alla rappresentazione delle informazioni comprendendo sul campo il funzionamento di moderni sistemi di elaborazione delle informazioni. Il corso propone numerose esercitazioni pratiche in cui gli studenti acquisiranno metodologie e tecniche di problem solving e la capacità di implementare soluzioni originali attraverso un linguaggio di programmazione di alto livello. CONOSCENZA E CAPACITA’ DI COMPRENSIONE Conoscenze dell’architettura di un calcolatore e della codifica delle informazioni, dei costrutti di un linguaggio di programmazione ad alto livello, della rappresentazione degli algoritmi attraverso pseudocodice e diagrammi di flusso, degli algoritmi notevoli, delle principali strutture dati. CAPACITA’ DI APPLICARE CONOSCENZA E COMPRENSIONE Gli allievi al termine del corso acquisiranno: - la capacità di progettare e sviluppare algoritmi complessi attraverso la scomposizione in sotto-problemi - la capacità di tradurre algoritmi in linguaggio C attraverso l'adozione di metodologie "stato dell'arte" di programmazione strutturata - la capacità di verificare attraverso procedure di "testing" il corretto funzionamento dei programmi. AUTONOMIA DI GIUDIZIO Gli allievi acquisiranno la capacità di selezionare la soluzione migliore per la risoluzione di un determinato problema, valutando e scegliendo gli opportuni costrutti del linguaggio di programmazione per codificare l'algoritmo. ABILITÀ COMUNICATIVE Al termine del corso l'allievo acquisirà il vocabolario terminologico di base dell'informatica. In particolare, l'allievo sarà in grado di rappresentare attraverso opportuni formalismi grafici l'algoritmo e tradurlo in linguaggio C, commentandolo opportunamente. CAPACITÀ DI APPRENDERE Il corso mira a sviluppare capacità di apprendimento negli studenti tali da consentire loro di aggiornare in autonomia continuamente le proprie conoscenze e competenze. Gli allievi dovranno essere in grado di applicare le conoscenze acquisite a contesti differenti da quelli presentati durante il corso ed approfondire gli argomenti trattati usando materiali diversi da quelli proposti. |
Prerequisiti | |
---|---|
Non sono previsti prerequisiti |
Contenuti | |
---|---|
CONCETTI DI BASE 8 Ore (5 ore di LEZIONE - 3 ore di ESERCITAZIONE) INFORMAZIONE, ALGORITMI, HARDWARE E SOFTWARE ARCHITETTURA DI UN SISTEMA PER L’ELABORAZIONE DELL’INFORMAZIONE: ELEMENTI DELLA MACCHINA DI VON NEUMANN, CODIFICA DEI DATI E DELLE INFORMAZIONI, (CODIFICA DEI NUMERI, DEI CARATTERI, OPERAZIONI BINARIE), ALGEBRA DI BOOLE - Progettazione e Sviluppo di ALGORITMI 20 ore (10 ore LEZIONE 10 ore ESERCITAZIONE). AMBIENTI DI SVILUPPO. COMPILATORI ED INTERPRETI. ALGORITMI DI BASE. SVILUPPO DI ALGORITMI SU VETTORI E MATRICI (MINIMO, MASSIMO, MEDIA, MEDIANA, MODA, TRASPOSTA DI UNA MATRICE, PRODOTTO SCALARE, PRODOTTO MATRICIALE), DI RICERCA (LINEARE, BINARIA), DI ORDINAMENTO (BUBBLE SORT, SELECTION SORT), DI APPROSSIMAZIONE RADICI DI FUNZIONI/POLINOMI, INTRODUZIONE ALL’UTILIZZO DEI PUNTATORI E DELL’ALLOCAZIONE DINAMICA DELLA MEMORIA. - FONDAMENTI DI PROGRAMMAZIONE 32 ore (5 ore LEZIONE 27 ore ESERCITAZIONE) LINGUAGGI DI PROGRAMMAZIONE AD ALTO E BASSO LIVELLO. LINGUAGGIO C. TIPI E VARIABILI. TIPI SEMPLICI (IL TIPO INT, FLOAT E DOUBLE, CHAR, DEFINITI DALL’UTENTE). OPERATORI. ESPRESSIONI. ASSEGNAZIONE. ISTRUZIONI DI SELEZIONE. ISTRUZIONI CICLICHE. TIPI STRUTTURATI (ARRAY, MATRICI, STRUTTURE, PUNTATORI, GESTIONE DELLE STRINGHE) COSTRUZIONE INCREMENTALE DEI PROGRAMMI CON PROCESSO TOP-DOWN. DECOMPOSIZIONE FUNZIONALE. FUNZIONI, PROTOTIPI, CHIAMATA PER VALORE E PER RIFERIMENTO, EFFETTI COLLATERALI, LE REGOLE DI VISIBILITÀ, PROCEDURE E FUNZIONI PREDEFINITE, STANDARD LIBRARY DEL C. FILE. FILE E FLUSSO, FILE AD ACCESSO SEQUENZIALE, AD ACCESSO CASUALE, FILE DI TESTO, OPERAZIONI DI LETTURA E SCRITTURA. |
Metodi Didattici | |
---|---|
L’INSEGNAMENTO PREVEDE LEZIONI TEORICHE ED ESERCITAZIONI IN AULA. NELLE ESERCITAZIONI IN AULA VIENE ASSEGNATO AGLI STUDENTI UN PROBLEMA DA RISOLVERE UTILIZZANDO LE TECNICHE PRESENTATE NELLE LEZIONI TEORICHE. LO SVOLGIMENTO DEL PROBLEMA E' GUIDATO DAL DOCENTE E TENDE A SVILUPPARE E RAFFORZARE LE CAPACITÀ DELL’ALLIEVO DI IDENTIFICARE LE TECNICHE PIÙ IDONEE ALL’APPLICAZIONE. VENGONO ANCHE PROPOSTE LE METODICHE PER PRODURRE UN ELABORATO CHIARO NEL PROCEDIMENTO ED ACCURATO NEI RISULTATI DA CONSEGUIRE. |
Verifica dell'apprendimento | |
---|---|
L'ESAME PREVEDE LO SVOLGIMENTO DI UNA PROVA SCRITTA E UNA ORALE. PER ACCEDERE ALL'ORALE OCCORRE SUPERARE LA PROVA SCRITTA CON UN VOTO MINIMO DI 18/30. DURANTE LO SVOLGIMENTO DEL CORSO SONO PREVISTE PROVE SCRITTE PARZIALI ESONERATIVE. - LO SCRITTO E' TESO A VALUTARE LE CAPACITÀ OPERATIVE NELLA PROGETTAZIONE DI UN ALGORITMO DATA UNA SPECIFICA FUNZIONALE E LA SUA IMPLEMENTAZIONE IN LINGUAGGIO C - LA PROVA ORALE E' TESA AD APPROFONDIRE IL LIVELLO DELLE CONOSCENZE, LA AUTONOMIA DI ANALISI E GIUDIZIO, NONCHE' LE CAPACITA' ESPOSITIVE DELL’ALLIEVO. LA VALUTAZIONE DELLE PROVE TIENE CONTO DELLA EFFICIENZA DEI METODI UTILIZZATI, DELLA COMPLETEZZA ED ESATTEZZA DELLE RISPOSTE, NONCHE' DELLA CHIAREZZA NELLA PRESENTAZIONE. IL VOTO FINALE, ESPRESSO IN TRENTESIMI CON EVENTUALE LODE, TIENE CONTO DELL'ESITO DELLE DUE PROVE. |
Testi | |
---|---|
- Sciuto, Buonanno, Mari, Introduzione ai Sistemi Informatici, McGraw Hill, V Edizione - Brian W. Kernighan, Dennis M. Ritchie Il linguaggio C. Principi di programmazione e manuale di riferimento, Pearson - Lucidi delle lezioni e appunti messi a disposizione dal docente sul proprio sito web http://docenti.unisa.it/003563/home |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-05-14]