Tecniche di Programmazione A.A....

24
Introduzione al corso Tecniche di Programmazione – A.A. 2012/2013

Transcript of Tecniche di Programmazione A.A....

Page 1: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Introduzione al corso

Tecniche di Programmazione – A.A. 2012/2013

Page 2: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Dati essenziali…

A.A. 2012/2013 Tecniche di programmazione 2

Tecniche di programmazione

Ing. Gestionale (L8), terzo anno, secondo semestre

Codice 03FYZPL, 10 crediti

Sito di riferimento: http://bit.ly/tecn-progr

http://elite.polito.it/teaching-mainmenu-69/laurea-i-livello-

mainmenu-82/164-03fyz-tecn-progr

Docenti

Fulvio Corno

Giovanni Squillero

Marco Gaudesi

Page 3: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Sommario

A.A. 2012/2013 Tecniche di programmazione 3

1. Obiettivi e contenuti

2. Organizzazione didattica

3. Materiali e strumenti

4. Esame

Page 4: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Obiettivi e contenuti

Introduzione al corso

Page 5: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Obiettivo formativo

A.A. 2012/2013 Tecniche di programmazione 5

Acquisire la capacità di affrontare (e risolvere) problemi

ricorrendo all’informatica come strumento di analisi,

simulaizone, ricerca, ottimizzazione

«Problem Solving»

Acquisire alcune competenze tecniche ed operative per la

realizzazione di applicazioni software interattive,

moderne, efficienti, integrate

«Real-world software»

Applicare tali capacità a problemi di tipo organizzativo,

gestionale, logistico, ...

«Real-world problems»

Page 6: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Contenuti principali

A.A. 2012/2013 Tecniche di programmazione 6

• Astrazione, complessità

• Strutture dati avanzate (liste, hash, grafi)

• Algoritmi ed efficienza (sort, enumerate, search)

• Simulazione, ricerca, ottimizzazione (event-driven, branch&bound, min-max)

Problem Solving

• Interfacce grafiche (JavaFX, CSS)

• Utilizzo di database (MySQL e JDBC)

• Utilizzo di librerie Java per strutture dati

• Open source

Real-world software

• Esempi e casi di studio basati su problami ed applicazioni reali

• Analisi, progettazione, realizzazione, valutazione (efficacia/efficienza)

Real-world problems

Page 7: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Questo corso…

A.A. 2012/2013 Tecniche di programmazione 7

Vuole insegnare ad

affrontare i problemi

attraverso approcci

algoritmici

Utilizza i meccanismi di

astrazione offerti dalla

programmazione ad

oggetti

Punta a realizzare

applicazioni anche

gradevoli

Insiste sull’efficienza delle

strutture dati e degli

algoritmi utilizzati

Utilizza esempi reali o

realistici (suggerimenti

benvenuti…)

Non è uguale al corso di

Algoritmi e

Programmazione degli

informatici

Page 8: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Organizzazione didattica

Introduzione al corso

Page 9: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Tipologie di lezioni

A.A. 2012/2013 Tecniche di programmazione 9

Lezione ed Esercitazione (4,5 ore/settimana)

Nessuna distinzione formale: le esercitazioni sono mescolate

ed intercalate alle lezioni

Lezioni teoriche

Svolgimento di esercizi in aula

Saranno disponibili gli Screencast

Laboratorio (3 ore/settimana per 2 squadre)

Svolgimento di esercizi proposti

Testo pubblicato in anticipo

Soluzioni pubblicate dopo ≥2 settimane

NO elaborati da consegnare

Page 10: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Orario

A.A. 2012/2013 Tecniche di programmazione 10

Lunedì Martedì Mercoledì Giovedì Venerdì

08:30-10:00 Lez/Ese

Aula 7T

10:00-11:30 Lab (sq.2)

LEP

11:30-13:00 Lab (sq.2)

LEP

13:00-14:30 Lab (sq.1)

LEP

14:30-16:00 Lez/Ese

Aula 7T

Lab (sq.1)

LEP

16:00-17:30 Lez/Ese

Aula 7T

Page 11: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Squadre di laboratorio

A.A. 2012/2013 Tecniche di programmazione 11

