Informatica e Programmazione

Documenti analoghi
Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA II

Corso di Fondamenti di Informatica e Laboratorio T-AB

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Fondamenti di Informatica e Laboratorio T-AB

Corso di Applicazioni di Intelligenza Artificiale LS. Prof. Paola Mello Anno accademico 2008/2009

FONDAMENTI DI INFORMATICA

Organizzazione del corso

Fondamenti di Informatica MultiDAMS

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Fondamenti di Informatica (lettere A-I) A

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Tecnica delle Costruzioni

Come fare ricerca empirica

Programmazione C Massimo Callisto De Donato

Il calcolatore. Architettura di un calcolatore (Hardware)

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/2017

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

UNIVERSITÀ DEGLI STUDI DI BERGAMO! Marketing. (9 cfu) Codice Presentazione corso: 1^ release 22 Settembre 2016 Anno Accademico 2016/2017

Architettura. Nome Modulo Tipologia lezioni Ore Docente SSD Ruolo Interno Affidamento. Vincenzo Conti

Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Presentazione del corso

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Informatica A - Gestionali

Corso di Fondamenti di Programmazione canale E-O. Prima di cominciare

Introduzione. Fondamenti di Informatica 1. Dispensa 1 Gennaio Contenuti. Alfonso Miola. K Corso di Fondamenti di Informatica 1

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Scienze fisiche e matematiche applicate al movimento umano

Come fare ricerca empirica

IL SISTEMA OPERATIVO

Prof. Massimo Esposito INGEGNERIA MECCANICA (DI-M) UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA

Informatica Generale 01 - Introduzione

Abilità informatiche. Dott. Chiara Begliomini

Corso di Metodologia delle Scienze Sociali

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14

Introduzione alla programmazione. Walter Didimo

FONDAMENTI DI RETI DI TELECOMUNICAZIONI

Ragioneria Generale ed Applicata

Laboratorio di Calcolo A

Corso Programmazione

Cosa è cambiato - la parte facile

Presentazione del corso

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Informatica per Umanisti DIRAAS-DAFIST UNIGE Docente: Antonio Lieto. Introduzione Il corso di Informatica (Di cosa parliamo?)

Elettronica: sistemi digitali Introduzione

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Corso di Laurea Ingegneria Informatica

INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a

Corso di Fondamenti di Informatica T-1 Parte 2 - Modulo di Laboratorio

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Marketing Internazionale

Il linguaggio di programmazione Python

Marketing Internazionale

Introduzione al Calcolo Scientifico

Il concetto di informatica. Graziano Pravadelli (2012)

Concetti di base dell ICT

Università Ca Foscari

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Sistemi Distribuiti Anno accademico 2009/10

Principi di Progettazione del Software a.a " Introduzione al corso! Prof. Luca Mainetti! Università del Salento!

LINGUA INGLESE LIVELLO B1

MARKETING E E-COMMERCE Prof. Mauro Cavallone Presentazione corso: 2^ release 22 Novembre 2016

Strumenti di indagine per la valutazione psicologica

Introduzione al funzionamento di un calcolatore elettronico

Fondamenti (Principi) di Controlli Automatici

Fondamenti di Informatica modulo B

11 ottobre 2016 Introduzione 53 - :

Corso di laurea in Ingegneria Meccatronica Controlli Automatici e Azionamenti Elettrici

Capacità operative e pratico-grafiche

Il corso di Sistemi Operativi. Introduzione al corso di Sistemi Operativi Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

MARKETING E E-COMMERCE Comunicazione, informazione, editoria. Prof. Mauro Cavallone

I Nuovi Corsi di Laurea in Informatica. La laurea triennale (classe L-31) L

Il concetto di calcolatore e di algoritmo

Analisi delle decisioni

Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1)

Lezioni ed esercitazioni Docente: Martino De Marco Durata: Laboratori Docente: Giuseppe Caizzone Durata: Reperibilità del docente:

GUIDA AL TEST DI ACCESSO E ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA

Corso di Laurea in Scienze Chimiche Per capire e migliorare il mondo intorno a noi

SCIENZE DELLA FORMAZIONE PRIMARIA (V.O.) Metodologia Didattica per la Scuola Primaria* - A.A. 2013/2014 Prof.ssa G. Compagno SCHEDA DI TRASPARENZA

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Laurea in Ingegneria Meccanica

Gestione Aziendale e dei Sistemi Logistici. Informazioni generali sul corso per frequentati e non frequentanti

Dipartimento di Sociologia e ricerca sociale

Lezione 1 05 ottobre 2015

GUIDA ALLA PROVA DI CONOSCENZA LINGUISTICA INFORMATIZZATA LIVELLI C1 e C2. Anno accademico 2014/15

LINGUE INGLESE, TEDESCA, FRANCESE E SPAGNOLA C1 e C2

Concetti Introduttivi. Il Computer

Linguaggi di programmazione

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggi di alto livello, compilatori e interpreti

