Elementi di Informatica e Programmazione - Ingegneria

Orario del corso
Elementi di Informatica e
Programmazione
!
Introduzione
Cominceremo con la teoria …
!
!
GIOVEDÌ
VENERDÌ
15.30 – 18.30
8.30 – 10.30
Corsi di Laurea in:
… per circa 3 settimane, poi inizieranno anche le
esercitazioni (sulla programmazione in C)
generalmente il GIOVEDÌ
Ingegneria Civile
Ingegneria per l Ambiente e il Territorio
Università degli Studi di Brescia
Docente: Daniela Fogli
Daniela Fogli – Elementi di Informatica e Programmazione
Orario di ricevimento
!
!
!
!
!
Libri di testo e libri consigliati
Docente del corso: Daniela Fogli
Ufficio 27 – Dipartimento di Ingegneria dell’Informazione, Via Branze 38
email: [email protected]
orario di ricevimento
Libro di testo:
!
G. Guida, M. Giacomin, Fondamenti di Informatica , Franco
Angeli, 2006
Oppure:
!
D. Sciuto, G. Buonanno, L. Mari, Introduzione ai sistemi informatici ,
Quarta edizione, McGraw-Hill, 2008
LUNEDÌ 15.30 – 17.30
Garantito in periodo di lezione e di norma anche dopo, ma si consiglia
appuntamento via email
Per particolari esigenze: si consiglia di usare e-mail
Eventuali variazioni di orario/giorno indicate nel sito internet del corso
Altri libri consigliati (per il Linguaggio C):
!
Se volete (ma non è indispensabile) un qualunque manuale sul C
va bene
!
Un testo fondamentale è: B. W. Kernighan, D. M. Ritchie
“The C Programming Language”, Prentice Hall
!
Un altro: K. N. King, “Programmazione in C”, Apogeo
!
Informazioni (tutorial di C) si trovano anche in rete …
Esercitatore (Linguaggio C): Sergio Colosio
email: [email protected]
orario di ricevimento
su appuntamento via email
Daniela Fogli – Elementi di Informatica e Programmazione
2
3
Daniela Fogli – Elementi di Informatica e Programmazione
4
Sito web del corso
Modalità d’esame
http://www.ing.unibs.it/fogli/
!
nella sezione Didattica ! Elementi di Informatica e Programmazione
!
!
!
!
Possibile scaricare le diapositive delle lezioni e delle esercitazioni
(che verranno caricate man mano durante il corso)
Tutti i documenti scaricabili sono in formato pdf
!
Per aprirli occorre avere il programma Acrobat Reader
Daniela Fogli – Elementi di Informatica e Programmazione
!
Durata della prova scritta: 2 e ½ ore
!
Una prova orale facoltativa
Daniela Fogli – Elementi di Informatica e Programmazione
5
Due semplici regole …
!
!
!
le iscrizioni si chiudono 5 giorni prima della data dell’appello
chi non risulta iscritto di norma NON è ammesso a sostenere
l esame
!
!
!
!
Regola 2: se l’esame viene superato, il voto preso deve
essere verbalizzato e registrato sul libretto
!
!
è necessario presentarsi nel giorno prestabilito (tipicamente la
data fissata per l’esame orale) per effettuare tale
operazione
!
!
Daniela Fogli – Elementi di Informatica e Programmazione
6
Validità del voto
Regola 1: per partecipare a un appello occorre iscriversi
!
Domande (domande a quiz, domande a risposta aperta,
esercizi) sulla teoria
Esercizi di programmazione in linguaggio C
per un totale di 32 punti (30 e lode)
Per i temi d’esame consultare al momento le edizioni 2012-2013 e
2011-2012
!
Una prova scritta consistente in:
7
Un voto sufficiente che non perda di validità a seguito di orale o scritto
successivo (vedi poi) è sempre valido. Quando si è conseguito un voto
sufficiente è possibile registrare il voto finale
Un voto conseguito allo scritto è sufficiente se è >= a 18
Si può sostenere l’orale solo con un voto sufficiente ancora valido
conseguito allo scritto
Se, a seguito di un orale, il voto risulta inferiore a 18, esso perde di
validità ed è quindi necessario rifare lo scritto
Il voto che risulta sufficiente dopo un orale non può più essere modificato.
Naturalmente, si può sostenere un nuovo scritto, con il rischio però di
perdere il voto (vedi il punto successivo)
Chi consegna uno scritto (senza ritirarsi) perde l’eventuale voto positivo
conseguito precedentemente (con scritto o con orale)
Chi non consegna lo scritto (si ritira) mantiene l’eventuale voto sufficiente
valido
Daniela Fogli – Elementi di Informatica e Programmazione
8
Cos è l’Informatica?
Computer Science is no more about
computers than astronomy is about
telescopes
Introduzione al Corso
E. W. Dijkstra
Daniela Fogli – Elementi di Informatica e Programmazione
INGEGNERIA Ambientale:
Elementi di Informatica e Programmazione
!
10
Programma per la simulazione di emissione e dispersione di inquinanti
L’Informatica è lo studio sistematico degli algoritmi che
descrivono e trasformano l’informazione: la loro teoria, analisi,
progetto, efficienza, realizzazione applicazione [ACM – Association
for Computing Machinery]
!
!
!
!
Informazione: entità immateriale che può essere comunicata
Algoritmo: specifica come produrre una soluzione ad un
problema mediante una sequenza di istruzioni che elaborano
informazioni e che sono comprensibili ed eseguibili da un
esecutore
Programmazione: rappresentazione di un algoritmo in un
linguaggio di programmazione
[immagini
tratte dal sito
www.prode.com]
L’informatica è pervasiva, coinvolge pressoché tutti i campi della
conoscenza (scientifica e umanistica) …
Daniela Fogli – Elementi di Informatica e Programmazione
11
Daniela Fogli – Elementi di Informatica e Programmazione
12
INGEGNERIA Civile:
Ma anche …
CAD (Computer Aided Design)
Ingegneria gestionale: es. ERP (Enterprise Resource
Planning)
!
Ingegneria meccanica: es. automazione di fabbrica,
controllo di automobili
!
Sociologia: es. simulazioni sociali, verifica di teorie …
!
Musica: elaborazione del suono, simulazione di
strumenti musicali
!
…
!
Nuove frontiere: intelligenza artificiale, realtà
virtuale, realtà aumentata, internet of things, …
!
Daniela Fogli – Elementi di Informatica e Programmazione
Daniela Fogli – Elementi di Informatica e Programmazione
13
Obiettivi del corso
Esempi di sistemi informatici
!
Acquisire gli elementi di base per comprendere il funzionamento
degli odierni sistemi informatici
!
!
!
!
!
15
Come può il calcolatore essere applicato in campi così disparati?
Quali sono gli elementi dell’hardware fondamentali?
Che tipo di operazioni di base può effettuare?
Cosa sono i linguaggi di programmazione? Perché ne esiste più di uno?
Acquisire le nozioni di base della programmazione, mediante un
sottoinsieme del linguaggio C
!
Daniela Fogli – Elementi di Informatica e Programmazione
14
passando da un problema all’algoritmo che lo risolve, per arrivare a un
programma in C
Daniela Fogli – Elementi di Informatica e Programmazione
16
Cosa non si farà nel corso
Argomenti del corso
!
Il concetto di algoritmo e di calcolatore
!
Il progetto degli algoritmi
!
I linguaggi di programmazione di alto livello
!
La codifica dell’informazione
!
L’architettura e il linguaggio del calcolatore
!
Il sistema operativo
!
Le reti di calcolatori
Daniela Fogli – Elementi di Informatica e Programmazione
Non si tratterà l’uso di specifiche applicazioni (es.: word,
excel, ecc.)
!
La programmazione in C
!
Non focus sulle nozioni ma sui concetti
!
Non tanti linguaggi di programmazione, ma focus sul C
!
Non tecnicismi ed elenchi di tecnologie (obsolescenti),
ma abitudine a risolvere i problemi
!
Daniela Fogli – Elementi di Informatica e Programmazione
17
Perché questo corso?
Perché questo corso?
Motivi culturali generali
!
Motivo culturale specifico
L’informatica come scienza delle metodologie generali per risolvere
i problemi
!
!
!
18
!
analizzare un problema e il suo contesto
definire un modello
decomporre un problema applicando il divide et impera: per es. per
l’analisi dei processi aziendali
L’informatica è presente in tutti i campi: necessità di disporre di un
linguaggio comune per interagire con gli informatici
! Es: valutare l’opportunità e la scelta di un sistema informatico
in una azienda
! Es: collaborare da esperti del dominio allo sviluppo di un
sistema informatico
Necessità pratica di sviluppare programmi
Daniela Fogli – Elementi di Informatica e Programmazione
19
Daniela Fogli – Elementi di Informatica e Programmazione
20
last but not least
!
!
Formare utenti consapevoli, non passivi consumatori
di tecnologia (per es. avere un’idea di quello che si può
fare con l’informatica al di là dei mutamenti tecnologici)
L’utente consapevole si fa domande del tipo:
!
!
!
Il programma che sto usando è adatto a risolvere questo
problema?
Quale categoria di software è la più adatta per risolvere
questo genere di problemi?
Il calcolatore che sto usando è adatto per risolvere questo
problema?
Daniela Fogli – Elementi di Informatica e Programmazione
21