07276 - INFORMATICA

Anno Accademico 2013/2014

  • Docente: Aldopaolo Palareti
  • Crediti formativi: 10
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Rimini
  • Corso: Laurea in Finanza, assicurazioni e impresa (cod. 8053)

Conoscenze e abilità da conseguire

Al termine del corso lo studente conosce la struttura di un elaboratore e comprende gli elementi fondamentali della programmazione. In particolare lo studente è in grado di: - sviluppare semplici programmi, con particolare riferimento ad esempi di elaborazioni statistiche - utilizzare il linguaggio di programmazione C

Contenuti

(Le parti con [*] sono opzionali)

Presentazione del corso

Cos'è l'informatica

Premesse filosofiche
- il linguaggio, la logica, la scelta dei principi (retorica), lo studio dell'interazione (dialettica)

Premesse pre linguistiche
- il modello semiologico della comunicazione
- trasmettitore, ricevitore, medium
- rumore
- codifica-produzione-percezione-decodifica
- i codici

Premesse linguistiche
- il passaggio dai codici ai linguaggi
- i linguaggi orali: interattivi e multicanale
- i linguaggi scritti: testi
- i sistemi ipertestuali e multimediali

Premesse logiche e matematiche
- il calcolo delle proposizioni (logica a due valori)
- principali operatori logici interni
- proprietà logiche: le leggi di doppia negazione, del terzo escluso, di non contraddizione, di De Morgan
- i numeri
- i sistemi di numerazione
- i sistemi posizionali: metodi di calcolo
- [*] il sistema decimale: le tabelline delle operazioni
- il sistema binario: le tabelline delle operazioni, il complemento a due
- [*] il sistema esadecimale

Storia dell'informatica
- il '900: l'aumento della complessità dei sistemi
- la nascita dell'informatica
- i motivi dello sviluppo dell'informatica
- la macchina di Von Neumann: il ciclo di fetch
- i numeri in informatica: codifica binaria
- i testi in informatica: codifiche dei caratteri, Ascii, Iso, Unicode
- [*] informazione strutturate: serializzazione
- [*] il modello centralizzato
- il PC
- le tipologie di elaboratori sviluppate
- [*] il modello client-server
- il modello a rete
- Internet
- il web
- il futuro: il computer invisibile

Hardware e sistema operativo
- sistemi esterni alla macchina di Von Neumann: input, output, memorizzazione
- [*] dos
- [*] memoria virtuale
- interfaccia utente: gui
- modello monotask monoutente
- [*] modello multitask (multithread)
- modello multiutente
- multiprocessore (multicore)
- [*] sistemi vettoriali
- sicurezza e protezione dei dati
- sicurezza: backup, mirroring, cluster, raid
- protezione: autenticazione e autorizzazione
- autenticazione: sistemi biometrici, rfid, smartcard
- protezione dei dati con chiavi simmetriche
- protezione dei dati con chiavi asimmetriche: chiave pubblica e chiave privata
- firma digitale
- certificati

Reti
- servizi per gli utenti finali: posta elettronica, web, file server, print server, ...
- topologia di una rete: hub e switch
- reti locali: omogenee come architettura, tecnologie, modalità di accesso
- reti geografiche
- [*] connessioni: in rame, ottiche, senza fili (elettromagnetiche)
- connessione alle reti: provider, modem, adsl, wi-fi, wimax, 3g
- interconnessione di reti: router
- lo stack dei protocolli di internet
- livello fisico: MAC Address, hub e switch; pacchetti
- livello di trasporto: IP, indirizzi internet, il servizio Dns
- livello di comunicazione: TCP
- livello applicativo
- protocolli di posta elettronica: smtp, pop, imap, indirizzi di posta elettronica
- [*] allegati di posta e tipo MIME
- [*] termini legati alla posta elettronica: netichetta, spam, mailing list
- protocolli del web: http, https, siti web
- [*] termini legati ai siti web: rss
- localizzatori di risorse: Url, Schemi, http:, mailto:, ftp:
- [*] altri protocolli: ftp, news
- [*] protocolli run time: VoIP, IPTv

Multimedialità
- analogico vs digitale
- riproduzione analogica dei suoni
- digitalizzazione dei suoni
- campionamento e precisione della digitalizzazione; monofonia, stereofonia e surround
- [*] parametri del campionamento dei suoni
- formati di digitalizzazione: con e senza perdita di informazioni, lossly e lossless
- [*] formati dei suoni: Contenitore e Codec; Wav, Mpeg1 layer 3
- digitalizzazione di immagini fisse e risoluzione
- [*] formati grafici bitmap: Tiff, Jpeg, Gif, Png
- [*] formati grafici vettoriali: Vgml
- [*] parametri del campionamento delle immagini fisse
- spazi di colore: RGB(A), CMYK, HSL, YYrYb
- digitalizzazione di immagini in movimento e suoni
- [*] parametri del campionamento delle immagini in movimento
- [*] risoluzione delle immagini in movimento
- [*] formati di digitalizzazione di immagini in movimento: Mpeg1, Mpeg2, Mpeg4

