Presentazione del docente
Mario Ferraro
• E-mail: [email protected]
• Webpage:http://personalpages.to.infn.it/~ferraro/
• Ricevimento:
–dopo le lezioni
–il martedì mattina tra le 9 e le 11 al Dip. di Fisica
Sperimentale in via Giuria 1, I piano Vecchio Istituto;
appuntamento via mail o via telefono.
• Telefono ufficio: 011 6707376
Per arrivare alla pagine Web del corso
Cliccando su informatica...
Un altra pagina utile
Piattaforma di E-Learning
Obiettivi del corso
Introdurre all' Informatica
Fornire strumenti metodologici e pratici per l' uso
del computer
Non è un corso ECDL (patente europea del computer)
“Sì, ma perché proprio a noi?”
Perché un ISF dovrebbe interessarsi di
informatica?
• Il computer è uno strumento di lavoro
quotidiano.
• Perché è utile indipendentemente dal tipo di
studi che fate (per redigere la tesi di laurea, per reperire
informazioni su internet, per comunicare con collaboratori ed amici, etc.).
Perché l’enfasi sulla teoria?
Per non essere legati indissolubilmente
a un tipo di computer (es. PC con Windows)
Per non essere legati a un tipo di programma (es.
versione 2000 di Microsoft Word)
Se non si conoscono gli strumenti tecnologici,
non se ne possono sfruttare le potenzialità
Il computer è versatile: non si possono prevedere
gli usi futuri
Parte teorica
(1)
Introduzione
i concetti di base
le applicazioni dell’informatica
Rappresentazione delle informazioni
numeri, testo, immagini, suoni
Architettura dell’elaboratore
la
la
le
la
CPU
memoria
unità periferiche
memoria secondaria
Parte teorica
(2)
Il software
caratteristiche
programmi applicativi
il sistema operativo (software di base)
programmi di videoscrittura
fogli elettronici
basi di dati
Parte teorica
Comunicazione tra elaboratori
le reti di calcolatori
il World Wide Web
La multimedialità
gli strumenti e i dispositivi
(3)
Laboratorio Informatico
 Il laboratorio di informatica è aperto
tutti i mercoledì dalle 12 alle 17.
 Nel caso abbiate dubbi non esitate a
