Informatica e Programmazione

Documenti analoghi
Informatica e Programmazione

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

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA II

Corso di SISTEMI INTELLIGENTI M. Prof. Michela Milano" Anno accademico 2011/2012

Architettura degli elaboratori

Fondamenti di Informatica

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

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica

Fondamenti di Informatica

Corso di. Fondamenti di Informatica T

Corso di Laurea Ingegneria Informatica

Reti Logiche e Architettura dei Calcolatori

Corso di Fondamenti di Informatica e Laboratorio T-AB

Fondamenti di Informatica T1"

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

FONDAMENTI DI INFORMATICA

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

Fondamenti di Informatica e Laboratorio T-AB

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

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

Organizzazione del corso

Fondamenti di Informatica e Laboratorio T-AB!

Fondamenti di Informatica MultiDAMS

Corso di Laurea Ingegneria Civile

Corso di. Fondamenti di Informatica 2 e Architettura degli Elaboratori

OBIETTIVI. Conoscere i concetti di base dell Informatica. Conoscere i principi e gli strumenti di base della programmazione

Corso di Fondamenti di Informatica L-B

Obiettivi del corso. Programmazione Corso di laurea in Informatica

Tecnica delle Costruzioni

Fondamenti di Informatica T-1

Modelli e complessità di calcolo

Informazioni sul corso

Fondamenti di Informatica (lettere A-I) A

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

Presentazione del Corso di Calcolo Numerico con Laboratorio

Programmazione C Massimo Callisto De Donato

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

Fondamenti di Informatica A.A Studenti

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

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

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Programmazione (imperativa)

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011. Benvenuti al Corso!

IL SISTEMA OPERATIVO

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Come fare ricerca empirica

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

Il Software programmabili programma algoritmo

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lezione 1: Introduzione al Corso Mercoledì 30 Settembre 2009

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Architettura degli Elaboratori

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

Introduzione al corso

Introduzione al corso

Problemi, algoritmi, calcolatore

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

Informatica A - Gestionali

Corso di Laurea Ingegneria Informatica

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

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

Corso di RETI DI COMUNICAZIONE E INTERNET Modulo 1

Anno Accademico UNIVERSITÀ LA SAPIENZA DI ROMA. Facoltà di INGEGNERIA. Regolamento Didattico del Corso di laurea in INGEGNERIA ELETTRONICA

Architettura degli Elaboratori

Introduzione al corso di Fondamenti di informatica. ingegneria elettronica Anno Accademico Donatella Firmani ottobre 2016

Elementi di Informatica

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

Scienze fisiche e matematiche applicate al movimento umano

Fondamenti di Informatica

Abilità informatiche. Dott. Chiara Begliomini

Algoritmi e Strutture Dati

FONDAMENTI DI RETI DI TELECOMUNICAZIONI

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

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

Presentazione del corso

IL SISTEMA OPERATIVO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Corso di Informatica

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

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

Elettronica: sistemi digitali Introduzione

Il linguaggio di programmazione Python

Corso Programmazione

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

Il calcolatore. Architettura di un calcolatore (Hardware)

Sistemi Operativi corso A, a.a

Ricevimento studenti: consultare sito web docenti

Come fare ricerca empirica

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

Introduzione al corso

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

Transcript:

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

UNA (PERSONALE) VISIONE DEL RUOLO DELL INGEGNERE COSA SONO L INFORMATICA E LA PROGRAMMAZIONE (e cosa si studia in questo corso) PERCHE QUESTO CORSO A INGEGNERIA COME SI STUDIA QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 2

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 3

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 4

UNA (PERSONALE) VISIONE DEL RUOLO DELL INGEGNERE COSA SONO L INFORMATICA E LA PROGRAMMAZIONE (e cosa si studia in questo corso) PERCHE QUESTO CORSO A INGEGNERIA COME SI STUDIA QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 6

UNA VISIONE GIORNALISTICA Informatica e Programmazione Università di Brescia 7

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 8

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

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

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 11

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 12

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 13

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 14

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 15

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

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 20

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

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

Simulazione comportamento di formiche [realizzato con NetLogo, per gentile concessione di M. Cadei] Informatica e Programmazione Università di Brescia 23

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 24

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 25

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 26

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 27

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 28

UNA (PERSONALE) VISIONE DEL RUOLO DELL INGEGNERE COSA SONO L INFORMATICA E LA PROGRAMMAZIONE (e cosa si studia in questo corso) PERCHE QUESTO CORSO A INGEGNERIA COME SI STUDIA QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 2 9

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 30

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 34

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

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

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 37

UNA (PERSONALE) VISIONE DEL RUOLO DELL INGEGNERE COSA SONO L INFORMATICA E LA PROGRAMMAZIONE (e cosa si studia in questo corso) PERCHE QUESTO CORSO A INGEGNERIA COME SI STUDIA QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 3 8

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

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

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 41

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 42

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 ALL AMICO CHE SA PROGRAMMARE E POI NON DITEMI CHE NON VE L AVEVO DETTO! Informatica e Programmazione Università di Brescia 43

UNA (PERSONALE) VISIONE DEL RUOLO DELL INGEGNERE COSA SONO L INFORMATICA E LA PROGRAMMAZIONE (e cosa si studia in questo corso) PERCHE QUESTO CORSO A INGEGNERIA COME SI STUDIA QUESTO CORSO INFORMAZIONI PRATICHE (MODALITA ESAME, LIBRI, SITO WEB, ) Informatica e Programmazione Università di Brescia 4 4

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 45

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 46

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 47

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 48

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 49

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 50

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 51

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 52

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 53

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 54