Sei sulla pagina 1di 26

Introduzione all’informatica

Roberto Casadei
roby.casadei@unibo.it

Fondamenti di Informatica (cod. 09730), a.a. 2021/2022

Laurea in Ingegneria Biomedica


Laurea in Ingegneria Elettronica

Campus di Cesena
Alma Mater Studiorum – Università of Bologna

versione slide: 2022–02–21

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 1/23
Ringraziamenti

Queste slide si basano sulla presentazione “Introduzione all’Informatica” della


Prof. Sara Montagna (corso di Fondamenti di Informatica A, a.a. 2020-21)
Si ereditano i ringraziamenti di quest’ultima verso i Proff. Moreno Marzolla e
Andrea Roli

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 2/23
Outline

1 Introduzione

2 Perché Studiare l’Informatica

3 I Computer: dall’Hardware al Software


A proposito dell’informatica...
“[Computer science] is not really about computers – and it’s not about computers in
the same sense that physics is not really about particle accelerators, and biology is
not about microscopes [...]” � (Hal Abelson)
strumenti vs. discipline
“I’m personally convinced that computer science has a lot in common with physics.
Both are about how the world works at a rather fundamental level. The difference, of
course, is that while in physics you’re supposed to figure out how the world is made
up, in computer science you create the world. Within the confines of the computer,
you’re the creator. You get to ultimately control everything that happens. If you’re
good enough, you can be God. On a small scale.” � (Linus Torvalds)
una disciplina tra scienza e ingegneria

Nota terminologica: in inglese, due termini per “informatica”


computer science: scienza della computazione e dei “computer” in senso lato
(trattamento automatico dell’informazione)
informatics: disciplina che risolve problemi attraverso la computazione in un
certo dominio ! applicazione della “computer science” tra società e tecnologia
Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 3/23
Cosa non è l’informatica

L’informatica non è solo lo studio del “calcolatore elettronico”


L’informatica non è solo lo studio di come si programma un “calcolatore”
L’informatica non è solo l’insieme delle applicazioni basate su computer e
software

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 4/23
Cos’è l’informatica
L’informatica è una disciplina scientifica
Strutturata in settori molto diversi
Abbraccia campi disparati

Una prima definizione


Scienza della rappresentazione ed elaborazione [automatica]
dell’informazione
(Soggetto) Scienza: approccio sistematico e rigoroso (metodo)
(Oggetto) Rappresentazione ed elaborazione automatica dell’informazione
� Informazione al centro della definizione
� Due problemi principali: (1) rappresentare ed (2) elaborare l’informazione,
istruendo macchine per farlo autonomamente
Automatico: qualcosa che funziona autonomamente
dal greco “automatos”, ovvero “che si muove da sé”
INFORMATICA = INFORMazione + automATICA
Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 5/23
Un’altra definizione
Definizione dell’Association for Computing Machinery (ACM)
“L’informatica è lo studio sistematico degli algoritmi che descrivono e
trasformano l’informazione: la loro teoria, analisi, progetto, efficienza,
realizzazione e applicazione.
Algoritmo al centro della definizione
Sequenza precisa di azioni formalizzabili (e perciò eseguibili in maniera automatica)
che portano alla soluzione di un problema con un numero finito di azioni
Un algoritmo riceve una informazione in ingresso (input), la elabora, e produce una
informazione in uscita (output)

Lo studio degli algoritmi comprende:


Le loro proprietà formali e matematiche
Le loro rappresentazioni mediante linguaggi formali
La loro implementazione hardware
Le loro implementazioni software
Le loro applicazioni
Approfondiremo nel seguito del corso questo concetto di importanza critica
Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 6/23
Aree disciplinari dell’informatica

Modelli computazionali
Algoritmi e strutture dati
Architettura dei calcolatori
Intelligenza artificiale e robotica
Basi di dati e sistemi per il ritrovamento dell’informazione
Grafica computerizzata
Interazione user-computer (human-computer interaction)
Sistemi operativi
Linguaggi di programmazione
Ingegneria del software

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 7/23
L’Informatica

L’informatica comprende una molteplicità di cose


