CORSO DI PROGRAMMATORE/ DATABASES PROJECT 1. FINALITA’ Il corso “Programmatore – databases project” ha l’obiettivo di formare coloro che intendono diventare esperti di programmazione e si propone di dotare i partecipanti di tecniche logiche di programmazione PHP/ASP, in base a strumenti e metodologie di sviluppo ed applicazione del programma e permette di acquisire le conoscenze adatte per la gestione del database. La finalità principale è di approfondire la conoscenza dell’omonimo linguaggio che negli ultimi anni si è reso indispensabile a chi entra a far parte di ambienti di lavoro ove è diffusa l’informatica, ancora oggi in voga; pertanto si forniranno tutti gli strumenti, sia per la creazione di propri Script, che per la realizzazione, partendo da zero, di un portale di E-commerce, interfacciandosi con database Mysql/Access. 2. RISULTATI DI APPRENDIMENTO ATTESI (in termini di conoscenze, abilità e competenze) Lo scopo di questo corso è quello di illustrare le principali tecniche necessarie all'utilizzo di un database MySQL attraverso PHP. Oltre a mostrare le funzioni che permettono di interagire con il database si cercherà di mettere in evidenza tutti gli ulteriori accorgimenti che fanno da contorno alla realizzazione di script PHP/MySQL. Verranno affrontate problematiche di diversa natura (sicurezza, funzionalità degli script, portabilità e organizzazione del codice) e per ciascuna di esse verrà proposta una soluzione, senza la pretesa di essere esaustivi ma con l'unico scopo di evidenziare quali siano i diversi elementi da considerare e che determinano la buona riuscita di uno script PHP/MySQL. Uno degli aspetti su cui si insisterà particolarmente è l'interazione con l'utente, croce e delizia delle applicazioni web based. Vedremo come la complessità di uno script PHP/MySQL, generalmente modesta, aumenti esponenzialmente tutte le volte che vogliamo effettuare con sicurezza operazioni con il DB in funzione dell'input dell'utente. Inutile premettere che per fruire appieno degli argomenti presentati in questo corso è necessario possedere i rudimenti della programmazione PHP e si dà per nota anche una minima conoscenza dei database e dell'SQL. Al termine del corso il discente sarà in grado di installare e configurare MySQL; eseguire ed ottimizzare query sul Database; comprendere l'utilizzo di un database relazionale; eseguire operazioni di backup; utilizzare MySQL con i principali linguaggi di programmazione della piattaforma Unix/Linux. 3. CONTENUTI La programmazione PHP riguarda la creazione di siti o software dinamici utilizzando un linguaggio di programmazione "open source" e multipiattaforma. Installazione del Web Server Apache consiste in: Installazione del linguaggio PHP. Installazione di MySql. Utilizzo del front-end PhPmyAdmin. Creazione e modifica di un Database MySql/ Access. Approfondimenti sul linguaggio PHP 5: Creazione ed utilizzo delle Variabili. Creazione ed utilizzo delle Costanti. I Numeri, le Stringhe di caratteri. Data e ora. Creazione ed Utilizzo delle Array. Le Array superglobali. Definizione di un sito dinamico in frontpage. Connessione al Database MySql. Registrazione di un nuovo utente con invio mail di conferma e Attivazione! Funzioni di Upload dei file senza utilizzo della cartella "public". Creazioni di moduli per richiesta informazioni con invio mail direttamente in PHP. Creazione ed utlizzo di un Back office per la gestione del sito, ad esempio: Aggiungere un prodotto. Modificare un prodotto. Cancellare un prodotto. Creazione di un motore di ricerca interno al sito. Come pubblicare in remoto il sito/software. Configurazione di uno spazio PHP. Protezione di un Database, gestione dei privilegi. Esportazione dei dati in sql e importazione nel database in remoto. Modificare il file di connessione per il remoto. Test del sito su di un sever remoto. 4. ARTICOLAZIONE DIDATTICA Il corso avrà una durata di Unità didattica 1 - Utilizzo del database server (110 ore) o o o o o o o o o o o o o o o o o o Un database di esempio Terminologia Interazione col database Tipi di dati Conversione dei tipi Valutazioni di espressioni Operazioni con i database (creazione, eliminazione e alterazione) Operazioni con le tabelle ( creazione, eliminazione, indicizzazione e alterazione) Reperimento delle informazioni su database e tabelle Record da tabelle multiple Transazioni Chiavi esterne e integrità referenziale Utilizzo della ricerca FULLTEXT Commenti Utilizzo efficiente di indici Efficienza delle query in funzione del tipo di dato Caricamento di dati Locking Unità didattica 2 - Utilizzo delle “programming interfaces” (90 ore) A scelta tra i seguenti moduli o MYSQL C API o MYSQL PERL DBI API o MYSQL PHP API Unità didattica 3 - Amministrazione del database server (40 ore) o o o o o o o o o Amministrazione generale Sicurezza Ripristino database (recovery) Struttura dello stoccaggio delle informazioni sullo strato del filesystem Rilocazione delle informazioni Gestione degli utenti Analisi dei log Direttive di configurazione aggiuntive Replication server METODOLOGIE DIDATTICHE IMPIEGATE Il corso si svolge in aula informatica e prevede sessioni di lezione frontale e sessioni di pratica in cui i partecipanti provano i concetti precedentemente esposti. Ciascun modulo formativo prevede prove intermedie e finali di valutazione sottoforma di esami (quiz a risposta multipla), prove pratiche e presentazione di progetti (case study). Durante queste attività saranno effettuate delle valutazioni intermedie del livello di apprendimento. Gli argomenti trattati verranno esposti in maniera graduale e seguiti sempre da esercitazioni al fine di acquisire la capacità di utilizzare al meglio questo potente linguaggio di programmazione. PERSONALE COINVOLTO (TUTOR/DOCENTI: INDICARE LA FUNZIONE SVOLTA, REQUISITI…) Il docente coinvolto ha una pluriennale esperienza nell' Utilizzo degli strumenti software elencati: tratterà temi quali specifiche di implementazione, problemi di configurazione, consigli utili e descrizione dettagliata della tecnologia, in modo che gli alunni possano acquisire le competenze di cui hanno bisogno e sfruttare al massimo gli investimenti IT. Oltre al docente, la FRA. MA SCHOOL ha come tutor una coordinatrice sociologa, responsabile per tutti gli aspetti gestionali e organizzativi dei corsi, interlocutrice per ogni eventuale problema relativo al servizio. Garantirà, quindi, la risoluzione delle problematiche che sorgono “in essere”, seguendone l’organizzazione e l’andamento e assumendone la direzione operativa. STRUTTURE UTILIZZATE (AULE/LABORATORI) La struttura utilizzata per i corsi è la sede operativa della Fra. Ma school: la sede è di 100 MQ1, di cui un’ aula di 30 MQ - con capienza di 10 utenti- una di 15 MQ, capienza 5 utenti, e un’aula adibita a laboratorio multimediale per la lingua Inglese. L’aula accreditata è la più grande (30 MQ): tutti i PC dedicati agli esami ( 10 PC funzionanti), posseggono i seguenti requisiti hardware: - Processore Pentium IV - 1GB di RAM - HD 160 GB 7200 RPM - Scheda di rete compatibile TCP/IP. - Scheda video SVGA con risoluzione minima 800x600 – 16 milioni di colori. - Monitor 17” Multimediali - Tastiera e mouse Ergonomici - Collegamento a internet e rete lan La tipologia dei PC è omogenea (tutti Midle- tower) e sono tra loro connessi in rete locale. L’aula degli esami è dotata di una stabile connessione a Internet. Il sistema operativo dei PC adibiti agli esami, compatibile con il software ATLAS di erogazione e correzione automatica degli esami è XP. L’aula degli esami è dotata di una stampante condivisa in rete. La messa a norma dell’impianto elettrico è attestata dalla dichiarazione di conformità rilasciata dal tecnico installatore iscritto nell’apposito albo presso le CCIAA, redatta secondo le modalità prescritte dalla L. 46/90 e successive integrazioni. Sono installati 2 estintori vidimati regolarmente alle prescritte scadenze, collocati nell’ufficio e segnalati da relativa cartellonistica. SUPPORTI DIDATTICI A supporto dell'attività formativa in aula proposta da Lead-Tech, viene fornito materiale didattico sia in forma cartacea che digitale. Per lo svolgimento del corso saranno utilizzate le seguenti risorse strumentali: o registro di presenze; o testi e dispense; o registro reclami; o questionari di apprendimento. Oltre agli strumenti metodologici, saranno appositamente “sistemati” strumenti gestionali, finalizzati all’operatività: o rete internet; o 10 computers individuali per un rapporto ottimale candidato- pc, con stampante; o 1 fax; o 1 scanner formato A3 a colori. Si precisa che i materiali e le attrezzature sopraelencate soddisferanno tutti i requisiti stabiliti dalla vigente normativa in materia di sicurezza. MODALITA’ E STRUMENTI DI VALUTAZIONE Il docente accompagnerà gli utenti nell’utilizzo del PC, personalizzando l’approccio in relazione al grado di ricettività del singolo destinatario. All’inizio di ogni azione formativa/modulo verranno consegnati ai discenti sommari su supporto cartaceo del contenuto delle lezioni che varranno trattate (dispense), allo scopo di consentire loro un successivo, eventuale “ripasso” e di fornire una sorta di “rassicurazione psicologica”sugli argomenti che verranno affrontati. Tutto il lavoro svolto sarà raccolto in cartelle personali e trasferito su supporti magnetici. La valutazione degli allievi sarà concepita come un’attività trasversale a tutto il percorso formativo. Verranno effettuati test a risposta multipla e questionari con la supervisione dei docenti, l’obiettivo sarà quello di valutare il grado di preparazione degli allievi le loro conoscenze e il grado di apprendimento durante lo svolgimento del corso. Le prove sono tese ad accertare le capacità professionali e le competenze teoriche e pratiche acquisite dai corsisti durante lo svolgimento del percorso formativo. Oltre all’attestato di frequenza, la FRA.MA SCHOOL rilascerà la certificazione Microsoft Office Access 2003.