Vai al contenuto

Videocorso Scheme e Racket CGFA

Da zero a programmare in modo funzionale con Racket, il Lisp pensato per imparare e per creare linguaggi

  • Partenza: Da zero
  • 12 ore con gli esercizi
  • 10 lezioni in 3 livelli
  • 2 lezioni gratis

A chi serve

Principianti curiosi, studenti di informatica e programmatori che vogliono capire la programmazione funzionale

Cosa serve per iniziare

  • Un computer Windows, Mac o Linux
  • Nessuna esperienza di programmazione
  • Voglia di ragionare in modo diverso dal solito

Cosa installare

Racket (versione 9 o successiva)Si scarica gratis da racket-lang.org: l'installer per Windows e Mac contiene tutto, compreso l'editor DrRacket. Su Linux è disponibile anche nei gestori di pacchetti
DrRacketÈ l'ambiente di sviluppo incluso nell'installazione di Racket: in alto scrivi il programma, in basso c'è la finestra interattiva dove vedi i risultati. Premi il pulsante Run per eseguire
Terminale e racoIl comando racket esegue un file (racket programma.rkt); raco è lo strumento per pacchetti, test ed eseguibili

A cosa ti serve

  • Studio serio della programmazione funzionale (base per Haskell, Clojure, Scala)
  • Insegnamento: Racket è usato in molti corsi universitari
  • Creazione di linguaggi su misura (DSL) per aziende e ricerca
  • Strumenti di scripting e automazione
  • Estensione di programmi che usano Scheme come linguaggio interno

Programma del corso

10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.

Progetto finale: Gestione del magazzino di una bottega

Costruisci un piccolo programma per una bottega napoletana: un elenco di articoli con prezzo e quantità, il valore di ciascuno, il totale in euro e l'elenco di quelli da riordinare. Usi struct, liste, map, filter, apply e cicli.

I passi

  1. Definisci una struttura articolo con nome, prezzo e quantità.
  2. Crea una lista con almeno tre articoli.
  3. Scrivi la funzione valore che moltiplica prezzo e quantità.
  4. Stampa una riga per articolo con un ciclo for.
  5. Calcola il totale con map e apply.
  6. Stampa i nomi degli articoli con quantità sotto 10 usando filter e map.
  7. Estensione: scrivi un test con rackunit per la funzione valore e salva il report su un file.

Esame e attestato

Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.

Vai all'esame

Glossario di Scheme e Racket

Scheme
Un piccolo linguaggio della famiglia Lisp nato per insegnare e ragionare sui programmi.
Racket
Il linguaggio erede di Scheme, con librerie, editor e la possibilità di creare nuovi linguaggi.
DrRacket
L'ambiente di sviluppo di Racket, con editor e finestra interattiva.
Notazione prefissa
Scrivere l'operatore prima dei valori: (+ 2 3).
Predicato
Funzione che risponde vero o falso, di solito con il nome che termina con il punto interrogativo.
Immutabile
Che non cambia: le liste di Racket non si modificano, si creano liste nuove.
Ricorsione in coda
Ricorsione dove la chiamata è l'ultima operazione: Racket la esegue come un ciclo, senza consumare memoria.
lambda
Una funzione senza nome, creata sul momento.
Closure
Funzione che ricorda i valori dell'ambiente in cui è stata creata.
Macro
Una trasformazione di codice in altro codice prima dell'esecuzione.
Pattern matching
Confrontare un valore con dei modelli per estrarne i pezzi, con l'istruzione match.
Modulo
Un file Racket che esporta nomi con provide e ne importa altri con require.

Le prime 2 lezioni sono gratis

Per il corso completo, scuole e aziende: chiedi le condizioni.