This article was written for Frédéric Baucher, a teacher at INSA (Institut National de Sciences Appliquées). He shares with us his feelings and his feedback on the use of Promyze in the context of teaching.
The INSA group brings together 7 schools, including 6 in France and 1 in Fez (Morocco) with the Euromedschool. It is in this school that the experimentation took place. After a first experiment in the autumn of 2019 with students at Master 2 level (5
The ” Databases ” course is given to students at L2 level (2nd year engineering) and is based on theoretical acquisition (database modelling and design), and implementation at source code level is approached in the Java language. The notion of good practices is introduced with some implementation
Given the maturity of the students (and the length of time they have been of the exercise: 6 weeks), the project (in the
A catalog of needs to be met by the development chain has been established. While Github and Jenkins were chosen for code storage and continuous integration, code analysis, evolution of code coverage or the possibility of code reviews were also criteria for the decision. Other criteria were also considered :
If a tool like SonarQube was one of the candidates, Promyze brought an additional answer on 2 points in our pedagogical context :
Nevertheless, we can point out that a greater experience acquired during previous educational projects as well as the support of the Promyze team also contributed to the selection of their solution (especially in the timingimposed by Covid19). In the rest of this article, the study of the
The Atelier Craft feature has been identified as a good experiment for organizing code review sessions. These activities were often practiced, until this episode, in an informal way, in the lab room, through a close exchange, by means of finger pointing on the screen of the commented code pieces
ThePromyze Craft Workshops are designed to facilitate the implementation of good practices. The objective is to organize collective
In our pedagogical framework, the Craft Workshop is used to assess the students’ skill acquisition. The source code is only a trace of the application (correct or not) of good practices. A session therefore corresponds to the evaluation of projects at a milestone of the pedagogical activity. In our context, a Craft Workshop will gather all the files of a certain type, which will be found within each project. The objective is to highlight certain implementations, to
The Craft Workshop makes it possible to work both downstream, in a proactive way (by documenting the good practices a priori) and upstream, in a reactive way, by documenting, at the sight of the students’ behaviors, the possible good practices whose highlighting had not been anticipated.
The Atelier Craft presents interesting characteristics on 2 levels :
Overview of a workshop with here 2 proposed areas of improvement
In the capture above, we observe that 2 good practices have been proposed, one of which recommends annotating the methods to be implemented with a comment “//TODO”.
Some “tags” can be commented on, as shown below with a suggestion to define a naming convention :
It should be noted that other practices, applicable to more traditional code review tools, have already been documented But they do not make it possible to achieve either productivity for the author or ergonomics for the developer, as Promyze allows in the same context.
Moreover, the sedimentation of knowledge in good practice allows it to be reusedand to evolve from Atelier Craft to Atelier Craft.
To raise awareness of the concept of ” quality ” as a whole, the centralization of information within the same interface avoids dispersion in the tools and contributes to forging the coherence of the concept among students. The availability on a single portal, on a single page, of the evolution of test coverage and static analysis results on the project code gives an overall awareness of the team’s actions.
One of Promyze’s strong points consists in individualizing the contribution to the technical debt. In his
This article reports on the use of Promyze in the context of L2 level teaching. Beyond its use as a unifying portal around code quality, one of the innovative contributions of the tool lies in the notion of “quality of code”. Craft workshop. Prior to the experiment described in this article, code annotation was rather filled by code review tools (or even by on-screen proofreading sessions in a PT session). Putting these tools into perspective allows a better understanding of the purposes that can be expected from one or the other
While the health context was exceptional, L2 students were able to continue to improve their skills by using Promyze in the Craft Workshops. Although their role was limited to that of observer, they were able to analyze the quality of their code
See you at the beginning of 2021 for a new feedback on these uses!
Promyze, the collaborative platform dedicated to improve developers’ skills through best practices sharing and definition