Algoritmi e Calcolo Parallelo 2012/2013 - Introduzione al corso

611 views

Published on

Slide del corso di Algoritmi e Calcolo Parallelo per il corso di laurea magistrale in Ingegneria Matematica 2012/2013 - Politecnico di Milano

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
611
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • http://www.youtube.com/watch?v=FP52mfF5gUc
  • http://www.youtube.com/watch?v=FP52mfF5gUc
  • Algoritmi e Calcolo Parallelo 2012/2013 - Introduzione al corso

    1. 1. Introduzione al Corso Algoritmi e Calcolo Parallelo Prof. Pier Luca Lanzi
    2. 2. questo è un corso (avanzato) di informatica Prof. Pier Luca Lanzi
    3. 3. “assumiamo” che tutti abbiano conoscenze di base di informatica e di programmazione per chi avesse difficoltà “di base” il CCS ha un servizio di tutoring su C/C++/Matlab Prof. Pier Luca Lanzi
    4. 4. Laurea intorno ai 25-27 anni Pensione intorno ai 65-70 anni Circa 40 anni di vita lavorativa Cosa dovremmo imparare in questo corso? Prof. Pier Luca Lanzi
    5. 5. 1960 Burroughs 205 Apple ~1980 Mainframe ~1970 2012 Prof. Pier Luca Lanzi
    6. 6. “cambiare tutto per non cambiare niente” algoritmi 6 macchina di Von Neuman Certe cose però cambiano…  Linguaggi Programmazione (Cobol, RPG, Pascal, C, ecc.)  Programmazione a Oggetti (Simula, Smalltalk, C++, Java)  Calcolo Parallelo (vettoriale, MPI, OpenMP, CUDA) strutture dati Prof. Pier Luca Lanzi
    7. 7. qual è l’obiettivo del corso? imparare i principi generali (valgono sempre) impararli a utilizzare ora (con le tecnologie disponibili) Prof. Pier Luca Lanzi
    8. 8. quali principi generali? algoritmi, strutture dati, calcolo parallelo quale tecnologia? C++, programmazione a oggetti, MPI, OpenMP, CUDA Prof. Pier Luca Lanzi
    9. 9. Perché Imparare a Programmare? • • • • Difficile pensare che per risolvere un problema possa fare a meno di un calcolatore “non dobbiamo diventare programmatori” “ci sono gli informatici per quello, l’implementazione la possono fare loro” E’ davvero possibile? Sviluppo senza controllo Correttezza Modifica    Prof. Pier Luca Lanzi 9
    10. 10. Obiettivi del Corso • • 10 Darvi degli strumenti che vi permettano di implementare (almeno in forma prototipale) degli algoritmi/metodi partendo da una descrizione ad alto livello (da un articolo?) Conoscenze di base per Valutarne la complessità Valutare le conseguenze delle scelte implementative Valutare la possibilità di migliorarne le prestazioni attraverso tecniche di parallelizzazione    Prof. Pier Luca Lanzi
    11. 11. Modalità di Valutazione in Itinere • 11 Il voto si compone di 9 punti di scritto (relativo a tutto il programma svolto) 21 punti distribuiti su tre prove pratiche (C++, algoritmi e strutture dati) A causa di problemi logistici, le prove pratiche si terranno il sabato mattina, avranno una durata di 5 ore (dalle 8:15 alle 13:15) Il voto ottenuto durante le tre prove pratiche è valido fino all’appello di Marzo compreso.     • Prova Scritta Due-Tre esercizi più un esercizio di recupero Durante la prova scritta sarà possibile utilizzare i due libri di testo e le trasparenze per la parte di calcolo parallelo che non contengano esercizi   Prof. Pier Luca Lanzi
    12. 12. Modalità di Valutazione non in Itinere • 12 Il voto (per l’esame svolto durante il corso) si compone di 21 punti di scritto (relativo a tutto il programma svolto) 9 punti ottenuti durante una prova pratica svolta in laboratorio informatico Per svolgere la prova pratica bisogna ottenere almeno 12 punti nella prova scritta.    Prof. Pier Luca Lanzi
    13. 13. Modalità di Valutazione • • • 13 Prove pratiche Sono tre e sono obbligatorie e avranno una durata di 5 ore Svolta in gruppi di 3-4 studenti (selezionati a caso) Si svolgono in un’aula standard quindi dovrete utilizzare i vostri portatili    Struttura delle prove pratiche Dopo l’appello verranno formati i gruppi e verranno distribuiti uno o più articoli che descrivono un algoritmo Ogni gruppo ha 5 ore di tempo per implementare l’algoritmo descritto   Recupero E’ prevista la possibilità di essere assenti per una prova pratica o di rifiutare uno dei voti di una delle tre prove pratiche, svolgendo un esercizio di recupero durante lo scritto. Prevediamo una prova di recupero di laboratorio a Luglio e una prova di recupero a Settembre Le prove di recupero sono svolte singolarmente in laboratorio informatico    Prof. Pier Luca Lanzi
    14. 14. 14 Organizzazione Algoritmi e Strutture Dati Programmazione ISO C++ Prof. Pier Luca Lanzi Calcolo Parallelo
    15. 15. Materiale • 15 Algoritmi e Strutture Dati Bertossi Alan A., Montresor Alberto. “Algoritmi e strutture di dati” (seconda edizione), CittàStudi 2010 Primi 17 capitoli Trasparenze del corso    • Programmazione C++ Stanley B. Lippman, Barbara E. Moo, Josee Lajoie “C++ Primer”, 4th Edition Addison-Wesley Primi 16 Capitoli e le appendici   • Calcolo Parallelo Trasparenze delle lezioni  Prof. Pier Luca Lanzi
    16. 16. Riferimenti • 16 Algoritmi e Strutture Dati Bertossi Alan A., Montresor Alberto. “Algoritmi e strutture di dati” (seconda edizione), CittàStudi 2010 Primi 17 capitoli Trasparenze del corso    • Stanley B. Lippman, Barbara E. Moo, Josee Lajoie “C++ Primer”, 5th Edition Addison-Wesley Primi 16 Capitoli e le appendici  • Calcolo Parallelo Trasparenze delle lezioni  Prof. Pier Luca Lanzi
    17. 17. Docenti del Corso • • • Prof. Pier Luca Lanzi (lezioni) Dipartimento di Elettronica e Informazione pierluca.lanzi@polimi.it tel. 02 23993472 http://www.pierlucalanzi.net Ricevimento Mercoledì, dalla 14:30 alle 16:30, su appuntamento  Ing. Daniele Loiacono (esercitazioni e laboratorio) Dipartimento di Elettronica e Informazione loiacono@elet.polimi.it http://www.dei.polimi.it/people/loiacono Prof. Pier Luca Lanzi 17
    18. 18. Per la Programmazione • • • • 18 Distribuzione GNU/Linux “Ubuntu” disponibile al sito http://www.ubuntu.com/ E’ possibile installare la distribuzione direttamente su un PC oppure utilizzare un DVD live Verrà fornita una macchina virtuale per VirtualBox che permette l’esecuzione di una distribuzione Ubuntu su un altro sistema operativo Per programmi di poche righe è anche possibile utilizzare siti specializzati che danno la possibilità di compilare ed eseguire semplici programmi http://codepad.org/ http://ideone.com/   Prof. Pier Luca Lanzi
    19. 19. “una goccia di pratica è meglio di un oceano di teoria” Giuseppe Perlati Prof. Pier Luca Lanzi
    20. 20. "Students have to be active in developing their knowledge, they can't passively assimilate it.” Eric Mazur, Harvard Prof. Pier Luca Lanzi
    21. 21. Cosa Succede in Aula? 21 Discutere, domandare, interagire Se ci sono punti non chiari, chiedere spiegazioni Se volete approfondimenti, chiedete. Prof. Pier Luca Lanzi

    ×