Videocorso Common Lisp CGFA
Da zero a programmare in Lisp con SBCL: liste, funzioni, macro e oggetti
- Partenza: Da zero
- 12 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Curiosi, studenti e programmatori che vogliono scoprire un linguaggio diverso, dove il codice è fatto della stessa materia dei dati
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione (aiuta, ma non serve)
- Pazienza con le parentesi: dopo due lezioni non le vedrai più
Cosa installare
A cosa ti serve
- Intelligenza artificiale simbolica e sistemi esperti
- Ricerca e università (linguistica, logica, robotica)
- Software per aziende che mantengono sistemi Lisp storici (trasporti, finanza, CAD)
- Allenamento mentale: imparare Lisp rende migliori in qualsiasi altro linguaggio
- Creare editor, linguaggi e strumenti su misura grazie alle macro
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Il REPL, le prime espressioni, funzioni, decisioni e liste
Intermedio
Ricorsione, cicli, funzioni come valori e strutture dati
Avanzato
Macro, oggetti con CLOS, errori, file e progetti
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 strutture, liste, mapcar, reduce 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 dolist.
- Calcola il totale con mapcar e reduce.
- Stampa i nomi degli articoli con quantità sotto 10 usando remove-if-not.
- Estensione: salva il report su un file con with-open-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 Common Lisp
- REPL
- L'invito interattivo di Lisp: legge quello che scrivi, lo calcola, mostra il risultato e riparte.
- S-espressione
- Un elemento di Lisp: un atomo (numero, nome) oppure una lista tra parentesi. Tutto il codice è fatto di S-espressioni.
- NIL
- Il valore falso e allo stesso tempo la lista vuota.
- Notazione prefissa
- Scrivere l'operatore prima dei valori: (+ 2 3).
- cons
- Funzione che crea un anello di lista unendo un elemento a una lista.
- car e cdr
- Le due funzioni che danno il primo elemento di una lista e il resto.
- Predicato
- Funzione che risponde vero o falso, di solito con il nome che termina per p, come evenp.
- lambda
- Una funzione senza nome, creata sul momento.
- Macro
- Una funzione che trasforma codice in altro codice prima dell'esecuzione.
- Backquote
- L'apice rovesciato: un modello di lista in cui si possono inserire valori con virgola.
- CLOS
- Il sistema a oggetti di Common Lisp, basato su classi e funzioni generiche.
- Condizione
- Lo strumento di Lisp per segnalare e gestire errori e situazioni particolari.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.