

























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Questi appunti di lezione forniscono una panoramica introduttiva all'informatica, coprendo argomenti come i sistemi operativi, il problem solving, l'intelligenza artificiale, la robotica, le tecnologie web (html) e la sicurezza informatica. Concetti chiave, esempi e definizioni, offrendo una base di conoscenza per comprendere i fondamenti dell'informatica.
Tipologia: Appunti
1 / 33
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


























Esame: 20 domande chiuse + domande aperte LEZIONE 1 – 28/09/ Architettura di un elaboratore Un elaboratore prende dei dati in input, li elabora e li ridà trasformati in output. Degli esempi di elaboratori sono: il computer (dal latino computare = calcolare) e il calcolatore (dal latino calculus = sassolino). Gli elaboratori (dal latino elaborare ) elaborano la corrente; l’assenza o presenza di corrente in circuito si rappresenta rispettivamente con i simboli 0 e 1. Questi simboli si chiamano “bit” – acronimo di BInary digiT – e sono l’unità di misura della quantità d’informazione. I bit si raggruppano in multipli di otto (ottetto) chiamati byte – un byte è una successione di 8 bit. Il BIT quantistico viene chiamato QUBIT (Quantum BIT); un qubit può essere rappresentato come un punto sulla superficie di una sfera di raggio unitario (infiniti punti). Gli elaboratori elettronici Un elaboratore è un sistema, ovvero un insieme costituito da componenti che interagiscono tra di loro per produrre un certo comportamento (ex. ascensore, lavatrice). L’hardware è la struttura fisica del calcolatore costituita da componenti elettronici ed elettromeccanici; il software è l’insieme dei programmi che consentono all’hardware di svolgere dei compiti utili – il software si divide in due categorie: quello di base (tra cui il sistema operativo) senza il quale il computer non si accende, e quello applicativo. L’hardware e il software sono organizzati a livelli/strati: L’utente utilizza un software applicativo, il quale comunica con il software di base, che a sua volta comunica con l’hardware. Ogni livello utilizza i servizi del livello sottostante (ex. il livello software di base utilizza il livello hardware). Il primo ad avere immaginato un computer che funziona in questo modo è Alan Turing che ha immaginato una macchina teorica, ma bisogna aspettare il secondo dopoguerra quando Von Neumann immagina che una macchina abbia: una CPU: unità centrale di elaborazione (il chip).
una memoria che ha 2 componenti: ROM (Read Only Memory) e RAM (Random Access Memory; ad esempio, se voglio ascoltare una canzone, la seleziono e questa parte subito a differenza del mangiacassette in cui bisognava ascoltare tutto il nastro prima di arrivare alla canzone preselta). Interfacce I/O: input da e output verso le periferiche (dispositivi accessori; una tipica periferica di input è la tastiera). Bus: cavi che permettono di trasferire dati e informazioni tra questi elementi. Il codice del programma è memorizzato nella stessa memoria dei dati; il codice del sistema operativo è salvato in un posto al quale l’utente non ha accesso, mentre i dati personali vengono salvati da un’altra parte. Un elaboratore basato sull’architettura di Von Neumann esegue un programma sulla base di questi principi:
I file È una struttura fondamentale per un sistema operativo. Tutti i dati vengono salvati sotto forma di file. Si può pensare ad un file come ad un insieme di byte con un nome unico, cioè diverso dagli altri file. Memorizzare tutti i file in unico posto genererebbe molta confusione, allora il SO permette di organizzare i file in directory, ovvero un contenitore di file con un nome. L’insieme di file e directory viene chiamato filesystem. WINDOWS (sistema operativo proprietario) In tutti i dispositivi di Windows i vari dispositivi di memorizzazione di massa vengono indicati con delle lettere seguite da due punti > A: rappresentava il floppy disk oppure C: rappresentava il disco rigido. La directory radice si indica con il simbolo , quindi ‘C:\’ rappresenta la directory radice di C: Per individuare un file abbiamo bisogno del duo nome e del percorso che dobbiamo seguire per trovarlo. Il percorso può essere assoluto o relativo. o Il percorso assoluto si ottiene elencando, a partire dalla lettera del dispositivo, tutte le directory da attraversare per giungere al file. o Il percorso relativo si ottiene elencando, a partire dalla directory in cui ci si trova, tutte le directory che bisogna attraversare per giungere al file. Note File presenti nella stessa directory devono essere nominati in maniera diversa. File diversi posizionati in directory diverse possono avere lo stesso nome. L’interfaccia grafica di Windows Il desktop è l’area dello schermo, paragonabile ad una scrivania sulla quale appoggio documenti e strumenti di lavoro. Sul desktop possiamo disporre file e collegamenti. Un collegamento è una scorciatoia per accedere più rapidamente a un documento o programma senza doverlo cercare nel filesystem. Le icone dei collegamenti sono riconoscibili da una piccola freccia in basso a sinistra.
In windows vi sono 2 componenti principali dell’interfaccia grafica: il desktop e la barra delle applicazioni, la quale è a sua volta composta da: o Il pulsante “start” o La barra di avvio veloce o Un’are in cui vengono visualizzate delle rappresentazioni dei programmi avviati dall’utente o La traybar (con le applicazioni caricate prima dell’avvio del SO). Menu contestuale Cliccando il tasto destro del mouse si apre un menu le cui voci dipendono dal punto in cui si è eseguito il click con il tasto destro Scorciatoie da tastiera Permettono di eseguire azioni tramite la pressioni di opportune combinazioni di tasti > ctrl C, ctrl V etc. MacOS (sistema operativo proprietario) È il SO che funziona solo su computer Apple Ha un’interfaccia desktop tridimensionale > sono stati i primi a farlo. LINUX (sistema operativo non proprietari – open source) ChromeOS > è un SO progettato da Google e basato sulla distribuzione Linux Gentoo. Sistemi operativi mobili Android (SO non proprietario) iOS ubports LEZIONE 3 – 06/10/ Problem solving lettura del testo lettura di una condizione fine delle condizioni > individuazione della soluzione Uno dei modi con cui possiamo rappresentare i diversi passaggi della risoluzione di un problema è questo schema.
Storia del problem solving è stata una metodologia molto utilizzata negli anni 40/50 del 900. Negli anni 60 ci si concentrò sulla soluzione di problemi semplici e non inerenti alle normali attività delle persone chiamate a risolverli come il problema della “torre di Hanoi”. Approccio computazionale Teoria dello spazio del problema I problemi possono essere risolti mediante l'esplorazione di diversi percorsi che consentono il raggiungimento della soluzione Lo spazio del problema è l'insieme di tutti i possibili stati e tutti i possibili percorsi che consentono di ottenere la soluzione. Alcuni di loro potrebbero essere preferibili ad altri. LEZIONE 4 – 12/10/ Il pensiero computazionale Jeannette Wing (2006) ha inventato l’espressione “computational thinking”, ovvero essere capaci di descrivere la realtà in modo che questa venga compresa da una macchina il pensiero computazionale consiste nel risolvere problemi, progettare sistemi e comprendere il comportamento umano basandosi sui concetti fondamentali dell’informatica, ovvero svolgere le informazioni una di seguito all’altra, scegliere quale svolgere e ripetere l’azione. I computer utilizzano quasi esclusivamente la logica deterministica, ovvero ad ogni input corrisponde un output (ex. se piove, prendo l’ombrello). Algoritmi È un procedimento che risolve un dato problema attraverso un numero finito di passi elementari. Il termine nasce nel Medioevo latino e si riferisce a un matematico uzbeco del 9° secolo che codificò i passaggi di calcolo per la risoluzione di equazioni di secondo grado e operazioni aritmetiche. Scomposizione > suddividere il problema in parti più piccoli > risolvere i sotto problemi > ricombinare le soluzioni parziali per ottenere la soluzione del problema originale. Astrazione > eliminare ciò che non è necessario. Individuare schemi e generalizzare. Valutazione > verifica della correttezza formale e dell’esecuzione. tinkering=armeggiare designing=progettare debugging=togliere i problemi perserving=ripetere le operazioni collaborating=collaborare
Sviluppare programmi Elaborare le informazioni. Analizzare il problema (qual è la natura del problema, costruire diagramma causa-effetto utilizzando il metodo STAR=Stop-Think-Act-Review) e identificare una soluzione. Descrivere il problema utilizzando un linguaggio formale (ex. diagramma di flusso; non ambiguo) o un linguaggio naturale (ex. italiano, inglese; ambiguo). La descrizione della soluzione può essere fatta a diversi livelli di dettaglio. Gli algoritmi parlano con un linguaggio > ogni linguaggio è costituito da un vocabolario, una sintassi e una semantica. L’esecutore è colui che esegue l’algoritmo; diversi esecutori possono usare algoritmi diversi per risolvere uno stesso problema. Programmi
Uno dei framework specifici per il DL è TensorFlow, libreria software open source per l’apprendimento automatico, che fornisce moduli testati e ottimizzati per la realizzazione di algoritmi con diversi tipi di linguaggi di programmazione. Altro framework è Pytorch, un progetto open source di Facebook. Il DL può essere utilizzato per la classificazione di immagini e per il riconoscimento ed elaborazione del linguaggio (traduzione in tempo reale). Classificazione di immagini Image classification > analisi del contenuto dell’immagine e attribuzione di un’etichetta (ex. cane, gatto) Object detection > identificazione di una o più entità all’interno di un’immagine Image segmentation > suddivisione dell’immagine in sezioni Face recognition > riconoscimento di volti di persone Action recognition > identificazione di una o più entità e della loro relazione nel tempo e nello spazio, al fine di identificare e descrivere azioni specifiche Visual relationship detection > comprensione della relazione tra gli oggetti in un’immagine Emotion recognition > rilevamento del sentiment di un’immagine Image editing > modfiche a un’immagine Classificazione di testo Text analysis > analisi di un testo Text classification > interpretazione di un testo per classificarlo in una categoria specifica Sentiment analysis > rilevamento dell’umore all’interno di un testo Intent monitoring > comprensione del testo per prevedere comportamenti futuri Smart search > ricercar negli archivi di documenti Text generation > generazione automatica di un testo Automatic summarization > produzione di un riassunto Language translation > traduzione di tesi ELN e sistemi conversazionali intelligenti I sistemi conversazionali intelligenti sono in grado di emulare il dialogo umano, di rispondere a domande su diversi argomenti e di eseguire compiti articolati. I sistemi conversazionali task-oriented supportano l’utente nello svolgimento di compiti più o meno complessi. IA GENERATIVA chatGPT (Generative Pre-trained Transformer) è un chatbot di intelligenza artificiale generativa che utilizza l'elaborazione del linguaggio naturale per creare dialoghi conversazionali simili a quelli umani. Il modello linguistico può rispondere a domande e comporre vari contenuti scritti, inclusi articoli, post sui social media, saggi, codice ed e-mail.
Riassume ma non cita le fonti > non fornisce analisi o approfondimenti su dati o statistiche. Non può comprendere il sarcasmo e l'ironia Potrebbe concentrarsi sulla parte sbagliata di una domanda e non essere in grado di spostarsi LEZIONE 8 – 20/10/ IA – Cenni di robotica John McCarthy ha coniato l’espressione “intelligenza artificiale” e ha creato il linguaggio di programmazione Lisp. L’IA è la branca dell’informatica che si occupa dell’automazione del comportamento intelligente. L’IA è un campo di studio multidisplinare (Informatica, Scienze Cognitive, Psicologia, Filosofia, Linguistica, Neuroscienza, …) la convinzione che il cervello sia una forma di computer biologico e che la mente sia computazionale deve studiare altri domini per implementare i sistemi. Test di Turing/The Imitation Game si pongono domande a due entità e si ricevono risposte da entrambe. Se non si riesce a dire quale delle entità è umana e quale è un computer, si dovrà considerare il computer intelligente. Degli esempi di computer intelligenti sono Alice ed Eliza. Il problema della stanza cinese di John Searle Searle cerca di dimostrare che i computer non possono essere intelligenti e conclude che il computer è semplicemente un dispositivo di manipolazione dei simboli, perché funziona esclusivamente sulla sintassi, non sulla semantica. Searle definisce pertanto due categorie di AI: IA forte: la ricerca dell'intelligenza artificiale IA debole – la ricerca di macchine che risolvono i problemi in modo intelligente I computer, però, risolvono i problemi in maniera apparentemente intelligente > da dove viene la loro intelligenza? dal sistema, da un robot, da un simulatore cerebrale. Cervello VS Computer Nell'IA, si confronta il cervello (o la mente) e il computer il cervello è una forma di computer, ma il computer esegue attività senza capire cosa sta facendo, mentre il cervello lo sa? Cosa fa l’IA? Seleziona un problema specifico da risolvere Seleziona una categoria di problemi o un’attività cognitiva e teorizza un modo per risolvere il problema dato ROBOTICA Un robot può essere definito come una macchina controllata da computer con alcuni gradi di libertà, cioè la capacità di muoversi nel suo ambiente
Un robot in genere ha o sensori per rilevare il suo ambiente o obiettivi o pianificazione per determinare come raggiungere tali obiettivi o pianificazione del percorso per determinare come muoversi nel proprio ambiente utilizzando i gradi di libertà disponibili Il robot ha una sequenza di operazioni in 3 fasi: o senso (percezione) o processo (interpretazione e pianificazione) o azione (movimento di qualche tipo) Tipi di robot Robot mobili – robot che si muovono liberamente nel loro ambiente > robot interni, esterni, del terreno etc. Bracci robotici – robot fissi che hanno manipolatori, solitamente utilizzati nella costruzione > di solito non sono considerati AI perché non eseguono la pianificazione e spesso hanno poco o nessun input sensoriale. Veicoli autonomi – come i robot mobili, ma in questo caso, sono una combinazione di veicolo e controller del computer > auto autonome, droni autonomi etc. Soft – robot che utilizzano approcci di soft computing Robot imitativi – robot che imparano imitando Softbots – agenti software che hanno un certo grado di libertà Nanobot – teorici a questo punto, ma come i robot mobili, vagheranno in un ambiente per indagare o apportare modifiche. Pianificazione del percorso Come fa il robot da spostarsi dal punto A al punto B? La pianificazione del percorso è geometrica e include linee rette, curve successive e tracciare le pareti. LEZIONE 9- Excel Ciò che permette a Excel di distinguere tra formula e valore è il simbolo di uguale = per le formule all’inizio dell’espressione. Operatori per stringhe & esegue la concatenazione di due stringhe senza spazi. Se si vogliono gli spazi bisogna aggiungere le “” Riferimenti relativi
Una tabella pivot serve per riepilogare i dati provenienti da elenchi o database esistenti per affinare l’analisi dei dati. Nella tabella pivot non è previsto l’inserimento di dati, ma solo una diversa presentazione. Formati di file Ci sono due formati di file di testo comunemente usati:
Digitalizzazione Avvengono due operazioni diverse:
Quantizzazione > i valori possibili sono prefissati. I livelli di quantizzazione corrispondono a intervalli regolari. Il valore del campione viene mantenuto costante fino al nuovo campione. Bisogna non superare la soglia differenziale, la quale è un numero che permette di ricostruire il segnale a partire dal suo campionamento. Ogni segnale può essere ricostruito correttamente se il suo campionamento viene effettuato a una frequenza pari ad almeno il doppio della frequenza massima – questa è la soglia di Nyquist. Sotto campionamento = campionamento a frequenza inferiore del valore Nyquist. Livelli di grigio (grey scale): bianco e nero (2 livelli di grigio; 1 bit), 4 livelli (2 bit), 8 livelli (3 bit), 16 livelli (4 bit) … GRAFICA Ci sono due tipi di grafica:
Ai tag possono essere riferiti attributi, secondo la sintassi: …>/tag> La maggior parte degli attributi di formattazione è in genere incluso nel file css. Gli attributi specificano proprietà. Vanno inseriti nel tag di apertura dell’elemento. Il simbolo = si riferisce ad un’operazione di assegnamento di valore alla variabile corrispondente all’attributo (nel nostro caso, size). Elementi vuoti Un elemento vuoto è un elemento che non prevede contenuto:
: andata a capo : horizontal rule; disegna una riga orizzontale Tag orientati al contenuto Caratteri di testo speciali Non possono essere introdotti direttamente da tastiera. Sono preceduti dal carattere & e terminati dal carattere ;