Same innovation type
Satisfaction client-es
In this course, students carry out a concrete IT development project submitted by a “client” from the university community.
Before this course was introduced, students only practiced programming during short 3-to-4-hour practical sessions, which offered no examples of concrete projects. The course was created to give students the experience of a more meaningful project. It enables them to put into practice the methods and knowledge they have acquired so far, and to understand and document the process of applying them. The specificity of student-led projects lies in the fact that they stem from development needs expressed by members of the university.
The “Applications Informatiques » course is a compulsory second-year course in the Bachelor of Computer Science program, open only to students of the department. The general objective of this course is to train students in the development of computer applications at the request of various University entities. During the course, students will identify the customer’s needs, interact with him or her, design a solution, develop and test a program and finally deliver the result.
At the start of the autumn semester, a call for projects is issued to the entire university community, who can then submit a project as long as it contains programming elements, is instructive and corresponds to 80h-100h of work per student. The teacher receives and filters the proposed projects according to their level of difficulty and feasibility by 2nd year students who are not yet programming experts. For each project, the teacher calls on his or her colleagues to identify a volunteer inker who can monitor and provide expertise to the students during the project.
In the first class, the teacher gives a short theoretical introduction to good practice in IT projects, before letting the students choose a project from the available project descriptions. The choice is made on Moodle, which also enables groups to be formed according to the number of students required per project. They must then provide a service to the entity initiating the project, in the form of a computer application that may be administrative or scientific in nature. A set of specifications is drawn up between the person requesting the service, the student and the departmental supervisor.
From the second class onwards, the teacher ensures that the students have contacted the supervisor assigned to their project and that a first meeting with the client has been arranged. The supervisor is present at this first meeting to provide a framework for the project, to ensure that the project is feasible, that the customer’s requirements have been understood by the students, and to answer any questions the students may not know how to answer. Thereafter, the students work independently on the project, but the supervisor continues to monitor their work at regular meetings.
In the middle of the semester, the teacher devotes two 45-minute classes to the presentation of each group’s project. The presentation lasts 10 minutes, followed by a period of feedback from the teacher.
The final report consists of a written template (requirements, development, organization, training and feedback), the minutes of each meeting with the customer and the documentation provided to the customer. All the code produced during the semester, as well as the session reports, are recorded on Gitlab. The evaluation is based on feedback from the customer (meetings, identification of needs, involvement) and the supervisor. Customer and supervisor receive an evaluation questionnaire to be completed at the end of the semester. This questionnaire covers the quality of product development, usability by the client, documentation provided to the client and working interactions throughout the development process.
This kind of teaching engages students in a customer relationship similar to the one they will experience in their professional lives. They must be adaptable to the customer, propose solutions and collaborate with a person they have not chosen. They respond to a concrete need by producing a tool that will actually be used, which generates genuine motivation.
However, the teacher draws attention to the heavy administrative workload involved in preparing such a course in advance. It’s essential to draw up a clear communication strategy for disseminating the call for projects; you need to have built up a list of contacts who might be interested.
Receiving, reading and sorting the projects received is also a major task, as the call for projects must be as wide-ranging as possible. It is then necessary to select the projects according to their feasibility for the students. It may happen that a project is too trivial or too complex, in which case it may be possible to contact the principal to reduce the workload or divide it into two groups of students. The teacher must also ensure that the principal is capable of monitoring and evaluating the project.
Another point to bear in mind when setting up such a project is the need to find supervisors who are competent in project follow-up, involved and experienced. The principal may also be a supervisor, if his or her skills and availability allow. To be effective, the teacher prefers to limit his or her supervision to 2 or 3 groups. It is then necessary to find competent supervisors for the remaining groups. The teacher’s recommendation is to form groups of 2 or 3 students maximum. Bear in mind that as the number of students per group increases, so does the complexity of the project, and so does the need for supervision.