Capstone Project
Keywords |
Classification |
Keyword |
OFICIAL |
Informatics Engineering and Computing |
Instance: 2021/2022 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
L.EIC |
195 |
Syllabus |
3 |
- |
6 |
13 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
The main goal of this course is to present to students with a real-life software project.
Team project-based learning is the adopted methodology in this curricular unit. The laboratory classes will enable the tutoring, supervision and monitoring of the project.
Through a real-life software project scenario, the students will be able to apply and consolidate all the intended practices and techniques that a software project encompasses. From its inception to its final product delivery, the students will go through all the phases of development, working in teams and collaborating to achieve a common goal. This "learn by doing" pedagogical philosophy allows for a deeper understanding of the practices and exposes the students to the hurdles and difficulties a real software project might present.
This methodology focuses on "product delivery", forcing the students to define a viable process to enable a fully functional, ready to use, final product release. On the way, quality standards need to be met, therefore best practices, methods and tools need to be used so that development enables the achievement of those standards. These quality metrics are set, monitored and enforced by the teachers. Innovation is endorsed through a product "pitch", evaluating if the final product will be prone to investment by potential stakeholders.
Considering an internship or a multi-disciplinary R&D project, the faculty staff will guarantee that the student will be integrated into a working environment that will allow for the pursuit of the learning objectives.Learning outcomes and competences
(A) To apply a Software Engineering process to the complete development of a real software system, along the curricular unit, covering the specification of requirements, software architecture and design, coding, integration, test, documentation and demonstration.
(B) To consolidate fundamental knowledge and experience about applying algorithms, practices and techniques within software development, at specific application domain contexts.
(C) To use and tailor software development tools that enable the continuous monitoring and tracking of the project or product along its lifecycle.
(D) To develop collaborative work, integrating other project participants in design decisions, planning, delegation, negotiation, and group review.
(E) To acquire a high level of autonomy and self-discipline, as well as adequate communication skills.
Working method
Presencial
Program
In this course, students will tackle a social-impact, real-world project, developing a software solution grouped in medium-size teams (4 to 8 elements). These projects will be, preferably, proposed by external (outside of FEUP) organizations (companies, social institutions, etc.), having the students to visit those organizations for direct contact with the stakeholders and end-users. At the end of the semester, a final public event (“fair”) will take place for demonstration of the achieved results. Throughout the entire project lifespan, each team will be monitored and advised by a member of the faculty staff, ascertaining the persecution of the learning outcomes.
As an alternative, and authorized by the programme director, students may propose to undertake an internship in an industrial environment or at an R&D unit (tutored by a faculty staff member) or to participate in a multidisciplinary project, supervised by a faculty staff member.
Mandatory literature
Ken Schwaber;
Agile software development with Scrum. ISBN: 0-13-067634-9
Complementary Bibliography
Kent Beck;
Extreme programming explained. ISBN: 978-0-321-27865-4
Teaching methods and learning activities
In the case of developing a team-based software project, the students will have a set of pre-allocated rooms to work in, with compatible schedules, where they can develop the project or meet with the supervisor. These sessions are used for the implementation of the application.
If the student opts for an internship or multi-disciplinary R&D project, the tutor/supervisor will be responsible for defining, articulating and evaluating the student’s outcomes, which will have to adequately be adjusted to the context, size and complexity of the project.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Designation |
Weight (%) |
Trabalho prático ou de projeto |
100,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de relatório/dissertação/tese |
16,00 |
Trabalho laboratorial |
146,00 |
Total: |
162,00 |
Eligibility for exams
Course frequency implies attending and complying with the allocated working hours.
Calculation formula of final grade
The final grade is calculated by the weighted average of the following components:
- Quality of the work (weight 50%)
- Quality of the report (weight 35%)
- Quality of the final presentation (weight 15%)
Observations
During the 2021/22 edition, the following deadlines apply to the evaluation components:
- Work - in the case of a team project or a multi-disciplinary R&D project, it is expected that the work is finished by the time classes end (June 11th). In the case of internships, the end of the contract date applies.
- Report - in the case of a team project or a multi-disciplinary R&D project, the report must be submitted via moodle by June 2nd. In the case of internships, the end of the contract date applies.
- Final Presentation - can be, either, presenting a poster at a final event ("fair") or submitting a 3-5 minute video. This will happen sometime in july, to be disclosed soon. In the case of internships, only the video option applies.
For more details concerning the course's modus operandi, please see:bit.ly/LEIC_PI