Write a Blog >>
Mon 14 - Fri 18 November 2022 Singapore
Fri 18 Nov 2022 22:30 - 22:45 at Virtual 4 (Whova) - Session 2

The software engineering industry is an everchanging domain requiring professionals to have a good knowledge base and adaptability skills. Moreover, teaching and preparing students for the requirements of this profession is a challenge. Therefore, e-learning platforms and code quality checking tools are a must in the learning and grading processes.

This article introduces a pedagogical perspective in the evaluation based on software metrics of the code quality written by students using Artificial Intelligence techniques. This approach represents an initial step in developing an e-learning platform that will be used to check the quality of the source code that students wrote.

The main goal of this paper is to present an approach in which we encourage students to combine concepts learned from two different courses at our university. The first step of this approach is part of the Advanced Programming Methods course, where students learn about software metrics and use tools to compute them for their homework, and also about the importance of writing good quality code. The following steps were integrated into the Artificial Intelligence course at our university, where students learn about different machine learning algorithms. Moreover, they learned about the Support Vector Machine. As a practical exercise, they took a subset of software metrics together with a recently proposed hybrid metric and tried to predict the presence of bugs in their homework. The subset of metrics that the students used for this practical assignment consisted of Cyclomatic Complexity (CC), Weighted Method per Class metric (WMC), Depth of Inheritance Tree (DIT) and Lack of Cohesion in Methods (LCOM).

The proposed approach is helpful for both students and teachers. On one side, it helps the students understand the importance of writing clean and good-quality code. And on the other side, it helps teachers in their evaluation process by giving them time to focus on different aspects of homework than the code quality.

Fri 18 Nov

Displayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change