Coorti precedenti - Esami da 5 cfu o 1 cfu

Gli studenti che lo desiderino possono sostenere l'esame di informatica col prof. Caruso (sempre però iscrivendosi agli appelli inseriti da me). Questo riguarda esclusivamente l'esame di Informatica facoltativo (con contenuti di Intelligenza Artificiale su Russell Norving e frequenza obbligatoria). Rivolgetevi direttamente al prof. Caruso al Dipartimento di Matematica, prima e dopo lezione: Martedi Giovedi e Venerdi dalle 14 alle 15 e dalle 17 alle 18. Inoltre questa disponibilità è limitata al mese di settembre, dato che poi il prof. Caruso sarà fuori Italia.

Gli studenti che devono sostenere l'esame di Gestione devono rivolgersi alla prof. Celentano: http://www.mariagraziacelentano.it/

L'esame da 5 cfu è scritto (NON al computer) e contiene domande ed esercizi.

Nel caso di esame da 1 cfu: l'esame è orale e consiste nella preparazione di una ricerca (circa 10 pagg) o di una presentazione (una dozzina di slide) su un argomento da concordare, su cui fare un orale. L'argomento può essere eventualmente proposto dallo studente sulla base del programma completo del corso, o anche su altri argomenti purché sostanzialmente di natura informatica.

Programma:


TEORIA

  • idee fondamentali sul conteggio. Numero come operazione di discretizzazione, pertinentizzazione e rappresentazione di aspetti del mondo.
  • principi fondamentali legati al concetto di informazione. Concetto di modello.
  • concetto di base numerica (compresa base 1).
  • passaggi generici di base dei numeri, con partenza o arrivo in base 10.
  • numeri binari e loro significato logico e filosofico.
  • basi numeriche speciali: numeri ottali ed esadecimali e loro collegamento coi numeri binari.
  • impacchettamento di bit per rappresentare informazioni complesse.
  • campionamento. Trasformazioni analogico-digitali di suoni e immagini. Calcoli connessi.
  • concetti fondamentali sugli algoritmi. Algoritmo come discretizzazione e pertinentizzazione di operazioni.
  • memoria e sue caratteristiche teoriche e concettuali. Sua organizzazione in byte (=8 bit).
  • riferimenti nominali alla memoria: variabili e vettori.
  • programmi (implementazioni di algoritmi) in pseudocodice: salti, cicli, operazioni, istruzioni condizionali, blocchi di istruzioni, sottoprocedure e funzioni.
  • algoritmi presentati
    • exchange sort. (Esempio: ordinamento di carte da gioco, scoperte e coperte. Ciclo alfa e beta.)
    • bubble sort (concetto di grado di ordinamento e suo incremento passata dopo passata)
    • ricerca per scansione lineare
    • ricerca dicotomica
  • definizione di computer come manipolatore universale di simboli (o informazioni).
  • espressioni regolari
  • crittografia simmetrica
    • codici HASH
    • operatore XOR
    • possibili attacchi alla cifratura
    • esempi di crittazione con chiave
TECNOLOGIA

  • codifica e memorizzazione dei programmi
  • sistemi fisici che realizzano le necessità teoriche illustrate
    • memoria RAM
    • memoria di massa (hard disk)
  • sistemi operativi come ecosistemi
    • ragione, compiti e servizi nella gestione di una macchina reale
    • multitasking e scheduler
    • interfaccia (azioni come esecuzioni di sottoprogrammi, selezione di entità come demarcazione dell’input, effetti dell’azione sull’input come output)
    • località della memoria privata dei programmi
    • programmi Driver e componenti con interfaccia predefinita, loro criticità nel sistema operativo
    • file di dati e loro icone grafiche. Nome e estensione dei file.
    • librerie di funzioni e loro ruolo nel sistema operativo
    • cartelle speciali del sistema operativo
  • codifica delle informazioni con XML
    • coppie di “tag”
    • nidificazione di tag
    • attributi interni ai tag
    • creazione di dati strutturati con XML


