Fostering the Learning Process in a Programming Course With a Chatbot

Fostering the Learning Process in a Programming Course With a Chatbot

Sohail Iqbal Malik, Mohammed Waseem Ashfaque, Roy Mathew, Jasiya Jabbar, Rim Salim Al-Nuaimi, Abir Alsideiri
Copyright: © 2022 |Pages: 17
DOI: 10.4018/IJOPCD.306686
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Novice programmers have to focus and learn different programming skills in programming 1 course at the same time. Therefore, they need more support to answer their queries related to the programming domain. This study developed and offered a chatbot in programming 1 course. The chatbot focuses on course details, fundamental programming concepts, and common programming errors. The perception of programming 1 students and instructors regarding the chatbot in programming education were collected through the survey and focus group respectively. The results of the students’ survey revealed that the chatbot supports students in learning programming and common programming errors in the course. The focus group participants agreed that the chatbot provides one-to-one teaching experience to novices. The chatbot serves as a virtual teaching assistant and promotes students-centered learning. The focus group participants also agreed that the chatbot approach provides additional support to students in their learning process of programming domain.
Article Preview
Top

Background

Most novice programmers find it difficult to learn the programming 1 course (Khan et al., 2021). One of the reasons is because novices have to deal with different programming skills such as problem analysis, program design and comprehension, and debugging etc. at the same time (Sohail et al., 2021). Moreover, novices have to learn and understand the abstract concepts in programming courses and afterward use these concepts in devising the solution of a given programming question (Iqbal et al., 2021). But different studies such as Ala-Mutka, 2004; Iqbal & Harsh, 2013; Webster, 1994 argued that most introductory programming courses focus more on programming syntax and semantics instead of considering different programming skills equally. Furthermore, most introductory programming textbooks also focus more on programming syntax and semantics (De Raadt et al., 2005).

Different supporting tools are introduced in programming education to support the process of learning for novices. The main purpose of these supporting tools is to present the programming concepts in different forms like simulation, visualization and animation which help novices to understand these concepts in a different way (Iqbal et al., 2013). Gomez-Albarran (2005) categorized these supporting tools in four groups such as Simulation environments, Example-based environments, Tools with a reduced development environment and Tools based on visualization. The purpose of these supporting tools is to help novice programmers in understanding the fundamental concepts and different skills of the programming domain. Examples of different supporting tools include BlueJ (Barnes & Kölling, 2003), LEONARDO (Crescenzi et al., 2000), WebEx (Brusilovsky, 2001), ANIMAL (Rößling & Freisleben, 2002), Dr Java (Allen et al., 2002), and Alice (Cooper et al., 2003) etc.

Complete Article List

Search this Journal:
Reset
Volume 14: 1 Issue (2024)
Volume 13: 1 Issue (2023)
Volume 12: 4 Issues (2022)
Volume 11: 4 Issues (2021)
Volume 10: 4 Issues (2020)
Volume 9: 4 Issues (2019)
Volume 8: 4 Issues (2018)
Volume 7: 4 Issues (2017)
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing