Teacher(s)
Language
English
> French-friendly
> French-friendly
Prerequisites
Required : initial experience in computer projects, as targeted in course LINFO1001
Required : skills in C programming language as taught in course LEPL1503
Required : skills in C programming language as taught in course LEPL1503
Main themes
This course treats a specific advanced topic or selection of topics of current research interest in the area of software engineering.
The actual topic(s) may vary from year to year, and will be chosen from a variety of software engineering domains such as data-intensive computing, software analytics, development and analysis of large evolving software systems, big data techniques, software repository mining, software recommendation systems, software visualization, novel programming technologies, software requirements and analysis,model-driven software engineering, software configuration management, software engineering processes, software engineering tools and methods, software testing and quality aspects, etc.
The actual topic(s) may vary from year to year, and will be chosen from a variety of software engineering domains such as data-intensive computing, software analytics, development and analysis of large evolving software systems, big data techniques, software repository mining, software recommendation systems, software visualization, novel programming technologies, software requirements and analysis,model-driven software engineering, software configuration management, software engineering processes, software engineering tools and methods, software testing and quality aspects, etc.
Learning outcomes
At the end of this learning unit, the student is able to : | |
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:
|
|
Content
This software engineering project consists of the development (analysis, design, implementation, validation, documentation, integration, and deployment) of a realistic and non-trivial software application, if possible proposed by and developed with the participation of a real client, under semi-professional working conditions.
The subject of the application to be built is proposed by an industrial partner or a non-profit organization participating in the organization of this course.
Teams of 6 to 8 students, necessary to carry out a large-scale project, will collaborate under the supervision of a project manager.
Weekly meetings will be held with the project manager (an assistant or tutor) to present progress and difficulties encountered, evaluate alternatives, and discuss the distribution and planning of work within the team.
The application to be developed will most likely be a web application. However, the choice of programming language, environment, application framework, and development tools will depend on the requirements of the project client.
The subject of the application to be built is proposed by an industrial partner or a non-profit organization participating in the organization of this course.
Teams of 6 to 8 students, necessary to carry out a large-scale project, will collaborate under the supervision of a project manager.
Weekly meetings will be held with the project manager (an assistant or tutor) to present progress and difficulties encountered, evaluate alternatives, and discuss the distribution and planning of work within the team.
The application to be developed will most likely be a web application. However, the choice of programming language, environment, application framework, and development tools will depend on the requirements of the project client.
Teaching methods
The course is based on the complete development (analysis, design, implementation, validation, documentation, integration, and deployment) of a large-scale software system for a potential client, carried out by a team of 6 to 8 students and supervised by a project manager.
Weekly meetings will be held with the project manager to ensure work monitoring, task planning, and the follow-up of the project's progress. Various prototypes and technical reports will have to be produced throughout the semester.
Regarding the use of generative artificial intelligence, we will follow the EPL guidelines for the responsible use of generative artificial intelligence.
Weekly meetings will be held with the project manager to ensure work monitoring, task planning, and the follow-up of the project's progress. Various prototypes and technical reports will have to be produced throughout the semester.
Regarding the use of generative artificial intelligence, we will follow the EPL guidelines for the responsible use of generative artificial intelligence.
Evaluation methods
The course will be assessed based on the following elements:
Important clarification: active and balanced participation by each student is expected across all aspects of the project:
In the event of misuse of generative artificial intelligence, we will refer to the EPL's regulations regarding the misuse of generative artificial intelligence.
- Individual, continuous, active, and balanced participation in group work, as well as in the weekly meetings with the course assistants/tutors.
- The completion of a report identifying the project specifications.
- The development of two to three intermediate prototypes, accompanied by their respective technical reports, as well as presentations and question-and-answer sessions. For each prototype, technical interviews will also be conducted to assess the students' understanding and mastery of the solutions they have developed.
- The final report, the delivered system and its documentation, as well as the presentation and demonstration of the final product to the client or an intermediary.
- The integration of the solutions developed by the different groups into a complete product.
Important clarification: active and balanced participation by each student is expected across all aspects of the project:
- analysis and design;
- development (implementation and testing);
- integration;
- documentation (reports and demonstration).
In the event of misuse of generative artificial intelligence, we will refer to the EPL's regulations regarding the misuse of generative artificial intelligence.
Other information
Prerequisites:
- Have good knowledge of and experience with the concepts of object-oriented programming, algorithms and data structures.
- Have participated in the development of a small to medium-sized software system.
Online resources
Bibliography
French
Des lectures supplémentaires seront suggérées dans le plan de cours qui décrit les produits livrables et l'organisation du projet. Les supports de cours pertinents, des slides et des informations pratiques seront accessibles sur Moodle, qui sera également le principal moyen de communication entre l'enseignant et les étudiants.
English Additional reading material will be suggested in the course plan which describes the deliverables and organisation of the project. All relevant course material, slides and practical information will be available on Moodle, which will also be the main means of communication between the teacher and the students.
Des lectures supplémentaires seront suggérées dans le plan de cours qui décrit les produits livrables et l'organisation du projet. Les supports de cours pertinents, des slides et des informations pratiques seront accessibles sur Moodle, qui sera également le principal moyen de communication entre l'enseignant et les étudiants.
English Additional reading material will be suggested in the course plan which describes the deliverables and organisation of the project. All relevant course material, slides and practical information will be available on Moodle, which will also be the main means of communication between the teacher and the students.
Faculty or entity