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
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.
Base
Le prime espressioni, funzioni, decisioni e liste
Intermedio
Ricorsione, funzioni di ordine superiore e strutture dati
Avanzato
Macro, pattern matching, moduli, test e file
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
- Definisci una struttura
articolocon nome, prezzo e quantità. - Crea una lista con almeno tre articoli.
- Scrivi la funzione
valoreche moltiplica prezzo e quantità. - Stampa una riga per articolo con un ciclo for.
- Calcola il totale con map e apply.
- Stampa i nomi degli articoli con quantità sotto 10 usando filter e map.
- 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.
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.