Riflessioni sul programma (minimo) di Informatica da svolgere
Da aptiva.
Quella che segue e' una riflessione sui contenuti dei corsi di "Informatica" per il biennio degli Istituti Tecnici Economici e per i corsi di "Informatica e Laboratorio" per gli Istituti Professionali per i Servizi Commerciali.
Questa e' una bozza e serve anche per indicare ai corsisti del PAS quali siano gli argomenti MINIMI di Informatica che devono conoscere e per i quali devono sviluppare efficaci strategie didattiche (cioe' devono saper insegnare).
Concetti Generali:
- Hardware Software
- Informatica
- Digitale Analogico
- Codifica
- Algoritmo
- Linguaggio
- Linguaggio di Programmazione
- Formato di Dato
- Protocollo di Comunicazione
- Programma
- Processo
- Strutturazione a Livelli
- Sistema Operativo
- System Call
- Libreria
- Programmi di servizio
- Programmi applicativi
- Numeri Binari
- Algebra di Boole
Concetti di Architettura (maggiormente dettagliata in Reti e Sistemi)
- CPU e componenti (ALU, Controllo, Registri)
- Clock
- Bus
- Memoria
- Periferiche di Input/Output/I-O
Linguaggi di Programmazione
- Categorizzazione di Linguaggi di Programmazione
- Linguaggi Procedurali Imperativi, Linguaggi a Oggetti
- Pseudocodifica, Diagrammi di Flusso
- Programmazione Strutturata
- Sequenza di Istruzioni
- Variabile, Assegnazione
- Istruzioni Condizionali
- Istruzioni di Ciclo
- Funzioni (parametri formali, parametri attuali)
- Funzioni Ricorsive
- Librerie
- Tipi elementari di dato e loro rappresentazioni: interi, caratteri, stringhe
- Vettori
Algoritmi
- Ricerca sequenziale
- Ricerca dicotomica
- Hashing
- Ordinamento per selezione
- Ordinamento a bolla
- Ordinamento "Quicksort"
- Misure (intuitive) di complessita'
Linguaggio Specifico (Python)
- Hello World ed elementi della sintassi
- Indentazione
- Variabili in Python
- Espressioni
- Tuple, Liste, Strighe
- Definizione di Funzioni
- Concetto di Tipo di dato in Python
- Tipi Mutabili e non Mutabili
- Uso di Librerie in Python
- Istruzioni Condizionali in Python
- Istruzioni di Ciclo in Python
- (differenze fra python v.2 e python v.3).
Licenze sul Software e aspetti legali
- Software Proprietario e Software Libero
- Copyleft
- Creative Commons
- Computer Crime
- Hacking
Attivita' Pratiche in Laboratorio
- Uso Sistemi Operativi: shell grafiche e testuali (e.g. Ubuntu)
- Uso di un sistema di sviluppo per la programmazione (e.g. IDLE per Python)
- Lezioni di Orienteering Tecnologico: Word Processing (LibreOffice) grafica (Gimp, Blender), Musica (audacity), Editing Video
- Foglio elettronico, concetto di cella, formula (derivati dai concetti di variabili, assegnazione e espressione di un linguaggio di programmazione).
..... e manca la parte di reti e sistemi!
Attivita' ulteriori per rendere interessante la didattica
- Uso di Raspberry PI e attivita' di Making
- Uso di librerie grafiche per rendere visuale l'output dei programmi
- Scrittura di semplici videogiochi
- Scrittura di App per cellulari
- Uso di Scratch/Code.org
- csunplugged e tecniche di teatralizzazione degli algoritmi.
Occorrerebbero anche i seguenti argomenti
- Cenni di Storia dell'Informatica
- Attualita' (e.g. problema di heartbleed)