informatica e programmazione_programmazione...informatica studio degli algoritmiche descrivono e...
TRANSCRIPT
Informatica e ProgrammazioneIngegneria Meccanica e dei Materiali
Università degli Studi di Brescia
Prof. Massimiliano Giacomin
INTRODUZIONE AL CORSO
Informatica e Programmazione – Università di Brescia 2Docente: M. Giacomin
COSA
PERCHÈ
COME
Informatica e Programmazione – Università di Brescia 3Docente: M. Giacomin
COSA
PERCHÈ
COME
COSA SONO L’INFORMATICA E LA PROGRAMMAZIONE(e cosa si studia in questo corso)
Informatica e Programmazione – Università di Brescia 4Docente: M. Giacomin
UNA VISIONE GIORNALISTICA
INFORMATICAstudio degli algoritmi che descrivono e trasformano l’informazione [ACM]
Informatica e Programmazione – Università di Brescia 5Docente: M. Giacomin
PROGRAMMAZIONErappresentazione di un algoritmo in un linguaggiocomprensibile ed eseguibile da un calcolatore(linguaggio di programmazione)
INFORMAZIONE, ALGORITMO, CALCOLATORE
Informatica e Programmazione – Università di Brescia 6Docente: M. Giacomin
INFORMAZIONE
Rappresentata mediante una sequenza di simboli
INFORMAZIONE SIMBOLI
Informatica e Programmazione – Università di Brescia 7Docente: M. Giacomin
ALGORITMO
ALGORITMO
INFORMAZIONE
Specifica come produrre lasoluzione ad un problema conuna sequenza di istruzioni
Informatica e Programmazione – Università di Brescia 8Docente: M. Giacomin
ALGORITMO, PROGRAMMA E CALCOLATORE
ALGORITMO
INFORMAZIONE
Specifica come produrre lasoluzione ad un problema conuna sequenza di istruzioni
SIMBOLI
PROGRAMMA(SIMBOLI)
Istruzioni espresse in unlinguaggio comprensibileed eseguibile da un calcolatore
LA RISOLUZIONE DI PROBLEMI CON IL CALCOLATORE
calcolatore
uomo
risultati
programmazione
risoluzione
identificazione
dati
problema
esigenza
programma
algoritmo
esecuzione
spazio del problema
spazio della soluzione
Informatica e Programmazione – Università di Brescia 9Docente: M. Giacomin
LA RISOLUZIONE DI PROBLEMI CON IL CALCOLATORE
calcolatore
uomo
risultati
programmazione
risoluzione
identificazione
dati
problema
esigenza
programma
algoritmo
esecuzione
spazio del problema
spazio della soluzione
Informatica e Programmazione – Università di Brescia 10Docente: M. Giacomin
MODELLAZIONE
Rappresentazione semplificata della realtà:
selezionati gli aspetti utili per il problema di interesse
Esempio: l’archivio di una biblioteca
Mondo reale
- Titolo- Autori
- Stanza, scaffale- …
Modello
Informatica e Programmazione – Università di Brescia 11Docente: M. Giacomin
MODELLO
• Il calcolatore elabora simboli (secondo le regole del linguaggio di programmazione adottato)
• Questi simboli rappresentano la realtà secondo il modello identificato
• Non ci sono vincoli sui modelli utilizzati
L’informatica è pervasiva, coinvolge pressochétutti i campi della conoscenza (scientifica e umanistica)
FACCIAMO ALCUNI ESEMPI…
Informatica e Programmazione – Università di Brescia 12Docente: M. Giacomin
CALCOLATORE E PROBLEMI
Informatica e Programmazione – Università di Brescia 13Docente: M. Giacomin
NASA SOCCER https://www.grc.nasa.gov/www/K-12/airplane/soccercode.html
PROGETTAZIONE AREODINAMICA
http://www.hanleyinnovations.com/stallion3d.html
SIMULATORE DI VOLO (1)
SIMULATORE DI VOLO (2)
Software di simulazione (es. emissione e dispersione di inquinanti)
[immaginitratte dal sitowww.prode.com]
Informatica e Programmazione – Università di Brescia 17Docente: M. Giacomin
CAD (Computer Aided Design)
Informatica e Programmazione – Università di Brescia 18Docente: M. Giacomin
CAD (Computer Aided Design)
Informatica e Programmazione – Università di Brescia 19Docente: M. Giacomin
Un simulatore di processi logistico-produttivi (DVD assembly)
Informatica e Programmazione – Università di Brescia 20Docente: M. Giacomin
Simulazione comportamento di formiche
Informatica e Programmazione – Università di Brescia 21Docente: M. Giacomin
[realizzato con NetLogo, per gentile concessione di M. Cadei]
PROGRAMMA DEL CORSO
Informatica e Programmazione – Università di Brescia 22Docente: M. Giacomin
1. ARCHITETTURA DEL CALCOLATORE (in senso lato)
2. PROGRAMMAZIONE IN LINGUAGGIO C(in senso lato)
Nonostante questa suddivisione “concettuale”, è molto più proficuoconsiderare il programma del corso come un tutt’uno…
I contenuti si possono suddividere in
Informatica e Programmazione – Università di Brescia 23Docente: M. Giacomin
calcolatore
uomo
risultati
programmazione
risoluzione
identificazione
dati
problema
esigenza
programma
algoritmo
esecuzione
spazio del problema
spazio della soluzione
#include<stdio.h>#include <stdlib.h>
int main(int argc, char *argv[]){int num;int successivo;
printf("Inserisci un numero\n");scanf("%d",&num);successivo=num+1;
printf(”%d+1=%d\n”,num,successivo);system("pause");return 0;
}
PARTE SU PROGRAMMAZIONE IN LINGUAGGIO C
Informatica e Programmazione – Università di Brescia 24Docente: M. Giacomin
calcolatore
uomo
risultati
programmazione
risoluzione
identificazione
dati
problema
esigenza
programma
algoritmo
esecuzione
spazio del problema
spazio della soluzione
HARDWARE
Organizzazione: componenti (CPU, memoria, …) e interconnessione
ISA: linguaggio macchina del calcolatore
Sistema operativo SOFTWARE
API: interfaccia di programmazione per le applicazioni
Linguaggio assembly
Programma Assemblatore SOFTWARE
Linguaggio ad alto livello (es: il C)
SOFTWARECompilatore o interprete
livello dei circuiti
Applicazioni software SOFTWARE
Interfaccia grafica
Focus su:- principi funzionamento- influenze sulla programmazione
(es: problemi di “calcolo”per l’ingegneria)
PARTE SU ARCHITETTURA DEL CALCOLATORE
• IN SENSO RISTRETTO:- dato un algoritmo, la sua rappresentazione in un linguaggio
di programmazione (linguaggio “formale” comprensibile da un calcolatore, necessario per la descrizione di algoritmi)
- es: linguaggio macchina MIPS, Fortran, Cobol, Basic, C, Pascal, Ada, C++, Java, Prolog, Lisp
• IN SENSO PIU’ AMPIO (= IN QUESTO CORSO!):- la risoluzione di problemi mediante lo sviluppo di un algoritmo e la sua espressione in un linguaggio di programmazione
- NON basta “conoscere le istruzioni”…
Informatica e Programmazione – Università di Brescia 25Docente: M. Giacomin
NOTA SULLA DEFINIZIONE DI “PROGRAMMAZIONE”
Informatica e Programmazione – Università di BresciaDocente: M. Giacomin
COSA
PERCHÈ
COME
PERCHE' QUESTO CORSO A INGEGNERIA
26
Informatica e Programmazione – Università di Brescia 27Docente: M. Giacomin
OBIEZIONE COMUNE*
A che servono all’ingegnere (meccanico e dei materiali) i principi di funzionamento del calcolatore e la programmazione? Meglioimparare qualche software specifico che userònel futuro.
*parte delle considerazioni espresse in questi lucidi sono liberamente ispirate alle “Considerazioni sulla didattica” del Prof. Dino Mandrioli, vedi http://home.deib.polimi.it/mandriol/SitoItaliano/consdidattica.html”
PRIMA MOTIVAZIONE
Nota:immagine dawww.goal.com
PRIMA MOTIVAZIONE (LA MENO IMPORTANTE)
SIAMO NEL 2019!
APPLICAZIONI DELL’INFORMATICA DI SIGNIFICATIVO
INTERESSE PER OGNI CAMPO DI INDAGINE E APPLICAZIONE,
COMPRESA L’INGEGNERIA MECCANICA E DEI MATERIALI
ESEMPIO: Controllo di sistemi meccanici
17/9/2018 MotoGP Tech, l'analisi tecnica della Yamaha M1: ecco perché non va | Sky Sport
https://sport.sky.it/motogp/2018/05/31/motogp-2018-yamaha-analisi-problemi.html 1/12
(/motogp/2018/05/31/motogp-2018-yamaha-analisi-problemi.print.html)
31 maggio 2018
MotoGP Tech, l'analisi tecnica della Yamaha M1: eccoperché non va
(Foto: Getty Images)
MotoGP Tech - I mali della M1 sono tutti legati allo sviluppo portato avanti da due anniin qua; vediamo quali sono, settore per settore
IL SIPARIETTO TRA ROSSI E LORENZO(https://sport.sky.it/motogp/2018/06/03/motogp-gp-mugello-2018-lorenzo-rossi-siparietto-pace.html?intcmp=sport_topstories)
L'ORDINE DI ARRIVO AL MUGELLO (https://sport.sky.it/motogp/diretta-live.html)
LA CLASSIFICA (https://sport.sky.it/motogp/classifiche.html) - IL CALENDARIO(https://sport.sky.it/motogp/calendario.html?zoneid=menued-
t t g l d i )
NEWS (HTTPS://SPORT.SKY.IT/MOTOGP/NEWS.HTML) VIDEO (HTTPS://SPORT.SKY.IT/MOTOGP/VIDEO.HTML) CLAMOTOGP (HTTPS://SPORT.SKY.IT/MOTOGP/HOME.HTML?ZONEID=MENUED-SPORT_LOGO_NULL) đ
(https://sport.sky.it?zoneid=menued-sport_logo_null)
17/9/2018 MotoGP Tech, l'analisi tecnica della Yamaha M1: ecco perché non va | Sky Sport
https://sport.sky.it/motogp/2018/05/31/motogp-2018-yamaha-analisi-problemi.html 1/12
(/motogp/2018/05/31/motogp-2018-yamaha-analisi-problemi.print.html)
31 maggio 2018
MotoGP Tech, l'analisi tecnica della Yamaha M1: eccoperché non va
(Foto: Getty Images)
MotoGP Tech - I mali della M1 sono tutti legati allo sviluppo portato avanti da due anniin qua; vediamo quali sono, settore per settore
IL SIPARIETTO TRA ROSSI E LORENZO(https://sport.sky.it/motogp/2018/06/03/motogp-gp-mugello-2018-lorenzo-rossi-siparietto-pace.html?intcmp=sport_topstories)
L'ORDINE DI ARRIVO AL MUGELLO (https://sport.sky.it/motogp/diretta-live.html)
LA CLASSIFICA (https://sport.sky.it/motogp/classifiche.html) - IL CALENDARIO(https://sport.sky.it/motogp/calendario.html?zoneid=menued-
t t g l d i )
NEWS (HTTPS://SPORT.SKY.IT/MOTOGP/NEWS.HTML) VIDEO (HTTPS://SPORT.SKY.IT/MOTOGP/VIDEO.HTML) CLAMOTOGP (HTTPS://SPORT.SKY.IT/MOTOGP/HOME.HTML?ZONEID=MENUED-SPORT_LOGO_NULL) đ
(https://sport.sky.it?zoneid=menued-sport_logo_null)
https://sport.sky.it/motogp/2018/05/31/motogp-2018-yamaha-analisi-problemi.html
http://www.corsedimoto.com/in-pista/motomondiale/motogp-perche-alcune-squadre-sono-piu-avanti-con-lelettronica/
In generale: è sempre più difficile trovare sistemi meccanici “puri”
SISTEMAMECCANICO
SENSORE E TRASDUTTORE
A/D
μPROCESSORE
D/AATTUATORE
MODELLO
ALGORITMO
ESEMPIO
• Electronic Stability Program- input: angolo sterzo, pressione sul freno, velocità singole ruote,
rotazione auto sul proprio asse, accelerazione laterale, …- output: freni singole ruote / potenza motore
Informatica e Programmazione – Università di Brescia 33Docente: M. Giacomin
• Controllo elettronico del motore- input: posizione pedale acceleratore, quantità carburante iniettato sui cilindri, corsa e fase valvole aspirazione e scarico…
- output: parametri iniezione, ecc.
… … …
SECONDA MOTIVAZIONE (LA PIU’ IMPORTANTE)
Quali competenze per l’ingegnere?
Informatica e Programmazione – Università di Brescia 35Docente: M. Giacomin
IL TREND ATTUALE (PERCEPITO)
L’importante non èsapere ma SAPER FARE
Di tutto ciò che ho imparato ad ingegneria, poco o nulla ho usato nella pratica
INGEGNERE: da Capacità mentale
CongegnoINGENIUM
Quali competenze per l’ingegnere?
- Capacità di seguire procedure standardizzate o di risolvere (e studiare) nuovi problemi?
- iperspecializzazione o multidisciplinarietà?
Informatica e Programmazione – Università di Brescia 37Docente: M. Giacomin
IL TREND ATTUALE (REALE)
• Dinamicità e obsolescenza tecnologie
è Non è possibile sapere oggi ciò che servirà domani
• Complessità crescente e necessità di integrare molte competenze
(es: esiste ancora un sistema puramente meccanico?)
è Imparare a “studiare” e apprendere competenze di settori
diversi, o perlomeno a dialogare
• Valore dell’INNOVAZIONE
Che cos’è l’innovazione? Esempio: una delle prime innovazioni
Informatica e Programmazione – Università di Brescia 39Docente: M. Giacomin
Capacità sviluppate studiando l’Informatica
• CAPACITÀ DI AFFRONTARE PROBLEMI NUOVI
- analizzare un problema specifico in un contesto
- definire un modello per risolvere un problema
(influenza rappresentazione è soluzione: alternative)
- lavorare a diversi livelli di astrazione
- decomporre il problema in sottoproblemi (per passi successivi)
- analizzare diverse possibili soluzioni
- attenzione all’eleganza concettuale, semplicità
• RIGORE METODOLOGICO, PRECISIONE
PERCHÈ
Informatica e Programmazione – Università di BresciaDocente: M. Giacomin
COSA
COME- Come svolgo il corso- Come si deve studiare- Informazioni pratiche (es. modalità di esame)
40
Informatica e Programmazione – Università di Brescia 41Docente: M. Giacomin
LEGO E LEGO TECHNIC
Informatica e Programmazione – Università di Brescia 42Docente: M. Giacomin
SCOPO DI QUESTO CORSO
Informatica e Programmazione – Università di Brescia 43Docente: M. Giacomin
La matematica NON è “applicare formule”, l’informatica NON è USARE il computer o conoscere tecnicismi…
Una visione distorta dell’informatica
COSA NON SI FARA’ NEL CORSO
- Non si tratterà l’uso di specifiche applicazioni (es: word, excel, ecc.)
- Non tecnicismi ed elenchi di tecnologie, ma abitudine a risolvere i problemi
Informatica e Programmazione – Università di Brescia 44Docente: M. Giacomin
Informatica e Programmazione – Università di Brescia 45Docente: M. Giacomin
I MODELLI DELL’INFORMATICA
• GENERALI• FLESSIBILI
(non esiste un modello pronto, bisogna inventarselo oadattarne uno conosciuto al problema da risolvere)
• PRECISI- attenzione: i concetti sono/sembrano SEMPLICI- ma vanno compresi bene- l’insieme di due concetti “individualmente semplici”
diventa complicatissimo, se non li si è compresi!
NON DARE RETTA ALL’ “AMICO CHE SA PROGRAMMARE”E POI NON DITEMI CHE NON VE L’AVEVO DETTO!
ARTICOLAZIONE LEZIONI
Informatica e Programmazione – Università di Brescia 46Docente: M. Giacomin
1. LEZIONI DI “TEORIA ED ESERCIZI” SU ARCHITETTURA CALCOLATORE
2. LEZIONI SU (PROGRAMMAZIONE IN) LINGUAGGIO C3. ESERCITAZIONI SULLA PROGRAMMAZIONE IN C:
- SOPRATTUTTO individuali (vedere lucidi sul sito)- alcune “guidate” – in aula con gli esercitatori
4. ESPERIENZE DI LABORATORIO: LA PROGRAMMAZIONESU DOMINI APPLICATIVI COMPLESSI
- molto utili per avere una visione più ampia del corso- e per vedere “sul campo” l’applicazione dei concetti appresi
Contattarmi
Studio n. 27 del Dipartimento di Ingegneria dell’InformazioneE-mail: [email protected]
(no per chiedere quando escono i risultati!)
Orario di ricevimento: vedi bacheca- meglio preavvisare via mail
Informatica e Programmazione – Università di Brescia 47Docente: M. Giacomin
Sito web del corso
http://fimec.altervista.org
• Diapositive delle lezioni e delle esercitazioni (in pdf)• Software gratuito per sviluppo e sperimentazione
di programmi C[avete tutti un calcolatore?]
• News, appelli d’esame precedente, risultati esami
Informatica e Programmazione – Università di Brescia 48Docente: M. Giacomin
Libri di testoLibro di testo sulla parte “teorica”:
• G. Guida, M. Giacomin, “Fondamenti di Informatica”, Franco Angeli, 2006
Libro di testo sul linguaggio C:
• P. Deitel, H. Deitel, “Il linguaggio C – fondamenti e tecniche di programmazione”, PEARSON
o, in alternativa:
• K.M. King, “Programmazione in C”, APOGEO
o, in alternativa: qualunque altro libro sul C!
Informatica e Programmazione – Università di Brescia 49Docente: M. Giacomin
• L’esame è costituito da due prove• Una prova scritta di teoria consistente in:
– Esercizi sui numeri binari e sui codici– Domande ed esercizi di teoria (di varia tipologia)– Domande sul linguaggio C (NO sviluppo di programmi!)
• Una prova scritta di programmazione• Per entrambe le prove: voto max 30• Le prove verranno tenute lo STESSO GIORNO nella STESSA
AULA, in orari successivi:- prima la teoria (circa 1h / 1h.15)- pausa 5 / 10 min- poi la programmazione (circa 1h.15 / 1h.30)
Informatica e Programmazione – Università di Brescia 50Docente: M. Giacomin
Modalità d’esame
Per superare l’esame occorre:• Prendere un voto sufficiente nella teoria (>=18), poi• Sostenere la prova di programmazione(quando si vuole, anche dopo anni! Ma solo DOPO la teoria!)- per gli studenti che affrontano la prova di teoria e programmazione lo stesso giorno, la prova di programmazioneviene corretta solo se la teoria è sufficiente
Informatica e Programmazione – Università di Brescia 51Docente: M. Giacomin
IMPORTANTE: - UN TENTATIVO PER LA PROGRAMMAZIONE
(se si fallisce bisogna ripartire dalla teoria!)- però ci si può ritirare entro 10 minuti dall’inizio della prova diprogrammazione, senza che questa porti ad un “fallimento”
NOTE SULLA PROVA DI TEORIA• Consentito uso del testo ufficiale del corso + un manuale sul C, NO:
- libri fotocopiati o fotocopie di qualsiasi tipo- appunti, lucidi del corso, calcolatrice
NOTE SULLA PROVA DI PROGRAMMAZIONE
• Consentito l’uso del testo di teoria e di un manuale sul C, ma non:- libri fotocopiati o fotocopie di qualsiasi tipo- appunti, lucidi del corso
NOTE SU ENTRAMBE LE PROVE
PER CHI VIENE SORPRESO A COPIARE, FAR COPIARE, USAREAPPARECCHI RICETRASMITTENTI O CONSULTARE MATERIALE NON CONSENTITO: ORALE (DIS)INTEGRATIVO
Informatica e Programmazione – Università di Brescia 52Docente: M. Giacomin
VALIDITA’ DEI VOTI
• Come visto, il voto della teoria rimane valido (a meno di un fallimento nella prova di programmazione)
• Si può ripetere una prova superata (teoria o programmazione) per migliorare il voto, ma il voto nuovo annulla in ogni caso il voto precedente!
• Ritirarsi nella teoria o dopo 10 minuti nella prova di programmazionecomporta un fallimento
Informatica e Programmazione – Università di Brescia 53Docente: M. Giacomin
VOTO FINALE
Media dei voti delle due prove (teoria e programmazione) arrotondata per eccesso
Quanti esami/quando• Due appelli nella sessione “invernale”(subito dopo la fine delle lezioni)
• Un appello nella sessione “pasquale”• Un appello nella sessione “estiva” (giugno-luglio)• Un appello nella sessione “di recupero” (agosto-settembre)
Appello = PROVA TEORIA + PROVA DI PROGRAMMAZIONE
Informatica e Programmazione – Università di Brescia 54Docente: M. Giacomin
Modalità d’esame “con compitini”• Per chi segue proficuamente il corso: DUE compitini
(prove intermedie) che comprendono sia teoria sia programmazione• Voto max di ogni compitino:
- primo compitino 12 punti- secondo compitino 18 punti (min 6 punti nel primo)
• Chi li supera può registrare direttamente il voto finale
Informatica e Programmazione – Università di Brescia 55Docente: M. Giacomin
NOTE
- RISERVATI AGLI STUDENTI DEL PRIMO ANNO- NON ESISTONO “RECUPERI”: CHI NON LI SUPERA
AFFRONTA L’ESAME STANDARD
Informatica e Programmazione – Università di Brescia 56Docente: M. Giacomin
ISCRIZIONE ALLE PROVE SCRITTE
• Le prove scritte sono indicate in ESSE3 come “prove intermedie”di teoria e programmazione, NON COME APPELLI (!!!)
• Iscriversi e non venire all’esame NON ha conseguenze (= non essersi iscritti)• Non iscriversi all’esame comporta l’esclusione
(SE NON RIUSCITE A ISCRIVERVI NON E’ UN PROBLEMA MIO:- CHIEDETE/PROTESTATE CON L’AMMINISTRAZIONE)
REGISTRAZIONE VOTI
• La registrazione è online: è sufficiente iscriversi ad un APPELLOe, dopo aver ricevuto un avviso via mail, confermare il voto(vale il silenzio/assenso)
• La procedura da seguire ed ulteriori dettagli sono indicati nel REGOLAMENTO D’ESAME: LEGGETELO!!!