A.Y. 2022/23
2022/23
Sunday, 10 September 2023
Exam schedule available for September’s appeal
The exam schedule for oral discussions is available here: Schedule for September 2023 appello.
IMPORTANT: exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Thursday, 24 August 2023
Evaluations restarted
Today, I evaluated the homework. From now on, as usual, I will do evaluations every week and daily on the last week before each appeal.
Please BOOK YOUR SEPTEMBER EXAM if you haven’t done it yet! Deadline Sep 4. Exams on Sep 11..15.
Friday, 21 July 2023
Summer Information
1 September’s appeal will be in the week of September 11-15, typically on Tuesday, regardless of the date published on Infostud. Detailed schedule will be available on the week before, as usual.
2 Please book your September exam today! In fact, the deadline is on Sep 4 and you may miss it. You can always cancel your reservation, or I will not insert you in the schedule if your homeworks are insufficient.
3 Yesterday I made the last July evaluation. Homework evaluations are now suspended for the summer.
Friday, 30 June 2023
Exam schedule available for July appeal
The exam schedule for oral discussions is available here: Schedule for July 2023 appello.
IMPORTANT! Exams will be in GamificationLab: Via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Thursday, 1 June 2023
Exam schedule available for June appeal
The exam schedule for oral discussions is available here: Schedule for June 2023 appello.
IMPORTANT! Room is changed: exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Wednesday, 17 May 2023
June Appeal
The June appeal will be on
June 6 to June 9, 2023
The exam schedule for oral discussions will be available the previous Friday, as usual (June 2). Please remember to book on Infostud by May 31st. IMPORTANT! Exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Friday, 10 February 2023
Exam schedule available for March appello
The exam schedule for oral discussions is available here: Schedule for March 2023 appello.
IMPORTANT! Room is changed: exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Sunday, 5 March 2023
Extraordinary Appeal March/April
The extraordinary appeal will be on
Tuesday, March 28 at 9 AM and Wednesday, March 29 at 9 AM
The exam schedule for oral discussions will be available the previous Friday, as usual (March 24).
IMPORTANT! Exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Friday, 10 February 2023
Exam schedule available for February session
The exam schedule for oral discussions is available here: Schedule for February 2023 appello.
IMPORTANT! Room is changed: exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Friday, 20 January 2023
Exam schedule available for January session
The exam schedule for oral discussions is available here: Schedule for January 2023 appello.
IMPORTANT! Room is changed: exams will be in our lab: GamificationLab, via dei Volsci 122.
IMPORTANT! Remind to bring an identity document and a laptop with you. More information in the exam page.
Wednesday, 4 January 2023
Clarification about grading the “last check” column.
We received several e-mails regarding a potential grading problem (missing commits, skipped students, etc.). The real issue was confusion about the meaning of the “last check” column due to incorrect labeling: the column was meant to be “the last time we checked the repository for new changes”. At the same time, we briefly published results gradually during the last weeks, which increased the chaos.
To avoid further confusion, we will publish all results at one time. Also, we changed the meaning of the “last check” column to the time when the result was published (we will change the label ASAP).
Note that we may still update individual grades (for example, if there was an error during our grading).
Friday, 30 December 2022
FAQ updated
FAQ page has been updated.
Thursday, 22 December 2022
Practice: Containers
IMPORTANT (homework 3): you need to fix the file webui/vite.config.js. The new content for this file is here.
IMPORTANT (homework 3): if you use “local storage”, be sure to empty it before using it.
- Announcements:
- Honors Program: please see my post on December 1st
- Bachelor theses (tirocinio) in GamificationLab: mainly about AI+HCI. Technologies: frontend/app design&development, backend/go, API, … See Internships and theses.
- OPIS reminder
- Debriefing: ITMeeting
- Debriefing: this course
- Exams information: (moved to the Exam page)
- Docker exercise: running and building containers.
- Homework 4 instructions: you should create two
Dockerfiles: one namedDockerfile.frontendfor the frontend part, one namedDockerfile.backendfor the backend part. Refer to the last lecture and to WASA Fountains for examples.
Friday, 16 December 2022
No lesson next Tuesday
ANNOUNCEMENT
Due to a departmental meeting, the lesson scheduled for next Tuesday, December 20th, is canceled. Our course’s next (and last) class will be next Thursday, December 22th. EP
Thursday, 15 December 2022
Lesson: Containers
Tuesday, 13 December 2022
Practice: Vue.js
- Example implementation of Vue.js frontend for Fountains
- the complete source code is available here: https://github.com/sapienzaapps/wasa-fountains
Tuesday, 06 December 2022
Lesson: Vue.js (continued)
If you have errors running the frontend part on Apple M1 / ARM, please read the “Known issues” section in the Fantastic Coffee (decaffeinated) README for a fix.
Thursday, 1 December 2022
Call for applications for the Honors Program
ANNOUNCEMENT
Students with an average grade of 27/30 can apply for the Honors Program call, which has 8 places reserved for ACSAI students this year. In the list of topics that they just published today, you can find the topics I offer (to be developed in my GamificationLab):
- Applicazione del machine learning alle interfacce utente per applicazioni mobili sui trasporti intelligenti
- Car Usage and Parking Prediction for Context-Aware Interaction
- Earthquake detection at the edge: IoT crowdsensing network
- Implementation of the SeismoCloud2.0 Earthquake Early Warning network
- Automatic extraction of parking availability using deep learning
The Honors Program is a beautiful experience where the student can work on challenging research problems in a real setting and in a team with Ph.D. students and master thesis students. Not only is it a very formative opportunity, but it also grants a reward of the same amount of one-year University taxes.
Please read the descriptive pages and the information to apply and submit your application by January 20, 2023.
Tuesday, 29 November 2022
Lesson: Vue.js
ANNOUNCEMENT: From next Tuesday on, our Tuesday lesson will be at 2 pm. So WASA will be 2 pm - 4 pm, while Deep Learning will start (online) at 5.30 pm
Friday, 25 November 2022
WASA Fountains backend source code published
The backend for the project “WASA Fountains” has been published on GitLab and GitHub:
Update 2022-11-27: there was a bug in the published source code, now fixed. Follow the discussion at this link for the description of the bug and the fix: https://github.com/sapienzaapps/wasa-fountains/issues/1.
Thursday, 24 November 2022
Lesson: Javascript
Announcement: ITMeeting
On Thursday, December 1st, 2022, from 9 a.m. to 4 p.m.
(Recommended for third year Bachelor’s or Master’s degree students)
The 48th ITMeeting, the six-monthly meeting between undergraduates and recent graduates of the Sapienza Computer Science Degree Courses and companies producing or large users of IT solutions will take place on Thursday, December 1st.
The meeting will be held from 9:00 to 16:00 in Viale Regina Elena 295, Building E
During the day it will be possible to hold 10-minute interviews with each company and to attend the presentations of their activities, job opportunities and offers for degree theses and internships.
A few days before the event, each student will be provided with a summary document of the day, also containing the times of the interviews with the individual companies.
50 students can participate in the speed date, upon registration on the form.
Once registered, in the event of setbacks/illnesses etc, which prevent participation, please notify us promptly to the address commissione-aziende@di.uniroma1.it in order to allow us to update the shift calendar by inserting any students who they found no place in the initial 50.
Register here: form
Tuesday, 22 November 2022
Practice: Fountains (continued)
- Discussion about the first homework and common mistakes
- Exercise on Fountains webapp:
- Server side implementation in Go
Friday, 18 November 2022
WASA Homework results available
The first set of homework results is available at this link: https://wasa-enroll.sapienzaapps.it/. If you have any questions about grades, please get in touch with us at the end of the lectures. We will spend some time talking about some common mistakes during the next lesson.
Update 2022-11-19: we discovered that some evaluation were too strict. In particular, there is no need to define the response content if the HTTP status code is not 2xx, also there is no need to specify examples for request/response bodies if you specify the example in schema objects. Grades have been updated accordingly.
Thursday, 17 November 2022
Lesson: HTML and CSS

