Corso base di programmazione web

Corso:

tecniche di base per la programmazione web

La maggior parte di noi naviga sul web quotidianamente, ma pochi tra noi conoscono le tecniche che si nascondono dietro una pagina web. Come si allestisce una pagina? Quali sono i meccanismi di programmazione sottostanti alle varie interazioni tra l’utente e il sito?

Con questo corso ci proponiamo di esplorare insieme le tecniche di base comunemente utilizzate per creare e programmare applicazioni web, applicando tecniche utilizzate nel ‘mondo reale’ della realtà quotidiana dello sviluppatore web con un approccio orientato alla pratica.

Unico requisito per la partecipazione al corso è il possesso di un computer portatile. Lo studente lavorerà direttamente sulla propria macchina per avere la possibilità di poter sperimentare autonomamente durante il corso.

E’ consigliata la conoscenza dell’inglese: la documentazione reperibile su internet è spesso in lingua inglese, così come è in lingua inglese la maggioranza dei siti di supporto tra pari utilizzati dai programmatori.

Programma

Prima parte: Introduzione ai concetti fondamentali, allestimento di una macchina di sviluppo e programmazione lato client

Concetti fondamentali

All’inizio del corso saranno introdotti i concetti fondamentali del funzionamento del web:

  • i protocolli HTTP e FTP
  • differenza tra programmazione lato client e lato server
  • programmazione lato client: il browser web e le tecnologie supportate:
    • creare e disporre gli elementi della pagina: HyperText Markup Language (HTML) e Cascading Style Sheets (CSS)
    • operarazioni sugli elementi della pagina con la programmazione JavaScript
    • primi accenni alle librerie di supporto più comuni per la programmazione lato client: la libreria Javascript JQuery e la libreria JavaScript/CSS Twitter Bootstrap
  • programmazione lato server
    • il server web e le modalità attraverso le quali le pagine web vengono pre-processate prima dell’invio al client. Primi accenni a PHP Hypertext Preprocessor , il linguaggio lato server che sarà utilizzato all’interno del corso.
  • interazione tra programmazione lato client e programmazione lato server
  • cenni introduttivi ai database che contengono le informazioni da visualizzare nell’applicazione. Introduzione al linguaggio standard di interrogazione del database Structured Query Language (SQL) .

Preparazione di una macchina di sviluppo

Il passo successivo prevede l’allestimento di una propria macchina per lo sviluppo e il test del lavoro svolto:

  • installazione e configurazione del server web Apache
  • configurazione di un server virtuale
  • installazione del pre-processore ipertestuale PHP per la programmazione lato server
  • installazione del sistema di database relazionale MySQL
  • installazione del software PHPMyAdmin per la gestione dei database
  • installazione di un editor per la scrittura del codice, che sarà scelto dallo studente in base alla sue preferenze

Nella fase di preparazione della macchina di sviluppo, che ha il fine di mettere lo studente in condizioni di sperimentare, ciascuno studente potrà essere seguito individualmente.

Primi passi nella codifica: marcatura HTML e fogli di stile CSS

 

Introduzione all’HTML e ai fogli di stile CSS. Scrittura di semplici pagine con creazione dei marcatori e con l’utilizzo dei fogli di stile.

  • introduzione ai marcatori HTML più comuni e ai loro attributi.
  • regole di scrittura del codice HTML: apertura e chiusura dei marcatori e regole di annidamento
  • introduzione ai fogli di stile CSS
  • introduzione ai colori: come si codificano i colori che compaiono sullo schermo? Utilizzo della numerazione decimale e esadecimale per la codifica dei colori.
  • una libreria di supporto per costruire siti web responsive: Twitter Bootstrap. Esempi di utilizzo di Bootstrap all’interno di una applicazione web

Programmazione lato client

Una volta apprese le tecniche per la disposizione e stilizzazione dei documenti sarà possibile muovere i primi passi sulla programmazione della pagina e sull’interazione tra utente e sito:

  • JavaScript: il linguaggio standard per la programmazione lato client. Introduzione e esempi di utilizzo
  • JQuery: una comoda libreria di supporto JavaScript
    • per semplificare l’utilizzo di JavaScript sarà utilizzata la libreria JQuery.
      In questa fase lo studente apprenderà come si sviluppano le interazioni all’interno della pagina. Saranno proposti molti esempi pratici in maniera tale che lo studente possa acquisire familiarità con questa tecnica. Si partirà da esempi semplici: l’inserimento nella pagina di caselle di testo in HTML, l’inserimento di bottoni e la programmazione delle interazioni tra i vari elementi in risposta agli eventi del mouse.

Seconda parte: programmazione lato server e operazioni sul database

 

Nella seconda parte del corso lo studente apprenderà l’utilizzo dei moduli HTML, la loro gestione in linguaggio PHP procedurale e l’utilizzo dei database relazionali:

  • Introduzione a PHP:
    • costruire ed eseguire una semplice pagina in PHP
    • operatori logici
    • condizioni e cicli
    • vettori (array) e funzioni
    • variabili del server
    • variabili di sessione
    • metodi HTTP GET e POST
    • interagire con gli utenti tramite i moduli
  • Introduzione al database relazionale mySQL:
    • creazione di un database tramite l’applicazione PHPMyAdmin (con analisi dei comandi SQL )
    • creazione di due tabelle tramite l’applicazione PHPMyAdmin (con analisi dei comandi SQL )
    • relazioni tra tabelle
    • comandi SQL di inserimento, modifica, selezione ed eliminazione dei dati

Terza parte: Creazione di una applicazione CRUD (Create,Read, Update, Delete)

Nella terza e ultima parte metteremo in pratica le conoscenze acquisite costruendo insieme una semplice applicazione web come esempio di applicazione nella quale i dati vengono inseriti nel database, visualizzati, aggiornati o eliminati.

Durante lo svolgimento del corso gli studenti potranno proporre idee circa il tipo di applicazione da costruire. In mancanza di altre idee allestiremo un semplice sistema per la gestione di una biblioteca personale.

Chiusura del corso

Al termine del corso lo studente avrà appreso alcune tecniche di base per lo sviluppo web.

Padroneggiando le tecniche di base lo studente dovrebbe essere in grado di continuare l’apprendimento in autonomia utilizzando le numerose risorse presenti online.