Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi...

44
Introduzione all’informatica

Transcript of Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi...

Page 1: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Introduzione all’informatica

Page 2: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Introduzione all’Informatica

Chi sono?

Claudio Schifanella Dipartimento di Informatica [email protected] http://www.di.unito.it/schi

Page 3: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

IntroduzioneInformatica

Page 4: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Ringraziamenti

Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che da me, da vari colleghi. Tra tutti, è necessario citare almeno: Marina Ribaudo (Univ. di Genova) Marco Botta (Univ. di Torino) Giancarlo Ruffo (Univ. di Torino) Alessandro Mazzei (Univ. di Torino) Jeremy Sproston (Univ. di Torino) Luca Anselma (Univ. di Torino) Roberto Esposito (Univ. di Torino) Rossano Schifanella (Univ. Di Torino)

IntroduzioneInformatica

Page 5: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

“Sì, ma perché proprio a noi?”

Perché uno dovrebbe interessarsi di informatica?

Il computer è uno strumento di lavoro quotidiano

Perché è fondamentale come supporto alla ricerca come strumento per la modellazione delle molecole; per

l’analisi statistica; per le ricerche bibliografiche; per la scrittura di testi.

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.

IntroduzioneInformatica

Page 6: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Dove è necessaria l’informatica?

Ovunque si utilizzino apparecchiature programmabili: Uso di computer in vari settori “tradizionali” (attività

industriali, commerciali, militari, ecc.), ma anche:

Editoria elettronica

Elaborazione di immagini e suoni

Computer art

6

IntroduzioneInformatica

Page 7: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Cos’è l’Informatica?

Definizione 0:

“L’Informatica è la scienza del calcolo automatico.”

IntroduzioneInformatica

Page 8: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Cos’è l’Informatica?

Definizione 1:

“Con il termine Informatica si indica l’insieme dei processi che rendono possibile la creazione, la raccolta, l’elaborazione, l’immagazzinamento e la trasmissionedell’informazione con metodi automatici”

8

IntroduzioneInformatica

Page 9: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Cos’è l’Informatica?

Definizione 2:

“La determinazione con metodo sia ipotetico-deduttivo che sperimentale, nonché l'analisi e la definizione di protocolli e metodologie di verifica valide per la costruzione di prototipi e applicazioni ingegnerizzate riguardo a tutto ciò in cui consiste la definizione di dati di ingresso e la costruzioni di soluzioni che comportino la definizione di dati di uscita”

[ACM, Association for Computing Machinery, Syllabus dei corsi universitari di Informatica]

9

IntroduzioneInformatica

Page 10: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Di cosa parliamo quando parliamo di Informatica

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)

IntroduzioneInformatica

Page 11: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Introduzione alle tecnologie informatiche

Page 12: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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.

IntroduzioneInformatica

Page 13: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

L’abaco

È la prima “macchina” di calcolo nota.

I primi abaci risalgono al V millennio a.C.

IntroduzioneInformatica

Page 14: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

L’abaco

L’abaco aiuta l’utente principalmente come strumento per tenere traccia di quanto già fatto.

La logica e la correttezza dell’operazione dipendono interamente dall’utente

IntroduzioneInformatica

Page 15: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

La Pascalina

Bisogna aspettare fino al XVII secolo d.C. per avere la prima vera innovazione rispetto all’abaco.

Inventata nel 1642 dal filosofo e matematico francese Blaise Pascal

Per molto tempo è stata considerata la prima addizionatrice meccanica, anche se questo merito andrebbe alla calcolatrice di Wilhelm Schickard.

IntroduzioneInformatica

Page 16: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

La Pascalina

La pascalina é il primo grande passo avanti: la logica dell’operazione é controllata dalla macchina.

IntroduzioneInformatica

Page 17: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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 dover controllare il processo.

IntroduzioneInformatica

Page 18: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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 definibili?

In effetti non si sta risolvendo il problema, lo si “rimanda”

IntroduzioneInformatica

Page 19: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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.

IntroduzioneInformatica

