- 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