Skip to content

Latest commit

 

History

History
272 lines (242 loc) · 14.4 KB

LI61D-outline.md

File metadata and controls

272 lines (242 loc) · 14.4 KB

Outline and resources

Week 1

27/02/2020 - Course introduction

Week 2

02/03/2020 - Software design considerations

  • Considerations on the subjective nature of software design
  • Dependency Injection (DI): Motivation and consequences
    • Through construction parameters
    • Done explicitely by a wiring up procedure that constructs the solution's object graph
  • Materialization on the HVAC controller application, developed during the classes
  • Complementary references, for the inquisitive minds

04/03/2020 - Software design considerations

  • Live coding session (in Kotlin) to design, discuss and implement the HVAC Controller application

Week 3

09/03/2020 - Web Application development, introduction

12/03/2020 - Web API design, introduction

Week 4

16/03/2020 - Web API design, continued

18/03/2020 - Practical class

Week 5

23/03/2020 - Web API design, continued

26/03/2020 - Practical class

Week 6

30/03/2020 - Web API design, continued

02/04/2020 - Practical class

Week 7

Easter break

Week 8

16/04/2020 - Practical class

Week 9

20/04/2020 - Creating a Web UI: introduction

23/04/2020 - Practical class

Week 10

27/04/2020 - Creating a Web UI: continued

30/04/2020 - Creating a Web UI: continued

Week 11

04/05/2020 - Creating a Web UI: continued

07/05/2020 - Practical class

Week 12

11/05/2020 - Creating a Web UI: continued

  • Goal: Implementing the HVAC Web UI, continued
  • Considerations on the design of React based UIs
    • Error Handling
  • UI State in React:

14/05/2020 - Practical class

Week 13

18/05/2020 - Creating a Web UI: continued

  • Goal: Implementing the HVAC Web UI, continued
  • Declarative routing in React
  • Considerations on the creation of hypermedia driven clients
    • Motivation and trade-offs
    • Hypermedia used to express (and obtain):
      • Navigation information
      • Application capabilities

21/05/2020 - Practical class

Week 14

25/05/2020 - Creating a Web UI: continued

  • Goal: Implementing the HVAC Web UI, continued
  • Considerations on the design of React based UIs
    • Favoring composition
    • Be mindfull of where your state is
      • React's execution model, revisited
        • For class based components (statefull)
        • For function based components (formerly, named stateless)
      • Considerations on the shortcomings of APIs based on inheritance and overriding of lifecycle callbacks
    • React Hooks
      • Concept and motivation
      • Execution model for function based components (both stateless and statefull)
  • For reference:

28/05/2020 - Practical class

Week 15

01/06/2020 - Wrapping up

  • Goal: Considerations on the deployment of the solution
  • CORS support on the Web API: when to enable it?
  • Disabling CORS support
  • For reference:

04/06/2020 - Practical class

Week 16

No classes during this week

Week 17

15/06/2020 - Wrapping up

18/06/2020 - Practical class