Facoltà di Scienze Matematiche Fisiche e Naturali Programmazione didattica a.a. 2011/ LAUREA TRIENNALE

Dipartimento di Economia e Management

UNIVERSITA DEGLI STUDI DI MILANO-BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI

UNIVERSITÀ DI BOLOGNA - FACOLTÀ DI ECONOMIA CORSO DI LAUREA IN ECONOMIA E FINANZA ANNO ACCADEMICO

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

Transcript:

INTRODUZIONE AL CORSO Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin

UNA VISIONE GIORNALISTICA Informatica e Programmazione Università di Brescia 2

COSA SI STUDIA IN QUESTO CORSO PERCHE GLI INGEGNERI DEVONO STUDIARLO COME DEVONO STUDIARE QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 3

INFORMATICA studio degli algoritmi che descrivono e trasformano l informazione [ACM] PROGRAMMAZIONE rappresentazione di un algoritmo in un linguaggio comprensibile ed eseguibile da un calcolatore (linguaggio di programmazione) INFORMAZIONE, ALGORITMO, CALCOLATORE Informatica e Programmazione Università di Brescia 4

INFORMAZIONE Rappresentata mediante una sequenza di simboli INFORMAZIONE SIMBOLI Informatica e Programmazione Università di Brescia 5

ALGORITMO INFORMAZIONE ALGORITMO Specifica come produrre la soluzione ad un problema con una sequenza di istruzioni Informatica e Programmazione Università di Brescia 6

ALGORITMO, PROGRAMMA E CALCOLATORE INFORMAZIONE SIMBOLI ALGORITMO Specifica come produrre la soluzione ad un problema con una sequenza di istruzioni PROGRAMMA (SIMBOLI) Istruzioni espresse in un linguaggio comprensibile ed eseguibile da un calcolatore Informatica e Programmazione Università di Brescia 7

LA RISOLUZIONE DI PROBLEMI CON IL CALCOLATORE esigenza identificazione spazio del problema uomo problema risoluzione algoritmo programmazione spazio della soluzione programma esecuzione calcolatore dati risultati Informatica e Programmazione Università di Brescia 8

LA RISOLUZIONE DI PROBLEMI CON IL CALCOLATORE esigenza identificazione spazio del problema uomo problema risoluzione MODELLAZIONE algoritmo programmazione spazio della soluzione programma esecuzione calcolatore dati risultati Informatica e Programmazione Università di Brescia 9

MODELLO Rappresentazione semplificata della realtà: selezionati gli aspetti utili per il problema di interesse Esempio: l archivio di una biblioteca - Titolo - Autori - Stanza, scaffale - Mondo reale Modello Informatica e Programmazione Università di Brescia 10

CALCOLATORE E PROBLEMI 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 11

NASA SOCCER https://www.grc.nasa.gov/www/k-12/airplane/soccercode.html Informatica e Programmazione Università di Brescia 12

PROGETTAZIONE AREODINAMICA http://www.hanleyinnovations.com/stallion3d.html

SIMULATORE DI VOLO (1)

SIMULATORE DI VOLO (2)

CAD (Computer Aided Design) Informatica e Programmazione Università di Brescia 16

CAD (Computer Aided Design) Informatica e Programmazione Università di Brescia 17

Un simulatore di processi logistico-produttivi (DVD assembly) Informatica e Programmazione Università di Brescia 18

PROGRAMMA DEL CORSO I contenuti si possono suddividere in 1. ARCHITETTURA DEL CALCOLATORE (in senso lato) 2. PROGRAMMAZIONE IN LINGUAGGIO C (in senso lato) Nonostante questa suddivisione concettuale, è molto più proficuo considerare il programma del corso come un tutt uno Informatica e Programmazione Università di Brescia 19

PARTE SU PROGRAMMAZIONE IN LINGUAGGIO C esigenza identificazione spazio del problema #include<stdio.h> #include <stdlib.h> uomo problema risoluzione algoritmo programmazione programma spazio della soluzione 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); calcolatore esecuzione } system("pause"); return 0; dati risultati Informatica e Programmazione Università di Brescia 20

PARTE SU ARCHITETTURA DEL CALCOLATORE esigenza Interfaccia grafica Applicazioni software SOFTWARE identificazione spazio del problema Linguaggio ad alto livello (es: il C) Compilatore o interprete SOFTWARE uomo problema risoluzione Linguaggio assembly Programma Assemblatore SOFTWARE algoritmo programmazione programma esecuzione spazio della soluzione API: interfaccia di programmazione per le applicazioni Sistema operativo ISA: linguaggio macchina del calcolatore Organizzazione: componenti (CPU, memoria, ) e interconnessione livello dei circuiti SOFTWARE HARDWARE calcolatore dati risultati Focus su: - principi funzionamento - influenze sulla programmazione (es: problemi di calcolo per l ingegneria) Informatica e Programmazione Università di Brescia 21

NOTA SULLA DEFINIZIONE DI PROGRAMMAZIONE 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 22

