Logo dell'Università di Bologna - link alla home page del Portale di Ateneo
English Version
inizio banda delle funzionalità University of Bologna
 



inizio menù di scelta rapida

You are in:
Cosimo Laneve Home > Programmazione


Programmazione








    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, overloading, 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.

    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.

    Lezione 4: algoritmi per il calcolo del massimo comune divisore e cenni di complessità computazionale.

    Lezione 5: Portata delle dichiarazioni e funzioni.

    Lezione 6: Funzioni ricorsive.

    Lezione 7: Array.

    Lezione 8: Le strutture (statiche).

    Lezione 9: Strutture dati dinamiche.

    Lezione 10: Strutture dati dinamiche: gli alberi.

    Lezione 11: Alberi binari di ricerca.

    Lezione 12: Classi.

    Lezione 13: Sottoclassi ed ereditarieta`.



    Lezioni del Dott. Lanese

    Lezione 0: Eclipse e sua installazione.

    Lezione 1: Esercizi sulle grammatiche (Soluzioni).

    Lezione 2: Esercizi sulle espressioni.

    Lezione 3: Esercizi su input/output e comando condizionale.

    Lezione 4: Esercizi su comandi iterativi.

    Lezione 5: Esercizi su debugging e funzioni.

    Lezione 6: Esercizi su funzioni ricorsive.

    Lezione 7: Esercizi su array.

    Lezione 8: Esercizi su strutture.

    Lezione 9: Esercizi su puntatori e liste.

    Lezione 10: Esercizi su alberi.

    Lezione 11: Esercizi su classi.

    Lezione 12: Esercizi su ereditarieta`.

    Lezione 13: Preparazione all'esame 1.

    Lezione 14: Preparazione all'esame 2. Soluzione alternativa esercizio 3

    Tipo di insegnamento Lezioni frontali
    Giudizio Esame scritto
    Testi di riferimento
    Si suggerisce di usare il testo 4 e uno solo, a scelta, tra 1, 2, e 3.

    1. Stroustrup: "Programming: Principles and Practice using C++" Addison-Wesley 2009 (questo corso copre la prima parte di questo testo)

    2. Savitch: "Problem Solving with C++", Addison-Wesley 2004 (ottimo testo di introduzione alla programmazione e che usa C++)

    3. Stroustrup: "The C++ Programming Language", Addison-Wesley 2004 (è la bibbia sul C++ da parte di ci l'ha inventato: per coloro che intendono approfondire il lingaggio)

    4. 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.