Using fuzzy logic applied to software metrics and test cases to assess programming assignments and give advice - Jurado, Francisco; Redondo, Miguel A.; Ortega, Manuel (Journal of network and computer applications, 2012)
Programming is an important competence in Computer Science and Engineering studies. Students have to pass the related programming subjects proving that they have acquired the necessary knowledge and skills. Such knowledge and skills will be essential for their academic training and future careers. However, students of programming subjects have to solve deep cognitive challenges. One of our objectives is to help them overcome these challenges. To overcome the first difficulties the students may encounter while developing their assignments, we will present an approach that provides a first assessment of the students’ solution. This will allow the system to estimate a mark on a student assignment; so it can provide some kind of adaption and guidance in the learning process. It will allow the students to ask the system what is wrong with the solution they are developing, without teacher intervention. Thus, our aim is to create a system that assists the students in understanding what they are doing and helps the teachers in their labour in the classroom. Although the assessment technique we will show can be extrapolated to other programming areas, this paper focuses on a concrete one, namely Programming Algorithms. In this respect, throughout the paper we will show how to process and analyse algorithms written by students as solutions to programming assignments, something that is ongoing in those computer supported systems for learning to program. As a result, a proposal for assessing algorithms applying Fuzzy Logic to software metrics and test cases will be explained. In addition, the Computer Assisted Environment for Learning Algorithms (COALA) environment will be exposed in order to validate our proposals. Furthermore, we will explain the developed empirical study and also analyse and explain the results. These results seem to point out that the proposals are successful enough, but we must continue working on this research line to provide evaluations that are closer to those provided manually by a teacher.