Page 20: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Logica delle operazioni come parte dell’input?

Il prodotto, la divisione, …, possono essere “descritti” tramite operazioni più semplici

Individuiamo un insieme “base” di operazioni e combiniamole per rappresentare quelle più 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

20

IntroduzioneInformatica

Page 21: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

La “Macchina Analitica”

Introdotta da Charles Babbage intorno al 1840, è il primo esempio di macchina di calcolo “programmabile”

IntroduzioneInformatica

Page 22: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

ProgrammaDati

La logica dell’operazione è“confusa” con i dati

IntroduzioneInformatica

Page 23: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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.

IntroduzioneInformatica

Page 24: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Da Babbage ai giorni nostri

Le idee di Babbage vennero “riscoperte” nella prima metàdel ‘900 da Alan Turing e da John von Neumann.

IntroduzioneInformatica

Page 25: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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”)

IntroduzioneInformatica

Page 26: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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.

IntroduzioneInformatica

Page 27: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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).

Da RAI filosofia http://www.filosofia.rai.it/articoli/la-macchina-di-turing/13882/default.aspx

Da YouTube https://www.youtube.com/watch?v=1IPbWTatJWs https://www.youtube.com/watch?v=FTSAiF9AHN4

IntroduzioneInformatica

Page 28: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

John Von Neumann

Crea il modello di calcolatore a cui si ispirano i calcolatori moderni.

Matematico ungherese, ha dato il suo contributo in moltissimi campi,

quali: teoria quantistica, economia, meteorologia, logica, teoria dei

giochi

Due contributi fondamentali:

1) Architettura di un elaboratore («First draft», 30/06/1945)

2) Bomba atomica

IntroduzioneInformatica

Page 29: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

John Von Neumann

http://www.raiscuola.rai.it/articoli/john-von-neumann/21878/default.aspxDa RAI Scuola

Page 30: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

Page 31: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Un po’ di storia (scientifica)… 300 a.C.: algoritmo di Euclide per MCD

1800: Boolemetodi 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 ratherthan by the addition of extra apparatus” (Turing)

esistono problemi che un computer non può risolvere

1940: Shannonteoria 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

Page 32: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

IntroduzioneInformatica

Page 33: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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, …

IntroduzioneInformatica

Page 34: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Introduzione all’informatica

Informatica: infor(mazione) (auto)maticainsieme dei processi e delle tecnologie che consentono la creazione, la raccolta, l’elaborazione, l’immagazzinamento, la diffusione

dell’informazione

IntroduzioneInformatica

Page 35: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Introduzione all’informatica

Le tecnologie informatiche hanno tre funzioni principali: elaborare dati per ottenere informazioni significative mantenere le informazioni elaborate per utilizzarle in

combinazione con altre come dati di un nuovo processo di elaborazione

organizzare le informazioni in una nuova forma per renderle più comprensibili, più interessanti o più utili

N.B.: Il calcolatore non ‘inventa’ nuove informazioni

“Computers are useless. They can only give youanswers.” (P. Picasso (1968?))

IntroduzioneInformatica

Page 36: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Il ciclo di elaborazione

Page 37: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Dati e informazioni

Page 38: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

IntroduzioneInformatica

Page 39: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

IntroduzioneInformatica

Page 40: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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.: più algoritmi possono risolvere lo stesso problema

Programma implementazione di un algoritmo in un linguaggio formale n.b.: più programmi possono implementare lo stesso

algoritmo

IntroduzioneInformatica

Page 41: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

Terminologia

IntroduzioneInformatica

Page 42: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Software

Svariate decine di sistemi operativi MS-DOS, Windows 2000/XP/Vista/7 Mac OS 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 …

IntroduzioneInformatica

Page 43: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

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

IntroduzioneInformatica

Page 44: Introduzione all’Informatica - di.unito.itschi/informaticagiuristi/01-Introduzione.pdf · Questi lucidi sono stati ideati, preparati e aggiornati nel corso degli anni, oltre che

Tipi di d

ato