Roberto, Margherita and Beatrice

Home

Personal Info

Papers

Teaching

Interests

People

Links

About

Programmazione 1

Docente: Roberto Bagnara
Collaboratore didattico: Enea Zaffanella
Collocazione: I anno dei CC.d.LL. in ``Matematica'', ``Matematica e Informatica'', ``Matematica per la Tecnologia e la Finanza'', I semestre.

Descrizione e finalità del corso

Si tratta di un corso introduttivo alla programmazione, basato sul frammento imperativo del linguaggio C++. Il corso si propone di iniziare gli studenti all'uso consapevole del calcolatore per la risoluzione di problemi. Attraverso l'apprendimento dei primi rudimenti di programmazione, gli studenti faranno conoscenza con i concetti base dell'informatica ed inizieranno a comprenderne il linguaggio e gli strumenti. Non si assume alcuna precedente esperienza nell'uso del calcolatore.

Tra le finalità del corso non vi è quella di insegnare l'uso di alcun pacchetto applicativo diverso dall'editor e dal compilatore C++ che verranno usati in laboratorio per la stesura e la prova dei programmi. Lo studente che segua il corso con impegno assimilerà, invece, quelle conoscenze che gli consentiranno di leggere e capire la documentazione di qualsiasi strumento software (presente o futuro).

Programma del corso

(Also available in English.)
  • Il concetto di algoritmo. I diagrammi di flusso o ``flow chart''.
  • Rappresentazione dell'informazione: interi, reali, caratteri, testi, suoni, immagini, animazioni.
  • Programmazione nel frammento imperativo del linguaggio C++:
    • Variabili, tipi, ed espressioni;
    • Funzioni e astrazione procedurale;
    • File e stream;
    • Costrutti di iterazione;
    • Array e stringhe;
    • Riferimenti e puntatori;
    • Introduzione alla ricorsione.

Testi consigliati

  • An Introduction to the Imperative Part of C++, di R. Miller, D. Clark, B. White, e W. Knottenbelt, 1999.

    Questo breve testo elettronico è il testo ufficiale del corso.

  • S. Lippman, J. Lajoie, ``C++: Corso di programmazione'', terza edizione, Addison-Wesley, 2000.
    ISBN 88-7192-071-6.

    Questo testo contiene moltissimo materiale che non sarà trattato durante il corso. D'altra parte, viene ugualmente consigliato per i seguenti motivi:

    1. è un buon testo;
    2. contiene tutte le informazioni necessarie al corso e a chi desideri approfondire argomenti specificdi;
    3. lo stesso testo è stato consigliato per entrambi i moduli del corso di Programmazione (Metodi Avanzati), e può risultare un utile strumento di consultazione per altri corsi di informatica (ad esempio, Linguaggi di Programmazione o Programmazione 2).

Mailing list

Il corso ha una propria
mailing list. La lista serve a docenti e studenti per lo scambio di informazioni relative al corso. Avvisi, dubbi, domande e risposte... va tutto bene purché attinente al corso o, più in generale, alla programmazione. Gli archivi della mailing list sono liberamente consultabili. Per inviare un messaggio alla lista basta scrivere all'indirizzo programmazione-1@studenti.cs.unipr.it.

Ricevimento studenti

Ricevo gli studenti il mercoledì pomeriggio dalle 14:30 alle 16:30. Detto questo, preferisco di gran lunga che gli eventuali dubbi siano risolti a lezione, dove le domande, che quasi sempre sono di interesse comune, possono trovare risposte utili a tutti.

Appelli d'Esame

Gli esami si terranno nei giorni indicati all'URI
http://esami.ceda.unipr.it/cgi-bin/esami/ientra/scienze/matematica, con eventuale prosecuzione il giorno successivo, presso il Dipartimento di Matematica, Via D'Azeglio, 85/A, Parma.

L'iscrizione all'esame è obbligatoria e si effettua elettronicamente allo stesso indirizzo: http://esami.ceda.unipr.it/cgi-bin/esami/ientra/scienze/matematica.

Modalità d'Esame

L'esame è costituito dallo svolgimento di un semplice esercizio di programmazione in C++ e da una prova orale. La correzione dell'esercizio avviene contestualmente alla prova orale.

Domande d'esame

Una sola veramente importante: perché?
In altre parole, requisito essenziale per il superamento dell'esame è l'assimilazione dei concetti trattati durante il corso.
È matematicamente impossibile superare l'esame senza aver affrontato e risolto qualche decina di semplici problemi di programmazione.

Sono disponibili alcuni testi di esame che possono essere utili per lo studio individuale: qui, qui e qui.

Collegamenti utili

Compilatori

C++

[Page last updated on November 27, 2001, 21:09:26.]

© Roberto Bagnara
bagnara@cs.unipr.it

Home | Personal | Papers | Teaching | Interests | People | Links | About