Sei sulla pagina 1di 23

02 MNO Algoritmi e Programmazione

Corsi di Laurea in
Ingegneria Informatica
Ingegneria delle Telecomunicazioni

Obiettivi
Algoritmi:
analisi di complessit
strutture dati complesse
algoritmi fondamentali
Programmazione avanzata:
ricorsione
modularit
puntatori e strutture dinamiche

A.A. 2015/16

Introduzione al corso

Problem-solving

A cosa serve il corso?

Preparing for Google


Technical Internship
Interviews

A.A. 2015/16

Introduzione al corso

Prerequisiti

A.A. 2015/16

Informatica

Introduzione al corso

Organizzazione

Corso del I semestre del II anno


Organizzazione:
Lezioni/esercitazioni: 6 ore/settimana
Laboratori assistiti: 1.5 ore/settimana per
squadra

A.A. 2015/16

Introduzione al corso

Orario: I corso
Lezioni/esercitazioni:
luned 13.00-14.30 aula 29B
marted 10.00-11.30 aula 29B
gioved 14.30-17.30 aula 29B
Laboratorio:
mercoled 10.00-11.30 (sq. 1, LAIB4)
mercoled 11.30-13.00 (sq. 2, LAIB4)
i laboratori iniziano nella II settimana
(07/10/2015)
A.A. 2015/16

Introduzione al corso

Orario: II corso
Lezioni/esercitazioni:
luned 11.30-13.00 aula 29B
marted 08.30-10.00 aula 29B
gioved 16.00-19.90 aula 12
Laboratorio:
venerd 11.30-13.00 (sq. 1, LAIB4)
venerd 13.00-14.30 (sq. 2, LAIB4)
i laboratori iniziano nella II settimana
(09/10/2015)
A.A. 2015/16

Introduzione al corso

Libri di testo

R. Sedgewick,

Algoritmi in C
(con MyLab
extext), IV

edizione,
Pearson, 2015
Deitel & Deitel,

Corso completo
di
programmazione
C, Apogeo, 2000

A.A. 2015/16

Introduzione al corso

Problem-solving elementare in C:

G. Cabodi, P.
Camurati, P.
Pasini, D. Patti, D.
Vendraminetto,

Da problema a
programma:
introduzione al
problem-solving in
linguaggio C,
Apogeo, 2014
A.A. 2015/16

Introduzione al corso

Ricorsione e problem-solving

G. Cabodi, P.
Camurati, P.
Pasini, D. Patti, D.
Vendraminetto,

Ricorsione e
problem-solving:
strategie
algoritmiche in
linguaggio C,
Apogeo, 2015
A.A. 2015/16

Introduzione al corso

10

Esercizi di teoria con richiami:

P. Camurati, S.
Quer, Algoritmi e

Programmazione:
richiami di teoria
con esercizi svolti,

II edizione , CLUT,
2014
A.A. 2015/16

Introduzione al corso

11

Altri testi/materiale

A.A. 2015/16

T.H. Cormen, C.E. Leiserson, R.L. Rivest,

Introduzione agli algoritmi,


R. Sedgewick, Algorithms in C, 3rd edition,

Part 5: Graph Algorithms, Addison-Wesley,


2002
P. Crescenzi, G. Gambosi, R. Grossi, Strutture
di dati e algoritmi, Pearson Addison-Wesley
2006
R. Sedgewick, K. Wayne, Algorithms Part I &
II, www.coursera.org
A. Bertossi, A. Montresor, Algoritmi e strutture
di dati, III ediz., Citt Studi edizioni, 2014
Introduzione al corso

12

Materiale
Attraverso il portale della didattica verr reso
disponibile il seguente materiale relativo al
corso:
lezioni videoregistrate
materiale usato in lezioni, esercitazioni e
laboratori
regole desame
programma del corso
Sul portale compariranno anche orari, temi
desame, risultati, avvisi.
A.A. 2015/16

