Elenco degli argomenti trattati nelle lezioni

Da aptiva.
Versione delle 12:56, 26 giu 2014, autore: Renzo (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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