Logo Sapienza Logo Sapienza Gamification Lab

WASA - Web and software architecture


WASA - Web and Software Architecture (Programmazione per il web)

Prof. Emanuele Panizzi

Goals of Web and Software Architecture (WASA)

  • Learn to use standard tools and frameworks: git, Vue.js
  • Learn to use web markup languages: HTML, CSS
  • Learn powerful programming languages: javascript, go
  • Design and implement an Application Programming Interface (API)
  • Design a whole client-server web application
  • Learn to package software into containers and deploy it

Structure of this course

  1. INTRODUCTION: web apps, REST, git
  2. API: JSON, OpenAPI
  3. BACKEND: go language
  4. FRONTEND: Javascript, Vue.js
  5. CONTAINERS: Docker

Teaching Material

  • Slides available on the WASA website for each lesson
  • example code
  • Documentation for all the topics is available on the web and will be pointed out during the course.


I will record some lessons. Recordings will be available on the WaSA website.



  • course description (this syllabus)
  • course diary: updated each week, contains:
    • topics for each lesson,
    • links to the lesson’s slides, example code, and other material
    • announcements
    • instructions for code submission and exams
  • slides: includes each lesson’s slides in pdf
  • recording: contains the available lesson recordings
  • schedule: includes the days, times, and room of this course
  • kit: links to downloadable materials (virtual machine to use)
  • FAQ: questions I receive, with answers