La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti.

Presentazioni simili


Presentazione sul tema: "Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti."— Transcript della presentazione:

1 Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti ● Metodologie differenti ● Linguaggi

2 Introduzione ● Rilevazione dell'esigenza ● Formalizzazione della problematica ● Creazione dell'algoritmo ● Implementazione dell'algoritmo ● Creazione del programma eseguibile (software) ● Test del programma

3 Creazione del programma eseguibile Codice sorgente int main(int argc, char *argv[]){ printf(“abcd...”); … “Compila zione” Program ma eseguibi le 0000101 1 11010...

4 Perché programmare? ● Formare tecnici preparati! ● Trovare lavoro ● Preparare agli esami universitari

5 Dubbi ● Il linguaggio che insegno oggi, domani...? ● Tecnologie differenti ● Specializzazione Ruoli differenti ● Scuola: forma mentis ● Mondo produttivo: specializzazione

6 Per associazione d'idee ● Per guidare un'auto posso rivolgermi ad una scuola guida. ● A scuola guido una “Bianchina". ● Imparo ad usarla e con essa sostengo l'esame. ● La motorizzazione mi rilascia una patente di guida per una particolare categoria di veicoli. ● Non per poter guidare la “Bianchina"!

7 Quindi perché? ● Il linguaggio di programmazione: non come fine dell'insegnamento, ma come mezzo per apprendere ● Sviluppare le capacità di ragionamento ● Sviluppare ed affinare l'approccio ai problemi (problem solving)

8 Paradigma ● Insieme di strumenti concettuali forniti da un linguaggio di programmazione per la stesura di programmi. ● Definisce/determina il modo in cui il programmatore concepisce e percepisce il programma. ● Il paradigma imperativo (e tutti i suoi sotto-paradigmi) e l'approccio più diffuso nella programmazione. ● Il programma viene inteso come un insieme di istruzioni che possono essere pensate come un ordine che viene impartito.

9 Strumenti Mappe concettuali (top-down/bottom-up): ● Freemind ● vym Diagrammi a blocchi: ● OpenOffice Draw ● Dia cond AB VF

10 Strumenti UML (Unified Modeling Language) What? Linguaggio di modellazione e specifica basato sul paradigma della programmazione ad oggetti (Object Oriented) ● Dia ● Umbrello (per KDE) ● Graphor Generazione automatica a partire dal codice: autodia, eclipse, ecc.

11 Esempio UML

12 Metodologie Purista ● Editor ● Compilatore/interprete ● Esecuzione

13 Consapevolezza Approccio migliore per chi inizia: ● Scrittura del codice separata dalla ● compilazione del codice separata dalla ● correzione degli errori separata dal ● debug del programma

14 Strumenti Editor da terminale: ● vi ● emacs ● nano e grafici: ● gedit ● tea ● leafpad ● nedit

15 Metodologie Intermedio ● Semplice IDE ● Segnalazione degli errori sull'editor (dopo la comp.) ● Strumenti di debug (non sempre disponibili) Compilazione integrata Esecuzione integrata

16 Intermedio Soluzione migliore per chi: ● ha già un base di conoscenze ● non rischia di confondere l'ambiente di sviluppo con il linguaggio di programmazione ● vuole avere un controllo più preciso del codice ● sviluppa programmi non banali ma neanche molto complessi

17 Strumenti IDE: ● geany ● anjuta ● codelite

18 Metodologie Avanzato/Professionale ● IDE con funzionalità avanzate ● “Precompilazione” – Documentazione integrata ● Esecuzione e Debug integrato ● Gestione dei TO DO ● Generazione documentazione ● Generazione UML Eclipse - NetBeans

19 IDE avanzato - “precompilazione”

20 IDE avanzato - debug

21 Avanzato Soluzione migliore per chi: ● conosce bene la programmazione ● deve gestire progetti di sviluppo complessi (molti file, molti progetti differenti, o in collaborazione con un team) ● ha bisogno di strumenti per gestire documentazione, versioni, refactor del codice sorgente ● necessita di un sistema di debug avanzato anche da remoto

22 Linguaggi I classici: ● C (gcc) ● Pascal (Free Pascal) ● Basic (basic256) Un po' diversi: ● Java (OOP) ● Python

23 Linguaggi Scripting ● Shell (bash, sh, c) ● Perl RAD (Rapid application develpment) ● Gambas (basic) ● Lazarus (pascal) ● Boa constructor (Python)

24 Ora un po' di esempi su... ● Editor ed IDE ● Gambas ● Python


Scaricare ppt "Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti."

Presentazioni simili


Annunci Google