Record Details

DEVELOPING A CELIOTM PROGRAMMING LEARNING TOOL TO FACILIATE TEACHING AND LEARNING DATA STRUCTURE CONCEPTS IN C++ FOR NOVICE PROGRAMMERS

Інформаційні технології і засоби навчання

View Archive Info
 
 
Field Value
 
Title DEVELOPING A CELIOTM PROGRAMMING LEARNING TOOL TO FACILIATE TEACHING AND LEARNING DATA STRUCTURE CONCEPTS IN C++ FOR NOVICE PROGRAMMERS
РОЗРОБЛЕННЯ НАВЧАЛЬНОГО ІНСТРУМЕНТУ ПРОГРАМУВАННЯ CELIOTM ДЛЯ НАВЧАННЯ КОНЦЕПЦІЙ СТРУКТУР ДАНИХ У C++ ПРОГРАМІСТІВ-ПОЧАТКІВЦІВ
 
Creator Mtaho, Adam B.
Masoud, Masoud M.
Mselle, Leonard J.
Мтахо, Адам Б.
Масуд, Масуд М.
Мселле, Леонард Дж.
 
Subject CeliotM
Data structures Visualizations
MTL
Learning Programming
CeliotM
візуалізація структур даних
MTL
навчання програмуванню
 
Description Programming is the core skill in computer science (CS) education. It is also a useful course in engineering and science-based courses. However, teaching and learning computer programming has not been an easy task. This is evidenced by the fact that majority of the students face challenges and difficulties in understanding programming concepts and how to apply them in real-life scenarios. The situation is worse for the Data Structures and algorithms (DSA) course, an advanced-level programming course that is mandatory for any CS student. The subject is too hard for novices to grasp due to its abstract and dynamic nature.  To address such difficulties, several algorithm visualization (AV) tools have been introduced to help novices understand data structure. However, the pedagogical effectiveness of using such tools has not been successful because they are less engaging for learning DSA. This paper describes how the CeliotM programming learning tool was developed to facilitate learning data structure concepts in C++. The development of CeliotM was achieved by using reuse-oriented software engineering approach. CeliotM was developed by redesigning a Celiot program visualization (PV) tool-a programing learning tool that supporting learning programming in C++. Thus, by using Java as the language, the original version of Celiot was resigned to support compilation and visualization of various data structure elements in Memory Transfer Language (MTL) format; and incorporate several learner engagement features, including the inbuilt C++ compiler and animation explanations. The resulting tool is a CeliotM programming learning tool that visualizes and compiles data structure objects such as queues, stacks, and linked lists in C++ programming language. Empirical results on the evaluation of using CeliotM in teaching data structures and algorithmic concepts reveal that using such tool enhanced students’ programming comprehension and offered a more appealing learning experience for novice programmers. The greatest contribution of this work is to provide an education tool for teaching data structures in C++ that can work as a compiler, program and algorithm visualization tool in tandem. It also contributes a valuable resource to programming education, offering an effective and inspiring approach for novices to grasp fundamental programming and data structure concepts.
Програмування є основною навичкою в навчанні комп'ютерних наук (CS). Воно також є корисним предметом в інженерних та природничо-наукових курсах. Однак викладання та вивчення комп'ютерного програмування не є простим завданням. Про це свідчить той факт, що більшість студентів стикаються з проблемами та труднощами в розумінні концепцій програмування та способів їх застосування в реальних життєвих ситуаціях. Ще гірша ситуація з курсом "Структури даних та алгоритми" (DSA) - курсом програмування просунутого рівня, який є обов'язковим для будь-якого студента, що вивчає CS. Цей предмет надто складний для розуміння новачками через його абстрактну та динамічну природу.  Для подолання цих труднощів було створено кілька інструментів візуалізації алгоритмів (АВ), які допомагають новачкам зрозуміти структуру даних. Однак педагогічна ефективність використання таких інструментів не була успішною, оскільки вони є менш привабливими для вивчення DSA. У цій статті описано, як було розроблено навчальний інструмент програмування CeliotM для полегшення вивчення концепцій структури даних у C++. Розробка CeliotM була досягнута завдяки використанню підходу програмної інженерії, орієнтованого на повторне використання. CeliotM було розроблено шляхом перепроєктування інструменту візуалізації програм (PV) Celiot - інструменту для навчання програмуванню, який підтримує навчання програмуванню на C++. У такий спосіб, використовуючи Java як мову, оригінальна версія Celiot була перероблена для підтримки компіляції та візуалізації різних елементів структури даних у форматі мови передачі даних (MTL); крім цього додано декілька функцій для залучення учнів, зокрема вбудований компілятор C++ та анімаційні пояснення. У результаті було створено навчальний програмний засіб CeliotM, який візуалізує та компілює об'єкти структур даних, такі як черги, стеки та зв'язані списки мовою програмування C++. Емпіричні результати оцінки використання CeliotM у навчанні структурам даних та алгоритмічним концепціям показують, що використання такого інструменту покращило розуміння студентами програмування та запропонувало більш привабливий досвід навчання для програмістів-початківців. Найбільший внесок цієї роботи полягає у створенні навчального інструменту для викладання структур даних у C++, який може працювати як компілятор, програма та інструмент візуалізації алгоритмів у тандемі. Вона також є цінним ресурсом для навчання програмуванню, пропонуючи ефективний і надихаючий підхід для початківців до розуміння фундаментальних концепцій програмування і структур даних.
 
Publisher Institute for Digitalisation of Education of NAES of Ukraine
 
Date 2024-06-28
 
Type info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
Peer-reviewed Article
рецензируемая статья
рецензована стаття
 
Format application/pdf
 
Identifier https://journal.iitta.gov.ua/index.php/itlt/article/view/5567
10.33407/itlt.v101i3.5567
 
Source Information Technologies and Learning Tools; Vol. 101 No. 3 (2024); 42-70
Информационные технологии и средства обучения; Том 101 № 3 (2024); 42-70
Інформаційні технології і засоби навчання; Том 101 № 3 (2024); 42-70
Інформаційні технології і засоби навчання; ##issue.vol## 101 ##issue.no## 3 (2024); 42-70
2076-8184
10.33407/itlt.v101i3
 
Language eng
 
Relation https://journal.iitta.gov.ua/index.php/itlt/article/view/5567/2254
 
Rights Copyright (c) 2024 Adam B. Mtaho, Masoud M. Masoud, Leonard J. Mselle
https://creativecommons.org/licenses/by-nc-sa/4.0