Copiamo la divisione che avete negli altri corsi?

Squadra 1 (mercoledì 13:00-16:00):

Studenti da AAAA fino a ????

Squadra 2 (lunedì 10:00-13:00):

Studenti da ????+1 fino a ZZZZ

Per eventuali scambi di squadra, rispettare la capienza ed il

regolamento del laboratorio LEP

Page 12: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Screencast

A.A. 2012/2013 Tecniche di programmazione 12

Le lezioni ed esercitazioni saranno registrate e messe a

disposizione

Audio + video PC

Sul sito del corso, immediatamente (e youtube, in ritardo)

Salvo problemi tecnici (a Murphy piacendo…)

Page 13: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Sito del corso

A.A. 2012/2013 Tecniche di programmazione 13

Punto di riferimento per tutto il materiale

http://bit.ly/tecn-progr

Page 14: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Materiali e strumenti

Introduzione al corso

Page 15: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Prerequisiti

A.A. 2012/2013 Tecniche di programmazione 15

Programmazione ad oggetti

Verrà utilizzato il 98% di quanto avete appreso

Si raccomanda una buona preparazione sulla programmazione

Java

Alcuni argomenti chiave verranno ripresi e approfonditi

Basi di dati

Verranno viste applicazioni pratiche: DBMS usato come

“strumento” di lavoro

Richiesta la capacità di costruire (semplici) basi di dati e di

impostare (semplici) interrogazioni

Page 16: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Materiali di studio

A.A. 2012/2013 Tecniche di programmazione 16

+

Page 17: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Materiali di studio

A.A. 2012/2013 Tecniche di programmazione 17

+

…e anche

Page 18: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Materiale relativo alle lezioni

A.A. 2012/2013 Tecniche di programmazione 18

Lucidi delle lezioni

In inglese

Non chiedeteli in anticipo

Progetti elaborati in aula (file sorgente)

Zip

SVN

Screencast

Page 19: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Libri di testo

A.A. 2012/2013 Tecniche di programmazione 19

Page 20: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Strumenti

A.A. 2012/2013 Tecniche di programmazione 20

Java 7

JDK 1.7 (with JavaFX 2.2)

JavaFX Scene Builder

Eclipse

e(fx)clipse

git, subversion

MySQL

Server, JDBC driver

Workbench

Librerie Java

Esclusivamente open

source

Cross platform

(Windows-Linux-

MacOSX)

Page 21: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Esame

Introduzione al corso

Page 22: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Modalità d’esame

A.A. 2012/2013 Tecniche di programmazione 22

Esercizio di programmazione

Da svolgersi su Personal Computer (LAIB o LEP)

Di norma, nessun orale

Solo in casi dubbi o su richiesta dello studente (se ≥15)

Stiamo valutando: Tesine o lavori di gruppo (?)

Page 23: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Contatti

A.A. 2012/2013 Tecniche di programmazione 23

Fulvio Corno

Dipartimento di Automatica e Informatica (3o piano)

[email protected]

Orario ricevimento (secondo semestre):

Venerdì 10:00-12:00 (gradita e-mail entro il giorno prima)

Giovanni Squillero

Dipartimento di Automatica e Informatica (4o piano)

[email protected]

Marco Gaudesi

Dipartimento di Automatica e Informatica (2o piano)

[email protected]

Page 24: Tecniche di Programmazione A.A. 2012/2013elite.polito.it/files/courses/03FYZ/2013/slide/01-intro/...Obiettivo formativo 5 Tecniche di programmazione A.A. 2012/2013 Acquisire la capacità

Licenza d’uso

A.A. 2012/2013 Tecniche di programmazione 24

Queste diapositive sono distribuite con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo (CC BY-NC-SA)”

Sei libero: di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,

rappresentare, eseguire e recitare quest'opera

di modificare quest'opera

Alle seguenti condizioni: Attribuzione — Devi attribuire la paternità dell'opera agli autori

originali e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera.

Non commerciale — Non puoi usare quest'opera per fini commerciali.

Condividi allo stesso modo — Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa.

http://creativecommons.org/licenses/by-nc-sa/3.0/