07276 - INFORMATICA

Scheda insegnamento

  • Docente Aldopaolo Palareti

  • Crediti formativi 10

  • SSD ING-INF/05

  • Modalità didattica Convenzionale - Lezioni in presenza

  • Lingua di insegnamento Italiano

  • Orario delle lezioni dal 18/02/2019 al 30/05/2019

Anno Accademico 2018/2019

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

Programma/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 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