Informatica di base: dati, informazione e competenze digitali
L'informatica entra ormai in ogni ambito professionale, compresa la sanità, dove i dati del paziente vengono spesso custoditi in cloud, cioè su server gestiti da grandi player tecnologici come Google o Meta. Per proteggere queste informazioni si ricorre a tecniche di criptazione e decriptazione, codici di sicurezza resi sempre più necessari dall'aumento della capacità computazionale delle macchine (anche quelle usate da eventuali malintenzionati).
Molti problemi di sicurezza informatica nascono dal fatto che alcuni sistemi non vengono aggiornati e finiscono per esporre falle informatiche sfruttabili da chi vuole accedere abusivamente ai dati.
Le competenze digitali di base
Muoversi in sicurezza nel mondo digitale richiede alcune abilità fondamentali, distinte in quattro aree:
- Digital identity: la consapevolezza della propria presenza online e la capacità di gestire al meglio la propria reputazione digitale.
- Digital use: la capacità pratica di utilizzare dispositivi e sistemi differenti.
- Digital safety: saper riconoscere ed evitare i rischi legati all'uso del digitale, come cyberbullismo, radicalizzazione, violenza, oscenità.
- Digital security: saper riconoscere i pericoli di hacking, truffe o malware e conoscere le pratiche per proteggere dati e dispositivi.
A queste si affiancano altre competenze trasversali, altrettanto importanti:
- Digital emotional intelligence (empatia digitale): capacità di approcciarsi con consapevolezza all'altro anche attraverso uno schermo.
- Comunicazione digitale: saper comunicare, collaborare e farsi capire tramite tecnologia e media.
- Alfabetizzazione digitale: saper trovare informazioni online, valutarne la credibilità, creare e condividere contenuti propri.
- Diritti digitali: consapevolezza del diritto alla libertà di parola e di pensiero, ma anche di privacy, proprietà intellettuale e del discusso diritto all'oblio.
Che cos'è l'informatica
L'informatica è una scienza con fondamenti matematici che vanno oltre la semplice struttura fisica del computer. Con questo termine si indica l'insieme dei processi e delle tecnologie che permettono la creazione, la raccolta, l'elaborazione, l'immagazzinamento e la trasmissione dell'informazione, tramite metodologie e strumenti automatizzati avanzati.
Oggi l'informatica è diventata pregnante, invasiva, trasparente e imprescindibile: chiunque, in qualunque settore di studio o lavoro, si trova ormai a dover fare i conti con le tecnologie informatiche.
Le funzioni principali delle tecnologie informatiche sono tre:
- Elaborare dati per ottenere informazioni significative.
- Memorizzare le informazioni elaborate.
- Organizzare e gestire le informazioni.
Dato, informazione e modello: le definizioni chiave
Per comprendere correttamente il linguaggio informatico è essenziale distinguere alcuni termini che spesso vengono confusi tra loro.
In sintesi, informatica significa proprio trasformare dati in informazione, e il computer è l'insieme di componenti elettrici ed elettronici che rappresenta dati da organizzare in modelli.
Il ciclo di elaborazione dell'informazione
L'elaborazione dei dati non è un'operazione isolata, ma solo una fase di un processo più ampio chiamato ciclo di elaborazione dell'informazione, composto da cinque fasi collegate tra loro in sequenza circolare.
- Input
- Elaborazione
- Output
- Memorizzazione
- Distribuzione e comunicazione
- Input: immissione dei dati nel computer, tramite dispositivi come tastiera, scanner, mouse, microfono, telecamera. I dati inseriti possono essere testi, numeri, immagini o suoni, strutturati o non strutturati.
- Elaborazione: i dati vengono sottoposti a funzioni matematiche o statistiche attraverso un percorso logico programmato nel computer (ad esempio paragonare, classificare, sommare, formattare).
- Output: altri componenti tecnologici (schermo, stampante, altoparlanti) permettono di visualizzare o ascoltare il risultato dell'elaborazione.
- Memorizzazione: conservazione dei dati elaborati, in modo temporaneo o permanente, su nastri o dischi.
- Distribuzione e comunicazione: i dati possono essere stampati, distribuiti o trasmessi da un computer all'altro, per esempio come allegati di posta elettronica o tramite un sito web.
Hardware, software e architettura del computer
Distinguere hardware e software è il primo passo per capire come funziona davvero un computer: il primo è il corpo, il secondo è ciò che gli dà istruzioni e senso.
Hardware e software
L'hardware indica la struttura fisica dei dispositivi: non solo il computer con i suoi componenti (monitor, stampante), ma anche tutti gli elementi che collegano tra loro i sistemi informativi, come cavi e telefoni cellulari. È lo strumento fisico attraverso cui il software viene messo in pratica.
Il software, invece, rappresenta il livello logico: l'insieme delle istruzioni che consentono all'hardware di svolgere i propri compiti, cioè la procedura di elaborazione.
Cosa è un computer
Il funzionamento si basa sulla fisica dello scambio di elettroni, con sole due cifre disponibili: 0 e 1.
Quando si parla di tecnologie dell'informazione, in realtà non si ha mai a che fare con un singolo dispositivo isolato, ma con un sistema costituito da più componenti collegati tra loro.
Il computer, nel suo complesso (hardware e software), è un sistema perché costituito da componenti integrate che perseguono obiettivi comuni. Su scala più ampia, il computer diventa a sua volta un componente collegato ad altri dispositivi in una rete interna, che può far parte di una rete globale come Internet.
Le due categorie di software
Il software è una sequenza di istruzioni precise e dettagliate che permette al computer di svolgere i compiti assegnati. Si distinguono due categorie principali:
| Categoria | Funzione | Esempi |
|---|---|---|
| Sistema operativo | Gestisce le risorse hardware (memoria, dischi fissi, memorie flash, schermo, tastiera) e permette di installare ed eseguire i programmi applicativi | Windows, MacOS, Linux |
| Programmi applicativi | Consentono di svolgere operazioni specifiche | Stesura documenti, gestione contabilità, cartella clinica elettronica, sistema di somministrazione farmaci |
Algoritmo: la logica dietro il software
Parte essenziale di ogni software è l'algoritmo, l'insieme di operazioni logiche di base che definisce il percorso da seguire per raggiungere un risultato.
Affinché il computer possa portare a termine un compito, deve seguire le indicazioni scritte in un programma (detto anche software o applicazione): scrivere un programma significa "dire" al computer, passo dopo passo, esattamente cosa deve fare.
- Problema
- Individuazione dei passi elementari (logica)
- Scelta del linguaggio
- Traduzione dell'algoritmo in linguaggio
- Scrittura del software
- Trasmissione al computer
Le quattro proprietà dell'algoritmo
Ogni algoritmo, per essere valido, deve rispettare quattro caratteristiche fondamentali:
- Finitezza:
- spaziale — composto da un numero finito di passi elementari;
- temporale — le operazioni sono eseguite un numero finito di volte.
- Non ambiguità: i risultati non variano in funzione della macchina o della persona che esegue l'algoritmo (algoritmo deterministico).
- Realizzabilità: deve essere eseguibile con le risorse effettivamente a disposizione (non si può dare, ad esempio, un'istruzione come "prendere tutte le cifre del pi greco").
Un buon algoritmo deve inoltre rispettare altri requisiti:
- Prevedere un preciso input (ad esempio due numeri maggiori di zero).
- Produrre un preciso output (ad esempio il maggiore tra due numeri).
- Terminare sempre in un tempo finito, producendo un risultato: un algoritmo che proseguisse all'infinito sarebbe inutilizzabile.
- Produrre sempre il risultato corretto: sarebbe inutile un algoritmo corretto solo per una parte dei casi.
- Rispettare sempre i requisiti in ingresso imposti: se non rispettati, l'algoritmo diventa inutilizzabile.
Rappresentare gli algoritmi: i diagrammi di flusso
Per rappresentare graficamente un algoritmo si utilizza un linguaggio simbolico basato su figure geometriche, ciascuna con un significato preciso:
- Ellisse con "Inizio": indica il punto di partenza dell'algoritmo.
- Ellisse con "Fine": indica la conclusione dell'algoritmo.
- Parallelogramma con "I": rappresenta un'operazione di input (lettura).
- Parallelogramma con "O": rappresenta un'operazione di output (scrittura).
- Rombo: rappresenta i controlli, ad esempio la verifica se una condizione è vera o falsa.
- Rettangolo: indica un'operazione interna, come l'esecuzione di calcoli o assegnazioni.
Architettura e tipologie di calcolatori
Studiare l'architettura di un sistema significa individuare ciascun componente, comprenderne i principi generali di funzionamento e capire come i vari componenti interagiscono tra loro.
Esistono moltissimi tipi di elaboratori, grandi e piccoli, che si differenziano per dimensioni, velocità di elaborazione, capacità di memoria e numero di utenti che possono lavorarci contemporaneamente.
| Tipo | Utilizzo tipico |
|---|---|
| Supercomputer | Applicazioni tecnico-scientifiche: previsioni meteo, simulazione della fusione nucleare, studio di processi biologici e molecolari (sequenziatori DNA) |
| Mainframe o server | Funzioni centralizzate in aziende e università: gestione contabilità, sistema informativo ospedaliero; elaborano dati immessi da centinaia di utenti contemporaneamente |
| Personal computer | Diffusione dell'elaboratore nelle case, resa possibile dall'invenzione del microprocessore prodotto in serie e a basso costo |
1960 (fine anni)
Nasce Internet negli USA, inizialmente per scopi militari
++1981++
IBM realizza il primo personal computer
I sistemi di numerazione
Per capire come un computer elabora davvero le informazioni bisogna partire dal modo in cui rappresenta i numeri: tutto, nel digitale, si riconduce a sequenze di 0 e 1.
L'elaborazione digitale consiste proprio nella rappresentazione di numeri, musica, documenti e qualsiasi altro tipo di informazione in cifre binarie, in modo che possano essere elaborati e utilizzati dalle moderne tecnologie informatiche.
È importante distinguere cifra (uno dei simboli disponibili) da numero (la totalità della grandezza rappresentata).
Il sistema decimale
Il sistema decimale è un sistema di numerazione posizionale in base 10: per rappresentare un numero si usano dieci simboli diversi (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), ciascuno dei quali assume un valore diverso a seconda della posizione occupata.
La posizione di un simbolo all'interno di un numero indica l'esponente da dare alla base per ottenere il valore corretto: la prima cifra a destra rappresenta le unità (10⁰), la seconda le decine (10¹), la terza le centinaia (10²), e così via.
Il sistema binario
Il sistema binario è un sistema di numerazione posizionale in base 2: le cifre disponibili sono solamente due (0 e 1); per rappresentare un valore maggiore occorre quindi combinare più cifre insieme.
Il bit da solo permette di rappresentare solo due valori; per rappresentarne di più occorre usare sequenze più lunghe:
| Numero di bit | Valori rappresentabili |
|---|---|
| 1 bit | 2 valori: 0, 1 |
| 2 bit | 4 valori: 00, 01, 10, 11 |
| 3 bit | 8 valori: 000, 001, 010, 011, 100, 101, 110, 111 |
Bit, byte e rappresentazione dell'informazione
Il sistema informatico si fonda su un'unità minima di informazione, il bit, e sulle sue aggregazioni, che permettono di quantificare lo spazio occupato da qualsiasi dato in un computer.
Tutti i dati gestiti da un elaboratore — testi, immagini, video, programmi — sono alla base sequenze di bit. La regola fondamentale è che n bit rappresentano 2ⁿ diversi valori: con più bit a disposizione aumenta il numero di combinazioni possibili, quindi di informazioni codificabili.
- Giorni della settimana
- 001 Lunedì, 010 Martedì, 011 Mercoledì, 100 Giovedì, 101 Venerdì, 110 Sabato, 111 Domenica
Il byte e i suoi multipli
Otto bit messi insieme formano un byte (2⁸ = 256 informazioni rappresentabili), l'unità base per misurare quantità di dati e memoria.
| Multiplo | Sigla | Valore |
|---|---|---|
| Kilo | KB | 2¹⁰ ≈ 1.024 byte |
| Mega | MB | 2²⁰ ≈ 1.024 KB |
| Giga | GB | 2³⁰ ≈ 1.024 MB |
| Tera | TB | 2⁴⁰ ≈ 1.024 GB |
| Peta | PB | 2⁵⁰ ≈ 1.024 TB |
Che cos'è un algoritmo
Un esempio semplice è la procedura per trovare il numero maggiore tra due numeri A e B:
- Se A > B → il maggiore è A
- Altrimenti → il maggiore è B
Come si codifica fisicamente il bit
Il sistema binario usa solo le cifre 0 e 1, ma questi due stati devono essere tradotti in fenomeni fisici concreti che i dispositivi possano leggere e scrivere. Esistono diverse tecniche, tutte impiegate all'interno dei computer per memorizzare, elaborare e visualizzare i dati.
- Polarizzazione magnetica: su un disco o un nastro le particelle magnetiche possono puntare in due direzioni opposte; una direzione rappresenta lo 0, l'altra l'1.
- Scanalature ottiche: un CD-ROM presenta scanalature sulla superficie; quelle in rilievo corrispondono a 1, quelle piatte a 0. Il lettore è un laser (fascio di luce luminosa precisa) che scansiona i cerchi concentrici e traduce la lettura in bit, poi elaborati dalla macchina.
- Pixel su schermo: i punti accesi corrispondono a 1, quelli spenti a 0.
- Tensione elettrica: alta tensione = 1, bassa tensione = 0.
- Transistor: dispositivi a due posizioni, accesi (1) o spenti (0).
Segnale analogico e segnale digitale
Le informazioni possono essere rappresentate e trasmesse in due modi radicalmente diversi, ed è importante distinguerli perché determinano la qualità e la resistenza al rumore dei dati.
| Caratteristica | Segnale analogico | Segnale digitale |
|---|---|---|
| Rappresentazione | continua nel tempo | discreta (0 e 1) |
| Valori assumibili | infiniti, in un intervallo | solo due stati (acceso/spento) |
| Resistenza alle interferenze | bassa, si degrada facilmente | alta, i dati si ricostruiscono esattamente |
| Esempi | audio su cassette/vinili, vecchi TV e radio FM, sensori analogici | audio MP3/CD, TV digitale e internet, computer e smartphone |
Il processo che trasforma un'informazione analogica in digitale si chiama binarizzazione o digitalizzazione.
La codifica dell'informazione: il sistema ASCII
Tra informazione (nel mondo esterno) e rappresentazione binaria (nel computer) esiste un passaggio reciproco di codifica e decodifica. Per i simboli alfa-numerici il metodo condiviso in tutto il mondo è il codice ASCII.
Il codice ASCII è rappresentabile con soli 8 bit (un byte), quindi va dal numero binario 00000000 (decimale 0) a 11111111 (decimale 255), per un totale di 256 simboli codificabili. È lo strumento che permette di convertire un testo, informazione analogica per sua natura, nella sua versione digitale.
La codifica delle immagini
Anche un'immagine, per essere memorizzata da un computer, deve essere trasformata in una sequenza di bit attraverso un procedimento a più passaggi.
- Immagine originale
- suddivisione in griglia di righe e colonne
- quadratini di dimensioni uguali (pixel)
- 0 al pixel bianco, 1 al pixel nero
Per conservare meglio il dettaglio dell'immagine occorre usare quadratini molto più piccoli: questo parametro si chiama risoluzione dell'immagine. Più alta è la risoluzione, maggiore è il contenuto di memoria utilizzato dal computer.
I padri dell'informatica moderna
Due figure sono considerate fondatrici dell'informatica contemporanea: Alan Turing e John Von Neumann, ciascuno con un contributo teorico decisivo.
1912-1954
Alan Mathison Turing, matematico e logico inglese
1903-1957
John Von Neumann, matematico e informatico ungherese
1642
Blaise Pascal costruisce la Pascalina, prima calcolatrice meccanica
1944
Harvard University realizza il Mark1, considerato il primo computer
1946
Nasce l'ENIAC; Von Neumann progetta l'EDVAC nel 1952
1947
Nasce il transistor; nel 1954 il primo computer a transistor
1971
Intel produce il primo microprocessore
Alan Turing e la macchina universale
A 25 anni Turing elaborò la teoria della macchina di Turing, un modello teorico di macchina universale di calcolo. L'obiettivo delle sue ricerche era formalizzare la nozione di procedura effettiva (o meccanica) di calcolo, cioè di algoritmo.
John Von Neumann e l'architettura del computer
Von Neumann, matematico e informatico, fu anche fondatore della teoria dei giochi. Ideò la macchina di Von Neumann, un modello universale in grado di eseguire in linea di principio qualsiasi processo algoritmico, a patto di disporre di sufficienti risorse di tempo e memoria.
L'architettura prevede:
- una CPU (unità centrale di elaborazione), a sua volta composta dall'ALU (unità logico-aritmetica), che effettua le istruzioni matematiche
- una memoria divisa in celle, dove è conservato il software (dati e programmi)
- due tipologie di dispositivi: di ingresso (input) e di uscita (output)