Università degli Studi Guglielmo Marconi

Insegnamento
Fondamenti di informatica
Docente
Prof. Lunghi Massimiliano
Settore Scientifico Disciplinare
ING-INF/05
CFU
12
Obiettivi formativi

Il corso di Fondamenti di Informatica si propone l´obiettivo di fornire una preparazione organica e omogenea sui principi di funzionamento e della programmazione di un calcolatore elettronico. Il corso ha carattere introduttivo al mondo della programmazione in generale e a quella ad oggetti in particolare, alla rappresentazione dei dati ed alle strutture dati fondamentali nella scienza dell´informazione.

Risultati di apprendimento attesi

Scopo del corso è fornire allo studente la conoscenza dei:

  • concetti e delle componenti di base dell’architettura dei moderni calcolatori elettronici;
  • concetti di base sui fondamenti della rappresentazione delle informazioni e degli algoritmi;
  • concetti fondamentali dei linguaggi di programmazione in generale e sulla programmazione ad oggetti (OOP Object Oriented Programming) in particolare;
  • fondamenti della programmazione con il linguaggio JAVA.
Prerequisiti

Non sono richiesti requisiti specifici.

Programma del corso
  • Introduzione al corso: i computer, i Sistemi Operativi e le applicazioni
  • Le basi della programmazione: i linguaggi di programmazione; i numeri binari e l´algebra booleana
  • Algoritmi e Linguaggi di modellazione: definizione di algoritmo; lo pseudocodice e i flow chart
  • Introduzione a JAVA: la piattaforma di sviluppo JAVA; installazione dell´ambiente di esecuzione JAVA; scrittura ed esecuzione del primo programma utilizzando la JDK
  • Java Integrated Development Environment: descrizione di un Integrated Development Environment; processo di scrittura, compilazione ed esecuzione di un programma Java con un IDE; ispezione delle parti di un programma JAVA; definizione delle tipologie di errore in JAVA
  • Le basi della programmazione in Java 1: differenze tra linguaggi imperativi, procedurali e ad oggetti; le variabili (visibilità, casting); i tipi di dati di base; gli operatori (aritmetici, relazionali, bit a bit, logici, regole di precedenza)
  • Le basi della programmazione in Java 2: le dichiarazioni di controllo (IF-ELSE, SWITCH, WHILE, DO-WILE, FOR, etc.)
  • Le basi della programmazione in Java 3: gli Array
  • Gli Oggetti e le Classi 1: Overview sui concetti di oggetti e classi; definizione di variabili nelle classi; i metodi; i costruttori
  • Gli Oggetti e le Classi 2: concetti di Incapsulazione, Ereditarietà e Polimorfismo; le classi Astratte e le Interfacce
  • Gli Oggetti e le Classi 3: variabili e metodi statici; la classe Object; le Enumerazioni; le Stringhe
  • Eccezioni and Multithreading: gestione delle eccezioni; gestione del Multithreading
  • Collections Framework: interfacce; classi; iteratori
  • Streams, File I/O: Streams; File I/O; Regular Expression
  • Generic: teoria ed utilizzo dei Generic
  • Concetti di Base sulle reti: Internet; Indirizzi IP; L´architettura Client Server
  • Concetti Base sulle interfacce grafiche ; Le Applet: implementazione e deployment
  • Java Networking: Sockets; Applicazioni client server in Java; URL
Libri di testo

Oltre alle lezioni e alle dispense realizzate dal Docente ed ai materiali didattici pubblicati in piattaforma, è obbligatorio lo studiodei seguenti testi:

  • Herbert Schildt , Java - La Guida Completa 8/ed , McGraw-Hill

Testi di approfondimento:

  • Thinking In Java - Bruce Eckel - http://mindviewinc.com/Index.php
  • JAVA MATTONE DOPO MATTONE - Tarquini Massimiliano; Ligi Alessandro

I testi di approfondimento, non obbligatori, sono distribuiti dagli autori in forma gratuita su internet. Al termine di ogni lezione sono indicate una o più risorse di approfondimento fruibili gratuitamente tramite internet.

Criteri di valutazione
Tutte le prove di verifica e autoverifica intermedie previste dai Corsi ed erogate in modalità distance learning sono da considerarsi altamente consigliate e utili ai fini della preparazione e dello studio individuali. Le prove di verifica e autoverifica intermedie non sono obbligatorie ai fini del sostenimento della prova d´esame, la quale deve essere svolta in presenza dello studente davanti ad apposita Commissione ai sensi dell´art. 11 c.7 lett.e) del DM 270/2004.
Modalità della prova finale

L’esame si svolge in forma scritta.

La prova scritta consiste nella scrittura di tre programmi riguardanti i concetti e gli argomenti trattati durante il corso. La prova ha una durata massima di 120 minuti.

Didattica erogativa
L'insegnamento prevede, per ciascun CFU, 5 ore di Didattica Erogativa, costituite da 2,5 videolezioni (tenendo conto delle necessità di riascolto da parte dello studente). Ciascuna videolezione esplicita i propri obiettivi e argomenti, ed è corredata da materiale testuale in pdf.
Didattica interattiva
L'insegnamento segue quanto previsto dalle Linee Guida di Ateneo sulla Didattica Interattiva e l'interazione didattica, e propone, per ciascun CFU, 1 ora di Didattica Interattiva dedicata alle seguenti attività: lettura area FAQ, partecipazione ad e-tivity strutturata costituita da attività finalizzate alla restituzione di un feedback formativo e interazioni sincrone dedicate a tale restituzione.
Ricevimento studenti

Previo appuntamento (m.lunghi@unimarconi.it)