Programming III (261070)

Learning Outcomes

The present course is intended to deepen the knowledge of Web programming
using a full-stack approach, allowing the development of skills in terms of
programming, interface design, project management, among others Thus, the aim
of this course is:
- Identify and understand the specifics of the main architectures used in the development for the Web and its components;
- Use appropriate techniques and technologies when designing solutions for the Web in a full-stack approach;
- Understand and master the concepts associated with the technologies used and the respective programming languages;
- Know and apply agile methodologies in the various stages of a project;
- Apply the knowledge acquired in the preparation of a project;

Study Program

Module I - Introduction to full-stack development for the Web:
- Basic architecture of an application;
- Microservice-based architecture;
- Concept of APIs (OpenAPI 3), REST and Web Services (WS);
- Web security;
Module II - Definition and implementation of a REST API using NodeJS:
- Use of the Express framework from the perspective of a data layer, implementing an API;
- Design and implementation of a Web application using frameworks;
- Use of the Express framework from the perspective of a data layer, implementing an API;
Module III - Front-end development using the React framework:
- Introduction to React and its main concepts;
- Study of components, life cycle and hooks in React;
- Idealization and implementation of a web application in React;

Bibliography

MAIN REFERENCES: 

Abreu, L. (2016) Node.js - Construção de aplicações Web. FCA, 1ª Edição, Lisboa, Portugal.
Banks, A., & Porcello, E. (2020). Learning React: Modern Patterns for Developing React Apps (2nd ed.). O’Reilly Media.
Gordon, Z., Hill, M. A., & Adair, R. (2019). React Explained: Your Step-by-Step Guide to React (2020 Edition). Independently published.
Portela, F. & Queirós, R. (2020) Desenvolvimento Avançado para a Web - Do front-end ao back-end. FCA: Lisboa, Portugal.