Note on the login in the project
In the WASAphotos project, we asked for a kind of login functionality and provided instructions on how to implement it. Despite its name, we intended it as a means for you to test your web application and to demonstrate it at the exam.
So it is not a proper login and has no security capabilities. It is more of a way to create users in your system and impersonate them to test that it works properly.
For example, after creating two users, Mario and Luigi, you can impersonate Mario and follow Luigi, then impersonate Luigi and check that Mario is one of his followers.
Please refrain from implementing an entire authentication system, using well-formed tokens, or designing different APIs than the one provided for this functionality!
Wednesday, 16 November 2022
WASA Homework delivery
The “Homeworks delivery” page has been updated, and the delivery is now possible.
Unfortunately we are late due to a limitation of GitLab/GitHub. However, given that the solution required a new web application, we have implemented and published the code using the “Fantastic Coffee (decaffeinated)” template:
- https://github.com/sapienzaapps/wasa-homework-enroll/
- https://gitlab.com/sapienzaapps/wasa-homework-enroll/
Project specifications have been updated to version 3: Project specifications
Tuesday, 15 November 2022
Practice: Fountains (continued)
- Exercise on Fountains webapp:
- Server side implementation in Go
Sunday, 13 November 2022
WASA 2022/2023 course survey
- If you have any suggestions, you can send them using this anonymous form: https://forms.gle/tFv4sfU93TkqAbdBA
Thursday, 10 November 2022
Practice: Fountains
- Q&A about Fantastic-Coffee and the general overview of the client/API/server architecture
- Exercise on Fountains webapp:
- API discussion
- Server side implementation in Go
Wednesday, 9 November 2022
FAQ updated
FAQ page has been updated.
Tuesday, 8 November 2022
Lesson: Go project structure (best practices)
- Discussion about project requirements
- GO Project structure
- We will discuss this code:
Thursday, 3 November 2022
Lesson: GO errors, interfaces, packages, concurrency
Thursday, 3 November 2022
WASA Project (2022-2023): Homework 1 + specifications
- Project specifications
- Homework 1: write OpenAPI document
Thursday, 27 October 2022
Practice: GO
Tuesday, 25 October 2022
Lesson: GO
Thursday, 20 October 2022
Practice: API
ANNOUNCEMENT: Lunch Seminar next Monday, 24 Oct, in room 1L at 1 pm
Please see http://www.itmeeting.it
Exercise

