Quarta Informatica

IL LINGUAGGIO C++ E LA PROGRAMMAZIONE IMPERATIVA
  • Programmazione Top-Down
  • Funzioni con e senza parametri
  • Il tipo di dato puntatore
  • Le funzioni e il passaggio di parametri per riferimento
  • Puntatori a strutture
  • I vettori e l'aritmetica dei puntatori
  • Allocazione dinamica della memoria in C e in C++
  • File testuali 
  • Le operazioni su file testuali: apertura, lettura, scrittura, chiusura

LISTE, PILE E CODE
  • Realizzazione delle strutture dati
  • Pila Coda Lista tramite utilizzo di vettori
  • Pila Coda Lista tramite utilizzo di puntatori
  • Esercizi e casi reali

LA PROGRAMMAZIONE AD OGGETTI
  • Caratteristiche evolutive dei linguaggi di programmazione: dal paradigma procedurale al paradigma a oggetti
  • Astrazione: oggetti e classi
  • Classe come modellizzazione di aspetti problematici del mondo reale o di concetti astratti
  • Caratteristiche e comportamenti di un oggetto
  • Oggetto come istanza di una classe
  • Incapsulamento e occultamento dei dati: concetto di information hiding
  • Elementi privati ed elementi pubblici
  • Metodi come sottoprogrammi procedurali o funzionali
  • Dall'analisi alla modellizzazione del problema tramite l'approccio OOP

IL LINGUAGGIO C++ E LA OOP
  • Definizione di classi (attributi e metodi) e dichiarazione di oggetti
  • Dichiarazione e implementazione di funzioni membro di una classe
  • Costruttori e distruttori di default e personalizzati
  • Costruttore con lista di inizializzazione
  • Costruttore di copia di default e personalizzato
  • Visibilità di variabili e funzioni membro: pubblici, privati, protetti
  • Invocazione di una funzione membro e accesso alle variabili membro
  • Ereditarietà: classe base e classi derivate
  • Concetto di polimorfismo: overload e l'override dei metodi
  • Relazioni di aggregazione e composizione tra classi

HTML E PROGRAMMAZIONE WEB LATO CLIENT
  • Utilizzo dei principali tag HTML
  • Realizzazione di un sito istituzionale con uso di immagini, link, elementi multimediali
  • Introduzione ai CSS e loro applicazione pratica
  • Uso dei CSS nei siti web
  • Introduzione a Javascript e suo utilizzo nei siti web

LINGUAGGIO JAVA
  • Caratteristiche generali del linguaggio
  • Ambiente di programmazione, compilatore e interprete
  • Caratteristiche della JVM, memoria heap, garbage collector
  • Ambienti di programmazione: JRE, JDK e l'IDE NetBeans
  • Convenzioni di codifica, sintassi di un programma e struttura di un'applicazione Java
  • Utilizzo delle funzionalità principali dell'ambiente di sviluppo NetBeans (ver.7.3.1 e 8.2)
  • I package
  • Tipi di dati primitivi e la OOP in Java
  • La classe Object e i metodi equals() e toString()
  • Dichiarazione di variabili e istanziazione di oggetti
  • Ereditarietà, polimorfismo, costruttore della sottoclasse
  • Concetto di eccezione ed uso del costrutto try-catch()
  • Operazioni di I/O: System.in e System.out
  • Input da tastiera: la classe Scanner
  • Clonazione ed incapsulamento dell'oggetto "System.in" nella classe "inputStreamReader" per l'acquisizione di un carattere da tastiera e bufferizzazione
  • La classe String
  • Array di tipi predefiniti e array di oggetti
  • Implementazione di una lista: esempi con campo informazione di tipo primitivo e campo informazione di tipo oggetto e i principali metodi di inserimento, cancellazione, ricerca e visita degli elementi