Elenco degli argomenti trattati nelle lezioni

Da aptiva.

Questa pagina vuole essere un aiuto per lo studio.

E' l'indice degli argomenti trattati nelle lezioni suddiviso per capitoli.

Indice

Informatica in generale

  • informatica - problemi dell'informatica (elaborazione, memorizzazione, comunicazione)
  • dato e informazione. Esempi
  • linguaggi - specifici linguaggi per elaborazione, memorizzazione, comunicazione. Esempi.
  • algoritmo - programma
  • linguaggi di programmazione. esempi
  • linguaggi a basso ed alto livello
  • linguaggi procedurali imperativi, logici, funzionali
  • linguaggi ad oggetti
  • compilatori - interpreti
  • programma - processo
  • formati di dati. esempi
  • rappresentazione dei dati in memoria: interi, floating point, caratteri (ASCII con estensioni, UNICODE).
  • formati per la rappresentazione di immagini, suoni etc.
  • numerazione binaria, ottale, esadecimale
  • algebra di Boole (operazioni e proprieta')
  • porte logiche
  • programmazione strutturata
  • iterazione e ricorsione
  • complessita' computazionale degli algoritmi (in tempo e in spazio)

Strutture Astratte di Dati

definizione, funzioni e esempi di:

  • code (queue)
  • pile (stack)
  • alberi
  • grafi

Concetti di collegamento con altri corsi

  • Architettura di riferimento Von Newmann
  • CPU memorie (primaria, secondaria, terziaria), bus, I/O
  • Architetture logiche a livelli:
    • Sistemi operativi
    • protocolli di comunicazione
    • librerie
  • file system

Algoritmi

Algoritmi elementari

  • crivelllo di Eratostene (numeri primi)
  • sequenze palindrome
  • fattoriale
  • successione di Fibonacci
  • calcolo max/min
  • calcolo MCD/mcm (gcd, lcm)
  • ... e quelli presenti negli esempi!

Algoritmi di ricerca (searching)

  • ric. lineare
  • ric. dicotomica (o binaria)
  • radix searching
  • hashing
  • ricerca di sottostringhe in testi (lineare e hash - Rabin Karp)

Algoritmi di ordinamento

  • ordinamento interno ed esterno
  • ordinamento "sul posto" (in place)
  • ord. per inserzione
  • ord. per selezione
  • ord. a bolla (bubble)
  • quick sort
  • ord. per fusione (mergesort)
  • counting sort

Programmazione (Python)

  • motivazioni e usi del linguaggio Python (anche in didattica)
  • python 2 e python 3 differenze
  • istruzione
  • sequenza
  • variable, assegnazione, valori sinistri e destri (L-value, R-value)
  • espressione. assegnazione composta
  • condizioni (if / if else /elif), cortocirduito degli and e degli or
  • vero e falso nelle condizioni
  • sequenze
    • tuple
    • liste
    • stringhe
  • insiemi
  • dizionari
  • cicli while e for. le istruzioni break/continue nei cicli e l'else.
  • la funzione range
  • l'istruzione pass
  • formattazione delle stringhe
  • funzioni: definizione e uso. Paramtri e valore di ritorno
  • gestione elementare dei file
  • moduli/librerie (esempi turtle, math...)

Aspetti Didattici

  • Senso della didattica dell'informatica nel II rinascimento
  • Durata della conoscenza: conoscenza a breve, medio e lungo termine
  • Approccio top-down o bottom-up alla didattica degli algoritmi e della programmazione
  • Rappresentazione di un algoritmo: pseudo-codifica e diagrammi di flusso (pseudocode vs. flow-chart)
  • Scelta del lingiaggio di programmazione per la didattica, pro e contro delle possibili scelte
  • Teatralizzazione (Dramatization) degli algoritmi

...

  • La creativita' nella didattica (il pensiero divergente)
  • Lo studio scientifico come arte
  • Il making nella didattica
  • didattica tramite robot, videogiochi, app
  • Women in computing

Questioni legali ed etiche

  • Diritti sull'hardware e sul software
  • Diritto di autore: morale ed economico
  • Marchio registrato
  • Brevetto: non si applica al software
  • Licenze per programmi:
    • Public Domain
    • Licenze libere/open source (FLOSS)
    • Licenze proprietarie (EULA)
  • Aprofondimento sul software libero
    • licenze con o senza copyleft (transitivita')
    • concetto di distribuzione
  • Licenze per altro software (testi, musica, video...)
  • Sostenibilita' del modello del software libero e ricadute economiche e sociali
    • Creative Commons
  • Obbligo (morale e giuridico) di uso del software libero nella scuola
  • Obbligo (morale) dell'eliminazione delle certificazioni di uso per programmi nella scuola
Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Strumenti