Anteprima
Vedrai una selezione di 1 pagina su 5
Appunti Fondamenti di informatica Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

●​ Array: collezione ordinata di elementi dello stesso tipo.

●​ Liste: sequenze dinamiche di elementi.

●​ Stack e Queue: strutture dati LIFO (Last In, First Out) e FIFO (First In, First

Out).

●​ Alberi e Grafi: strutture dati avanzate per rappresentare relazioni complesse.

Programmazione e Linguaggi

I linguaggi di programmazione si dividono in:

●​ Linguaggi di basso livello: come Assembly, vicini al linguaggio macchina.

●​ Linguaggi di alto livello: come Python, Java, C++.

Paradigmi di programmazione

●​ Imperativo: sequenza di istruzioni (C, Pascal).

●​ Orientato agli oggetti: utilizza classi e oggetti (Java, Python, C++).

●​ Funzionale: basa la computazione su funzioni matematiche (Haskell, Lisp).

Basi di Dati

Le basi di dati servono per archiviare e gestire informazioni in modo efficiente.

●​ Modelli di database:

○​ Relazionale (SQL): dati organizzati in tabelle.

○​ NoSQL: dati non tabellari, utilizzati per big data e applicazioni web.

●​ Operazioni SQL principali:

○​ SELECT, INSERT, UPDATE, DELETE.

Reti di Computer

Le reti permettono la comunicazione tra dispositivi. Si classificano in:

●​ LAN (Local Area Network): rete locale, connette dispositivi in un'area ristretta.

●​ WAN (Wide Area Network): rete geografica, connette più LAN tra loro.

●​ Internet: rete globale basata sul protocollo TCP/IP.

Protocolli di rete

●​ HTTP/HTTPS: protocollo per la comunicazione web.

●​ FTP: protocollo per il trasferimento di file.

●​ DNS: sistema per la risoluzione dei nomi di dominio.

Sicurezza Informatica

La sicurezza informatica è fondamentale per proteggere i dati. Include:

●​ Crittografia: protezione dei dati con algoritmi di cifratura.

●​ Firewall: software/hardware che filtra il traffico di rete.

●​ Autenticazione: verifica dell'identità di un utente tramite password o biometria.

Intelligenza Artificiale e Machine Learning

L'IA è la simulazione dell'intelligenza umana attraverso software e hardware.

●​ Apprendimento supervisionato: il modello viene addestrato con dati etichettati.

●​ Apprendimento non supervisionato: il modello rileva pattern nei dati senza

supervisione.

●​ Reti neurali artificiali: sistemi ispirati al cervello umano per il riconoscimento di

pattern complessi.

Algoritmi ■​ Approccio algoritmico. Metodo risolutivo, semialgoritmo, algoritmo.

Proprietà. Tipologia dei problemi. Strategia vincente dei giochi finiti.

Macchina di Turing

■​ Funzionamento e struttura, matrice funzionale, applicabilità.

Composizione di matrici. Ipotesi fondamentale degli algoritmi. Algoritmo

di imitazione. Problema della codifica. Insieme semidecidibile e

decidibile. Indecidibilità della terminazione.

■​ Struttura e funzionamento della macchina di Von Neumann.

Grafi e alberi

■​ Grafo e grafo diretto. Cammino e sua lunghezza, ciclo. Grafo connesso,

fortemente e debolmente. Albero e albero diretto. Implementazioni

(plessi, liste multiple, matrici di adiacenza, liste di adiacenza).

Attraversamenti (breadth-first e depth-first). Grafo pesato. Algoritmo di

Dijkstra. Chiusura transitiva. Algoritmo a matrice di adiacenza.

Algoritmo di Warshall. Albero ricoprente e minimo albero ricoprente.

Algoritmo di Prim. Algoritmo di Kruskal.

Metodi di ricerca

■​ Ricerca lineare: tabella ordinata e non ordinata, costro con

equiprobabilità, distribuzione di Ziff, legge di Helsing.

■​ Ricerca logaritmica: metodo standard, metodo con interpolazione.

■​ Albero binario di ricerca: albero bilanciato (AVL), perfettamente

bilanciato, quasi perfettamente bilanciato, fattore di bilanciamento,

teorema AVL, algoritmi di bilanciamento.

■​ Ricerca hash: concetto di funzione hash, hash perfetto e non perfetto,

hash per chiavi alfanumeriche, risoluzione delle collisioni (catene

interne ed esterne), risoluzione collisioni "open" (scansione lineare,

scansione quadratica normale e pesata, scansione random), double

hashing, strategie di cancellazione, valutazione metodi hash.

Modelli per memoria secondaria

■​ Memorie secondarie: unità a nastro, unità a disco, metodi di accesso,

organizzazione sequenziale e ad accesso mirato (ordinamento per

posizione, per chiave, struttura sequenziale ordinata e non).

■​ File Hash: funzionamento a blocchi, recupero overflow, hash dinamico.

■​ File indicizzati: organizzazione secondaria, concetto di indice e

principio di guadagno, ISAM (overflow interno ed esterno).

■​ B-alberi: alberi AVL in memoria secondaria (strategia lineare,

raggruppata e ottima), definizione di B-albero, criterio di ricerca,

evoluzione di un B-albero, esplorazione ordinata, gestione di overflow,

analisi delle prestazioni, costo di inserzione, pregi e difetti, albero B+ e

B*.

Complessità

■​ Tipologia di macchine di Turing. Macchina di Turing non deterministica.

Definizione di complessità in tempo. Macchina Ram e formato delle

istruzioni.

■​ Complessità computazionale: criterio del costo uniforme e logaritmico,

ipotesi della teoria della complessità e teorema di Ram-Turing,

operazione dominante, complessità asintotica e regole di composizione.

■​ Modelli per linguaggi di alto livello: regole dei costi (I/O, cicli, test,

sequenze), valore di taglio e tirannia della crescita, formule di ricorrenza

(selection sort, ricerca binaria, quicksort perfetto e medio).

Dettagli
Publisher
A.A. 2024-2025
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher pippo21212 di informazioni apprese con la frequenza delle lezioni di fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università telematica "e-Campus" di Novedrate (CO) o del prof Tradigo Giuseppe.