<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Learning analytics in computer programming courses</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Edna</forename><surname>Chaparro</surname></persName>
							<email>edchaparroa@unal.edu.co</email>
							<affiliation key="aff0">
								<orgName type="institution">Universidad Nacional de Colombia</orgName>
								<address>
									<settlement>Bogotá</settlement>
									<country key="CO">Colombia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Felipe</forename><surname>Restrepo-Calle</surname></persName>
							<email>ferestrepoca@unal.edu.co</email>
							<affiliation key="aff0">
								<orgName type="institution">Universidad Nacional de Colombia</orgName>
								<address>
									<settlement>Bogotá</settlement>
									<country key="CO">Colombia</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jhon</forename><surname>Jairo Ramírez-Echeverry</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Universidad Nacional de Colombia</orgName>
								<address>
									<settlement>Bogotá</settlement>
									<country key="CO">Colombia</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Learning analytics in computer programming courses</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">791EAB26395A5694C6C57F9FA2E2B60F</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T05:34+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Learning Analytics</term>
					<term>Computer Programming</term>
					<term>Quantitative data</term>
					<term>Correlational analysis</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In recent years, learning analytics has emerged as one of the most important fields on the future of education. In the context of programming courses, the applications of learning analytics show high efficacy in giving directions for interventions, which help to promote better learning methods. However, few investigations have considered complex datasets where there are heterogeneous student's groups, letting out differential factors that can influence in the learning process. The main objective of this work is determining the relations between the measurements and metrics of the learning process with the academic performance of the computer programming students of the National University of Colombia. We apply a quantitative non-experimental methodological design, using as source of information the records of 2 years of student's interactions with an educational platform of automatic grading and feedback use in the course. In total 38 variables are considered in this work, that include the number of submissions, the results of each submission, software metrics, and the use rates of the tools available in the platform. The results show that the number of submissions, three types of results/verdicts, two verdict's rates, and one software metric have a positive correlation with the academic performance. Moreover, the runtime error rate, and the use of a good practices verification tool (i.e., Linter) have a negative correlation with the final performance of the students.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The last decade has seen an increase in the use of technology in educational environments with tools such as computers, electronic boards, virtual environments and learning management systems. Consequently, the data collected during the learning process have grown exponentially, along with their potential to generate knowledge about possible factors for academic success <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref>. In this sense, the information generated can be used to guide teachers, institutions, and students in making decisions related to learning, teaching, and educational administration <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref>. Data analysis in the educational area is known as learning analytics and is considered the future of education, especially in the context of higher education <ref type="bibr" target="#b2">[3]</ref>. Learning analytics is based on the principles of traditional educational research, but it leverages innovations such as the collection of new forms of digital data and uses advanced computational analysis techniques from data science and artificial intelligence <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b5">6]</ref>. In the context of computer programming courses, learning analytics has been used to achieve different objectives. Several efforts seek to build models to automatically detect students at risk of failing a course <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>. Others propose to track course progress through visualizations of statistics and metrics representing student behaviors <ref type="bibr" target="#b8">[9]</ref>, and to generate personalized feedback to students in programming courses <ref type="bibr" target="#b9">[10]</ref>.</p><p>However, Ferguson <ref type="bibr" target="#b10">[11]</ref> has identified that research in learning analytics lacks methods that use a wide range of datasets. This coincides with one of the challenges presented by Schmitz et al. <ref type="bibr" target="#b11">[12]</ref>, who find a lack of educational investigations that considers diversity of learners. This challenge is due to the fact that advances in education facilitates the inclusion of relatively new or different groups of students than the traditional ones <ref type="bibr" target="#b11">[12]</ref>. Thus, in this work we propose to answer the following research question: What are the relationships between data generated from students' interactions with an educational platform and their academic performance in a computer programming course when considering different groups of students in the dataset? Thus, the objective of this work is to determine the existing relationships between measurements and metrics from the learning processes of computer programming students at the National University of Colombia and their academic performance. The methodology used is descriptive, correlational, quantitative and non-experimental.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Related work</head><p>One of the areas where learning analytics has gained importance is computer science <ref type="bibr" target="#b6">[7]</ref>. In the context of computer programming courses, one of the most frequent objectives is the prediction of student behavior. For example, Azcona et al. <ref type="bibr" target="#b6">[7]</ref> propose a model to automatically detect students at risk of failing a Python computer programming course and based on the predictions, provide personalized feedback. Other investigations seek to generate mechanisms for effective course monitoring with visualizations of statistics and metrics that represent the students' behavior. For example, Shen et al. <ref type="bibr" target="#b8">[9]</ref>, propose a heat map that visualizes the intensity of student access to educational resources and activities in an introductory Python MOOC. Additionally, through social network analysis, examines similarities and differences in access patterns. Another example is the set of visualizations proposed by Leony et al. <ref type="bibr" target="#b12">[13]</ref> in a C programming course, aiming to inform teachers about students' emotions based on the interaction of students with an educational technology tool. Finally, other researches aim to generate personalized feedback to students. For example, Lu et al. <ref type="bibr" target="#b9">[10]</ref> apply learning analytics to identify students who need immediate intervention in a Python MOOC, and based on this information, teachers build adaptive learning guides that are applied in an experimental group and compared with a control group.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Methodology</head><p>The learning analytics' methodology of this work has a quantitative approach with a descriptive and correlational scope. The type of research design is non-experimental, since the data to be used have been collected without modifying the variables of the context. The methodology consists of 3 sequential phases: 1) data preparation, 2) data transformation, and 3) data analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">Phase 1: Data preparation</head><p>Data collection. First, the location and format of the available data is identified. Then, the data of the students' learning process is gathered through a data management and analysis tool.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Data consolidation.</head><p>A consolidation process is necessary, since the raw data is often disaggregated. Subsequently, the most appropriate data structures are identified for the organization and manipulation of the consolidated data.</p><p>Data cleaning. The variables present in the consolidated dataset which gives useful information about the learning process are identified. Also, the variables that are not related to the objective of the study or those that have data quality problems are discarded.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">Phase 2: Data transformation</head><p>Identification of measurements. Firstly, a literature review of measurements and metrics used in educational research in computer programming courses should be performed. Subsequently, identify which of the measurements found in the literature are present in the dataset and which can be used to build suitable metrics.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Metrics design.</head><p>From the results found on metrics in the literature, the equations needed for the estimation of metrics are established.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Calculation of metrics.</head><p>The equations proposed in the metrics design stage are applied in the data management tool and the values obtained are stored for later analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Phase 3: Data Analysis</head><p>Exploratory data analysis. Based on the previous measurements and metrics, an exploratory univariate analysis is performed to identify behaviors and trends. For this, descriptive statistics (arithmetic mean, dispersion measures, skewness, etc.) and visualizations (box plots, histograms, etc.) are used.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Data analysis and modeling techniques.</head><p>The relationships between metrics and measurements are identified through correlations or regression analysis. Additionally, supervised or unsupervised machine learning techniques can be applied if the objective of the work is to obtain classifications, regressions or groupings of data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Discussion of results.</head><p>The results obtained are compared with similar findings of other studies. Then, the behaviors found are interpreted and the implications in the context of the research are specified.</p><p>Conclusions. The summary of the findings is presented along with its limitations and the possible threats to validity. Finally, future work is proposed based on the results of the study.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Results</head><p>Results obtained by applying the proposed methodology to the 2-year (between 2019 and 2020) history of the Computer Programming course at the National University of Colombia are presented below.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Phase 1: Data Preparation</head><p>Data collection. Data were collected from the interaction of students with the educational platform UNCode used for the automatic evaluation of programming exercises of class activities <ref type="bibr" target="#b13">[14]</ref>. UNCode allows students to submit multiple program attempts (source code or Jupyter notebooks) built to solve programming tasks. For each solution attempt, the platform stores the program file, date and time of the submission. In addition, it offers automatic feedback through verdicts related to errors in the syntax, semantics and efficiency of the program. Also, it offers a numerical grading, depending on the test cases the designed program solved. Within UNCode there is a set of learners' support tools, such as: syntax highlighting, code auto-completion, linter (suggestions of good programming practices), visualization of code execution, custom tests and reports of grades <ref type="bibr" target="#b14">[15]</ref>. The raw data was stored in a MongoDB database and it was exported to CVS (Comma Separated Values) files. The programming language Python was used, with its specialized libraries for data analysis and visualization (pandas, matplotlib, seaborn). Data consolidation. The exported files in CSV format for each course were stored in a shared folder in Google Drive. The data was organized in separate folders per course where there are files with the list of student usernames, the records of the submissions made per activity, and the final grades. In addition, each course contains a folder with the files submitted, organized by student and by activity.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Data cleaning.</head><p>The stored data includes all the courses of the university that use UNCode; for this reason, it contains data from courses other than computer programming. Therefore, a screening process is made by selecting only the programming courses (22 groups). Then, a filtering is performed within each course for activities and students with insufficient number of submissions. The post-filtering dataset contains 1352 activities and 735 students.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Phase 2: Data Transformation</head><p>Identification of measurements. Table <ref type="table" target="#tab_0">1</ref> specifies the 15 measurements that are considered of interest in the research, which are classified into four categories: 1) data related to the attempts of solution of programming assignments made by each student, 2) the verdicts obtained in each solution attempt, 3) the use of the platform tools, and 4) numerical grading. Additionally, the source code files sent as solutions to the programming tasks are used to obtain characteristics of the students' programs (software metrics).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Metrics design.</head><p>Based on the identified measures, 24 metrics were designed, divided into three categories (verdicts, tool usage and software metrics). See Table <ref type="table" target="#tab_1">2</ref>. First, the verdicts' rates obtained for each type of verdicts in Table <ref type="table" target="#tab_0">1</ref> are defined. These rates are the percentage of one type of verdict with respect to the total number of verdicts obtained by the student. The second category is the usage rates of each tool in Table <ref type="table" target="#tab_0">1</ref>. The usage rates are defined as the percentage of the number of accesses to a single tool in relation to the total number of accesses to all available tools (these two categories of rates are defined with the objective of quantifying the verdicts and tools of greater or lesser use by students).The third category are software metrics, which represent specific characteristics of the programs built by the students (see Table <ref type="table">3</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Calculation of metrics.</head><p>For each student the 7 verdict rates and the 5 tool usage rates are calculated by applying the equations in Table <ref type="table" target="#tab_1">2</ref>. Then, the software metrics are calculated using   illustrates 21 measurements and metrics that have a statistically significant correlation (p-valor ≤ 0.05) with the academic performance.</p><p>The variable with the highest positive correlation is Accepted with coefficient of 0.43. This value is followed by Success_rate and Total_Submissions with coefficients of 0.25 and 0.24, respectively. These are expected results since a student with a high number of correct answers, success rate and attempts made is a student who is successful in solving the assignments. Subsequently, the variables with correlations less than 0.20 and greater than 0.15 correspond to Wrong_Answer, Time_Limit_Exceeded, Tokens_count, Custom_Input_rate, and NLOC. The num- ber of tokens, lines of code and Custom Input usage rate are metrics that were expected to be positively correlated, since as the student designs high content programs and is able to perform custom testing of the built code, his/her academic performance could be better. However, the number of incorrect answers and time limit exceeded errors were not expected to be in this group, because these verdicts indicate errors in the proposed solution.</p><p>In contrast, the variable with the highest negative correlation is Error_rate_Runtime_Error with −0.28. This metric was expected to be negatively correlated, given that a high runtime error rate represents that a large number of the non-executed attempts. The variables with correlations between −0.20 and −0.15 correspond to Linter_rate, MI, Custom_Input and Er-ror_rate_Wrong_Answer. In these results, it is rare that the rate of use of Linter and the accesses to Custom Input have negative correlations, since these tools are designed to facilitated students to build their solutions. The maintainability index and incorrect answer rate were expected to be negatively correlated, since a program with a high maintainability index indicates a low level of programming skills and a high incorrect answer rate means that most of the attempts made were unsuccessful.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Discussion</head><p>Regarding the research question posed: what are the existing relationships between the data generated from students' interactions with an educational platform and their academic performance in a computer programming course when considering different groups of students?, some of the findings found in the results are discussed below. The total number of submissions made per student has a positive correlation with the final grade in the course. This may indicate that students with high performance use the platform as a source of feedback to improve the solutions constructed, making multiple attempts. This result agrees with the findings of Zacharis et al. <ref type="bibr" target="#b16">[16]</ref> who found a weak correlation (from 0.20 to 0.39) between number of activities delivered and the final course grade. The positive correlations of the number of correct answers and the success rate indicate that the students have possibly acquired sufficient knowledge to successfully solve the course activities and this is reflected in their performances.</p><p>In contrast, the positive correlation of the number of incorrect answers, the number of memory limit errors exceeded, along with the number of verdicts and rates of time limit exceeded and compilation error may indicate that these verdicts provide sufficient feedback to guide the student to solve the possible errors present in the constructed solution. However, the rate of incorrect answer and execution error has negative correlations. In the case of high incorrect answers rate it may indicate a lack of understanding of the objective of the activity; with respect to the execution error rate, this may indicate the students' difficulty to obtain effective feedback for his learning process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusions and future work</head><p>This work applies a non-experimental quantitative methodological design of learning analytics, consisting of three main phases: data preparation, transformation and analysis, applied to 2 years of historical data of a computer programming course. This allowed finding relationships between measurements and metrics of the learning process and the final students' performance of a computer programming course. The results show that the number of submissions, five verdicts(correct answer, incorrect answer, time limit exceeded, memory limit exceeded and compilation error), three verdict rates (correct answer, time limit exceeded and compilation error), the rate of use of Custom Input, and four software metrics (number of tokens, number of lines of code, cyclomatic complexity and difficulty) have a significant positive correlation with the academic performance of the students. This indicates that students with high performance may be able to use the error verdicts obtained as a source of formative feedback and that the construction of programs of high content, length and complexity is related to better academic performance. The variables with negative correlations are two verdict rates (incorrect answer and execution error), three tools' accesses (linter, multiple languages code and custom input), two tools' usage rates (linter and multiple languages code) and the maintainability index. These findings may indicate the need for reinforcement in some aspects of the course, such as, clarity in the objective of the activities, the applicability of the feedback offered by some tools (i.e., linter that focuses on the verification of good programming practices) and promote the learning of generalizable program construction skills.</p><p>The main limitation of this study is related to the quantitative approach, since the results are limited to evidencing relationships between measurements and metrics, but it is not possible to identify the causes of the found behaviors. As future work, the constructed dataset can be used to identify which metrics are most relevant and to track students and build a predictive model of final academic performance. Qualitative data will also be considered within the analysis in future works.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Results of the calculated measurements and metrics. a) Top-Left: Distribution of To-tal_Submissions per student in each course. b) Top-Right: Histogram of average time between attempts (Duration_of_Submission) for each student. c) Bottom-Left: Total verdict rates obtained in all courses. d) Bottom-Right: Total rates of tool usage across all courses.</figDesc><graphic coords="7,128.47,84.19,375.02,247.86" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: a) Left: Distribution of academic performance by group. b) Right: Variables with significant correlations with the academic performance.</figDesc><graphic coords="8,89.29,84.19,416.68,127.05" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>Measurements considered in the dataset Custom_Input Number of registered accesses to the Custom input tool where students perform custom tests on their programs. Linter Number of registered accesses to the Linter tool, which highlights syntax and style problems in the source code. User_Statistics Number of registered accesses to the interactive dashboard to report on students' individual statistics. Multiple_Languages_Code Number of accesses to the Multiple Languages tool that allows submission in different programming languages. Academic performance uncode_grade Weighted average of grades of the activities performed by students in UNCode.</figDesc><table><row><cell>Category</cell><cell>Measurements</cell><cell>Description</cell></row><row><cell>Submissions</cell><cell>Total_Submissions Duration_of_Submission</cell><cell>Number of attempts submitted per student. Average time spent by students between submission attempts.</cell></row><row><cell></cell><cell>Accepted</cell><cell>Number of solutions with correct answers.</cell></row><row><cell></cell><cell>Wrong_Answer</cell><cell>Number of solutions with incorrect answers.</cell></row><row><cell></cell><cell>Compilation_Error</cell><cell>Number of submitted attempts that fail to compile.</cell></row><row><cell>Verdicts</cell><cell>Runtime_Error</cell><cell>Number of attempts that succeed in compiling but fail during execution.</cell></row><row><cell></cell><cell>Time_Limit_Exceeded</cell><cell>Number of attempts that take too long to execute.</cell></row><row><cell></cell><cell>Memory_Limit_Exceeded</cell><cell>Number of attempts that exceed the memory available for execution.</cell></row><row><cell></cell><cell>Output_Limit_Exceeded</cell><cell>Number of attempts that exceed the expected program output size.</cell></row><row><cell></cell><cell>Python_Tutor</cell><cell>Number of logged accesses to the Python tutor tool that allows visualization step-by-step execution of a program.</cell></row><row><cell>Tool usage</cell><cell></cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 2</head><label>2</label><figDesc>Metrics based on the verdict measures obtained and tool usage</figDesc><table><row><cell>Category</cell><cell>Metric</cell><cell cols="2">Equation</cell></row><row><cell></cell><cell>Success_rate</cell><cell cols="3">𝐴𝑐𝑐𝑒𝑝𝑡𝑒𝑑 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖 • 100 ∑︀</cell></row><row><cell></cell><cell>Error_rate_Wrong_Answer</cell><cell cols="3">𝑊 𝑟𝑜𝑛𝑔_𝐴𝑛𝑠𝑤𝑒𝑟 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖 • 100</cell></row><row><cell>Verdicts</cell><cell>Error_rate_Compilation_Error</cell><cell cols="2">𝐶𝑜𝑚𝑝𝑖𝑙𝑎𝑡𝑖𝑜𝑛_𝐸𝑟𝑟𝑜𝑟 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖</cell><cell>• 100</cell></row><row><cell></cell><cell>Error_rate_Runtime_Error</cell><cell cols="3">𝑅𝑢𝑛𝑡𝑖𝑚𝑒_𝐸𝑟𝑟𝑜𝑟 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖 • 100</cell></row><row><cell></cell><cell>Error_rate_Time_Limit_Exceeded</cell><cell cols="3">𝑇 𝑖𝑚𝑒_𝐿𝑖𝑚𝑖𝑡_𝐸𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖</cell><cell>• 100</cell></row><row><cell></cell><cell>Error_rate_Memory_Limit_Exceeded</cell><cell cols="3">𝑀 𝑒𝑚𝑜𝑟𝑦_𝐿𝑖𝑚𝑖𝑡_𝐸𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖</cell><cell>• 100</cell></row><row><cell></cell><cell>Error_rate_Output_Limit_Exceeded</cell><cell cols="3">𝑂𝑢𝑡𝑝𝑢𝑡_𝐿𝑖𝑚𝑖𝑡_𝐸𝑥𝑐𝑒𝑒𝑑𝑒𝑑 ∑︀ 𝑖 𝑉 𝑒𝑟𝑒𝑑𝑖𝑐𝑡𝑠𝑖</cell><cell>• 100</cell></row><row><cell></cell><cell>Python_Tutor_rate</cell><cell>𝑃 𝑦𝑡ℎ𝑜𝑛_𝑇 𝑢𝑡𝑜𝑟 ∑︀ 𝑖 𝑇 𝑜𝑜𝑙𝑠𝑖</cell><cell cols="2">• 100</cell></row><row><cell>Tool usage</cell><cell>Custom_input_rate</cell><cell>𝐶𝑢𝑠𝑡𝑜𝑚_𝑖𝑛𝑝𝑢𝑡 ∑︀ 𝑖 𝑇 𝑜𝑜𝑙𝑠𝑖</cell><cell cols="2">• 100</cell></row><row><cell></cell><cell>Linter_rate</cell><cell cols="3">𝐿𝑖𝑛𝑡𝑒𝑟 ∑︀ 𝑖 𝑇 𝑜𝑜𝑙𝑠𝑖 • 100</cell></row><row><cell></cell><cell>User_Statistics_rate</cell><cell>𝑈 𝑠𝑒𝑟_𝑆𝑡𝑎𝑡𝑖𝑠𝑡𝑖𝑐𝑠 ∑︀ 𝑖 𝑇 𝑜𝑜𝑙𝑠𝑖</cell><cell cols="2">• 100</cell></row><row><cell></cell><cell>Multiple_Languages_Codes_rate</cell><cell cols="3">𝑀 𝑢𝑙𝑡𝑖𝑝𝑙𝑒_𝐿𝑎𝑛𝑔𝑢𝑎𝑔𝑒𝑠_𝐶𝑜𝑑𝑒 ∑︀ 𝑖 𝑇 𝑜𝑜𝑙𝑠𝑖</cell><cell>• 100</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 4</head><label>4</label><figDesc>Descriptive statistics of software metrics.</figDesc><table><row><cell>Metric</cell><cell cols="4">Arithmetic mean Standard deviation Minimum Maximum</cell></row><row><cell>Code lines (NLOC)</cell><cell>20.7</cell><cell>9.4</cell><cell>2.0</cell><cell>92.1</cell></row><row><cell>Tokens_count</cell><cell>150.2</cell><cell>66.1</cell><cell>25.0</cell><cell>565.4</cell></row><row><cell>Cyclomatic complexity (G)</cell><cell>7.8</cell><cell>4.4</cell><cell>1.0</cell><cell>42.2</cell></row><row><cell>Program vocabulary (n)</cell><cell>20.8</cell><cell>10.0</cell><cell>3.0</cell><cell>82.0</cell></row><row><cell>Program length (N)</cell><cell>42.0</cell><cell>25.7</cell><cell>3.0</cell><cell>225.2</cell></row><row><cell>Calculated program length (L)</cell><cell>88.3</cell><cell>66.3</cell><cell>2.0</cell><cell>534.7</cell></row><row><cell>Volume (V )</cell><cell>214.6</cell><cell>117.5</cell><cell>4.8</cell><cell>1740.8</cell></row><row><cell>Difficulty (D)</cell><cell>3.7</cell><cell>1.3</cell><cell>0.5</cell><cell>12.6</cell></row><row><cell>Effort (E)</cell><cell>1290.0</cell><cell>1603.8</cell><cell>2.4</cell><cell>20181.8</cell></row><row><cell>Time required to program (T )</cell><cell>71.7</cell><cell>89.1</cell><cell>0.1</cell><cell>1121.2</cell></row><row><cell>Number of delivered bugs (B)</cell><cell>0.1</cell><cell>0.1</cell><cell>0.002</cell><cell>0.6</cell></row><row><cell>Maintainability Index (MI)</cell><cell>60.9</cell><cell>6.4</cell><cell>40.1</cell><cell>86.1</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">It is used to quantify the NLOC and the Tokens_count.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">It is used to calculate the cyclomatic complexity (G), the maintainability index (MI ) and the Halstead metrics (Vocabulary, Length, Calculated length, Volume, Difficulty, Effort, Time to program, and Number of delivered bugs.)</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">The range of the values are between 0.0 and 5.0 with a minimum passing grade was 3.0</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Measure of how easy to support and change the source code is (0-100).</p><p>a 𝑛 1 : The number of distinct operators. the Python libraries lizard 1 and radon 2 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Phase 3: Data analysis</head><p>Exploratory data analysis. Figure <ref type="figure">1</ref> summarizes the most important results of the univariate analysis. In the case of total submissions made each student (top-left in Figure <ref type="figure">1</ref>) on average makes (𝑥) 176.6 attempts with a standard deviation (𝑠) of 120.8. Regarding the average time between submissions (top-right in Figure <ref type="figure">1</ref>) the 𝑥 is 7.1 ℎ with a 𝑠 of 19.8 ℎ. On the other hand, the plot of verdicts (bottom-left in Figure <ref type="figure">1</ref>) evidences that the verdicts with the highest rates are Error_rate_Wrong_Answer and Success_rate with 48.9% and 31.7%, respectively. Regarding the tool usage rates, the total rates graph (bottom-right in Figure <ref type="figure">1</ref>) shows that the most used tool by students is Custom_input_rate being 65.0% of the total accesses. This is followed by Python_Tutor_rate and Multiple_Languages_Codes_rate with percentages of 17.7% and 12.0%, respectively. Table <ref type="table">4</ref> summarizes the statistical values describing the software metrics calculated based on the programs built by the students. Besides that, Figure <ref type="figure">2</ref> shows the distribution of the (uncode_grades) in each group 3 . The total 𝑥 is 4.1 with a 𝑠 of 0.9.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Data analysis and modeling techniques.</head><p>To identify which measurements or metrics are significantly related to the students' academic performance, a correlation analysis is performed. Considering that all variables are continuous, Pearson's correlation coefficient is used. Figure <ref type="figure">2</ref> </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Learning analytics: The emergence of a discipline</title>
		<author>
			<persName><forename type="first">G</forename><surname>Siemens</surname></persName>
		</author>
		<idno type="DOI">10.1177/0002764213498851</idno>
	</analytic>
	<monogr>
		<title level="j">American Behavioral Scientist</title>
		<imprint>
			<biblScope unit="volume">57</biblScope>
			<biblScope unit="page" from="1380" to="1400" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">S</forename><surname>Baker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">S</forename><surname>Inventado</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-4614-3305-7_4</idno>
		<title level="m">Educational Data Mining and Learning Analytics</title>
				<meeting><address><addrLine>New York; New York, NY</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="61" to="75" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Penetrating the fog: Analytics in learning and education</title>
		<author>
			<persName><forename type="first">P</forename><surname>Long</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Siemens</surname></persName>
		</author>
		<ptr target="https://er.educause.edu/articles/2011/9/penetrating-the-fog-analytics-in-learning-and-education" />
	</analytic>
	<monogr>
		<title level="j">EDUCAUSE Review</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="page" from="31" to="40" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Big Data Learning Analytics: A New Perpsective</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">S</forename><surname>Kumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">S</forename><surname>Kinshuk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Somasundaram</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Boulanger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">F</forename><surname>Seanosky</surname></persName>
		</author>
		<author>
			<persName><surname>Vilela</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-662-44659-1_8</idno>
		<imprint>
			<date type="published" when="2015">2015</date>
			<publisher>Springer</publisher>
			<biblScope unit="page" from="139" to="158" />
			<pubPlace>Berlin</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">S</forename></persName>
		</author>
		<ptr target="https://www.solaresearch.org/about/what-is-learning-analytic" />
		<title level="m">Society for Learning Analytics Research, What is learning analytics?</title>
				<imprint>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Analytics Through an Institutional Lens: Definition, Theory, Design, and Impact</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">D</forename><surname>Pistilli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">E</forename><surname>Willis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Campbell</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-4614-3305-7_5</idno>
		<imprint>
			<date type="published" when="2014">2014</date>
			<publisher>Springer</publisher>
			<biblScope unit="page" from="79" to="102" />
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Detecting students-at-risk in computer programming classes with learning analytics from students&apos; digital footprints</title>
		<author>
			<persName><forename type="first">D</forename><surname>Azcona</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I.-H</forename><surname>Hsiao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">F</forename><surname>Smeaton</surname></persName>
		</author>
		<idno type="DOI">10.1007/s11257-019-09234-7</idno>
	</analytic>
	<monogr>
		<title level="j">User Modeling and User-Adapted Interaction</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="page" from="759" to="788" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Transfer-learning methods in programming course outcome prediction</title>
		<author>
			<persName><forename type="first">J</forename><surname>Lagus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Longi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Klami</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hellas</surname></persName>
		</author>
		<idno type="DOI">10.1145/3152714</idno>
	</analytic>
	<monogr>
		<title level="j">ACM Trans. Comput. Educ</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Understanding learner behavior through learning design informed learning analytics</title>
		<author>
			<persName><forename type="first">H</forename><surname>Shen</surname></persName>
		</author>
		<idno type="DOI">10.1145/3386527.3405919</idno>
	</analytic>
	<monogr>
		<title level="m">Proc Conf Learning @ Scale</title>
				<meeting>Conf Learning @ Scale<address><addrLine>NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="135" to="145" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Applying learning analytics for improving students engagement and learning outcomes in an moocs enabled collaborative programming course</title>
		<author>
			<persName><forename type="first">O</forename><forename type="middle">H T</forename><surname>Lu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C H</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y Q</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J H</forename><surname>Yang</surname></persName>
		</author>
		<idno type="DOI">10.1080/10494820.2016.1278391</idno>
	</analytic>
	<monogr>
		<title level="j">Interactive Learning Environments</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="page" from="220" to="234" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Learning analytics: drivers, developments and challenges</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ferguson</surname></persName>
		</author>
		<idno type="DOI">10.1504/IJTEL.2012.051816</idno>
	</analytic>
	<monogr>
		<title level="j">International Journal of Technology Enhanced Learning</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="page" from="304" to="317" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Opportunities and challenges in using learning analytics in learning design</title>
		<author>
			<persName><forename type="first">M</forename><surname>Schmitz</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-319-66610-5_16</idno>
	</analytic>
	<monogr>
		<title level="m">Data Driven Approaches in Digital Education</title>
				<editor>
			<persName><forename type="first">E</forename><surname>Lavoué</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="209" to="223" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Provision of awareness of learners emotions through visualizations in a computer interaction environment</title>
		<author>
			<persName><forename type="first">D</forename><surname>Leony</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.eswa.2013.03.030</idno>
	</analytic>
	<monogr>
		<title level="j">Expert Systems with App</title>
		<imprint>
			<biblScope unit="volume">40</biblScope>
			<biblScope unit="page" from="5093" to="5100" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Using an interactive software tool for the formative and summative evaluation in a computer programming course: an experience report</title>
		<author>
			<persName><forename type="first">F</forename><surname>Restrepo-Calle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ramírez-Echeverry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A</forename><surname>González</surname></persName>
		</author>
		<ptr target="http://www.wiete.com.au/journals/GJEE/Publish/vol22no3/06-Echeverry-J.pdf" />
	</analytic>
	<monogr>
		<title level="j">Global Journal of Engineering Education</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="page" from="174" to="185" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">UNCode: Interactive System for Learning and Automatic Evaluation of Computer Programming Skills</title>
		<author>
			<persName><forename type="first">F</forename><surname>Restrepo-Calle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ramírez-Echeverry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Gonzalez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">EDULEARN18</title>
				<imprint>
			<date>10th</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<idno type="DOI">10.21125/edulearn.2018.1632</idno>
		<ptr target="http://dx.doi.org/10.21125/edulearn.2018.1632.doi:10.21125/edulearn.2018.1632" />
		<title level="m">Int Conf on Education and New Learning Technologies</title>
				<meeting><address><addrLine>IATED</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="6888" to="6898" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">A multivariate approach to predicting student outcomes in web-enabled blended learning courses</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">Z</forename><surname>Zacharis</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.iheduc.2015.05.002</idno>
	</analytic>
	<monogr>
		<title level="j">The Internet and Higher Education</title>
		<imprint>
			<biblScope unit="volume">27</biblScope>
			<biblScope unit="page" from="44" to="53" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