Documenti
- documenti testuali
- documenti ipertestuali
- gml, sgml e xml: markup, tag (con attributi) ed entità
- esempi di entità xml e html
- separazione tra presentazione, struttura del documento, contenuto e attività associate
- contenuto: html
- struttura dell'html: prologo (<doctype>), <head>, <meta>, <body>, <!-- -->
- tag
di blocco: <div> <p> <h1> ... <h6> <del> <ins> <sub> <sup>
- tag
per le liste: <ul> <ol> <li> <dl> <dt> <dd>
- tag inline: <span> <em> <img> <object>
- ancore <a>
- tag per le tabelle: <table> <caption> <tr> <td> <th>
- tag per i moduli: <form> <input type="text"> <button>
- Ajax

Linguaggi di programmazione
- tipi di linguaggi: procedurali imperativi, procedurali funzionali, logico dichiarativi
- [*] generazione dei linguaggi: 0 (macchina), 1 (assembler), 2 (macro assembler), 3 (linguaggi di alto livello)
- ciclo di vita del software: analisi dei requisiti, analisi funzionale, progettazione, programmazione, test, manutenzione
- [*] sviluppo del software: editing, compilazione, linkeditaggio, esecuzione
- [*] compilazione e interpretazione (linguaggi con codice intermedio)
- linguaggi a oggetti: proprietà e metodi, ereditarietà
- programmazione iterattiva e programmazione ricorsiva
- javascript
- inserimento di metodi javascript in una pagina web: tag <script>
- [*] il Dom dell'Html: Math, Navigator, Window
- esempi di metodi e proprietà: window.document.write("")
- principali istruzioni: commenti, assegnazioni
- istruzioni di controllo nella programmazione iterattiva: sequenza, scelta, ciclo
- istruzioni di controllo nella programmazione ricorsiva: sequenza, scelta, ricorsione
- dichiarazione di variabili
- tipi: stringhe, numeri, boolean, array, oggetti (date)
- esempi elementari: swap, sommatoria, produttoria, cicli con n non predeterminato
- applicazioni: fattoriale, radice quadrata
- esempi ricorsivi: fattoriale, fibonacci; albero delle chiamate
- costanti: stringhe, numeri, boolean
- operatori: numerici, testuali, booleani
- operatori logici: interni ed esterni (relazionali)
- dichiarazione di funzioni: parametri formali e attuali, chiamata di funzione
- gestione dei moduli tramite javascript
- gestione degli eventi: <input onclick="">

[*] Presentazione
- [*] css
- [*] inserimento di regole css in una pagina web: tag <link> <script>
- [*] sintassi dei selettori
- [*] attributi dell'html: style, class e relativi selettori
- [*] proprietà css: color background-color font-size font-family text-align font-style font-variant padding border margin

Descrizione degli esercizi da realizzare

Testi/Bibliografia

Non è necessario l'acquisto di testi specifici. Viene fornito a lezione materiale didattico aggiornato, disponibile anche sui server dei laboratori di Rimini. Comunque, gli studenti possono liberamente scegliere tra i seguenti testi

Argomenti generali di Informatica:
- Breuer Hans. Atlante di informatica . VI-218 p., ill.; Hoepli, 1997 (18,08 €).
- White Ron. Il computer. Come è fatto e come funziona . 6 ed., 416 p.; Mondadori Informatica, 2001 (36,15 €).

Reti:
- Gralla Preston. Internet. Come è fatta e come funziona . 6 ed., 352 p.; Mondadori Informatica, 2001 (30,99 €).
- Tanenbaum Andrew S.. Reti di calcolatori . 4 ed., 1000 p.; Pearson Education Italia, 2003 (49,9 € – Questo libro è adatto a professionisti; sconsigliato per chi volesse solo le nozioni di base).

Metodi didattici

Lezioni frontali e in laboratorio

Modalità di verifica e valutazione dell'apprendimento

La prova finale è divisa in tre parti:

  • una prova scritta di circa 50 minuti (con domande aperte e svolta in laboratorio) volta a verificare la conoscenza di aspetti base dell'Informatica; dopo i primi 35 minuti, gli studenti possono consultare gli appunti;
  • una prova pratica di circa 50 minuti (svolta in laboratorio) volta a verificare la capacità dello studente di realizzare una pagina web con HTML, CSS e un linguaggio C-like; dopo i primi 35 minuti, gli studenti possono consultare gli appunti;
  • una prova orale, per verificare il livello di comprensione del corso e le capacità critiche dello studente.

La prova orale può essere sostenuta solo dagli studenti che hanno ottenuto almeno 5/10 in entrambe le prove scritta e pratica. Le prove scritte e pratiche sono valide fino al febbraio dell'anno accademico successivo.

Orario di ricevimento

Consulta il sito web di Aldopaolo Palareti