La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Programmazione A-L CdS Informatica I anno, I semestre, 12 cfu Nadia Busi.

Presentazioni simili


Presentazione sul tema: "Programmazione A-L CdS Informatica I anno, I semestre, 12 cfu Nadia Busi."— Transcript della presentazione:

1 Programmazione A-L CdS Informatica I anno, I semestre, 12 cfu Nadia Busi

2 Programmazione “Programming is a good medium for expressing poorly-understood and sloppily formulated ideas.” (M. Minsky)

3 Obiettivo del corso Fornire principi, tecniche, metodologie generali per la progettazione e la realizzazione di programmi Indipendenti dal linguaggio di programmazione

4 Progettazione di programmi Descrizione del problema Programma funzionante e corretto

5 Progettazione di programmi Descrizione del problema (in linguaggio naturale) Estrarre info rilevanti dati risultati Descrivere comportamento del prg da realizzare (esempi) Formulare il prg in un linguaggio di programmazione Test e debug

6 Gli strumenti Metodologia di progettazione “design recipes” (slide precedente) Linguaggio di programmazione Scheme Ambiente di sviluppo user-friendly DrScheme

7 Scheme Lisp Algol Scheme Steele - Sussman, MIT, anni ‘70 didattica

8 Paradigmi Paradigma funzionale Programma = (insieme di) funzioni Funzione: dati risultato Scheme, Lisp, ML … Paradigma imperativo Programma = sequenza di istruzioni Pascal, C, Java …

9 Linguaggi Scheme ML Human-oriented Java Pascal C Assembly Computer-oriented

10 Scheme: vantaggi Sintassi semplice e concisa Semantica facile (regole dell’algebra) Attenzione sulle tecniche di programmazione (non sui costrutti) Ragionamento induttivo Separazione Model/View

11 Scheme: vantaggi Programmi completi dalle prime lezioni Base per OOP Java (secondo semestre) Espressamente progettato per la didattica MIT, Rice, Berkeley, Princeton, Cornell, Johns Hopkins University, Indiana, Yale, UCLA

12 Scheme: svantaggi No sistema di tipi Tipi nei commenti Utilizzati per progettazione e documentazione Scopi ed uso principalmente accademici Motorola, Intel, Tektronix, Silicon Graphics, Microsoft, Disney, Yahoo store… Enfasi sui principi e non sul linguaggio

13 Testo consigliato www.htdp.org M. Felleisen, R.B. Findler, M. Flatt, S. Krishnamurthi “How to Design Programs” MIT Press, 2001

14 DrScheme Ambiente di sviluppo user-friendly Gerarchia di linguaggi Beginner/Intermediate/Advanced Student Full language Multipiattaforma Mac/Linux/Windows www.drscheme.org

15 Orario delle lezioni Ora inizio LunedìMartedìMerc.GiovedìVenerdì 8:30 E1E2 9:30 E1E2 10:30 E1 11:30 12:30 13:30 E1 14:30 E1 15:30 E2E1 16:30 E2E1 17:30 E2

16 Esame Prove in itinere Prova pratica: realizzazione di programmi in laboratorio Esame finale Prova pratica Orale

17 Voto Programmazione I semestre, 12 cfu Principi di progettazione (Scheme) Prova di laboratorio (+ orale) Lab Metodi di Programmazione II semestre, 6 cfu Programmazione OO (Java) Progetto (+ orale)

18 Voto I corsi di Programmazione e LabMetProg sono integrati Voto corso integrato = ((2 * voto Programmazione) + voto LabMetProg) / 3

19 Info utili Email busi@cs.unibo.it Utilizzare possibilmente l’account del dipartimento Pagina web www.cs.unibo.it/~busi Teaching, Programmazione AL Ricevimento Martedì ore ??? Previo appuntamento via email

20 Esempio Funzione che calcola il doppio di un numero Input: un numero Output: un numero Esempi: doppio(2) = 4 doppio(5) = 10 doppio(0) = 0 <= casi particolari f(x) = x + x

21 Doppio di un numero (define (doppio x) (+ x x)) #include int main(void) { int x; int doppio; printf(“Inserisci numero: “); scanf(“%d”, x); doppio = x + x; printf(“Il doppio \’e %d”, doppio); }


Scaricare ppt "Programmazione A-L CdS Informatica I anno, I semestre, 12 cfu Nadia Busi."

Presentazioni simili


Annunci Google