- Home
- Didattica
- I corsi di studio
- Corsi di laurea
FONDAMENTI DI INFORMATICA A
Obiettivi formativi
Il modulo intende fornire i concetti di base dell'informatica e gli strumenti fondamentali per l'utilizzo e la programmazione dei calcolatori elettronici, con particolare attenzione agli algoritmi, ai linguaggi e alle metodologie di programmazione. Come linguaggio di programmazione viene usato il C++.
Prerequisiti
Il prerequisito ideale sarebbe che lo studente fosse in possesso del patentino ECDL, o avesse le conoscenze necessarie per conseguirlo. Dei sette moduli che costituiscono il Syllabus di ECDL, sono considerati prerequisiti indispensabili i seguenti:
- Modulo 1 - Concetti di base della Tecnologia dell'Informazione
- Modulo 2 - Uso del computer e gestione dei file
- Modulo 3 - Elaborazione testi
- Modulo 7 - Reti informatiche
Contenuti dell'insegnamento
Parte A (in aula)
- Rappresentazione posizionale dei numeri. Sistemi di numerazione. Conversione di base. Aritmetica binaria.
- La rappresentazione dei dati in memoria. Rappresentazione in complemento a 2. Il codice ASCII. Rappresentazione delle stringhe C.
- L'organizzazione dei file su disco. Cenni ai sistemi operativi Dos e Windows.
- Definizione di problema, dati, risultati. Concetto di algoritmo, metodo computazionale, esecutore.
- Algoritmi di ricerca e di ordinamento.
- Strutture dati: liste, alberi, tabelle.
- Alberi binari e loro attraversamento.
- Progettazione di un programma: programmazione top-down . Metodologie di programmazione strutturata e modulare.
Parte B (aula e laboratorio)
- Il linguaggio C++
- Struttura di un programma.
- Tipi di dati elementari.
- Costanti, variabili, operatori, espressioni.
- Assegnamento. Istruzioni di controllo.
- Array e stringhe.
- Funzioni e prototipi. Ambito degli identificatori. Modalità di passaggio dei parametri.
- Stack e record di attivazione.
- Sovrapposizione di funzioni.
- Ricorsione.
- Tipi enumerati. Strutture.
- Il sistema di input/output del C++.
- Gestione di file.
- Uso dell'Editor e il debugging di un programma. Progetti multifile.
- Puntatori. Allocazione dinamica della memoria.
- Manipolazione di liste e alberi binari.
- Librerie.
Bibliografia
- M. Bertozzi, E. Calabrese: Lezioni di Fondamenti di Informatica A. Santa Croce (2004)
- E. Calabrese: Temi d'esame di Fondamenti di Informatica con esempi di soluzione in C++. Pitagora Editrice Bologna (Nuova edizione 2005)
- Un testo sul C++, come ad esempio uno dei seguenti (il numero degli asterischi è proporzionale al mio giudizio positivo):
- S. Prata: C++ Primer Plus. QUE (2001) (**** per principianti e non)
- J. Hubbard: Programmare in C++ 2a ed.. McGraw Hill (2001) (per principianti e non ***)
- H. M. Deitel, P. J. Deitel: C++ - Fondamenti di programmazione. Apogeo (2001) (*** per non principianti, solo cap.1-5 e 11. Per vecchio ordinamento anche cap.6-8)
- H. Schildt: Guida al C++ 2a ed. McGraw Hill (2000) (***)
- S. Oualline: C++ Corso di programmazione. O'Reilly - Jackson libri (1998) (***)
Metodi didattici
L'insegnamento è tenuto sia in aula che in laboratorio.
L'esame consiste di una prova scritta, o quiz (domande a risposte chiuse, <1 ora), di una prova pratica (tema di programmazione da svolgere in C++, 2 ore) e di una eventuale prova orale. Le date per le prime due prove sono indicate sul calendario degli esami rispettivamente con le sigle S e P. Le date dell'orale vengono di norma indicate quando si espongono i risultati della prova pratica.
Attività Mutua
Altri insegnamenti
ANNO DI CORSO: 1
ANNO DI CORSO: 2
ANNO DI CORSO: 3