Define the API for the Fountains project (fountains are called Fontanelle or Nasoni in Rome). The Fountains project includes a mobile app that allows citizens and tourists to explore nearby drinking fountains.
In Rome, drinking water is available thanks to little public fountains, also known as “nasoni” (“large noses”, due to their nose-like shape). They were installed in the late 1800 by the local municipalities in the capital city and nearby areas. More than 2500 are still working. The “Fountains” project includes a mobile app that allows citizens and tourists to explore nearby drinking fountains (see their location and status). Also, they will be able to change the status or location of any fountains, add missing fountains in the app and remove those that are no more present. A fountain’s status is “good” when it is in working condition and “faulty” if it’s broken. The app will communicate with a central server via REST and JSON - no information is stored locally in the smartphone. No authentication is needed, nor is user identification.
Thursday, 13 October 2022
Lesson: API (continued)
ANNOUNCEMENT: No lesson next Tuesday 18 October
Tuesday, 11 October 2022
Lesson: API
Thursday, 6 October 2022
Lesson: HTTP and JSON
ANNOUNCEMENT: Lunch Seminar October 24, 1 p.m., Room 1L Castro Laurenziano : Storm Reply: “A Serverless Journey” : Topics: Introduction to Storm, Serverless paradigm, Serverless use-case
ANNOUNCEMENT: ITMeeting collaboration : Grant to help in the events organization
Tuesday, 4 October 2022
Practice: Git
- Useful Git alias:
git lg:
$ git config --global alias.lg "log --graph --abbrev-commit \
--decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) \
- %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- \
%an%C(reset)%C(bold yellow)%d%C(reset)' --all"
Thursday, 29 September 2022
Lesson: Git
Tuesday, 27 September 2022
Lesson: Introduction, Web apps, and REST
- Course introduction
- Announcements: Covid tracking; Info for students with disabilities and SLD;
- Web Apps
- REST
27 September 2022
Students with disabilities and SLD
Students with disabilities and SLD who have not yet done so should contact the offices or directly the SLD faculty representative Prof. Tiziana Calamoneri to submit their certifications as soon as possible.
Submitting certifications now is very important to avoid finding yourself unable to request dispensatory measures and compensatory tools at the first exam session.
26 September 2022
Covid tracking
As indicated by the COVID-19 risk prevention and management policies, the need to track students’ attendance in the classroom remains in force. For that purpose, the programs in Informatica, Applied Computer Science and Artificial Intelligence, and Computer Science have prepared a google form that students can fill in at any time (even during the lesson or post-lesson). Attendance tracking is done to safeguard the student’s health. We, therefore, recommend you fill out this form for each class you attend.
FORM TO REPORT THE CLASSROOM ATTENDANCE for INFORMATICA https://forms.gle/HUmkR14znPhZQ46Q9
FORM TO REPORT THE CLASSROOM ATTENDANCE for ACSAI https://forms.gle/TZYecGadZ6CDFhQj7
FORM TO REPORT THE CLASSROOM ATTENDANCE for COMPUTER SCIENCE https://forms.gle/oh7oegAWFeSBMWUt5
23 September 2022
Course will start next Tuesday
The Web and Software Architecture course will start next Tuesday, 27 September, at 4 pm, in Room 2L, Via del Castro Laurenziano, 7/A.
Academic Year 2022/2023. The first year of this course.
22 September 2022
About this file
The Stream (http://gamificationlab.uniroma1.it/wasa/stream) is where we will add a post for each lesson, plus announcement posts.
The Stream is in reverse chronological order.
Each lesson post will contain the topics, the links to the presentation (pdf), the lesson recording, and any helpful references not already listed in the slides.
I will also post announcements about the course, the exams, and related information.
