Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica umanistica, Appunti di Fondamenti di informatica

Appunti dei principali argomenti trattati nelle lezioni

Tipologia: Appunti

2024/2025

In vendita dal 27/01/2025

elenacc05
elenacc05 🇮🇹

2 documenti

1 / 48

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
FONDAMENTI DI INFORMATICA
INFORMATICA --> scienza che studia l'elaborazione delle informazioni e le sue
applicazioni. Più precisamente si occupa della rappresentazione,
dell'organizzazione e del trattamento automatico dell'informazione.
-informazione: come rappresentare i dati in modo informatico?
-automatico: come funziona una macchina?
-trattamento: come istruire una macchina?
COME RAPPRESENTARE IN MODO INFORMATICO I DATI
CODICE: è un sistema di segni o simboli e di regole di composizione, pensati per
rappresentare una qualche informazione (numero, lettera, immagine, suono).
Viene assegnata ad un informazione una particolare sequenza di simboli --> si crea
una mappa BIUNIVOCA (partendo da un informazione precisa abbiamo un unica
sequenza nel codice corrispondente a quell'informazione).
Quando si usano i codici sono coinvolti due processi:
1. codifica: trasforma quel carattere in una particolare sequenza di simboli
2. decodifica: converte una sequenza di simboli dell’alfabeto del codice
nell’informazione di partenza codificata dalla sequenza
(es. codice Morse e codice di Cesare)
CODICE BINARIO: modo in cui i computer memorizzano e elaborano informazioni,
rappresentate secondo sequenze di BIT (binary digit)
- Può rappresentare due condizioni diverse (acceso/spento)
- I simboli utilizzati sono SOLO 2: il simbolo 0 e il simbolo 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

Anteprima parziale del testo

Scarica Introduzione all'informatica umanistica e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

FONDAMENTI DI INFORMATICA

INFORMATICA --> scienza che studia l'elaborazione delle informazioni e le sue applicazioni. Più precisamente si occupa della rappresentazione, dell'organizzazione e del trattamento automatico dell'informazione.

-informazione: come rappresentare i dati in modo informatico?

-automatico: come funziona una macchina?

-trattamento: come istruire una macchina?

COME RAPPRESENTARE IN MODO INFORMATICO I DATI

CODICE : è un sistema di segni o simboli e di regole di composizione, pensati per rappresentare una qualche informazione (numero, lettera, immagine, suono).

Viene assegnata ad un informazione una particolare sequenza di simboli --> si crea una mappa BIUNIVOCA (partendo da un informazione precisa abbiamo un unica sequenza nel codice corrispondente a quell'informazione).

Quando si usano i codici sono coinvolti due processi:

  1. codifica : trasforma quel carattere in una particolare sequenza di simboli
  2. decodifica : converte una sequenza di simboli dell’alfabeto del codice nell’informazione di partenza codificata dalla sequenza

(es. codice Morse e codice di Cesare)

CODICE BINARIO: modo in cui i computer memorizzano e elaborano informazioni, rappresentate secondo sequenze di BIT (binary digit)

  • Può rappresentare due condizioni diverse (acceso/spento)
  • I simboli utilizzati sono SOLO 2: il simbolo 0 e il simbolo 1

I computer usano il sistema binario per due ragioni tecnologiche: la prima è che i transitor (ovvero il componente base delle memorie) hanno due stati di funzionamento (acceso/spento) e la seconda è per la correlazione con il sistema di numerazione binario (i calcoli matematici in binario sono facili da eseguire per un calcolatore)

Per rappresentare un numero maggiore di informazioni è necessario usare sequenze di bit (sequenze di simboli 0 e 1). Con due bit posso rappresentare 4 informazioni diverse (00-01-11-10).

Con una sequenza di N Bit (numero indefinito) riesco a codificare 2^N informazioni differenti --> con 4 bit riesco a rappresentare 16 informazioni diverse (2^4). Con 6 bit posso rappresentare 64 informazioni diverse.

Viceversa, se voglio sapere quanti bit mi servono per rappresentare quelle informazioni ⟶ 2^n >= M (informazioni diverse) --> per rappresentare 40 informazioni servono almeno 6 bit (2^6=64 > 40)

BYTE : sequenza di 8 bit. Viene usato per misurare la quantità di memoria di un dispositivo.

Multipli del byte:

-kilobyte --> 2^10 (1024 byte)

-megabyte --> 2^

-gigabyte --> 2^

-terabyte --> 2^

Il codice binario nasce da Leibniz. In uno dei suoi lavori aveva creato un sistema per fare dei conti basato su numeri che si potevano scrivere solo con 0 e 1.

Qualcosa di simile era già conosciuto dalla cultura cinese ⟶ nel Libro dei Mutamenti erano presenti 64 esagrammi (6 linee) di simbolo 1 (tratteggio pieno) e 0 (due trattini).

Con il codice possiamo rappresentare numeri, caratteri, video, suoni, immagini…

NUMERI BINARI E BIT

per ottenere una rappresentazione digitale:

  1. si parte da numero in base 10 e si calcola la sua rappresentazione in base 2
  2. si associa cifra 1 a bit valore 1, cifra 0 a bit valore 0

per ottenere il numero corrispondente --> faccio il procedimento inverso

OVERFLOW --> quando si eccede il numero di bit destinati alla rappresentazione si genera un errore perché il numero non può essere gestito

2.CODIFICA BINARIA DEI CARATTERI

Rappresentare le lettere dell'alfabeto ⟶ si usano le tabelle di corrispondenza (Coded Character set). Per ogni sequenza di bit c'è un carattere.

ASCII --> prima tabella diffusa (American Standard Code for Information Interchange)

Nasce in America e codifica cifre numeriche, lettere minuscole, maiuscole, punteggiatura.

Ad ogni carattere è associata una sequenza di 7 bit (2^7 = 128 caratteri diversi) ⟶ nella versione successiva diventano 8 bit per rappresentare ulteriori caratteri ( in alfabeti o lingue diverse).

Organizzata in 3 parti : i primi 31 caratteri erano di controllo (vai a capo, sposta a destra), dal 32 fino al 127 ci sono quelli stampabili e sono quelli anglosassoni, e quelli estesi sono dal 128 al 256. Per passare da lettera maiuscola a minuscola si cambia il terzo bit

operazione inversa: ogni 8 bit taglio la sequenza e identifico il carattere

PLAIN TEXT

-è un file che consiste in solo una sequenza di codici binari di caratteri.

-Il contenuto può essere non necessariamente testuale

-è il codice sorgente di tutti i linguaggi di programmazione per computer

  • per crearlo si possono usare diversi strumenti (Visual Studio Code)

ASCII ha avuto varie estensioni per includere simboli aggiuntivi, alcune standardizzate da ISO.

PROBLEMA! la stessa sequenza di un'estensione nella tabella 1 rappresenta una lettera, nella tabella 2 un altra.

MOJIBAKE ⟶ testo contiene caratteri sbagliati perché la tabella usata è sbagliata.

Per gestire un testo contenente parole di lingue diverse da loro --> nuova tabella di codifica UNICODE ⟶ copre la maggior parte dei simboli degli alfabeti usati in tutto il mondo. Inizialmente unicode usava 16 bit (65000 simboli), ora ne usa 21 (più di 2 mln di simboli diversi).

Occupano più del doppio dello spazio in memoria rispetto ad ascii + testi con tabella ascii non erano interpretabili con quella unicode --> proposto UTF-

UTF-8 ⟶ rappresenta tutto Unicode ⟶ la lunghezza delle sequenze non è più fissa ma con un numero variabile di byte --> i caratteri più usati vengono rappresentati con 8 bit (gli stessi di ascii). Per i caratteri rari usa sequenze di bit più grandi.

VANTAGGI --> copre tutto unicode, i caratteri codificati in ascii possono essere aperti, è la codifica predefinita per il formato xml e quella standard del web.

il numero di bit per rappresentare l’immagine è dato da RISOLUZIONE x PROFONDITA’

Esistono formati di compressione ⟶ vengono fatte strategie per comprimere l’informazione. Ciò comporta una perdita di informazione e di qualità.

Grafica vettoriale (SVG) ⟶ altra modalità per rappresentare immagini. Si descrivono gli oggetti nell’immagine dal punto di vista geometrico ⟶ definita un’asse e vengono elencati i componenti dell’immagine (le coordinate).

Possiamo ridimensionare l’immagine a piacere senza ridurne la qualità (non possibile con immagini bitmap). è un formato plain text ⟶ le istruzioni sono scritte in caratteri.

4.CODIFICA BINARIA DEI SUONI

Variazione di pressione dell’aria dovuta da sorgente che emette suono e si propaga nel TEMPO. Può essere rappresentato come un’onda.

In informatica abbiamo strumento che permette di catturare il suono (microfono) che con membrana trasforma pressione in segnale elettrico.

campionamento ⟶ a certi intervalli regolari di tempo misuro quanto è ampia l’onda in quel particolare momento del tempo.

Ottengo una successione di ampiezze ⟶ stabilisco che per rappresentare una certa altezza mi serve una certa sequenza di bit ( quantizzazione ) ⟶ ad ogni campione associo una sequenza di bit in base all’altezza.

● Frequenza di campionamento: numero di campioni registrati al secondo. Più volte vado a campionare in un secondo, maggiore è il file audio. ● Dimensione di campionamento: numero di bit disponibili per memorizzare ciascun campione d’onda

Per comprimere ⟶ mp3 (qualità si perde)

5.CODIFICA BINARIA DEI VIDEO

Immagini una dopo l’altra, movimento dovuto alla velocità. Ogni immagine che compone il video si chiama FRAME (25 frame al secondo vengono visti come un’immagine continua).

Vengono messe in sequenza la codifica delle immagini che lo compongono

es. • 5 minuti di video (300 secondi) • 25 frame al secondo • risoluzione: 640 x 480, profondità: 16 bit ⟶ dimensione: 300 x 25 x (640 x 480 x 16) = 36.864.000.000 bit =4,3GB

Tecniche di compressione ⟶ nel frame successivo viene codificato solo ciò che è cambiato.

COME SI ISTRUISCE UN CALCOLATORE

Il computer è un esecutore di programmi. Il programma è risultato di un’analisi di un problema, delle operazioni per la sua risoluzione (attraverso l’algoritmo) e dall’esecuzione delle istruzioni.

ALGORITMO ⟶ è un insieme finito di passi elementari (istruzioni) che, eseguiti secondo un ordine prestabilito, permettono di risolvere un determinato problema trasformando i dati di input in dati di output (o risultati) sfruttando la relazione tra input e output.

  • Un’unità di controllo programmata con istruzioni che definiscono il comportamento della testina; in base a queste istruzioni, determina una serie finita di stati che la macchina può assumere

Come si costruisce?

  1. si caricano sul nastro i dati input
  2. si posiziona la testina
  3. si avvia la macchina

MODELLO DI VON NEUMANN

Realizzazione pratica della Macchina di Turing Universale → permette di costruire calcolatori elettronici in grado di eseguire qualsiasi compito. L’architettura hardware del modello di Von Neumann è quella su cui è basata la maggior parte dei moderni computer programmabili.

ARCHITETTURA DI VON NEUMANN

1. Memoria Interna - Conserva i dati e le istruzioni necessari all’esecuzione del programma.

  • È volatile : i dati e le istruzioni vengono mantenuti solo mentre il computer è acceso.
  • È composta da celle di memoria
  • Si parla di memoria ad accesso casuale (Random Access Memory - RAM), poiché è possibile accedere direttamente al contenuto di qualsiasi cella conoscendone l’indirizzo
  • La dimensione della memoria si misura in multipli del byte, moltiplicando il numero di celle per il numero di byte per cella 2. Central Processing Unit (CPU)

Decodifica le istruzioni dalla memoria interna e le esegue È composta da:

  • un'unità di controllo : legge dalla memoria le istruzioni, esegue l'istruzione e memorizza il risultato, scrivendolo in memoria o in un registro della CPU
  • un'unità aritmetica e logica (Arithmetic-Logic Unit - ALU) che si occupa di eseguire le operazioni logiche e aritmetiche
  • vari registri che descrivono lo stato in cui si trova la CPU
  • velocità di clock: numero di impulsi al secondo (una CPU a 4Ghz, riceve 4 miliardi di impulsi al secondo)
  1. Periferiche di Input/Output (I/O)
  • Strumenti che consentono all’utente di interagire con la macchina (input: tastiera, mouse, output: schermo, stampante)
  1. Bus di Sistema

canale di comunicazione → collega tra loro le diverse unità , consentendo lo scambio dei dati. Composto da:

  • bus dati : bus sul quale transitano le informazioni. È bidirezionale (permette il passaggio dati in più direzioni contemporaneamente)
  • bus indirizzi : bus (unidirezionale) attraverso il quale la CPU decide in quale indirizzo (della memoria RAM o di una periferica I/O) andare a scrivere o a leggere informazioni
  • bus controlli : bus su cui la CPU invia agli altri dispositivi dei segnali di controllo per coordinarne il funzionamento.

HARDWARE E SOFTWARE

hardware è l’insieme dei dispositivi meccanici , magnetici, elettrici ed elettronici che compongono un calcolatore ● software è l’insieme delle istruzioni e dei programmi usati per determinare le operazioni di un calcolatore

Sistema operativo

  • Primo software caricato all’accensione del computer, intermediario tra l’utente e la struttura fisica del computer
  • Esegue i comandi
  • Gestisce dati e programmi, le risorse fisiche dell’hardware

Software applicativi:

  • Programmi che possono essere utilizzati dall’utente per risolvere determinate classi di problemi Software open-source

INTERNET E WEB

Importanti per le DH perchè Internet abilita numerosi servizi , tra cui il Web, che ha segnato profondamente le modalità della ricerca delle discipline umanistiche.

INTERNET → rete interconnessa di migliaia di reti e milioni di computer che collega aziende, istituti, agenzie governative, individui. ● Permette di fornire servizi (web, e-mail, app) ● Non è governata da o di proprietà di un singolo

PACKET SWITCHING

Introdotto da Leonard Kleinrock nel 1964. Il messaggio viene suddiviso in pacchetti → ad ogni pacchetto vanno aggiunti: indirizzo mittente e destinatario, numero totale di pacchetti, numero progressivo del pacchetto.

  • Pacchetti vengono mandati in rete , e certi computer ( router ) si occupano di instradarli verso la destinazione
  • Vantaggi: non richiede un circuito point-2-point dedicato, uso quasi completo della capacità di rete

ARPANET

Rete pre-cursore di Internet (1969) → rete di computer realizzata dalla DARPA

  • Adotta il packet switching
  • Inizialmente connetteva 4 università (UCLA, Stanford, UCSB, e University of Utah)

WEB 2.

Siti/Applicazioni/Piattaforme Web di natura “ sociale ”, che supportano la comunicazione tra individui all'interno di gruppi o reti sociali. → Si passa da contenuti generati da “professionisti” a contenuti generati autonomamente dagli utenti (social network, blog)

MOTORI DI RICERCA

Identificano le pagine web che sembrano corrispondere a parole chiave (query) immesse da un utente e forniscono le migliori corrispondenze.

Nascono nei primi anni '

  • Originariamente erano liste pre - compilate di siti web
  • Le prime capacità di ricerca erano limitate
  • programmi software attraversavano il Web per raccogliere informazioni sulle pagine
  • veniva creato un indice delle parole di tutte le pagine web visitate, registrando anche il numero di volte in cui una parola appariva nella pagina web

SURFACE, DEEP E DARK WEB

Surface Web → indicizzato dai motori di ricerca Deep Web → parte del web che non viene indicizzata dai motori di ricerca (500 volte più grande del Surface Web) Dark Web → parte del deep web non accessibile dai browser tradizionali: richiede software specifico (Tor). Traffico crittografato e anonimizzato (onion routing). Viene usato per: scambio/vendita di dati, mercati illegali, terrorismo.

TCP / IP

tcp ⟶ transmission control protocol

ip ⟶ internet protocol

si possono creare delle reti tra dispositivi diversi tra loro ma comunicano usando la stessa rete (vengono usati protocolli comuni).

PROTOCOLLI

● TCP ⟶ si occupa di permettere la comunicazione , stabilisce la connessione tra mittente e destinatario, si assicura che siano ricevuti correttamente (verifica degli errori).

NOME DI DOMINIO

Per associare gli indirizzi ip a dei nomi è stata definita un’organizzazione gerarchica.

● Hanno tutti una stessa radice , ovvero il punto (.). ● Sotto c’è il dominio di primo livello (o rappresentano il paese ⟶ it, uk o per ambito di utilizzo ⟶ com - commerciale, edu - sito università, org - organizzazioni). ● Sotto c’è quello di secondo livello, deciso autonomamente da chi crea l’indirizzo (univr). ● Possono esserci anche quelli di terzo livello (per identificare particolare servizio) ⟶ www

Il domain name system si occupa di convertire il nome di dominio nel corrispondente indirizzo IP. ha due caratteristiche: è distribuito su più computer ed è ridondante.

UNIFORM RESOURCE LOCATOR

indirizzo che serve per recuperare una risorsa messa a disposizione dal computer in rete (dove si trova il tal documento nel computer).

Composto da:

protocollo da utilizzare (es. http) ● dominio dove si trova la risorsa (www.univr.it) ● cartella sul server dove trovare la risorsa (/documenti/persona/foto) ● nome della risorsa o file (Foto756889.png)

INTERNET

3 livelli ⟶ al primo c’è il dorso del web , sono ad esempio i cavi sotterranei. Negli altri ci sono provider. Al secondo livello si connettono grandi aziende come Google. Noi invece ci colleghiamo al terzo.

WORLD WIDE WEB

Diverso da internet. Internet è una connessione tra dispositivi, il web invece è una connessione a livello di documenti. Il web è uno dei servizi che è stato possibile grazie a Internet.

Ci permette di accedere a documenti contenuti su computer differenti.

Nasce a fine anni 80 e inizio 90. Viene sviluppato da Tim Berners - Lee (lavorava presso il CERN di Ginevra). Si è accorto che recuperare info all’interno del cern era complicato, in particolare voleva sapere quali progetti c’erano in corso e quali strumenti venivano usati al cern. Si è costruito per sé un meccanismo per organizzare queste informazioni, attraverso il meccanismo del collegamento. Consentiva di collegare i dati relativi ai software, persone e progetti di ricerca.

Mette a disposizione questa tecnologia di chiunque in modo aperto e gratuito. Dal 91 iniziano ad esserci altre realtà che usavano lo stesso meccanismo.

Principi del web:

decentralizzazione delle risorse ⟶ risorse distribuite su più computer ● universalità di accesso ⟶ chiunque , con qualsiasi dispositivo deve poter essere in grado di accedervi, indipendentemente dal dispositivo e dal software)

Il modello alla base del web è l’ipertesto ⟶ documento che contiene connessioni (link) ad altri documenti o altri oggetti (audio-video).

Il web non è di proprietà di un’azienda, ma di un'organizzazione che si occupa di gestire la tecnologia e le regole (world wide web consortium) ⟶ creato da Tim Barnes-Lee.

HTML

Ingredienti delle pagine web

● Hypertext Markup Language ⟶ Usato per organizzare la struttura di una pagina web ● Cascading Style Sheets (CSS) : • Fogli di stile • Usato per definire l’aspetto visuale ed estetico di un sito web (colori, stili, font, configurazione avanzata, ecc.) • Tutte le istruzioni di “formattazione” vengono raccolte in questi file, e poi possono essere “richiamate” da ogni pagina del sito.

HTML è un linguaggio di markup (annotazione), non di programmazione! •

● Non stiamo programmando la macchina per svolgere un particolare task computazionale ● Stiamo annotando un testo con dei tag • I tag servono ad indicare una determinata caratteristica del testo o elemento del documento (e.g., un intestazione, un paragrafo, un’immagine, ecc. e vengono poi interpretati da un particolare software (il web browser) per mostrare il contenuto secondo le specifiche dei tag usati

La prima versione di HTML pubblicata da Tim Berners-Lee nel 1991, l’ultima HTML 5.2, rilasciata come W3C Recommendation nel 2017.

STRUMENTI NECESSARI

● Un editor di file “di solo testo” (non un word processor come Microsoft Word!) ● Un browser web

STRUTTURA BASE DI UNA PAGINA HTML

definisce che tipo di documento andiamo a creare (non è un tag)

il primo tag che dobbiamo vedere in un sito web è il tag “html”, l’attributo “lang” indica la lingua principale del testo. (lang= “en”).

Ha due sotto elementi ⟶

● head (raccoglie i metadati della pagina, ad esempio titolo, autore, keyword) spiega di cosa si occupa la pagina ed è usato principalmente dai motori ricerca per far uscire le pagine. ● body ⟶ scritto il contenuto della pagina

Elementi di intestazione – ⟶ ci sono 6 livelli

Paragrafi di testo ⟶ indicano le unità di testo

Contenitori ⟶ servono per raggruppare elementi o contenuti per scopi di stile o perchè condividono valori di attributo (es. lingua).

● < div > .. ⟶ raggruppa contenuti di flusso, elementi (parte dello stesso contenitore) ● < span > .. ⟶ raggruppa caratteri che verranno trattati insieme.

Separatori

● < br /> indicano un ritorno a capo del testo (va marcato esplicitamente). E’ un self closing tag (un tag unico) ● < hr /> separazione esplicita tra parti di un testo

Enfatizzare il testo

● < i > .. indica che il testo è diverso o distinto dal normale testo in cui è inserito (quando si usa un termine di un altra lingua o termine tecnico ● < em >.. usato per sottolineare l’importanza di una parte di testo ● < strong > .. ulteriore importanza (in grassetto).