ARTICOLAZIONE LEZIONI 1. LEZIONI DI TEORIA ED ESERCIZI SU ARCHITETTURA CALCOLATORE 2. LEZIONI SU (PROGRAMMAZIONE IN) LINGUAGGIO C 3. ESERCITAZIONI SULLA PROGRAMMAZIONE IN C: - SOPRATTUTTO individuali (vedere lucidi sul sito) - alcune guidate in aula con gli esercitatori 4. ESPERIENZE DI LABORATORIO: LA PROGRAMMAZIONE SU DOMINI APPLICATIVI COMPLESSI - molto utili per avere una visione più ampia del corso - e per vedere sul campo l applicazione dei concetti appresi Informatica e Programmazione Università di Brescia 23

COSA SI STUDIA IN QUESTO CORSO PERCHE GLI INGEGNERI DEVONO STUDIARLO COME DEVONO STUDIARE QUESTO CORSO INFORMAZIONI PRATICHE SU QUESTO CORSO (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 24

OBIEZIONE COMUNE* A che servono all ingegnere (meccanico e dei materiali) i principi di funzionamento del calcolatore e la programmazione? Meglio imparare 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 Informatica e Programmazione Università di Brescia 25

PRIMA MOTIVAZIONE (LA MENO IMPORTANTE) APPLICAZIONI DELL INFORMATICA DI SIGNIFICATIVO INTERESSE PER L INGEGNERIA MECCANICA E DEI MATERIALI Controllo di sistemi meccanici Software di simulazione

1) E sempre più difficile trovare sistemi meccanici puri SENSORE E TRASDUTTORE A/D SISTEMA MECCANICO µprocessore MODELLO ALGORITMO ATTUATORE D/A

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 Controllo elettronico del motore - input: posizione pedale acceleratore, quantità carburante iniettato sui cilindri, corsa e fase valvole aspirazione e scarico - output: parametri iniezione, ecc. Informatica e Programmazione Università di Brescia 29

2) Software di simulazione (es. emissione e dispersione di inquinanti) [immagini tratte dal sito www.prode.com] Informatica e Programmazione Università di Brescia 30

SECONDA MOTIVAZIONE (LA PIU IMPORTANTE) Quali competenze per l ingegnere? - Capacità di seguire procedure standardizzate o di risolvere (e studiare) nuovi problemi? - iperspecializzazione o multidisciplinarietà? INGEGNERE: da INGENIUM Capacità mentale Congegno

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 Informatica e Programmazione Università di Brescia 32

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 33

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 Informatica e Programmazione Università di Brescia 35

COSA SI STUDIA IN QUESTO CORSO GLI INGEGNERI DEVONO STUDIARE QUESTO CORSO COME DEVONO STUDIARE QUESTO CORSO INFORMAZIONI PRATICHE SU QUESTO CORSO (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 36

LEGO E LEGO TECHNIC Informatica e Programmazione Università di Brescia 37

SCOPO DI QUESTO CORSO Informatica e Programmazione Università di Brescia 38

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 39

Una visione distorta dell informatica La matematica NON è applicare formule, l informatica NON è USARE il computer o conoscere tecnicismi Informatica e Programmazione Università di Brescia 40

I MODELLI DELL INFORMATICA GENERALI FLESSIBILI (non esiste un modello pronto, bisogna inventarselo o adattarne 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 AL VOSTRO AMICO DELL ITIS E POI NON DITEMI CHE NON VE L AVEVO DETTO! Informatica e Programmazione Università di Brescia 41

COSA SI STUDIA IN QUESTO CORSO GLI INGEGNERI DEVONO STUDIARE QUESTO CORSO COME DEVONO STUDIARE QUESTO CORSO INFORMAZIONI PRATICHE SU QUESTO CORSO (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 4 2

Contattarmi Studio n. 27 del Dipartimento di Ingegneria dell Informazione E-mail: massimiliano.giacomin@unibs.it (no per chiedere quando escono i risultati!) Orario di ricevimento: vedi bacheca - meglio preavvisare via mail Informatica e Programmazione Università di Brescia 43

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 44

Libri di testo Libro 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 45

Modalità d esame 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 46

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 programmazione viene corretta solo se la teoria è sufficiente 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 di programmazione, senza che questa porti ad un fallimento Informatica e Programmazione Università di Brescia 47

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, USARE APPARECCHI RICETRASMITTENTI O CONSULTARE MATERIALE NON CONSENTITO: ORALE (DIS)INTEGRATIVO Informatica e Programmazione Università di Brescia 48

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 programmazione comporta un fallimento VOTO FINALE Media dei voti delle due prove (teoria e programmazione) arrotondata per eccesso Informatica e Programmazione Università di Brescia 49

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 50

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 NOTE - RISERVATI AGLI STUDENTI DEL PRIMO ANNO - NON ESISTONO RECUPERI : CHI NON LI SUPERA AFFRONTA L ESAME STANDARD Informatica e Programmazione Università di Brescia 51

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 APPELLO e, 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!!! Informatica e Programmazione Università di Brescia 52