Linguaggi di programmazione avanzato

linguaggi di programmazione luca bravo 217276 unsplash
OBIETTIVI:

Lo scopo del corso è sviluppare e approfondire, anche e soprattutto attraverso la loro implementazione, tecniche e argomenti avanzati di programmazione che non sono coperti nei corsi di base. Per questo motivo, il corso è il naturale proseguimento/approfondimento dei corsi di programmazione a oggetti, compilatori e linguaggi di programmazione.

Per quanto riguarda l’implementazione dei linguaggi di programmazione, il corso si pone un duplice obiettivo: da una parte vuole mettere lo studente in grado di usare le più moderne tecniche di progettazione e implementazione di interpreti e compilatori; dall’altra parte, mediante l’approfondimento delle moderne tecniche di implementazione, vuole mettere lo studente in grado di conoscere e sfruttare al meglio le caratteristiche dei linguaggi e dei paradigmi di programmazione.

Per quanto riguarda le tecniche di programmazione, il corso vuole presentare alcuni tra i più recenti e innovativi approcci, fornendo le conoscenze di base su argomenti quali design patterns, generici, metaprogrammazione, partial evaluation, generative programming, extreme programming.

DURATA:

Min 30 – Max 40 ore

A CHI SI RIVOLGE:

Studenti liceo scientifico, istituto tecnico e scuole professionali

PROGRAMMA: 

Il corso offre una selezione di argomenti di programmazione avanzata con particolare riferimento al paradigma ad oggetti e al linguaggio Java.

Sono trattati sia temi specificatamente legati al linguaggio Java, come i dettagli del Binding dinamico, sia i temi di natura progettuale, come i Design Pattern. Tra questi due estremi vengono affrontati numerosi problemi di progettazione e implementazione comuni ai moderni linguaggi orientati agli oggetti, come il confronto e ordinamento tra oggetti, la programmazione con parametri di tipo e la creazione di programmi multi-thread.

Gli argomenti sono trattati con un taglio orientato alla pratica allo scopo di preparare gli studenti alla progettazione e realizzazione di sistemi software complessi.

Programma del corso:

  • Algoritmi e linguaggi di programmazione
  • Interfaccia grafica per l’utente di R
  • Identificatori e variabili; tipi di dati base; operatori, espressioni e istruzioni
  • Strutture dati fondamentali in R: vettori, fattori, matrici, array, liste, data frame ed enviroment
  • Strutture di controllo del flusso di esecuzione: blocchi, istruzioni condizionali, interazioni
  • Funzioni e script
  • Operazioni di I/O
  • L’ambiente grafico di R
  • Package ed ‘estensioni’ del linguaggio R
  • Bioconductor e package specifici per la bioinformatica
  • Programmazione object oriented in R.