Introduzione al corso

13

Modalit desame
Appelli : febbraio (2 appelli), luglio (1 appello)
settembre (1 appello).
Lesame si compone di:
una prova scritta:

A.A. 2015/16

con esercizi/domande sugli argomenti teorici


soluzione di un problema con un programma C

un esame orale
Introduzione al corso

14

Prova scritta
Durata: max 2h30
Teoria: max 50min, esercizi e risposte a
domande teoriche. Punteggio: massimo 12
punti
Programmazione C in 2 modalit:

orientata al progetto:

A.A. 2015/16

progettazione e realizzazione
di un programma in grado di risolvere un problema .
Punteggio: massimo 18 punti
orientata alla padronanza del C avanzato (puntatori,
allocazione dinamica, ricorsione), delle strutture dati
e degli algoritmi fondamentali. Punteggio: massimo
12 punti

NB: la preparazione richiesta identica.


Introduzione al corso

15

Materiale consultabile:

Manuale di riferimento di C: Kernighan-Ritchie,


Deitel & Deitel, o simili

NON possibile consultare altri testi,


appunti, dispense, etc.
NON possibile utilizzare supporti di tipo
elettronico (cellulari, palmari, portatili, etc.)

A.A. 2015/16
2009/10

Introduzione al corso

16

Correzione
Ciascuno studente tenuto a :
produrre
(ad esempio tramite carta
carbone, fotocamera o cellulare!) una copia
del programma
verificare la correttezza e la funzionalit del
programma

A.A. 2015/16

Introduzione al corso

17

Inviare al docente via posta il seguente


materiale (entro tre giorni dalla data dello
scritto)
relazione (max 3 pagine) sulla soluzione adottata
(strutture dati, algoritmo, etc.)
copia del programma corretto, con evidenziate le
modifiche rispetto al programma consegnato.

A.A. 2015/16

Qualora lo studente non invii il materiale


indicato entro la data prevista, la prova scritta
non viene corretta.
Introduzione al corso

18

Esame orale
Teoria: mira ad accertare le conoscenze
teoriche acquisite
Programmazione C:

A.A. 2015/16

realizzazione e manipolazione di strutture dati


mediante funzionalit avanzate del linguaggio
tmplementazione di varianti di algoritmi visti a
Teoria

Laboratorio: domande sugli esercizi


consegnati.
Introduzione al corso

19

Laboratorio

A.A. 2015/16

Esercizi pubblicati sul Portale


anticipatamente, da svolgere a casa e nelle
ore in laboratorio
Individuali, non di gruppo
Complessivamente 12/13 laboratori, a
partire dalla II settimana del I semestre.

Introduzione al corso

20

6 laboratori significativi saranno valutati fino


a un massimo di 2/30

A.A. 2015/16

valutazione condizionale in laboratorio

Obbligo di upload di tutti i laboratori entro


la data specificata per validare quelli
valutati
Valutazione inclusa nel voto complessivo a
valle dellesame orale
Validit del laboratorio ai fini del punteggio:
30 settembre 2016
Introduzione al corso

21

Statistiche superi
A.A. 2014/15
nuovi frequentanti: 411

A.A. 2015/16

prenotati agli appelli almeno 1 volta 293, mai 118


presentati allo scritto almeno 1 volta 237, mai 174
consegnata la relazione almeno 1 volta 204
superato lesame entro settembre 2015: 178

Introduzione al corso

22

Reperibilit dei docenti


Paolo Camurati, Gianpiero Cabodi
Dip. di Automatica Informatica
011090 {7082, 7062}
{paolo.camurati, gianpiero.cabodi}@polito.it
Paolo Pasini, Denis Patti, Danilo Vendraminetto
{paolo.pasini,denis.patti, danilo.vendraminetto}
@polito.it
Consulenze: su appuntamento

A.A. 2015/16

Introduzione al corso

23