Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics

Abstract In some situations, it is necessary to measure personal programming skills. For example, often students must be divided according to skill level and motivation to learn or companies recruiting employees must rank candidates by evaluating programming skills through programming tests, program...

Full description

Bibliographic Details
Main Authors: Ryosuke Ishizue, Kazunori Sakamoto, Hironori Washizaki, Yoshiaki Fukazawa
Format: Article
Language:English
Published: The Asia-Pacific Society for Computers in Education (APSCE) 2018-06-01
Series:Research and Practice in Technology Enhanced Learning
Subjects:
Online Access:http://link.springer.com/article/10.1186/s41039-018-0075-y
_version_ 1797719691922243584
author Ryosuke Ishizue
Kazunori Sakamoto
Hironori Washizaki
Yoshiaki Fukazawa
author_facet Ryosuke Ishizue
Kazunori Sakamoto
Hironori Washizaki
Yoshiaki Fukazawa
author_sort Ryosuke Ishizue
collection DOAJ
description Abstract In some situations, it is necessary to measure personal programming skills. For example, often students must be divided according to skill level and motivation to learn or companies recruiting employees must rank candidates by evaluating programming skills through programming tests, programming contests, etc. This process is burdensome because teachers and recruiters must prepare, implement, and evaluate a placement examination. This paper tries to predict the placement and ranking results of programming contests via machine learning without such an examination. Explanatory variables used for machine learning are classified into three categories: Psychological Scales, Programming Tasks, and Student-answered Questionnaires. The participants are university students enrolled in a Java programming class. One target variable is the placement result based on an examination by a teacher of a class and the ranking results of the programming contest. Our best classification model with a decision tree has an F-measure of 0.912, while our best ranking model with an SVM-rank has an nDCG of 0.962. In both prediction models, the best explanatory variable is from the Programming Task followed in order by Psychological Sale and Student-answered Questionnaire. Our classification model uses 9 explanatory variables, while our ranking model uses 20 explanatory variables. These include all three types of explanatory variables. The source code complexity, which is a source code metrics from Programming Task, shows best performance when the prediction uses only one explanatory variable. Contribution (1), this method can automate some of the teacher’s workload, which may improve educational quality and increase the number of acceptable students in the course. Contribution (2), this paper shows the potential of using difficult-to-formulate information for an evaluation such as a Psychological Scale is demonstrated. These are the contributions and implications of this paper.
first_indexed 2024-03-12T09:08:43Z
format Article
id doaj.art-3699ee5cd7bd49abb5b205f8a49b7218
institution Directory Open Access Journal
issn 1793-7078
language English
last_indexed 2024-03-12T09:08:43Z
publishDate 2018-06-01
publisher The Asia-Pacific Society for Computers in Education (APSCE)
record_format Article
series Research and Practice in Technology Enhanced Learning
spelling doaj.art-3699ee5cd7bd49abb5b205f8a49b72182023-09-02T15:04:51ZengThe Asia-Pacific Society for Computers in Education (APSCE)Research and Practice in Technology Enhanced Learning1793-70782018-06-0113112010.1186/s41039-018-0075-yStudent placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metricsRyosuke Ishizue0Kazunori Sakamoto1Hironori Washizaki2Yoshiaki Fukazawa3Department of Science and Engineering, Waseda UniversityNational Institute of Informatics/JST PRESTODepartment of Science and Engineering, Waseda UniversityDepartment of Science and Engineering, Waseda UniversityAbstract In some situations, it is necessary to measure personal programming skills. For example, often students must be divided according to skill level and motivation to learn or companies recruiting employees must rank candidates by evaluating programming skills through programming tests, programming contests, etc. This process is burdensome because teachers and recruiters must prepare, implement, and evaluate a placement examination. This paper tries to predict the placement and ranking results of programming contests via machine learning without such an examination. Explanatory variables used for machine learning are classified into three categories: Psychological Scales, Programming Tasks, and Student-answered Questionnaires. The participants are university students enrolled in a Java programming class. One target variable is the placement result based on an examination by a teacher of a class and the ranking results of the programming contest. Our best classification model with a decision tree has an F-measure of 0.912, while our best ranking model with an SVM-rank has an nDCG of 0.962. In both prediction models, the best explanatory variable is from the Programming Task followed in order by Psychological Sale and Student-answered Questionnaire. Our classification model uses 9 explanatory variables, while our ranking model uses 20 explanatory variables. These include all three types of explanatory variables. The source code complexity, which is a source code metrics from Programming Task, shows best performance when the prediction uses only one explanatory variable. Contribution (1), this method can automate some of the teacher’s workload, which may improve educational quality and increase the number of acceptable students in the course. Contribution (2), this paper shows the potential of using difficult-to-formulate information for an evaluation such as a Psychological Scale is demonstrated. These are the contributions and implications of this paper.http://link.springer.com/article/10.1186/s41039-018-0075-yMachine learningProgramming classPlacementPsychological Scale
spellingShingle Ryosuke Ishizue
Kazunori Sakamoto
Hironori Washizaki
Yoshiaki Fukazawa
Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
Research and Practice in Technology Enhanced Learning
Machine learning
Programming class
Placement
Psychological Scale
title Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
title_full Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
title_fullStr Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
title_full_unstemmed Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
title_short Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics
title_sort student placement and skill ranking predictors for programming classes using class attitude psychological scales and code metrics
topic Machine learning
Programming class
Placement
Psychological Scale
url http://link.springer.com/article/10.1186/s41039-018-0075-y
work_keys_str_mv AT ryosukeishizue studentplacementandskillrankingpredictorsforprogrammingclassesusingclassattitudepsychologicalscalesandcodemetrics
AT kazunorisakamoto studentplacementandskillrankingpredictorsforprogrammingclassesusingclassattitudepsychologicalscalesandcodemetrics
AT hironoriwashizaki studentplacementandskillrankingpredictorsforprogrammingclassesusingclassattitudepsychologicalscalesandcodemetrics
AT yoshiakifukazawa studentplacementandskillrankingpredictorsforprogrammingclassesusingclassattitudepsychologicalscalesandcodemetrics