Discovery Model Based on Analogies for Teaching Computer Programming

Teaching the fundamentals of computer programming in a first course (CS1) is a complex activity for the professor and is also a challenge for them. Nowadays, there are several teaching strategies for dealing with a CS1 at the university, one of which is the use of analogies to support the abstractio...

Full description

Bibliographic Details
Main Authors: Javier Alejandro Jiménez Toledo, César A. Collazos, Manuel Ortega
Format: Article
Language:English
Published: MDPI AG 2021-06-01
Series:Mathematics
Subjects:
Online Access:https://www.mdpi.com/2227-7390/9/12/1354
_version_ 1797530478978269184
author Javier Alejandro Jiménez Toledo
César A. Collazos
Manuel Ortega
author_facet Javier Alejandro Jiménez Toledo
César A. Collazos
Manuel Ortega
author_sort Javier Alejandro Jiménez Toledo
collection DOAJ
description Teaching the fundamentals of computer programming in a first course (CS1) is a complex activity for the professor and is also a challenge for them. Nowadays, there are several teaching strategies for dealing with a CS1 at the university, one of which is the use of analogies to support the abstraction process that a student needs to carry for the appropriation of fundamental concepts. This article presents the results of applying a discovery model that allowed for the extraction of patterns, linguistic analysis, textual analytics, and linked data when using analogies for teaching the fundamental concepts of programming by professors in a CS1 in university programs that train software developers. For that reason, a discovery model based on machine learning and text mining was proposed using natural language processing techniques for semantic vector space modeling, distributional semantics, and the generation of synthetic data. The discovery process was carried out using nine supervised learning methods, three unsupervised learning methods, and one semi-supervised learning method involving linguistic analysis techniques, text analytics, and linked data. The main findings showed that professors include keywords, which are part of the technical computer terminology, in the form of verbs in the statement of the analogy and combine them in quantitative contexts with neutral or positive phrases, where numerical examples, cooking recipes, and games were the most used categories. Finally, a structure is proposed for the construction of analogies to teach programming concepts and this was validated by the professors and students.
first_indexed 2024-03-10T10:29:34Z
format Article
id doaj.art-b750677d2add4a4e8524cd1c276717b8
institution Directory Open Access Journal
issn 2227-7390
language English
last_indexed 2024-03-10T10:29:34Z
publishDate 2021-06-01
publisher MDPI AG
record_format Article
series Mathematics
spelling doaj.art-b750677d2add4a4e8524cd1c276717b82023-11-21T23:44:17ZengMDPI AGMathematics2227-73902021-06-01912135410.3390/math9121354Discovery Model Based on Analogies for Teaching Computer ProgrammingJavier Alejandro Jiménez Toledo0César A. Collazos1Manuel Ortega2Faculty of Engineering, Systems Engineering, CESMAG University, Pasto 520001, ColombiaSystem Department, Faculty of Electronic Engineering and Telecommunications, University of Cauca, Popayán 190001, ColombiaDepartment of Technologies and Information Systems, Higher School of Informatics, Castilla-La Mancha University, 13001 Ciudad Real, SpainTeaching the fundamentals of computer programming in a first course (CS1) is a complex activity for the professor and is also a challenge for them. Nowadays, there are several teaching strategies for dealing with a CS1 at the university, one of which is the use of analogies to support the abstraction process that a student needs to carry for the appropriation of fundamental concepts. This article presents the results of applying a discovery model that allowed for the extraction of patterns, linguistic analysis, textual analytics, and linked data when using analogies for teaching the fundamental concepts of programming by professors in a CS1 in university programs that train software developers. For that reason, a discovery model based on machine learning and text mining was proposed using natural language processing techniques for semantic vector space modeling, distributional semantics, and the generation of synthetic data. The discovery process was carried out using nine supervised learning methods, three unsupervised learning methods, and one semi-supervised learning method involving linguistic analysis techniques, text analytics, and linked data. The main findings showed that professors include keywords, which are part of the technical computer terminology, in the form of verbs in the statement of the analogy and combine them in quantitative contexts with neutral or positive phrases, where numerical examples, cooking recipes, and games were the most used categories. Finally, a structure is proposed for the construction of analogies to teach programming concepts and this was validated by the professors and students.https://www.mdpi.com/2227-7390/9/12/1354machine learningmodelingprogrammingtext analysis
spellingShingle Javier Alejandro Jiménez Toledo
César A. Collazos
Manuel Ortega
Discovery Model Based on Analogies for Teaching Computer Programming
Mathematics
machine learning
modeling
programming
text analysis
title Discovery Model Based on Analogies for Teaching Computer Programming
title_full Discovery Model Based on Analogies for Teaching Computer Programming
title_fullStr Discovery Model Based on Analogies for Teaching Computer Programming
title_full_unstemmed Discovery Model Based on Analogies for Teaching Computer Programming
title_short Discovery Model Based on Analogies for Teaching Computer Programming
title_sort discovery model based on analogies for teaching computer programming
topic machine learning
modeling
programming
text analysis
url https://www.mdpi.com/2227-7390/9/12/1354
work_keys_str_mv AT javieralejandrojimeneztoledo discoverymodelbasedonanalogiesforteachingcomputerprogramming
AT cesaracollazos discoverymodelbasedonanalogiesforteachingcomputerprogramming
AT manuelortega discoverymodelbasedonanalogiesforteachingcomputerprogramming