contattare il docente via e-mail o a
venire a ricevimento.
Esame
1. Prova scritta su tutto il programma
(foglio per correzione ottica)
• E’ possibile sostenere due appelli su tre
• valida per la sessione corrente
• NECESSARIA l’iscrizione
2. Prova orale/pratica in laboratorio (un
esercizio su excel)
• ammissione subordinata al superamento
prova scritta
Esame
3. Il voto di Informatica fa media con
l'esame di Statistica
4. Il voto di Informatica vale un anno
solare
Esame
Se siete in possesso di un diploma come perito
informatico o della patente europea del computer
(ECDL) oppure di un attestato di partecipazone al
PIN non è necessario che sosteniate la parte
pratica dell’esame.
Una volta superata la prova teorica potete venire all
prova pratica muniti di statino e di uno dei
documenti sopracitati.
Il superamento dell’esame sarà registrato
immediatamente.
Esame
È un’esame facile?
Alcune statistiche:
numero studenti: 580
95 (~16%) non hanno passato l’esame:
16 (~3%) hanno provato teoria e pratica
39 (~7%) non hanno provato ne’ teoria ne’ pratica
34 (~6%) hanno provato solo la teoria
6 (~1%) hanno provato solo la pratica
485 hanno superato l’esame
59 (~10%) ECDL
80 (~14%) hanno superato direttamente la pratica
346 (~59%) hanno superato l’esame completo
Esame
È un’esame facile?
Prova di teoria
Numero
tentativi
Numero
studenti
Percentuale
6
1
0.3%
5
2
0.5%
4
5
1.3%
3
21
5.3%
2
75
18.9%
1
292
73.7%
Esame
È un’esame facile?
Prova pratica
Numero
tentativi
Numero
studenti
Percentuale
4
1
0.2%
3
1
0.2%
2
60
13.4%
1
386
86.2%
Testi consigliati
Entrambi i testi:
• D.P. Curtin, K. Foley, K. Sen, C. Morin, Informatica di
base, McGraw-Hill
• Introduzione all’informatica, UTET
Disponibile in due edizioni, equivalenti:
– L. Console, M. Ribaudo,
Introduzione all’informatica, 1997
– L. Console, M. Ribaudo, U. Avalle,
Introduzione all’informatica, 2005
Le parti dei libri da studiare seguono gli argomenti
presentati a lezione e verranno indicate sulla pagina
web
Altro materiale didattico
• Slide mostrate a lezione
• Esercizi simili a quelli richiesti per il
superamento della prova pratica
appariranno sulla pagina web del corso
• Approfondimenti su argomenti specifici
(facoltativi)
ATTENZIONE!
Queste slide sono solo
una traccia delle lezioni
Sono utili per fissare le idee e
integrare i testi, ma sono incomplete e
NON sostituiscono
né il materiale consigliato,
né le lezioni!
Frequently Asked Questions
• “E’ necessario frequentare?
Il programma è diverso?”
Frequenza vivamente consigliata
Stesso programma per frequentanti e non
• “Posso fare una domanda sugli
argomenti della lezione?”
Sì!
Strumenti Informatici
Istituzionali
Il punto di accesso alle infrastrutture informatiche di
Facoltà riservate agli studenti è:
URL: https://gate-edu.unito.it
Username: numero matricola
Password: data di nascita (es. 10/10/1988)
Importante: la mail istituzionale è lo strumento
principale di contatto con l’università. È vostro
dovere consultarla regolarmente (tramite essa
verrete informati di eventuali cambi d’orario,
dell’avvenuta iscrizione ad un esame, ecc.).
Di cosa parliamo
quando parliamo di Informatica
• Informatica in inglese:
– Information and Communication Technology:
Informatica come tecnologia
risvolti fisico-matematici e ingegneristici del calcolo
automatico; teorie e tecniche di comunicazione
– Computer Science:
Informatica come scienza
basata su modellizzazione, formalizzazione e verifica
sperimentale (teoria degli automi, logica formale,
teorie del linguaggio)
“Computer Science is no more about computers than
astronomy is about telescopes.” (E. Dijkstra)
Breve Storia del calcolo
automatico
Il calcolo automatico
Effettuare calcoli a mente o a
“mano” è un’attività “costosa” (in
termini di tempo e fatica) e incline
all’errore.
Per secoli l’uomo ha cercato di
porre rimedio a questo fatto
“automatizzando” il processo di
calcolo.
L’abaco
È la prima
“macchina” di calcolo
nota. I primi abaci
risalgono al V
millennio a.C.
L’abaco
La Pascalina
Bisogna aspettare
fino al XVII secolo
d.C. per avere la
prima vera
innovazione rispetto
all’abaco.
La Pascalina
La pascalina é il
primo grande passo
avanti: la logica
dell’operazione é
controllata dalla
macchina.
Problema
La pascalina permetteva di effettuare
“solo” addizioni e sottrazioni.
Moltiplicazioni, divisioni potevano essere
effettuate mediante ripetizioni di
addizioni e sottrazioni, ma era di nuovo
l’utente a dovere controllare il processo.
Come aggiungere nuove
operazioni?
Si può pensare di affrontare il problema
modificando la macchina in modo da
introdurre la divisione e la moltiplicazione.
Nuovi problemi: radice quadrata? logaritmo?
Quante sono le funzioni matematicamente
definibili?
In effetti non si sta risolvendo il problema, lo
si “rimanda”
Come aggiungere nuove
operazioni?
Il problema vero è che la logica che
governa le operazioni è “cablata”
nella macchina calcolatrice.
La soluzione è di trattare tale
logica come parte dell’input della
macchina.
Logica delle operazioni come parte
dell’input?
• Il prodotto, la divisione, …, possono venire
“descritti” tramite operazioni piu’ semplici
• Individuiamo un insieme “base” di
operazioni e combiniamole per
rappresentare quelle piu’ complesse
• L’ordine delle operazioni base e i loro
argomenti possono essere specificati
usando solo numeri
• Siamo quindi in grado di descrivere la
logica di operazioni complesse usando il
linguaggio (i numeri) usato per l’input
delle macchine di calcolo
Facoltà di Farmacia - Corso di Informatica
39
Difference Engine
(Babbage)
La “Macchina
Analitica”
Introdotta da Charles
Babbage intorno al 1840,
è il primo esempio di
macchina di calcolo
“programmabile”
La logica dell’operazione è
“confusa” con i dati
Dati
Programma
Da Babbage ai giorni nostri
Le idee di Babbage erano troppo avanzate
per la sua epoca storica. Da un lato la
tecnologia non era ancora sviluppata a sufficienza
da supportare le sue idee (la macchina analitica
era progettata per funzionare a vapore!), dall’altro
non era ancora sentita così forte l’esigenza del
calcolo automatico.
Per questi motivi le sue idee non ebbero il
successo che meritavano e furono dimenticate per
quasi un secolo.
Da Babbage ai giorni nostri
Le idee di Babbage vennero
“riscoperte” nella prima metà del
‘900 da Alan Turing e da John von
Neumann.
Alan Turing
Uno dei padri
dell’informatica. Moltissime
sue idee/congetture sono
attuali oggigiorno. Introduce
il concetto di macchina
universale (i computer
moderni sono
“implementazioni di questo
concetto”)
La macchina di Turing
È un modello astratto di calcolatore. Turing la
descrive e la usa al fine di analizzare l’insieme
delle funzioni che possono essere calcolate in
modo automatico.
Nasce uno dei pilastri dell’informatica teorica:
la teoria della calcolabilità.
È universale perché può calcolare tutte le
funzioni “calcolabili”. Alla base del suo
funzionamento c’è la stessa idea che c’è alla
base della macchina analitica.
La macchina di Turing
Perché si parla di funzioni “calcolabili”?
Si può dimostrare che non tutte le funzioni
definibili in matematica sono calcolabili
mediante una macchina di Turing.
Non è un problema specifico della macchina
di Turing: esistono problemi che
“semplicemente” non possono essere risolti
in modo automatico (es. Halting problem).
John Von Neumann
Crea il modello di
calcolatore a cui si
ispirano i calcolatori
moderni.
Un po’ di storia (tecnologica)…
• 1600: macchine calcolatrici a ingranaggi (Pascal,
Leibniz)
• 1800: macchine con schede perforate e primi
programmi (Babbage, Lovelace (figlia di Byron))
• 1920: erano chiamati computer “impiegati” (spesso
donne) che eseguivano calcoli numerici
• 1940: macchine a relay meccanici
– Bell Laboratories
– Mark I presso Harvard University e IBM
• 1950: macchine di von Neumann
– Schede perforate, nastri magnetici
– Transistor, circuiti stampati
• 1980: microcomputer
– Home computer, personal computer
Nastro perforato
Scheda Perforata
Macchina perforatrice
Lettore di schede
Un po’ di storia (scientifica)…
• 300 a.C.: algoritmo di Euclide per MCD
• 1800: Boole
metodi puramente simbolici per modellare il ragionamento
• 1930: Church, Turing
– modello formale astratto di computer
– computer come macchina universale: “We are trying to build a
machine to do all kinds of different things simply by programming
rather than by the addition of extra apparatus” (Turing)
– esistono problemi che un computer non può risolvere
• 1940: Shannon
teoria dell’informazione
• 1950/60: Dijkstra, Kruskal, Hoare, ecc.
•
algoritmi fondamentali, linguaggi di programmazione, teoria dei
linguaggi formali, ecc.
1970: Codd, Rivest et al., McCarthy et al., Cook et al.
database relazionali, crittografia a chiave pubblica, intelligenza
artificiale, complessità computazionale
Prova d'esame!
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Temi dell’Informatica
Calcolabilità
Complessità
Teoria dei linguaggi formali
Algoritmi e strutture dati
Linguaggi di programmazione
Compilatori e interpreti
Architettura dei calcolatori
Sistemi operativi
Ingegneria del software
Reti di calcolatori
Interazione uomo-macchina
Sicurezza
Intelligenza artificiale
Basi di dati
…
Temi dell’Informatica
Ciascuno di questi temi è un “edificio” più o meno
complesso; ad es.
Intelligenza artificiale:
• Risoluzione dei problemi
– …
• Rappresentazione della conoscenza
– …
• Meccanismi di ragionamento
– …
• Apprendimento automatico
– …
• Pianificazione, scheduling, diagnosi,
configurazione, soddisfacimento di vincoli,…
– …
Introduzione all’Informatica
• Informatica: infor(mazione)
(auto)matica
insieme dei processi e delle
tecnologie che consentono
– la creazione,
– la raccolta,
– l’elaborazione,
– l’immagazzinamento,
– la diffusione
dell’informazione
Il ciclo di elaborazione
Dati e informazioni
Terminologia
• Hardware
– componente fisica del sistema informatico
• computer, stampanti, monitor, tastiere, mouse,
modem, cavi telefonici
• Computer
– elaboratore: dispositivo in grado di eseguire
automaticamente una serie di istruzioni
– elettronico: usa componenti elettronici
– digitale: elabora segnali numerici
Terminologia
• Sistema
– insieme di parti correlate che operano e
interagiscono per svolgere una funzione
specifica
– è costituito da componenti e da sottosistemi
(sistemi
a loro volta)
Terminologia
• Algoritmo
(aritmetica elementare formulata dal
matematico arabo medioevale al-Khuwarizmi)
– insieme delle operazioni necessarie a risolvere
un problema (es. ricetta, istruzioni di montaggio
LEGO®)
– n.b.: piu’ algoritmi possono risolvere lo stesso
problema
• Programma
– implementazione di un algoritmo in un
linguaggio formale
– n.b.: piu’ programmi possono implementare lo
stesso algoritmo
Un esempio banale
• Determinare se un numero e' pari o
dispari
• Almeno due diversi algoritmi danno
la risposta
15/10/10
Facoltà di Farmacia - Corso di
Informatica
Un semplice programma
•
•
•
•
•
•
•
•
•
•
•
•
•
program pari
implicit real * 4 (a-h,o-z)
do n=121,130
anm=float(n)/2.
kn=int(anm)
if (anm.eq.kn) then
print*, n, "pari"
else
print*, n, "dispari"
end if
end do
stop
end
15/10/10
Facoltà di Farmacia - Corso di
Informatica
Il risultato e'
•
•
•
•
•
•
•
•
•
•
15/10/10
121
122
123
124
125
126
127
128
129
130
dispari
pari
dispari
pari
dispari
pari
dispari
pari
dispari
pari
Facoltà di Farmacia - Corso di
Informatica
Complicando un po' le
cose .....
• Numeri di Fibonacci:
• f(n)=f(n-1)+f(n-2)
f(0)=0, f(1)=1
• Calcoliamo i primi 10 numeri di
Fibonacci
15/10/10
Facoltà di Farmacia - Corso di
Informatica
Programma....
program fibonacci
•
dimension nf(100)
•
nf(1)=0
•
nf(2)=1
•
open(10,file='fib.dat')
•
write(10, 100) 0, nf(1)
•
write(10, 100) 1, nf(2)
•
do k=3, 11
•
nf(k)=nf(k-1)+nf(k-2)
•
write(10, 100) k-1, nf(k)
•
end do
•
close(10)
•
100 format(1x,I5,2x,I5)
•
stop
•
end
•
15/10/10
Facoltà di Farmacia - Corso di
Informatica
e risultato
•
•
•
•
•
•
•
•
•
•
•
0
1
2
3
4
5
6
7
8
9
10
15/10/10
0
1
1
2
3
5
8
13
21
34
55
Facoltà di Farmacia - Corso di
Informatica
Verifica!
15/10/10
Facoltà di Farmacia - Corso di
Informatica
Un esempio illustre
15/10/10
Facoltà di Farmacia - Corso di
Informatica
15/10/10
Facoltà di Farmacia - Corso di
Informatica
E come era inserito...
15/10/10
Facoltà di Farmacia - Corso di
Informatica
Terminologia
• Software
– insieme dei programmi che fanno funzionare
l’hardware
• Due categorie principali di software
– sistemi operativi: permettono
all’elaboratore di svolgere le proprie funzioni
(software di base)
– programmi applicativi: svolgono i compiti
più vari, in funzione delle esigenze
dell’utenza
Software
• Svariate decine di sistemi operativi
– MS-DOS, Windows 2000/XP/Vista
– MacOS X, VMS
– Unix (BSD, Linux, Solaris, Irix, Ultrix,
HP-UX…)
• Centinaia di migliaia di programmi applicativi, ad
esempio:
– browser, videoscrittura, fogli elettronici
– gestione di basi di dati
– grafica avanzata
– controllo di centraline
Dati
• Materia prima del trattamento
dell’informazione
• Hardware e software hanno lo scopo di
elaborare e rappresentare dati
• Un computer può elaborare dati di
ogni genere
– dati semplici: lettere e numeri
– dati complessi: suoni, immagini, filmati,
grafici
Tipi di Dato
• Evoluzione temporale (storica) dei dati
elaborabili
Tipi di dati
Applicazioni in campo industriale
• Progettazione (CAD)
• Fabbricazione (CAM)
• Progettazione di modelli architettonici valutare la
funzionalità e la sicurezza di edifici o strutture)
• Editoria elettronica
(Desktop publishing),
produzione di lettere,
opuscoli, libri
• Analisi finanziarie (nelle
aziende vengono analizzati
dati numerici e grafici)
Applicazioni ‘home’
• Cataloghi per la
vendita in Rete
• Attività locali (siti di
comuni, regioni, ...)
• Giochi educativi
Applicazioni in campo didattico
• Enciclopedie multimediali
• Musei virtuali
• Corsi di autoapprendimento (CBT:
computer based training), simulatori di
volo
• Teledidattica (teleconferenze)
• Virtual Reality
Applicazioni in campo artistico e dello
spettacolo
•
•
•
•
Cinema
Musica
Animazione
Sport
Applicazioni in campo scientifico
• Chimica: simulazione di reazioni
chimiche, modelli 3D di molecole,
proteine
• Medicina: analisi del corpo umano,
RMN, TAC, creazione di data base
clinici, monitoring di parametri dei
pazienti, esami oculistici,
sequenzializzazione del DNA
• Trasmissione satellitare
• Topografia: i dati di rilevamenti
topografici sono utilizzati per
costruire una carta topografica
Applicazioni in campo scientifico
• Matematica: es. ricerca di soluzioni di
equazioni, analisi numerica,
rappresentazione grafica
Dove utilizziamo i computer
• Nei grandi sistemi informativi informatici
– Prenotazioni aeree
– Previsioni del tempo
– Casse automatiche (Bancomat, Carte di credito)
– Stampati pubblicitari (lettere personalizzate)
– …….
Dove utilizziamo i computer
• Nei piccoli sistemi elettronici
– Orologi
– Centraline auto (ABS, ASR, ESP, airbag, ...)
– Ricevitori digitali (es. di segnali da
satellite)
– Videogiochi (home e portatili)
– Telefoni cellulari (e carte SIM)
– Schede telefoniche
– ……
Esempio: il sistema GPS
• GPS: Global Positioning System
– costellazione di 24 satelliti
– stazioni a terra che ne controllano il
funzionamento
– ricevitori portatili e fissi, ognuno dei quali è un
piccolo
elaboratore
Esempio: il sistema GPS
• GPS: Global Positioning System
– costellazione di 24 satelliti
– stazioni a terra che ne controllano il funzionamento
– ricevitori portatili e fissi, ognuno dei quali è un
piccolo
elaboratore
Scarica

Introduzione - INFN - Torino Personal pages