07276 - INFORMATICA

Anno Accademico 2021/2022

  • 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.

Documentazione

Appunti 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

Orario di ricevimento

Consulta il sito web di Aldopaolo Palareti