Metodi e strumenti per la rappresentazione delle informazioni
Metodi e strumenti per l’elaborazione delle informazioni
Linguaggi di programmazione
Architettura dei calcolatori
Sistemi operativi
Reti di calcolatori
Calcolo numerico
Intelligenza artificiale
...

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 8/23
Una lunga storia... [3] �
Aristotele (384–322 a.C.): fonda la logica come scienza filosofica analitica (cf.
sillogismi)
Gottfried Leibniz (1646–1716): precursore del calcolo automatico; inventò una
calcolatrice meccanica in grado di moltiplicare e dividere
George Boole (1815–1864): il padre dell’algebra Booleana (approccio algebrico
alla logica)
Ada Lovelace (1815–1852): l’inventrice della programmazione / primo algoritmo
pensato per una macchina (la macchina di Babbage)
Gottlob Frege (1848–1925): il padre della moderna logica matematica
Cantor (1845-1918): il padre della moderna teoria degli insiemi
Hilbert (1862-1943): cf. teorema di finitezza
Gödel (1906–1978): cf. teoremi di completezza (indecidibilità di enunciati e di
coerenza di sistemi assiomatici)
Alan Turing (1912–1954): il padre dell’informatica
� Macchina di Turing: modello matematico di supposta massima espressività
computazionale
� Congettura di Church-Turing: per ogni problema computabile, esiste una macchina
di Turing in grado di risolverlo

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 9/23
Outline

1 Introduzione

2 Perché Studiare l’Informatica

3 I Computer: dall’Hardware al Software


L’informatica per ingegneri (e non solo)
� L’informatica forma al ragionamento logico ed alla comprensione e costruzione
di processi automatici (e la loro implementazione come software)
Il pensiero computazionale � (l’insieme dei processi mentali coinvolti
nell’analisi/formulazione di problemi e definizione di procedure automatiche per
risolverli) è applicabile trasversalmente, specialmente alle materie STEM
(Science, Technology, Engineering, Mathematics)
� competenza trasversale: in generale, è un’abilità generale, utile e riusabile in tutti
gli ambiti della vita
Il software è pervasivo nella società e supporta il lavoro di ingegneri e non solo
facilita l’indagine scientifica e ingegneristica: ad esempio, permette di studiare
fenomeni, analizzare immense quantità di dati, simulare “mondi”..
promuove l’efficienza: permette di risparmiare tempi e costi automatizzando task
ripetitivi e onerosi
nobilita l’uomo: permette agli umani di focalizzarsi su problemi più creativi e
strategici
promuove evoluzione e generatività: consente applicazioni inimmaginabili e di
portata planetaria
cf. Internet, Wikipedia, ...
� Complementarità dell’intelligenza umana e dell’intelligenza artificiale
Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 10/23
L’informatica per gli Ingegneri Elettronici

Ingegneria Elettronica (Wikipedia)


“L’ingegneria elettronica è un ramo dell’ingegneria dell’informazione che
applica principi di elettrologia, elettrotecnica, elettronica, elettromagnetismo e
di altre discipline collegate alla progettazione e realizzazione di
componenti, circuiti, apparati e sistemi elettronici di trasmissione,
ricezione ed elaborazione dell’informazione stessa. L’ingegnere elettronico
grazie al suo approccio multidisciplinare nel ramo dell’informazione ha alte
competenze nel settore informatico (progettazione, architettura,
programmazione, sistemistica, security, testing).”

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 11/23
L’informatica per gli Ingegneri Biomedici
Sistemi informativi
LIS (Laboratory Information Systems), RIS, PACS, Administrative Data...
Simulazione
Analisi del funzionamento di un sistema biologico
What-if analysis
Modelli matematici e computazionali
Pervasive Healthcare Computing
Wearable, Eyewear computing, teleconsulto ecc.
Realtà Virtuale
Intelligenza artificiale e Big Data per una Smarter Health
Robot-Assisted Surgery
Virtual Assistant
Automated Image Diagnosis
Dosage Error Reduction
Clinical Decision Support Systems
Examples: Watson Health �, Siemens Healthineer, GE Healthcare

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 12/23
Outline

1 Introduzione

2 Perché Studiare l’Informatica

3 I Computer: dall’Hardware al Software


Cos’è un Computer?
Per “computer” si intende tipicamente un elaboratore elettronico digitale
Un computer è un dispositivo programmabile in grado di svolgere in modo
automatico una sequenza di istruzioni aritmetiche o logiche.
Esso è in grado di:
Rappresentare dati
Elaborare dati
Memorizzare dati
Trasferire dati da e verso l’esterno
Eseguire operazioni di controllo e coordinamento tra le parti di cui è composto

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 13/23
Molti esempi concreti

Esiste un’ampia varietà di computer, con differenze terminologiche,


tecnologiche, e applicative, con varie possibili classificazioni �
personal computer
notebook
server
sistemi a microcontrollori e SoC
Arduino, Raspberry Pi

smartphone, tablet, etc.


