SlideShare une entreprise Scribd logo
1  sur  21
Introduzione al Corso
Algoritmi e Calcolo Parallelo

Prof. Pier Luca Lanzi
questo è un corso (avanzato) di informatica

Prof. Pier Luca Lanzi
“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
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
1960 Burroughs 205

Apple ~1980

Mainframe ~1970

2012
Prof. Pier Luca Lanzi
“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
qual è l’obiettivo del corso?
imparare i principi generali
(valgono sempre)
impararli a utilizzare ora
(con le tecnologie disponibili)

Prof. Pier Luca Lanzi
quali principi generali?
algoritmi, strutture dati, calcolo parallelo
quale tecnologia?
C++, programmazione a oggetti,
MPI, OpenMP, CUDA

Prof. Pier Luca Lanzi
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
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
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
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
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

Organizzazione

Algoritmi e Strutture Dati

Programmazione ISO
C++

Prof. Pier Luca Lanzi

Calcolo

Parallelo
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
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
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
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
“una goccia di pratica è meglio
di un oceano di teoria”
Giuseppe Perlati

Prof. Pier Luca Lanzi
"Students have to be active in developing their
knowledge, they can't passively assimilate it.”

Eric Mazur, Harvard

Prof. Pier Luca Lanzi
Cosa Succede in Aula?

21

Discutere, domandare, interagire
Se ci sono punti non chiari, chiedere spiegazioni
Se volete approfondimenti, chiedete.
Prof. Pier Luca Lanzi

Contenu connexe

Similaire à Algoritmi e Calcolo Parallelo 2012/2013 - Introduzione al corso

Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiAlgoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiPier Luca Lanzi
 
Lezione 3 (29 febbraio 2012)
Lezione 3 (29 febbraio 2012)Lezione 3 (29 febbraio 2012)
Lezione 3 (29 febbraio 2012)STELITANO
 
LVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfLVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfEnrico DeAngelis
 
Laboratorio di Informatica - Lezione 3 (Classi V)
Laboratorio di Informatica  - Lezione 3 (Classi V)Laboratorio di Informatica  - Lezione 3 (Classi V)
Laboratorio di Informatica - Lezione 3 (Classi V)informaticaOriani
 
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati ElementariAlgoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati ElementariPier Luca Lanzi
 
AlgoMOOC 01.02 (2018) - Organizzazione del corso
AlgoMOOC 01.02 (2018) - Organizzazione del corsoAlgoMOOC 01.02 (2018) - Organizzazione del corso
AlgoMOOC 01.02 (2018) - Organizzazione del corsoAlessandro Bogliolo
 
Come motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comandoCome motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comandoGabriella Dodero
 
Pensiero computazionale, cos'è e come formare gli studenti
Pensiero computazionale, cos'è e come formare gli studentiPensiero computazionale, cos'è e come formare gli studenti
Pensiero computazionale, cos'è e come formare gli studentiDomenico Barile
 
CLEII - Corso di Laurea in Economia e Informatica per l'Impresa
CLEII - Corso di Laurea in Economia e Informatica per l'ImpresaCLEII - Corso di Laurea in Economia e Informatica per l'Impresa
CLEII - Corso di Laurea in Economia e Informatica per l'ImpresaLuca Moscardelli
 
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture Dati
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture DatiAlgoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture Dati
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture DatiPier Luca Lanzi
 
Corso di Concetti base di programmazione
Corso di Concetti base di programmazioneCorso di Concetti base di programmazione
Corso di Concetti base di programmazioneSalvatore Cordiano
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al codingPaolo Righetto
 
"Un MOOC a scuola": approcci e prospettive
"Un MOOC a scuola": approcci e prospettive"Un MOOC a scuola": approcci e prospettive
"Un MOOC a scuola": approcci e prospettiveFrancesca Ravanelli
 
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOS
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOSErasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOS
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOSclaudiadistefano
 

Similaire à Algoritmi e Calcolo Parallelo 2012/2013 - Introduzione al corso (20)

Manuale python
Manuale pythonManuale python
Manuale python
 
Iterazione - DI 2018
Iterazione - DI 2018Iterazione - DI 2018
Iterazione - DI 2018
 
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli AlgoritmiAlgoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
Algoritmi e Calcolo Parallelo 2012/2013 - Analisi degli Algoritmi
 
Lezione 3 (29 febbraio 2012)
Lezione 3 (29 febbraio 2012)Lezione 3 (29 febbraio 2012)
Lezione 3 (29 febbraio 2012)
 
LVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfLVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdf
 
Laboratorio di Informatica - Lezione 3 (Classi V)
Laboratorio di Informatica  - Lezione 3 (Classi V)Laboratorio di Informatica  - Lezione 3 (Classi V)
Laboratorio di Informatica - Lezione 3 (Classi V)
 
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati ElementariAlgoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
Algoritmi e Calcolo Parallelo 2012/2013 - Strutture Dati Elementari
 
Lab psychopy
Lab psychopyLab psychopy
Lab psychopy
 
AlgoMOOC 01.02 (2018) - Organizzazione del corso
AlgoMOOC 01.02 (2018) - Organizzazione del corsoAlgoMOOC 01.02 (2018) - Organizzazione del corso
AlgoMOOC 01.02 (2018) - Organizzazione del corso
 
