programmazione web

il piacere di sviluppare semplici applicazioni web con il linguaggio Python

Aula Inf. 1 della Facoltà di Economia, Via G. Inama 5, Trento
Gennaio - Giugno 2018, i venerdì dalle 17:00 alle 19:00
Durata del corso: 30 ore + 4 ore di preparazione al corso

 

DESCRIZIONE DEL CORSO

Per programmazione web si intendono le attività, le tecniche e i rispettivi linguaggi di scripting, che consentono la realizzazione di applicazioni web (web application o web apps) che sono applicazioni accessibili mediante un browser. Il settore della programmazione web è oggi un settore florido e in continuo sviluppo e la figura professionale del programmatore web è sempre più presente negli annunci di lavoro.

Il corso è ideale per chi è curioso di apprendere le basi della programmazione web e di realizzare semplici applicazioni con uno dei linguaggi più diffusi, facili da imparare e utili per lo sviluppo di applicazioni in ogni ambito: Python.

 

Lezione di preparazione al corso – parte I (2 ore)

  • Come funziona internet
  • Il linguaggio HTML

Lezione di preparazione al corso – parte II (2 ore)

  • Il linguaggio CSS
  • Cosa è un algoritmo
  • Cosa è un database

Lezione 1 (2 ore)

  • Introduzione alla programmazione web based
    • Come funziona internet
    • Fondamenti della programmazione
    • Introduzione al linguaggio di programmazione Python
    • Conoscere i primi strumenti utili per affrontare il corso

Lezione 2 (2 ore)

  • Interprete dei comandi Python
    • Utilizzi e semplici esempi dell’interprete Python
  • Strutture dati (liste, tuple, dizionari, ec…)
    • Esempi e concetti di base delle strutture dati in Python
  • Cicli iterativi
    • Algoritmi e modalità di accesso alle strutture dati

Lezione 3 (2 ore)

  • Introduzione al paradigma MVC (Model View Controller)
  • Il framework web Django (www.djangoproject.com)
    • Cos’è e come funziona
    • Un primo sito dinamico con Django
  • Breve descrizione delle basi di dati

Lezione 4 (2 ore)

  • Progettazione di una base di dati
    • Schema e relazioni
    • Introduzione a SQlite3

Lezione 5 (2 ore)

  • Utilizzo dei virtualenvironments
    • Creazione e gestione di un ambiente virtuale per un progetto Python
  • Introduzione ai VCS
    • Cosa sono, come funzionano
    • Primi esempi di utilizzo

Lezione 6 (2 ore)

  • Metodologie per lavorare in gruppo
    • Best practice e uso di pattern specifici
  • Suddivisione in gruppi e primo meeting di progetto

Lezione 7 (2 ore)

  • Metodologie di pubblicazione e deploy applicativo
    • Cloud computing, SaaS, IaaS.
  • Lavoro di gruppo e progettazione concettuale dell’applicazione
    • Design e layout app, modellazione della base di dati

Lezione 8 (2 ore)

  • Recap generale sugli argomenti
  • Lavoro di gruppo

 

Lezione 9, 10, 11, 12, 13, 14, 15  (14 ore)

  • Lavoro di gruppo sul progetto

 

Il corso è per principianti e non servono esperienze pregresse nel campo della programmazione. Tuttavia si richiede una buona dimestichezza con l’uso del computer (navigare in internet, gestire documenti, caricare e scaricare file) e la conoscenza della lingua italiana a un livello che consenta di capire le spiegazioni.

Inoltre, è preferibile (ma non necessario) avere delle conoscenze base di informatica :

 

  • Conoscere il funzionamento di Internet
  • Sapere cos’è un algoritmo
  • Sapere cos’è un database
  • Sapere cos’è una pagina HTML

 

Il corso inizia il 26 gennaio 2018 alle 17:00.

Il corso si svolgerà nel periodo gennaio-giugno 2018, con 15 incontri di 2 ore ciascuno.

Giorni e orari: venerdì dalle 17:00 alle 19:00.

Le date previste: 

  • Venerdì 26 gennaio (preparazione al corso)
  • Venerdì 2 febbraio (preparazione al corso)
  • Venerdì 16 febbraio
  • Venerdì 23 febbraio
  • Venerdì 2 marzo
  • Venerdì 9 marzo
  • Venerdì 16 marzo
  • Venerdì 23 marzo
  • Venerdì 6 aprile
  • Venerdì 13 aprile
  • Venerdì 20 aprile
  • Venerdì 27 aprile
  • Venerdì 4 maggio
  • Venerdì 11 maggio
  • Venerdì 18 maggio
  • Venerdì 25 maggio
  • Venerdì 1 giugno

     

    Durante il corso saranno rilasciate dispense formative in formato principalmente digitale.