supercalcolatori
computer quantistici
grid, cloud, etc.

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 14/23
Hardware, Firmware, Software

Hardware
Struttura fisica dei dispositivi
Componenti elettroniche con specifiche funzioni

Software
Livello logico
Insieme delle istruzioni che consentono all’hardware di svolgere i propri compiti

Firmware (Firm + Software)


Parte software integrata direttamente nell’hardware

“L’hardware è la parte del computer che puoi prendere a calci; il software


quella contro cui puoi solo imprecare.” [2]

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 15/23
Principali componenti HW di un computer

Unità di elaborazione o processore (CPU)


La parte del sistema che svolge l’elaborazione coordina il trasferimento dei dati
Memoria centrale (RAM)
Utilizzata per memorizzare dati e istruzioni
Capacità limitata
Volatile
Accesso molto rapido
Memoria secondaria o di massa (Hard disk e supporti rimovibili)
Memorizza grandi quantità di dati
Persistente
Accesso meno rapido rispetto a RAM
Bus di sistema
Permette il trasferimento dati tra i vari componenti
Unità periferiche (dispositivi di Input/Output)
Monitor, tastiera, mouse, lettore CD/DVD, stampanti..

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 16/23
Principali componenti SW di un computer

Sistema operativo
Software di base che permette di gestire le risorse hardware e mettere in
esecuzione gli altri programmi
Svolge principalmente tre funzioni [1]:
1) Organizzazione e virtualizzazione delle risorse
2) Esecuzione concorrente di programmi
3) Persistenza dati ed accesso a dispositivi

Software applicativo
E.g., browser, editor di testo, fogli di calcolo, ambienti di programmazione, posta
elettronica

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 17/23
Livelli di organizzazione (ed astrazione)

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 18/23
Architettura di von Neumann [4] (1/4)

Architettura di von Neumann: descrive un progetto di calcolatore elettronico


digitale con
1) Central Processing Unit (CPU), che include
Arithmetic Logic Unit (ALU)
Control Unit
Registri del processore

2) Memoria principale: immagazzina dati e istruzioni


3) Periferiche di I/O

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 19/23
Architettura di von Neumann [4] (2/4)

[4]

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 20/23
Architettura di von Neumann [4] (3/4)

Ciclo fetch-decode-execute
1) Fetch. L’unità di controllo preleva (a partire dalla posizione indicata dal Program
Counter), la prossima istruzione del programma dalla memoria.
2) Decode. L’istruzione è decodificata in un linguaggio che l’ALU può
comprendere. Inoltre, gli operandi dell’isteuzione sono recuperati dalla memoria
e immagazzinati nei registri della CPU.
3) Execute. L’ALU esegue l’istruzione e pone i risultati su registri e/o memoria.

Per “architettura di von Neumann” si intende comunemente quella di ogni


computer a programma memorizzato dove il prelevamento di istruzioni e
dati non può avvenire nello stesso tempo in quanto condividono il bus
(von Neumann bottleneck)
Negli anni, varie evoluzioni ed alternative dell’architettura sono emerse
cf. Architettura Harvard: memorie e bus differenziati per dati e istruzioni

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 21/23
Architettura di von Neumann [4] (4/4)
Modello a bus di sistema [4]
Il bus di sistema consiste in:
bus dati
bus degli indirizzi
bus di controllo

Questi temi sono approfonditi nei corsi di Calcolatori elettronici

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 22/23
Riferimenti bibliografici (1/1)

[1] R.H. Arpaci-Dusseau and A.C. Arpaci-Dusseau. Operating Systems: Three Easy Pieces.
CreateSpace Independent Publishing Platform, 2018. ISBN: 9781985086593. URL:
https://books.google.it/books?id=0a-ouwEACAAJ.
[2] D.P. Curtis. Informatica di base. McGraw-Hill Education, 2012. ISBN: 9788838667473.
URL : https://books.google.it/books?id=ndKctgAACAAJ.

[3] M. Davis, G. Rigamonti, and A.L. Rana. Il calcolatore universale. Da Leibniz a Turing. Gli
Adelphi. Adelphi, 2012. ISBN: 9788845927416. URL:
https://books.google.it/books?id=vKatLwEACAAJ.
[4] L. Null and J. Lobur. Essentials of Computer Organization and Architecture. Jones &
Bartlett Learning, 2014. ISBN: 9781284033151. URL:
https://books.google.it/books?id=3kQoAwAAQBAJ.

Casadei Introduzione Perché Studiare l’Informatica I Computer: dall’Hardware al Software Riferimenti 23/23

Potrebbero piacerti anche