Curso Técnico Superior Profissional

Desenvolvimento para Dispositivos Móveis

Área Científica

481 – Ciências Informáticas

Duração

Semestral

Unidade Curricular

Programação Back-End

ECTS

3

Horas de Contacto Teórico Práticas

50h

Objetivos da Aprendizagem

1. Desenvolver aplicações back-end completas e escaláveis utilizando as principais linguagens e frameworks atuais;
2. Projetar e implementar APIs RESTful eficientes e seguras;
3. Trabalhar com diferentes bases de dados relacionais e NoSQL;
4. Utilizar ferramentas e práticas modernas para o desenvolvimento de back-end;
5. Lidar com desafios comuns de desenvolvimento de back-end e construir soluções robustas.

Conteúdos Programáticos

1. Introdução à Programação para Back-end.

1.1. Conceitos básicos;
1.2. O que é o back-end e a sua importância no desenvolvimento de software?;
1.3. Arquiteturas de back-end (monolítica, microservice, serverless);
1.4. APIs e RESTful;
1.5. Base de dados e NoSQL.

2. Linguagens de programação back-end.

2.1. Python: Sintaxe básica, tipos de dados, estruturas de controlo, funções, módulos e pacotes;
2.2. JavaScript: Sintaxe ES6+, async/ await, promises, módulos e frameworks (Express.js, NestJS);
2.3. Java: Sintaxe básica, orientação a objetos, interfaces, exceções e frameworks (Spring Boot);
2.4. Desenvolvimento com Python para Back-end.

3. Django Framework.

3.1. Criação de projetos e aplicações Django;
3.2. Modelagem de dados com Django ORM;
3.3. Views e templates para renderizar interfaces web;
3.4. Sistema de autenticação e autorização;
3.5. Deploy de aplicações Django.

4. Bibliotecas e ferramentas Python.

4.1. SQLAlchemy para acesso a base de dados;
4.2. Celery para tarefas assíncronas;
4.3. Flask para desenvolvimento de APIs RESTful;
4.4. Plotly e Matplotlib para visualização de dados;
4.5. Desenvolvimento com JavaScript para Back-end;
4.6. Express.js Framework;
4.7. Criação de APIs RESTful com Express;
4.8. Middleware para pré-processamento e pós-processamento de requisições;
4.9. Validação de dados e manipulação de erros;
4.10. Deploy de aplicações Express;
4.11. NestJS Framework;
4.12. Arquitetura modular e injeção de dependências;
4.13. Criação de APIs RESTful com NestJS;
4.14. Validação de dados e manipulação de erros;
4.15. Deploy de aplicações NestJS.

5. Bibliotecas e ferramentas JavaScript.

5.1. Mongoose para acesso a bases de dados NoSQL;
5.2. JWT para autenticação e autorização;
5.3. Socket.io para comunicação em tempo real;
5.4. Desenvolvimento com Java para Back-end.

6. Spring Boot framework.

6.1. Criação de aplicações Spring Boot;
6.2. Injeção de dependências e anotações;
6.3. REST Controllers e APIs RESTful;
6.4. Integração com bases de dados;
6.5. Deploy de aplicações Spring Boot.

Bibliografia e recursos didáticos recomendados

Philip Ackermann, Full Stack Web Development: The Comprehensive Guide (Rheinwerk Computing), SAP PRESS (a division of Rheinwerk Publishing); New edition (26 Sept. 2023).

Greg Lim, Beginning Django API with React: Build Django 4 Web APIs with React Full Stack Applications, Independently published (13 Feb. 2022).

David Choi, Full-Stack React, TypeScript, and Node: Build cloud-ready web applications using React 17 with Hooks and GraphQL, Packt Publishing (18 Dec. 2020).

Laurence Lars Svekis, JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages,  Packt Publishing (15 Dec. 2021).

Andy Vickler, Javascript: Javascript Back End Programming,  SAMMIE SMITH, FULL STACK WEB DEVELOPMENT GUIDE: Everything HTML 5, CSS 3, Bootstrap 4, JavaScript, jQuery, GIT, GITHUB, and Version Control for Modern Web Development, ‎ Independently published (3 Aug. 2022).

INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER: