MAPPE CONCETTUALI
Corso di Informatica
Scienze dell’Amministrazione e Organizzazione
Università Telematica San Raffaele Roma
Docente
Noemi Scarpato
INDICE
● Introduzione all’informatica
● Logica e informatica
● Algoritmi e calcolabilità
● Complessità di calcolo
● Linguaggi di programmazione
● Introduzione al computer
● Architettura di Von Neumann
● Dispositivi di Input / Output
● Architetture dei calcolatori
● Sistemi operativi
● Gestione dei processi
● Gestione della memoria
● Gestione dei dispositivi
● File system
● Sicurezza nei sistemi operativi
● Reti di calcolatori
● Infrastrutture di rete
● Protocolli di rete
● Struttura di Internet
● Servizi di Internet
● World Wide Web
● Motori di ricerca
● Profili giuridici
● Elaborazione dei documenti elettronici
● Elaborazione dei documenti di testo
● Basi di dati
● DBMS
● Modello Entità-Relazione
● Progettazione concettuale delle basi di dati
Informatica come disciplina chiave per
interpretare e governare la realtà digitale
Fornisce strumenti teorici e pratici per
comprendere il trattamento dell’informazione Conclusione Disciplina scientifica che studia il trattamento
Consente un uso efficace, critico e consapevole automatico dell’informazione
delle tecnologie Definizione di informatica Non si limita all’uso del computer
Competenza strategica utile in qualsiasi
contesto professionale e sociale Analizza processi, modelli e strumenti per
acquisire, elaborare, memorizzare e trasmettere
dati
Fondamenti teorici
Architettura dei calcolatori e sistemi operativi Strumenti tecnologici e servizi digitali Gestione delle informazioni
Introduzione
Principali ambiti di studio Prospettive dell'informatica
Gestione dei dati Metodi, principi e modelli teorici
all'informatica
dell'informatica Disciplina scientifica
Reti e servizi digitali Studio del funzionamento degli strumenti e
processi logici sottostanti
Elaborazione elettronica dei documenti Studio dei fondamenti teorici della
Per specialisti del settore rappresentazione dell’informazione
Aspetto scientifico
Uso consapevole e critico degli strumenti digitali Algoritmi e sistemi di calcolo
Importanza dello studio
dell'informatica
Miglioramento dell’efficienza e qualità del lavoro Fornitura di hardware e software
Informatica come scienza e Aspetto tecnologico
tecnologia
Valutazione delle potenzialità e limiti dei sistemi Automazione di attività complesse
Per professionisti di altri ambiti
informatici Progettazione di un algoritmo: attività scientifica
Comprensione della gestione e trasformazione Esempio
dei dati Implementazione in un programma: attività
tecnologica
Interazione efficace con software e servizi
digitali Mezzo per tradurre un algoritmo in forma
eseguibile da un calcolatore
Ruolo dei linguaggi di
Linguaggi di programmazione sono il ponte tra programmazione
ragionamento umano e esecuzione automatica Trasformano problemi astratti in istruzioni
Conclusione operative interpretabili dalla macchina
Competenza fondamentale per comprendere il
funzionamento dei sistemi informatici Sequenza finita di istruzioni per risolvere un
problema
Algoritmo
Traduce l’intero programma prima Compilatore
dell’esecuzione Non eseguibile direttamente da una macchina
Compilatori e interpreti Dal concetto di algoritmo al
Traduce ed esegue le istruzioni una alla volta Interprete programma Traduzione dell’algoritmo in istruzioni scritte
secondo una codifica precisa
Fondamenti Programma Comprensibile ed eseguibile da un calcolatore
Processo: esecuzione concreta delle istruzioni in dell’informatica: elettronico
un dato momento Processo ed esecuzione di un linguaggi di
programma
Differenza dall’algoritmo che descrive cosa fare
senza eseguirlo Comprensibile all’uomo
programmazione Interpretabile ed eseguibile dal calcolatore
Caratteristiche dei linguaggi di
Suddivisione del programma in parti più piccole programmazione Chiaro, conciso e non ambiguo
e gestibili Ogni istruzione ha un solo significato possibile
Procedure, funzioni e modularità
Migliorano la chiarezza del codice
Favoriscono la riutilizzabilità Operazioni di calcolo aritmetico
Riduzione degli errori Lettura e scrittura dei dati
Operazioni di base e strutture di Costrutti logici per organizzare istruzioni
controllo Sequenziale
Forme di organizzazione delle istruzioni Decisionale
Iterativa
Gli algoritmi sono la base teorica L’algoritmo è un concetto fondamentale
dell’informatica dell’informatica
Permettono di affrontare problemi di diversa Modello logico per descrivere la soluzione di un
complessità in modo strutturato Fondamenti dell’informatica problema in modo generale e sistematico
Conclusione
Comprendere un algoritmo significa: Trasforma una situazione iniziale in un risultato
finale tramite una sequenza ordinata di
Analizzare un problema operazioni
Definire una soluzione generale
Descriverla tramite una sequenza ordinata di Ogni algoritmo nasce dalla definizione di un
istruzioni problema
Il problema individua l’obiettivo da raggiungere
Rappresentazione grafica degli algoritmi L’algoritmo descrive il procedimento per
ottenere la soluzione
Costituiti da blocchi collegati da frecce che
indicano l’ordine di esecuzione Algoritmi
Diagrammi di flusso Dal problema alla soluzione Per costruire un algoritmo:
Visualizzano chiaramente la logica dell’algoritmo Individuare i dati iniziali
Facilitano la comprensione dei flussi di controllo Definire le operazioni da eseguire
Stabilire il risultato finale atteso
Istruzioni sequenziali: eseguite una dopo l’altra
Istruzioni condizionali: scelgono tra alternative Flussi di controllo Sequenza di istruzioni non ambigua, finita e
basate su condizioni vere o false ripetibile
Istruzioni iterative: ripetono un insieme di Le istruzioni devono essere precise e
operazioni per un certo numero di volte interpretabili in modo univoco
Caratteristiche di un algoritmo Un algoritmo è finito quando termina dopo un
numero limitato di passi
La soluzione si ottiene manipolando dati iniziali
tramite una sequenza di istruzioni È ripetibile quando produce risultati coerenti
Dati, istruzioni e risultati eseguendolo più volte con gli stessi dati
L’algoritmo produce uno o più risultati come
output del procedimento Studio dei problemi risolvibili con un algoritmo
Definizione di calcolabilità Identificazione dei limiti del calcolo automatico
Esistenza di un algoritmo che termina dopo passi
finiti
Algoritmo fornisce risultato corretto per ogni
Problema calcolabile input valido
Non riguarda l’efficienza ma la possibilità di
soluzione automatica
Terminazione essenziale per la calcolabilità
Algoritmi e terminazione Algoritmo in ciclo infinito non risolve il problema
Verifica della terminazione è centrale nello
studio
Fondamenti dell’informatica Problemi senza alcun algoritmo risolutivo
Non dipendono da potenza dei calcolatori o
Problemi non calcolabili
Calcolabilità linguaggi
Limiti teorici dell’informatica
Modello astratto che simula qualsiasi algoritmo
Macchina universale Analizza cosa può essere calcolato e cosa no
Esempio classico di problema non calcolabile
Problema della decisione Non esiste algoritmo che stabilisca se un
programma termina o va in loop infinito
Comprendere i limiti fondamentali del calcolo
automatico
Conclusione Distinzione tra ciò che può essere automatizzato
e ciò che non può esserlo Studia le risorse necessarie per risolvere un
problema tramite un algoritmo
Analizza tempo e memoria richiesti durante
Fondamenti dell’informatica Complessità di calcolo l’esecuzione
Lo studio della complessità consente di valutare
l’efficienza degli algoritmi Indipendente da linguaggio di programmazione o
calcolatore
Aiuta a scegliere la soluzione più adatta a un Conclusione
problema
Essenziale per progettare programmi affidabili e Non basta verificare se un algoritmo funziona
scalabili correttamente
Concetto di complessità È necessario valutare l’efficienza degli algoritmi
Dipende dalla dimensione dell’input Misura delle prestazioni in termini astratti
Complessità di
Numero di operazioni può crescere in modo Crescita della complessità Calcolo
lineare, quadratico o esponenziale Indica il numero di operazioni elementari
Fondamentale per prevedere il comportamento eseguite
dell’algoritmo Tempo di calcolo Funzione della dimensione dei dati di ingresso
Algoritmi con lo stesso risultato possono avere Permette di stimare la crescita del tempo di
complessità diverse esecuzione con l’aumentare del problema
Confronto tra algoritmi
Algoritmo efficiente usa meno tempo o spazio Misura la quantità di memoria necessaria per
Permette risoluzione di problemi di dimensioni l’esecuzione
maggiori Spazio di calcolo Include spazio occupato dai dati e dalle
strutture di supporto
Il legame tra logica e informatica consente di
comprendere le basi teoriche del calcolo
automatico Conclusione Base dello sviluppo teorico e pratico dei sistemi
La logica permette di definire, analizzare e di calcolo
verificare i processi dell’elaborazione delle
informazioni La logica fornisce strumenti formali per
Rapporto tra logica e informatica descrivere il ragionamento corretto
L’informatica utilizza tali strumenti per
Verifica la correttezza degli algoritmi progettare algoritmi e sistemi automatici
Ruolo della logica nel calcolo
Dimostra proprietà fondamentali come
terminazione e coerenza dei risultati automatico La logica matematica studia le regole del
Strumento essenziale per garantire l’affidabilità Fondamenti ragionamento valido
dei sistemi informatici dell’informatica: In informatica, queste regole formalizzano
Logica matematica e informatica problemi
logica e informatica
Modelli astratti rappresentano il funzionamento Definiscono procedure precise
dei calcolatori Verificano la correttezza dei processi di calcolo
Consentono lo studio generale delle capacità e Macchine astratte e modelli logici
dei limiti del calcolo automatico
Indipendenti dalla tecnologia impiegata Obiettivo: stabilire quali problemi sono risolvibili
con procedure automatiche
Problemi risolubili e non risolubili Alcuni problemi hanno soluzioni algoritmiche
Traduzione di un problema reale in un linguaggio
rigoroso e privo di ambiguità Altri presentano limiti teorici che impediscono
risoluzioni complete
Passaggio essenziale per l’esecuzione corretta Formalizzazione dei problemi
delle istruzioni da parte del calcolatore
Garantisce risultati affidabili Il computer è uno strumento generale e
programmabile
Può svolgere un numero molto elevato di
Programmabilità compiti diversi
Comprendere il funzionamento dei sistemi
informatici è essenziale A differenza delle macchine tradizionali,
modifica il proprio comportamento in base al
Distinzione tra hardware e software Conclusione Caratteristiche fondamentali del programma eseguito
fondamentale computer Attraverso programmi diversi può scrivere testi,
Conoscere il ruolo del sistema operativo e i elaborare immagini e filmati
principi di rappresentazione dell’informazione è
importante per lo studio dell’informatica Può progettare strutture, produrre musica o
Flessibilità svolgere attività di gioco
Le informazioni vengono rappresentate La flessibilità rende il computer uno strumento
Codifiche digitali
attraverso codifiche digitali estremamente versatile
I numeri possono essere espressi in basi diverse Rappresentazione dell’informazione
Numeri e testi Il computer esegue istruzioni con estrema
I testi sono rappresentati tramite codifiche velocità
standard come ASCII e Unicode Velocità di esecuzione
Introduzione al
Basato sui valori 0 e 1 Elabora grandi quantità di dati
Sistema binario Computer e programmi
computer Ogni risultato dipende dalla correttezza del
Alla base della rappresentazione dei dati programma eseguito
Dipendenza dal programma Errori nella sequenza di istruzioni portano a
Programma fondamentale per il funzionamento risultati errati anche con calcoli rapidi
del computer Il sistema operativo
Gestisce le risorse hardware Funzioni principali Sono integrati in altri dispositivi come telefoni
cellulari, automobili, elettrodomestici e sistemi di
Coordina l’esecuzione dei programmi controllo
Consente l’interazione tra l’utente e la macchina Computer specializzati Non sono percepiti come dispositivi autonomi
Funzionano come parte integrante
dell’apparecchiatura
Comprende tutti i componenti fisici del Hardware
computer Hardware e software
Insieme di programmi e dati che regolano il Software
funzionamento dell’hardware Programmi e dati memorizzati nella stessa
memoria
Struttura generale Gestione sequenziale da parte dell’unità centrale
di elaborazione Spesso indicata come RAM
Fondamento teorico dei moderni sistemi di
calcolo Memoria volatile che perde i dati allo
Conclusione spegnimento
Comprensione essenziale per lo studio di Memoria interna
informatica, architetture dei computer e sistemi Contiene dati e istruzioni per l’esecuzione dei
operativi Architettura di Von programmi
Neumann Accesso diretto tramite indirizzi univoci
Collo di bottiglia di Von Neumann Esegue le istruzioni e coordina il sistema
Condivisione dello stesso canale di Limiti dell’architettura
comunicazione per dati e istruzioni Unità di controllo: gestisce il ciclo delle istruzioni
Componenti della CPU
Possibile rallentamento delle prestazioni con Unità logico-aritmetica: esegue operazioni
grandi quantità di dati matematiche e logiche
Unità centrale di elaborazione (CPU) Fase di istruzione: lettura e decodifica
dell’istruzione
Elementi principali della macchina Fase di esecuzione: lettura operandi, esecuzione
Ciclo della CPU istruzione, memorizzazione risultato
Funzionamento sequenziale e sincronizzato con
orologio di sistema
Consente comunicazione tra i componenti
Composto da bus dati, bus indirizzi e bus di
Bus di sistema controllo
Trasferisce dati, indirizzi di memoria e segnali di
controllo Memoria esterna (memoria di massa): conserva
dati e programmi in modo persistente
Memoria esterna e periferiche Periferiche input/output: permettono interazione
con ambiente esterno, inserimento e
visualizzazione informazioni
Dispositivi di Input / Output
INPUT MEMORIA DI MASSA
Tastiera Hard disk
Mouse SSD
Scanner Supporti ottici
Microfono DISPOSITIVI I/O
Comunicazione
↔
computer ambiente
OUTPUT PORTE / CONNESSIONI
Schermo USB
Stampante FireWire
Altoparlanti Bluetooth
Wi-Fi
CONTROLLER SUPPORTI
Gestione Magnetici
lettura / scrittura Ottici
flusso dati Stato solido Insieme dei componenti hardware e software che
costituiscono un elaboratore
Concetto di architettura Determina il comportamento del computer
Definisce come le parti del sistema cooperano
per eseguire programmi e gestire informazioni
Architettura del sistema
Analisi architetturale Tre aspetti fondamentali Rappresentazione dei dati
Comprendere le architetture dei calcolatori è Potenza di calcolo
fondamentale per interpretare l’evoluzione dei
sistemi informatici Conclusione
Lo studio di rappresentazione dati, livelli Analogica
gerarchici e classificazione fornisce visione
completa del funzionamento e potenzialità dei Basata su grandezze fisiche continue e Digitale
moderni calcolatori proporzionali al dato
Forme di rappresentazione Scompone l’informazione in unità discrete
rappresentate da numeri
Evoluzione tecnologica dei circuiti integrati Architetture e Consente memorizzazione ed elaborazione da
Densità dei componenti sui chip raddoppia ogni sistemi operativi: parte dei calcolatori
18 mesi circa Legge di Moore Rappresentazione dei dati
architetture dei Campionamento di un segnale analogico a
Ha portato a computer più potenti e a costi intervalli regolari
contenuti calcolatori Trasformazione in sequenza di valori numerici
Avvicinamento ai li
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Mappe concettuali dinamiche
-
Reumatologia - Schemi e mappe concettuali
-
Dermatologia - schemi e mappe concettuali
-
Biochimica, mappe concettuali, 2