-
Apresentação
Apresentação
Esta Unidade Curricular pretende dar formação na área da programação Web em geral, e em particular no desenvolvimento de aplicações Web back-end, providenciando uma visão global do desenvolvimento moderno para a Web. É ensinado o desenvolvimento de aplicações empresariais seguindo o padrão de desenho model-view-control, recorrendo à linguagem Python e a Web framework Django. Pretende-se estimular a criatividade e imaginação no desenvolvimento de aplicações inovadoras que sejam eficientes, escaláveis e fáceis de modificar por um lado, e que ofereçam uma boa experiência para o utilizador. Esta é uma UC fundamental para qualquer profissional da área da informática, pois fornece um conjunto de conhecimentos e ferramentas que serão essenciais em projetos empresariais em que virão a estar inseridos.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
2 | Obrigatório | Português
-
Código
Código
ULHT260-11195
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
1: Programação com Python para Web (3 semanas) Fundamentos do Python (sintaxe, estruturas de dados, funções, OOP) Módulos e Pacotes em Python. Manipulação de Dados (JSON, CSV, XML) Webscraping com BeautifulSoup e regex. 2. Desenvolvimento de Aplicações Web com Django (6 semanas) Django Web framework Modelação de dados e integração com Bases de Dados (BD) Operações CRUD em BSs com ORM do Django Aplicações Web com Django (urls, views, models, templates) Linguagem Template do django Bootstrap e estilização de interfaces Autenticação e autorização de utilizadores (OAuth) 3. Desenvolvimento de APIs e CI/CD (5 semanas) Testes unitários (unittest) e de integração (Selenium) Ambiente de desenvolvimento e de produção (CI/CD, GitHub, Docker) Desenvolvimento de APIs RESTful com Django ninja Documentação e teste de APIs com Swagger Versionamento e monitorização de APIs Serialização e validação de dados Autenticação e autorização de APIs (JWT, Oauth)
-
Objetivos
Objetivos
Entender o funcionamento da Internet e da Web. Compreender os princípios da programação Web e seus principais padrões de desenho. Aplicar estes conceitos usando Python e Django. Arquitetar aplicações Web e APIs RESTful eficientes, de fácil manutenção, que corram na Web. Avaliar as diferentes estratégias de desenho, sabendo escolher a abordagem que mais se adequa ao contexto. Ser capaz de construir e implantar na cloud aplicações Web e APIs RESTful complexas e criativas, totalmente funcionais (full stack).
-
Metodologias de ensino
Metodologias de ensino
Utilização de materiais pedagógicos diversificados, desde slides, resumos, video-tutoriais curtos, enunciados em GitBook, exemplos de projetos no Github. Realização semanal de exercícios e quizzes de avaliação em plataformas de avaliação automática de código ou em papel. Desenvolvimento de 3 projetos, cujo desenvolvimento é acompanhado semanalmente nas aulas Realização pelo aluno de uma analise critica e reflexao sobre as tarefas desempenhadas, dificuldades encontradas, e como usou IA. Realização pelo aluno de video-tutoriais a explicar o seu projeto. Avaliação dos projetos e sugestão de melhorias por pares (colegas), desenvolvendo o pensamento crítico. Uso do GitHub como repositório de projetos, e lançamento em produção através de práticas de CI/CD. Alojamento em ambiente de produção na cloud das aplicações Web desenvolvidas, permanecendo online, constituindo uma forma de disseminação de trabalhos realizados.
-
Bibliografia principal
Bibliografia principal
PORTELA, Filipe, QUEIRÓS, Ricardo. Introdução ao desenvolvimento moderno para a Web. FCA. 2018. ISBN: 978-972-722-897-3 VASCONCELOS, José Braga de, Python: Algoritmia e Programação Web. FCA. 2015. ISBN: 978-972-722-813-3 VINCENT, William S., Django for Beginners 3.1: build websites with Python & Django, 2020. ISBN-13: 978-1735467207
-
Avaliação
Avaliação
- Avaliação continua:
- Componente Teórica (CT):
- Quizzes semanais na aula (Peso: 5%)
- CT1: Teste Python (Peso: 15%. Nota mínima: 9,5 valores)
- CT2: Teste Django (Peso: 15%. Nota mínima: 9,5 valores)
- CT3: Teste APIs (Peso: 15%. Nota mínima: 9,5 valores)
- Componente Prática (CP):
- CP1: Quizzes semanais na aula e trabalhos (Peso: 25%)
- CP2: Projeto Django (com defesa sem consulta. Peso: 15%. Nota mínima: 9,5 valores)
- CP3: Projeto APIs (com defesa sem consulta. Peso: 15%. Nota mínima: 9,5 valores)
- Componente Teórica (CT):
- Avaliação época de recurso/especial:
- realização das avaliações CT (CT1, CT2 ou CT3) ou CP (CP1, CP2 ou CP3) a que não teve aprovação. Nota mínima: 9,5.
- Para se apresentar em recurso ou época especial, é requisito obrigatório entregar 2 dias antes da avaliação, a resolução em papel das fichas de trabalho da CT/CP, publicadas na altura.
Aprovação à disciplina:
- A disciplina está organizada em 3 módulos: Python, Django e API. Cada um tem uma componente teórica (CT) e prática (CP).
- Existem um total de 6 componentes de avaliação, a aprovação na disciplina requerendo a aprovação às seis componentes (nota minima de 9,5 valores em cada uma destas).
- Avaliação continua:
-
Mobilidade
Mobilidade
Não





