Skip to content

marcofarina/python-doesnt-byte

Repository files navigation

Python doesn’t byte

Il libro di testo, reinventato.

Sito GitHub Workflow Status Version Docusaurus Python 3.12 Contributor Covenant License: CC BY-NC-SA 4.0

Python doesn’t byte è un libro di testo digitale e open source per imparare Python, pensato per gli studenti della scuola secondaria di secondo grado — in particolare l’indirizzo Informatica degli Istituti Tecnici e l’articolazione Scienze Applicate del Liceo Scientifico.

Non è un PDF né un sito di sole pagine statiche: ogni esempio di codice si esegue direttamente nel browser (niente da installare), con un editor in-pagina e la possibilità di modificare, rieseguire e sperimentare.

Perché questo libro?

Ho scritto questo libro come risposta alla crescente necessità di modernizzare l’insegnamento dell’informatica nelle scuole superiori. Mentre i libri di testo cartacei tradizionali possono risultare antiquati nel contesto veloce e dinamico dell’informatica, qui adotto un approccio diverso: un libro digitale, interattivo e in continua evoluzione.

Il formato digitale offre diversi vantaggi:

  • Flessibilità — posso aggiornare e adattare i contenuti ai miei corsi e agli ultimi sviluppi del linguaggio in qualsiasi momento.
  • Interattività — esempi di codice eseguibili in-pagina, query SQL eseguibili nel browser, algoritmi animati passo-passo e materiali multimediali rendono l’apprendimento più pratico e coinvolgente.
  • Accessibilità — gli studenti vi accedono da qualsiasi luogo e in qualsiasi momento, gratuitamente.
  • Apertura — la licenza open source promuove condivisione, collaborazione e revisione da parte della comunità.

I quattro volumi

Il libro è organizzato in volumi indipendenti, ciascuno con la propria sidebar e il proprio percorso:

Volume Titolo Argomenti
1 Manuale del Programmatore Fondamenti del linguaggio: dati, controllo di flusso, funzioni
2 Manuale dell’Artefice Programmazione ad oggetti: classi, ereditarietà, design pattern
3 Manuale dell’Archivista Dati e persistenza: file, SQLite, ORM, integrazione
4 Biblioteca dell’Apprendista Esercizi, sfide e progetti di laboratorio

Il progetto è in fase di sviluppo attivo: alcuni volumi sono ancora in via di popolamento.

Stack tecnologico

  • Docusaurus 3 (React 18 + TypeScript) come generatore di sito statico.
  • PyRunner — runtime custom in-repo per eseguire Python nel browser, basato su Brython 3.12 + CodeMirror 6. Espone il fence ```py live e il componente <PyRunner /> in MDX.
  • SQLRunner (SQL Live Blocks) — esecutore SQL client-side via sql.js (SQLite compilato in WASM) in un Web Worker, con ripristino del database da snapshot. Per il Volume 3; espone il fence ```sql live.
  • Algorithm — visualizzatore di algoritmi animati (ordinamento e ricerca) con player passo-passo, pseudocodice sincronizzato e preset Studio/Lab. Componente <Algorithm /> in MDX.
  • Contenuti in MDX (italiano), con componenti didattici custom (callout Notion-style, quiz, tooltip, indice dei capitoli).
  • Smart quotes tipografici applicati automaticamente in build (remark-smartypants).
  • Deploy automatico su GitHub Pages (dominio custom www.rainbowbits.cloud) via GitHub Actions.

Sviluppo locale

Requisiti: Node.js ≥ 20 e npm.

# Installa le dipendenze
npm install

# Avvia il dev server (hot-reload) su http://localhost:3000/python-doesnt-byte/
npm start

# Build di produzione (la stessa che gira in CI)
npm run build

# Servi localmente il sito buildato
npm run serve

Controlli qualità:

npm run typecheck   # tsc
npm run lint        # ESLint
npm run format      # Prettier
npm run clear       # svuota la cache di Docusaurus (.docusaurus/)

Contributi

Questo è un progetto open source! Se hai suggerimenti, correzioni o nuovi materiali da condividere, sentiti libero di aprire una issue o inviare una pull request. Prima di contribuire, dai un’occhiata al Code of Conduct.

Contatti

Per domande o ulteriori informazioni puoi scrivere all’autore: marco.farina@jcmaxwell.it.

Licenza

Python Doesn’t Byte by Marco Farina is licensed under CC BY-NC-SA 4.0

Donazioni

Secondo il principio del value for value, se ritieni che questo progetto educativo ti abbia arricchito culturalmente, puoi considerare di sostenerlo restituendo quel valore attraverso una donazione. Ogni contributo, per quanto modesto, è un riconoscimento dell’impegno per la condivisione della conoscenza.

Donazione Bitcoin Donazione Lightning Ko-fi Donazione PayPal

About

Un libro open source di informatica su Python per la scuola secondaria di secondo grado.

Topics

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE-MIT

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Contributors