Come motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comandoCome motivare i nativi digitali all'uso della linea di comando
Come motivare i nativi digitali all'uso della linea di comando
 
Pensiero computazionale, cos'è e come formare gli studenti
Pensiero computazionale, cos'è e come formare gli studentiPensiero computazionale, cos'è e come formare gli studenti
Pensiero computazionale, cos'è e come formare gli studenti
 
PrjRLA0708
PrjRLA0708PrjRLA0708
PrjRLA0708
 
CLEII - Corso di Laurea in Economia e Informatica per l'Impresa
CLEII - Corso di Laurea in Economia e Informatica per l'ImpresaCLEII - Corso di Laurea in Economia e Informatica per l'Impresa
CLEII - Corso di Laurea in Economia e Informatica per l'Impresa
 
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture Dati
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture DatiAlgoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture Dati
Algoritmi e Calcolo Parallelo 2012/2013 - Algoritmi e Strutture Dati
 
Corso di Concetti base di programmazione
Corso di Concetti base di programmazioneCorso di Concetti base di programmazione
Corso di Concetti base di programmazione
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al coding
 
"Un MOOC a scuola": approcci e prospettive
"Un MOOC a scuola": approcci e prospettive"Un MOOC a scuola": approcci e prospettive
"Un MOOC a scuola": approcci e prospettive
 
Informazioni Amministrative
Informazioni AmministrativeInformazioni Amministrative
Informazioni Amministrative
 
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOS
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOSErasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOS
Erasmus+KA1 Piùeuropaascuola_CLIL_A_TSANOS
 
02 algo programmi
02 algo programmi02 algo programmi
02 algo programmi
 

Plus de Pier Luca Lanzi

11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i VideogiochiPier Luca Lanzi
 
Breve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiBreve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiPier Luca Lanzi
 
Global Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning WelcomeGlobal Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning WelcomePier Luca Lanzi
 
Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018Pier Luca Lanzi
 
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...Pier Luca Lanzi
 
GGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di aperturaGGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di aperturaPier Luca Lanzi
 
Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018Pier Luca Lanzi
 
DMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationDMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationPier Luca Lanzi
 
DMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationDMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationPier Luca Lanzi
 
DMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningDMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningPier Luca Lanzi
 
DMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningDMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningPier Luca Lanzi
 
DMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesDMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesPier Luca Lanzi
 
DMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationDMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationPier Luca Lanzi
 
DMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringDMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringPier Luca Lanzi
 
DMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringDMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringPier Luca Lanzi
 
DMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringDMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringPier Luca Lanzi
 
DMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringDMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringPier Luca Lanzi
 
DMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesDMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesPier Luca Lanzi
 
DMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsDMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsPier Luca Lanzi
 
DMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesDMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesPier Luca Lanzi
 

Plus de Pier Luca Lanzi (20)

11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi
 
Breve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiBreve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei Videogiochi
 
Global Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning WelcomeGlobal Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning Welcome
 
Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018
 
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
 
GGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di aperturaGGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di apertura
 
Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018
 
DMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationDMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparation
 
DMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationDMTM Lecture 19 Data exploration
DMTM Lecture 19 Data exploration
 
DMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningDMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph mining
 
DMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningDMTM Lecture 17 Text mining
DMTM Lecture 17 Text mining
 
DMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesDMTM Lecture 16 Association rules
DMTM Lecture 16 Association rules
 
DMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationDMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluation
 
DMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringDMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clustering
 
DMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringDMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clustering
 
DMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringDMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clustering
 
DMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringDMTM Lecture 11 Clustering
DMTM Lecture 11 Clustering
 
DMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesDMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensembles
 
DMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsDMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethods
 
DMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesDMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rules
 

Dernier

discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 

Dernier (19)

discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 

Algoritmi e Calcolo Parallelo 2012/2013 - Introduzione al corso

  • 1. Introduzione al Corso Algoritmi e Calcolo Parallelo Prof. Pier Luca Lanzi
  • 2. questo è un corso (avanzato) di informatica Prof. Pier Luca Lanzi
  • 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. 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. 1960 Burroughs 205 Apple ~1980 Mainframe ~1970 2012 Prof. Pier Luca Lanzi
  • 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. qual è l’obiettivo del corso? imparare i principi generali (valgono sempre) impararli a utilizzare ora (con le tecnologie disponibili) Prof. Pier Luca Lanzi
  • 8. quali principi generali? algoritmi, strutture dati, calcolo parallelo quale tecnologia? C++, programmazione a oggetti, MPI, OpenMP, CUDA Prof. Pier Luca Lanzi
  • 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. 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. 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. 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. 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 Organizzazione Algoritmi e Strutture Dati Programmazione ISO C++ Prof. Pier Luca Lanzi Calcolo Parallelo
  • 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. 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. 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. 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. “una goccia di pratica è meglio di un oceano di teoria” Giuseppe Perlati Prof. Pier Luca Lanzi
  • 20. "Students have to be active in developing their knowledge, they can't passively assimilate it.” Eric Mazur, Harvard Prof. Pier Luca Lanzi
  • 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

Notes de l'éditeur

  1. http://www.youtube.com/watch?v=FP52mfF5gUc
  2. http://www.youtube.com/watch?v=FP52mfF5gUc