| Week 01 | 
|---|
| 28/02/2023 | 10:00-11:30 | Lecture | L01a Introduction to the courseL01b Introduction to JavaScript (first part)
 |  |  | Fulvio Corno | 
| 28/02/2023 | 11:30-13:00 | Lecture | L02 Introduction to JavaScript (second part) |  |  | Fulvio Corno | 
| 02/03/2023 | 08:30-10:00 | Exercise | L03 JavaScript Exercises on Arrays and Strings |  |  | Fulvio Corno | 
| 02/03/2023 | 10:00-11:30 | Lecture | L04 JavaScript Objects and Functions |  |  | Fulvio Corno | 
|  |  |  | Week 01 exercises |  |  |  | 
| Week 02 | 
|---|
| 07/03/2023 | 10:00-11:30 | Lecture | L05 Constructor Functions. Callbacks. Functional programming. |  |  | Fulvio Corno | 
| 07/03/2023 | 11:30-13:00 | Lecture | L06 Exercises. Asynchronous callbacks. |  |  | Fulvio Corno | 
| 09/03/2023 | 08:30-10:00 | Lab | Lab 01 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 09/03/2023 | 10:00-11:30 | Lab | Lab 01 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 02 exercises |  |  |  | 
| Week 03 | 
|---|
| 14/03/2023 | 10:00-11:30 | Lecture | L07 Asynchronous programming. SQLite. |  |  | Fulvio Corno | 
| 14/03/2023 | 11:30-13:00 | Lecture | L08 Promises. Exercise with SQLite and Promises. |  |  | Fulvio Corno | 
| 16/03/2023 | 08:30-10:00 | Lab | Lab 02 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 16/03/2023 | 10:00-11:30 | Lab | Lab 02 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 03 exercises |  |  |  | 
| Week 04 | 
|---|
| 20/03/2023 |  | Reading 1 | Introduction to Web Architectures, HTML, and CSS |  |  |  | 
|  |  | WARNING | The class on 21/03 will be from 08:30 to 11:30 and is moved in Room 3S |  |  |  | 
| 21/03/2023 | 08:30-09:00 | Lecture | L09a Async and Await |  |  | Fulvio Corno | 
| 21/03/2023 | 09:00-10:00 | Lecture | L09b HTML and CSS: Example-driven review of Reading 1 |  |  | Fulvio Corno | 
| 21/03/2023 | 10:00-11:30 | Exercise | L10 Modern CSS, Bootstrap. |  |  | Fulvio Corno | 
| 23/03/2023 | 08:30-10:00 | Lab | Lab 03 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 23/03/2023 | 10:00-11:30 | Lab | Lab 03 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 04 exercises |  |  |  | 
| Week 05 | 
|---|
| 28/03/2023 | 10:00-11:30 | Lecture | L11 JavaScript in the Browser - DOM, Events |  |  | Fulvio Corno | 
| 28/03/2023 | 11:30-13:00 | Lecture | L12 JavaScript in the Browser - Exercise |  |  | Fulvio Corno | 
| 30/03/2023 | 08:30-10:00 | Lab | Lab 04 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 30/03/2023 | 10:00-11:30 | Lab | Lab 04 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 05 exercises |  |  |  | 
| Week 06 | 
|---|
| 04/04/2023 | 10:00-11:30 | Lecture | L13 Introduction to React |  |  | Fulvio Corno | 
| 04/04/2023 | 11:30-13:00 | Lecture | L14 JSX, Components, props - Exercise |  |  | Fulvio Corno | 
|  |  | 🐰 | Easter vacations |  |  |  | 
|  |  | WARNING | On 13/04 we will have 3 hours of lectures, instead of Labs |  |  |  | 
| 13/04/2023 | 08:30-10:00 | Lecture | L15 Components and State |  |  | Fulvio Corno | 
| 13/04/2023 | 10:00-11:30 | Lecture | L16 Components and State - Exercise |  |  | Fulvio Corno | 
|  |  |  | Week 06 exercises |  |  |  | 
| Week 07 | 
|---|
| 18/04/2023 | 10:00-11:30 | Lecture | L17 Derived State and View State |  |  | Fulvio Corno | 
| 18/04/2023 | 11:30-13:00 | Lecture | L18 Controlled Form Components |  |  | Fulvio Corno | 
| 20/04/2023 | 08:30-10:00 | Lab | Lab 05 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 20/04/2023 | 10:00-11:30 | Lab | Lab 05 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 07 exercises |  |  |  | 
| Week 08 | 
|---|
| 24/04/2023 |  | Reading 2 | The 'this' keyword in JavaScript |  |  |  | 
| 25/04/2023 |  |  | Holiday -- No lectures |  |  |  | 
| 27/04/2023 | 08:30-10:00 | Lab | Lab 06 - Group 1 (AA-DE) |  |  | Luca Pezzolla | 
| 27/04/2023 | 10:00-11:30 | Lab | Lab 06 - Group 2 (DI-HZ) |  |  | Luca Pezzolla | 
| Week 09 | 
|---|
| 01/05/2023 |  | Reading 3 | Modules in JavaScript |  |  |  | 
| 02/05/2023 | 10:00-11:30 | Lecture | L19 React Context. React Router. |  |  | Fulvio Corno | 
| 02/05/2023 | 11:30-13:00 | Lecture | L20 React Router exercise |  |  | Fulvio Corno | 
| 04/05/2023 | 08:30-10:00 | Lab | Lab 07 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 04/05/2023 | 10:00-11:30 | Lab | Lab 07 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 09 exercises |  |  |  | 
| Week 10 | 
|---|
| 09/05/2023 | 10:00-11:30 | Lecture | L21 HTTP server and ExpressJS |  |  | Fulvio Corno | 
| 09/05/2023 | 11:30-13:00 | Lecture | L22 Building an HTTP API server |  |  | Fulvio Corno | 
| 11/05/2023 | 08:30-10:00 | Lab | Lab 08 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 11/05/2023 | 10:00-11:30 | Lab | Lab 08 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 10 exercises |  |  |  | 
| Week 11 | 
|---|
| 16/05/2023 | 10:00-11:30 | Lecture | L23 Fetch API. Client-Server. CORS. |  |  | Fulvio Corno | 
| 16/05/2023 | 11:30-13:00 | Lecture | L24 Component lifecycle and useEffect |  |  | Fulvio Corno | 
| 18/05/2023 | 08:30-10:00 | Lab | Lab 09 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 18/05/2023 | 10:00-11:30 | Lab | Lab 09 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 11 exercises |  |  |  | 
| Week 12 | 
|---|
| 23/05/2023 | 10:00-11:30 | Lecture | L25 useEffect advanced usage (part 1) |  |  | Fulvio Corno | 
| 23/05/2023 | 11:30-13:00 | Lecture | L26a useEffect advanced usage (part 2)L26b Exam rules and procedures
 |  |  | Fulvio Corno | 
| 25/05/2023 | 08:30-10:00 | Lab | Lab 10 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 25/05/2023 | 10:00-11:30 | Lab | Lab 10 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 12 exercises |  |  |  | 
| Week 13 | 
|---|
| 30/05/2023 | 10:00-11:30 | Lecture | L27 Authentication with Passport.js |  |  | Fulvio Corno | 
| 30/05/2023 | 11:30-13:00 | Lecture | L28 Authentication with Passport.js (example) |  |  | Fulvio Corno | 
| 25/05/2023 | 08:30-10:00 | Lab | Lab 11 - Group 1 (AA-DE) |  |  | Juan Pablo Sáenz | 
| 25/05/2023 | 10:00-11:30 | Lab | Lab 11 - Group 2 (DI-HZ) |  |  | Juan Pablo Sáenz | 
|  |  |  | Week 13 exercises |  |  |  | 
| Week 14 | 
|---|
| 06/06/2023 |  |  | No lectures |  |  |  | 
| 08/06/2023 | 08:30-10:00 | Lab | Exam simulation (guided) |  |  | Juan Pablo Sáenz | 
| 08/06/2023 | 10:00-11:30 | Lab | Exam simulation (guided - 2nd part) |  |  | Juan Pablo Sáenz |