Publication in the Diário da República: Despacho n.º 13495/2022 - 18/11/2022
10 ECTS; 1º Ano, 1º Semestre, 30,0 PL + 30,0 TP + 30,0 OT , Cód. 39092.
Lecturer
- Ana Cristina Barata Pires Lopes (1)(2)
- Luís Miguel Lopes de Oliveira (2)
- Renato Eduardo Silva Panda (2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
Objectives
Learn to apply software development methodologies, namely agile methodologies when developing modern web applications using a continuous integration approach. Exposure to state-of-the-art technologies and paradigms used to develop complex software solutions.
Program
Traditional vs. Agile software development methodologies.
Application of agile concepts to develop modern software.
Software development topics: Model-View-Controller (MVC) paradigm, web frameworks, RESTful APIs and SPAs, ORM systems, VCS, code reviews and continuous integration, automated tests, WebSockets, caching, background jobs and message queues.
Evaluation Methodology
Theoretical (25%, 5 points in 20) Written exam (closed-book), with a minimum grade of 35% to be approved.
Practical (75%, 15 in 20) Practical group project (software development using technologies introduced weekly), evaluated continuously (per sprint, as well as final deliverables).
Bibliography
- Ruby, S. (2022). Agile Web Development with Rails 7. US: Pragmatic Bookshelf
- Sutherland, J. e Schwaber, K. (0). The definitive guide to scrum: the rules of the game. Acedido em 21 de novembro de 2018 em https://www.scrum.org/resources/scrum-guide
Teaching Method
Theoretical presentations to introduce concepts and practical workshops to demonstrate and experiment with new technologies.
Practical labs are used to discuss, plan, and develop the practical project (most work is extra-class).
Software used in class