| Nome del Corso |
Programmazione
|
| Codice del Corso |
00819
|
| Grado |
Laurea
|
| Semestre | Primo Semestre
|
| Docenti |
Prof. Cosimo Laneve e Dr. Ivan Lanese |
| Linguaggio di Insegnamento |
Italiano
|
| Crediti |
12
|
| Ore di Insegnamento |
90
|
| Orario | vai a
http://corsi.unibo.it/informatica
|
| Orario di Ricevimento |
Vedere home-page dei docenti:
Cosimo Laneve e
Ivan Lanese
|
| Obiettivi |
Al termine del corso, lo studente conosce i principi,
gli strumenti e le tecniche della programmazione di applicazioni informatiche.
E` in grado di programmare in uno specifico linguaggio di programmazione.
|
| Syllabus |
Introduzione alla programmazione con il linguaggio C++.
Programmazione imperativa in C++: algoritmi e programmi, tipi di dato,
assegnamento, input/output, condizionali, iterazione, funzioni, ricorsione e
funzioni ricorsive, vettori, record, allocazione della memoria, strutture dati
dinamiche (liste, code, alberi)
Programmazione object-oriented in C++: classi, metodi, ereditarieta'
Uso dell'ambiente di sviluppo CDT per Eclipse.
|
| Lezioni |
Lezione 0:
Introduzione al corso e obiettivi, il programma Hello World, compilazione.
Lezione 1:
Grammatica dei linguaggi di programmazione, definizione formale di insiemi infiniti,
la notazione BNF e EBNF.
(Soluzioni)
Lezione 2:
Identificatori, dichiarazioni, tipi di dato, espressioni, type safety
Lezione 3:
Il comando if-then-else e if-then, il comando while,
il comando for, il comando do-while.
Esercizi
e Tecniche
di debugging con Eclipse (Ivan Lanese).
Lezione 4:
algoritmi per il calcolo del massimo comune divisore e cenni di complessita`
computazionale. Programmi in C++ visti a lezione
Lezione 5:
Portata delle dichiarazioni e funzioni.
Lezione 6:
Funzioni ricorsive.
Lezione 7:
Array. Programmi in C++ visti a lezione
Lezione 8:
Le strutture (statiche).
Esercizi su strutture,
Stringhe ed esercizi,
Programmi in C++ visti a lezione
Lezione 9:
Strutture dati dinamiche.
Programmi in C++ visti a lezione,
Esercizi su puntatori e liste
Lezione 10:
Strutture dati dinamiche: gli alberi.
Programmi in C++ visti a lezione.
Lezione
11:
Alberi binari di ricerca.
Lezioni del Dott. Lanese
Lezione 1: Eclipse e sua installazione (NUOVA).
Lezione 2:
Classi e Esercizi.
Lezione 3: Classi;
Programmi in C++ visti a lezione: pila.cpp, pers.cpp, pila-ar.cpp.
Lezione 3:
Sottoclassi ed ereditarieta`.
Esercizi su ereditarieta`, Altri esercizi
Lezione 4: Eserizi su classi.
Altri esercizi
Lezione 5: Preparazione all'esame 1.
Lezione 6: Preparazione all'esame 2.
Soluzione alternativa esercizio 3
|
| Tipo di insegnamento |
Lezioni frontali
|
| Giudizio |
Esame scritto |
| Testi di riferimento |
Si suggerisce di usare i testi 4 e 5 pi\u221a\u03c0
uno solo, a scelta, tra 1, 2, e 3.
- Stroustrup: "Programming: Principles and Practice using C++" Addison-Wesley 2009 (questo corso copre la prima parte di questo testo)
- Savitch: "Problem Solving with C++", Addison-Wesley 2004
(ottimo testo di introduzione alla programmazione e che usa C++)
- Stroustrup: "The C++ Programming Language", Addison-Wesley 2004
(\u221a\256 la bibbia sul C++ da parte di ci l'ha inventato: per coloro che intendono approfondire il lingaggio)
- Miller: "AnIntroduction to the Imperative Part of C++", 2011
(ottimo per la parte imperativa)
- Lanese, Laneve: "
la dispensa di C+o-", 2011
|
| Newsgroup |
unibo.cs.informatica.programmazione
Per accedere al newsgroup andare sul sito
e digitare le credenziali del dipartimento.
I risultati degli esami saranno pubblicati solamente sul newsgroup.
| |