- Docente: Aldopaolo Palareti
- Crediti formativi: 10
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea in Scienze statistiche (cod. 8873)
Conoscenze e abilità da conseguire
Al termine del corso lo studente ha conoscenze di base sull’Informatica e sull’Ingegneria del software: elaboratori, reti, aspetti organizzativi, database, cifratura dei dati, autenticazione, firma elettronica, comunicazione e linguaggi, ciclo di vita del software. È inoltre in grado di realizzare semplici programmi interattivi utilizzando i linguaggi HTML, CSS e Javascript.
Contenuti
Introduzione.
Presentazione del corso, etimologia e storia dell'Informatica. L'aumento della complessità come motivazione dello sviluppo esplosivo dell'Informatica. Dai sistemi monoutenti e monoprocesso ai mainframe, ai PC, ai sistemi client-server, a Internet, al Web.
Parte 1. Introduzione agli scopi e al funzionamento di Internet.Comunicazione: codici, linguaggi orali, linguaggi scritti, multimedialità, ipertestualità; analogico e digitale.
Internazionalizzazione, localizzazione, codifiche dei caratteri: Iso 646 (Ascii), Iso 8859, Iso 10646 (Unicode).
Interconnessione: reti locali e geografiche; modalità di connessione, router.
Lo stack dei protocolli di Internet: livello di accesso fisico (ISO-OSI 1 e 2), livello di interconnessione di reti (ISO-OSI 3), livello di trasporto (ISO-OSI 4), livello applicativo (ISO-OSI 5, 6 e 7).
Servizi che operano su Internet: posta elettronica, DNS e altri; esempi di servizi realtime VoIP e IPTv.
Il Web: protocollo (HTTP) più linguaggio (HTML) più modalità di accesso alle risorse (URL).
Parte 2. aspetti organizzativi di un progetto informatico.Aspetti relativi alla sicurezza e protezione dei dati.
Autenticazione, autorizzazione, privacy: qualcosa che si sa (password), qualcosa che si ha (smartcard), qualcosa che si è (biometria).
Cifratura dei dati e firma elettronica. Certificati.
Linguaggi in informatica: Linguaggi di programmazione; altri linguaggi: linguaggi di markup (con entità ed elementi) e linguaggi per i fogli di stile; introduzione all'HTML e al CSS.
Ciclo di vita del software; sviluppo del software: editing, traduzione, linkeditaggio, esecuzione.
Parte 3. introduzione alla programmazione in un linguaggio procedurale imperativo.Presupposti della programmazione: individuazione dei presupposti, definizione dell'interazione, aspetti logici.
Linguaggi di programmazione: grammatiche generative, uso delle BNF, tipologie di linguaggi (procedurali imperativi, procedurali funzionali, logici descrittivi), linguaggi OB e OO. Attributi e metodi.
Introduzione al Javascript, un linguaggio di programmazione procedurale imperativo OB con attributi e metodi.
Tipi nei linguaggi di programmazione; operatori, espressioni e funzioni; costanti, variabili, parametri.
Istruzioni nei linguaggi di programmazione; commenti, assegnazione, sequenza, scelta, ciclo.
Organizzazione di un programma: HIPO e Top-Down.
Programmi iterattivi e ricorsivi; esempi elementari: fattoriale, fibonacci. binomiale.
Parte 4. introduzione agli scopi e al funzionamento di un database.Organizzazione di un moderno database ispirato al concetto di insieme. DBMS.
Tabelle e principi di normalizzazione di un database. Modello logico entità relazioni e modello fisico.
Chiavi primarie, univoche, esterne.
Principali attività che possono essere svolte: DDL (Definition), DML (Manipulation), DQL(Query), DCL (Control).
Attività accessorie: Stored Procedure e attività transazionali.
Conclusione: presentazione delle modalità d'esame.
Testi/Bibliografia
Non è necessario l'acquisto di testi specifici. Viene fornito a lezione materiale didattico aggiornato. Comunque, gli studenti possono liberamente chiedere indicazioni su testi relativi a argomenti di interesse.
DocumentazioneAppunti resi disponibili su http://campus.unibo.it/cgi/lista?annoAccademico=2015&email=aldopaolo.palareti@unibo.it.
Documentazione di riferimento in italiano presente nel sito http://www.html.it/ e in inglese in http://www.w3schools.com/.
La documentazione del corso sarà resa disponibile agli studenti su Office 365.
Metodi didattici
Lezioni frontali e attività di 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 25 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 25 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 4/10 in entrambe le prove scritta e pratica. Le prove scritte e pratiche sono valide fino al febbraio dell'anno accademico successivo.
Strumenti a supporto della didattica
Proiezione da PC, laboratorio, uso di macchine virtuali preconfigurate
Orario di ricevimento
Consulta il sito web di Aldopaolo Palareti