Passa al contenuto principale

Manuale del Programmatore

Questo è il volume da cui si comincia. Non dà per scontato niente: parte dalla definizione di algoritmo e arriva a un programma che salva i propri dati in un file e li ritrova all’avvio successivo. In mezzo c’è tutto il programma di informatica della classe terza, comprese le parti che non riguardano il linguaggio: le strutture dati più avanzate, il version control con git e un primo sguardo alla crittografia.

Il linguaggio è Python, scelto per le ragioni che spiega la pagina Perché Python?. Ogni blocco di codice del volume si può eseguire e modificare nella pagina, senza installare niente; per scrivere codice libero, fuori dalle lezioni, c’è il Playground.

Obiettivi​

Le competenze che il volume costruisce sono tre: risolvere un problema scomponendolo in passi e tradurre la soluzione in un programma Python funzionante; leggere un programma scritto da altri, prevederne il comportamento e trovarne gli errori; gestire il proprio codice con git e conservare in un file i dati di un programma.

Conoscenze e abilità, divise per area:

AreaConoscenzeAbilità
AlgoritmiDefinizione e proprietà di un algoritmo; l’IDEDistinguere un algoritmo da una procedura ambigua; scrivere ed eseguire un programma
Dati e operazioniVariabili, tipi di dato, operatori, input e output, stringhe e f-stringScegliere il tipo adatto a un dato; convertire l’input; comporre messaggi leggibili
Controllo del flussoCondizioni, operatori logici, tabelle di verità, cicli for e whileScrivere condizioni corrette; scegliere il ciclo adatto; validare un input
Strutture datiListe, dizionari, matrici, pila e coda, alberi, tuple e insiemiScegliere la struttura adatta a un problema; scorrerla e modificarla; copiarla quando serve
Funzioni e moduliParametri, valore di ritorno, visibilità delle variabili, moduli, random, operatore %Scomporre un programma in funzioni; costruire e importare una libreria
FileApertura e chiusura, modalità, with, JSON, encodingSalvare e rileggere dati strutturati senza perderli
StrumentiVersion control, git e GitHub, cifrari storiciFare commit e push di un progetto; cifrare e decifrare con un cifrario a sostituzione

Come è costruito​

Il volume ha 13 capitoli, raggruppati qui in quattro parti. I primi 11 costruiscono il linguaggio un pezzo alla volta, e ognuno usa quello che i precedenti hanno introdotto; gli ultimi due escono dal linguaggio ma restano nel programma di terza.

Primi passi​

  1. Risolvere problemi con l’informatica. Che cos’è un algoritmo, e dove si scrive ed esegue un programma.
  2. Far dire qualcosa al programma. Output, variabili, tipi di dato, contatori e accumulatori, input.
  3. Decidere. Condizioni, operatori logici e tabelle di verità.
  4. Ripetere. I cicli for e while e la validazione dell’input.

Organizzare dati e codice​

  1. Le stringhe. Indici, f-string, immutabilità, caratteri e numeri.
  2. Le liste. Creare, scorrere, modificare e copiare una lista.
  3. Funzioni. Parametri, valore di ritorno, visibilità delle variabili, moduli.

Altri strumenti per i dati​

  1. Numeri e casualità. Il modulo random e l’operatore %.
  2. I dizionari. Recuperare un dato per nome invece che per posizione.
  3. Strutture dati avanzate. Matrici, pila e coda, alberi, tuple e insiemi.
  4. I file. Leggere e scrivere file, i dati strutturati in JSON, l’encoding. Da qui parte il Manuale dell’Archivista.

Oltre il linguaggio​

  1. Tenere traccia del lavoro. Il version control con git e GitHub.
  2. Cenni di crittografia. Il cifrario di Cesare, la crittoanalisi statistica, i principi di Kerckhoffs.

A che punto è il volume​

0/ 49 lezioni0%
Lezioni pubblicate su quelle previste dal programma del volume.