Corsi

Struttura del corso di Informatica

Quest’anno scolastico, 2011/2012, le classi che mi sono state assegnate sono

  • 3N – Informatica
  • 4N – Informatica
  • 5N – Informatica
  • 2O – Scienze e Tecnologie Applicate

In terza, in Informatica (indirizzo Abacus), solitamente si affrontano le basi della programmazione, focalizzando in classe l’attenzione sulle strutture fondamentali per la realizzazione degli algoritmi in modo indipendente dal linguaggio mentre, in laboratorio, il lavoro è incentrato sullo studio del linguaggio C/C++. Più avanti nel corso (dipende però dai tempi, a volte si preferisce rimandare tale studio alla classe quarta) si studiano le principali strutture dati astratte (liste, code, pile, array, matrici, strutture ecc) e la loro implementazione in C/C++. I problemi verranno affrontati e risolti usando il paradigma di programmazione procedurale (o imperativo) e solo nella fase finale dell’anno sarà presentato il paradigma di programmazione a oggetti.  La scelta del linguaggio C/C++ è giustificata  dai seguenti motivi: è un linguaggio molto usato in ambito industriale e accademico, ha una sintassi sintetica e il codice prodotto è compatto ed efficiente: con esso sono scritti molti prodotti di successo come fogli elettronici, database, sistemi operativi (ricordiamo per tutti Unix da cui poi Linux), word processor, interpreti, compilatori, web server ecc.  Dal linguaggio C, derivano lo stesso linguaggio C++ (il C++ si può considerare una estensione del C per poter lavorare con gli oggetti), Java, C# (che eventualmente studieremo compatibilmente col tempo disponibile), Php (usato soprattutto in ambito Web), Ruby ecc. Maggiori dettagli nella sezione Linguaggi di programmazione.

In quarta Abacus, si affrontano (oppure, se gli studenti le hanno già viste lo scorso anno, si riprendono) principalmente le strutture dati. Queste si potrebbero tranquillamente implementare in linguaggio C o C++. E’ mia convinzione tuttavia che in questo anno si debba affrontare anche lo studio di un altro linguaggio di programmazione e vedere contestualmente come si implemetano tali strutture nel nuovo linguaggio. Questo per offrire allo studente una maggiore scelta e fornire una panoramica quanto più esaustica sui vari linguaggi con i quali dovranno prima o poi confrontarsi. La scelta ricade inevitabilmente su Java. Java è un linguaggio estremamente potente che muove i suoi passi dal C++, dispone in modo nativo di una struttura che garantisce la sicurezza (si pensi al concetto di “sandbox”), la portabilità (gli americani dicono: “write once, run everywhere”), il multithread, una maggiore semplicità sintattica rispetto al C++, un insieme molto vasto di classi predefinite già pronte per l’uso organizzate in package, librerie di integrazione per le basi di dati ecc, tool per ottenere in automatico la documentazione e quant’altro.

In quinta si affronta principalmente lo studio dei database e la programmazione client/server. Come database la scelta solitamente ricade su MySQL per ovvi motivi ma non escludo di trattare altri database come Derby, HSQLDB e SQLite. Per quanto riguarda la programmazione lato client vedremo principalmente CSS, HTML e Javascript e magari uno dei tanti framework Ajax che sono venuti alla ribalta (pensavo a jQuery). Per la programmazione lato server, vedremo principalmente JSP e Php. Se c’è tempo, tratteremo PDO (Persistent Data Object) con Php, database ad oggetti (db4o), un paradigma di programmazione a oggetti molto diffuso (il Model View Controller o MVC; il paradigma è indipendente dal linguaggio di programmazione, noi comunque lo vedremo in Java e in Php) e completeremo lo studio delle principali strutture dati iniziato in quarta, studiando Set e Mappe.

Under construction