The practical project will be accompanied by a few theoretical sessions where the students will become acquainted with:
- Software process models (e.g., waterfall, incremental, agile) and the activities within software lifecycles;
- Practical requirements engineering approaches;
- Software analysis and design techniques and notations;
- Describing system data using, for example, object-role modelling or entity-relationship diagrams;
- Project management and planning techniques.
At the end of this learning unit, the student is able to : | |
1 | Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
Given the learning outcomes of the "Master [60] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
At the outcome of this course, the students will have acquired the necessary competences to build a large-scale software system under semi-professional working conditions. More specifically, students having completing this course with success will be able to:
|
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
Teams of 6 to 8 students (necessary to complete a big project), will collaborate, overseen by a project manager.
Weekly meetings will be held with the project leader (a teaching assistant or student-tutor) to present the progress and difficulties encountered, to assess alternative options, and to discuss the distribution and planning of work within the team.
The proposed software development methodology will be structured according to a waterfall-like model, mainly to be able to explore the different phases of the software development life-cycle (after all, this is a software engineering project), and to facilitate the management of the different groups by their tutors.
The application to be developed will most likely be a web-application, but the choice of programming language, environment, application framework and development tools will mostly be left open to the students (for as far as it fits the requirements imposed by the client).
- Individual participation to weekly group meetings with the course tutors;
- Three intermediate reports;
- The final report, delivered system and documentation, presentation and demonstration of the final product;
- A small exam consisting of a few more theoretical exam questions.
- Having a good knowledge of and experience with object-oriented programming concepts, algorithms and data structures.
- Having participated in the development of a small- to medium-scale software system.