APPLICATIVI (Suite openoffice.org )

  • Writer (scrittura)
    • inserimento di interruzioni manuali di pagina
    • margini di paragrafo o della prima riga del paragrafo
    • stili di paragrafo
    • tabulazioni personali (sinistre, centrate, destre e decimali)
    • inserimento note a piè di pagina
    • inserimento numeri di pagina (ed esclusione dalla prima pagina dalla numerazione)
    • tabelle
    • esportazione in PDF
    • scorciatoie di tastiera per il copia-incolla (CTRL-C CTRL-V)
    • sistema delle revisioni (memorizzazione dei cambiamenti)
    • ricerca e sostituzione avanzata
    • impiego delle espressioni regolari in cerca e sostituisci
  • Calc (foglio di calcolo)
    • analogia tra foglio di calcolo e memoria dei programmi.
    • trasformazione da memoria lineare a memoria bidimensionale
    • coordinate delle celle (fisse e rilocabili)
    • tipo dei dati contenuti in una cella
    • uso dell’interfaccia
    • inserimento e cancellazione di righe/colonne
    • funzioni inserite in celle, copia di funzioni con rilocazione
    • blocchi di celle, e funzioni su blocchi di celle
    • grafici e loro modifica
    • incolla speciale
    • tecnologia OLE (object linking and embedding) (per esportazione di tabelle su altri programmi)
  • Draw (disegno)
    • esempi di disegno con grafica vettoriale
    • semplici forme
    • allineamento e modifica dimensioni
    • creazione di collegamenti tra elementi
    • call-out e etichette
  • basi di dati
    • suddivisione concettuale delle entità in tabelle
    • definizione delle relazioni tra righe (record) di tabella attraverso codici aggiuntivi
    • diagrammi Entity-Relationship (E-R)
    • creazione di un database di esempio per gestire studenti, curricula universitari, esami sostenuti, piani di studio e esami componenti i corsi
    • alcuni esempi di interrogazioni con linguaggio SQL
  • rappresentazioni di informazioni
    • formati grafici vettoriali (PS e PDF) e raster (GIF, JPG)
    • formati testuali: testo semplice e formati complessi (file di word per esempio) descritti attraverso formalismi tipo XML.


INTERNET (programma di browser utilizzato: Opera)

  • formato HTML per la descrizione di pagine
    • caratteristiche del testo (grassetto, corsivo, livello di titolo, allineamento)
    • tabelle
    • sfondo
    • inserimento di immagini
    • link ad altre pagine
    • uso dei colori in formato RGB (esadecimale)
  • ricerca di informazioni con Google
    • ricerca di informazioni tecniche con l’inserimento di keyword specifiche
    • conversione di temperature, valute, misure direttamente dalla casella di ricerca
    • raggruppamento di keyword con le virgolette
    • operatori logici nella ricerca
    • esclusione di keyword dai risultati
    • Google images
  • infrastruttura e protocolli
    • collegamenti ridondanti
    • pacchettizzazione delle informazioni
    • indirizzi IP
    • DNS e traduzione di indirizzi letterari in indirizzi IP
    • trasporto, indirizzamento e ricostruzione delle informazioni
    • servizi
    • reti locali
    • domini nazionali, di primo e secondo livello
    • traceroute e ping
    • client, server e servizi
    • significato dell’indirizzo di posta elettronica
    • server SMTP ed esempio di invio di email direttamente dal server con terminale
(*) Il programma riassume tematicamente gli argomenti trattati e non segue strettamente l’ordine delle lezioni. Alcuni argomenti sono stati oggetto di più lezioni, affrontati dove era più opportuno anche se appartenenti tematicamente ad altre lezioni, o usati come esempio in luoghi diversi. I collegamenti incrociati tra tutti gli argomenti sono il contenuto fondamentale su cui concentrarsi. Molti argomenti del programma si trovano nel libro trattati approfonditamente, ma altri argomenti sono trattati perfino più approfonditamente di quanto non sia stato fatto a lezione: è opportuno comunque leggere e cercare di capire gli aspetti sostanziali della trattazione del libro senza soffermarsi sui dettagli (la capacità fondamentale è saper comprendere quali sono i dettagli e quali non lo sono). Questi argomenti maggiormente approfonditi nel libro sono fondamentalmente due: le basi di dati (da studiare da un punto di vista concettuale per quanto riguarda la modellizzazione, i diagrammi E-R, e i concetti di fondo, tralasciando però i dettagli implementativi e dei linguaggi di interrogazione); e i dettagli di funzionamento della struttura interna del computer (che vanno letti e compresi, ma non studiati approfonditamente) e dell’esecuzione dei programmi (per esempio si può tralasciare il pipelining). Molti argomenti non sono trattati nel libro, ma si possono trovare ampie informazioni in rete (autonomamente o seguendo i link che ho inserito nei riassunti delle lezioni), oltre che naturalmente nel blog del corso che contiene ampi riassunti: http://psinform.blogspot.com . Tutti questi argomenti (tranne gli aspetti più “filosofici”) sono presenti abbondantemente su Internet, in caso di difficoltà con le fonti proposte è perciò sempre possibile rivolgersi ad altri documenti che possano integrare o approfondire certi aspetti.