Software Engineering

Mestrado em Engenharia Informática - Internet das Coisas
7.5 ECTS; 1º Ano, 1º Semestre, 30,0 PL + 30,0 TP + 15,0 OT + 10,0 O

Lecturer
- Renato Eduardo Silva Panda

Prerequisites
Not applicable.

Objectives
The main objective of this curricular unit is to educate the students about the different software engineering paradigms and models, namely agile software development methodologies, and its application in real world projects.

Program
Introduction to software engineering.
Traditional and agile development models.
Application of an Agile methodology to develop a software solution.
Software development: Model-View-Controller paradigm (MVC), new frameworks, APIs and SPAs, ORM systems, code versioning systems, code review and continuous integration, automated software testing.

Evaluation Methodology
Theoretical (25%) - Closed book exam. Minimum grade of 35% required.
Practice (75%) - Continuous evaluation of a project carried out by the students, including their performance over the various iterations, product presentation and documentation.

Bibliography
- Ruby, S. (2016). Agile Web Development with Rails 5. 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

Method of interaction
Theoretical classes introducing new topics (based on syllabus), tutorials on new technologies, workshops and oral presentations.
Laboratory / practical sessions used for project development and support.

Software used in class
Not applicable.