CodeCrafty Beginner Friendly Platform For Learning Programming

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

CodeCrafty: Beginner-Friendly Platform for

Learning Programming
D. I. De Silva S. Vidhanaarachchi W. U. Piyumantha
Department of Computer Science and Department of Computer Science and Department of Computer Science and
Software Engineering Software Engineering Software Engineering
Faculty of Computing Faculty of Computing Faculty of Computing
Sri Lanka Institute of Information Sri Lanka Institute of Information Sri Lanka Institute of Information
Technology Technology Technology
Malabe, Sri Lanka Malabe, Sri Lanka Malabe, Sri Lanka
[email protected] [email protected] [email protected]

S. M. K. S. Siriwardana S. N. W. Gunasekara S. P. Thilakaratne


Department of Computer Science and Department of Computer Science and Department of Computer Science and
Software Engineering Software Engineering Software Engineering
Faculty of Computing Faculty of Computing Faculty of Computing
Sri Lanka Institute of Information Sri Lanka Institute of Information Sri Lanka Institute of Information
Technology Technology Technology
Malabe, Sri Lanka Malabe, Sri Lanka Malabe, Sri Lanka
[email protected] [email protected] [email protected]
Abstract—Online programming platforms are essential for beginners is encountering errors during the code compilation.
aiding beginners in learning programming, providing a The research article [2] suggests that most error messages in
systematic and valuable learning experience. This study learning environments need to be clarified for learners.
introduces CodeCrafty, a beginner-friendly platform designed CodeCrafty addresses this challenge by providing the error in
to address the main obstacle faced by novices: encountering a user-friendly way and offering the corrected code to the
compilation errors and struggling with the often cryptic error user. Instead of confusing error messages, beginners are
messages provided by most integrated development presented with simple and human-readable explanations
environments. Novice programmers frequently encounter
explaining the root causes of errors. Moreover, this system
challenges in resolving compilation errors due to their limited
knowledge. Drawing inspiration from successful coding
provides the corrected code without mistakes so that the
environments like CodeMage, CodeCrafty aims to overcome users can learn how to fix the errors they caused.
these challenges and improve upon existing systems. It was Most beginners in programming start learning with a
developed specifically to provide solutions for the mentioned friendly language like C, which has simpler syntaxes. But
problems. CodeCrafty comes equipped with innovative when it comes to a language like Java, beginners may need
features, such as the Error Resolution Guide, which replaces help due to its complex object-oriented concepts, strict
cryptic error messages with clear explanations and step-by-
syntaxes, and the need to understand concepts like classes,
step solutions to fix compilation errors. Additionally, it offers
Roadmaps, providing a customized sequence of lessons based
inheritance, and polymorphism [3]. Therefore, they often
on individual programming goals and preferences, and a Code need help determining where to begin their programming
Generator—a resourceful tool with pre-defined code segments journey. The Road Map feature in CodeCrafty provides the
to help novices understand programming principles. This best solution for that problem. CodeCrafty takes learning to
paper extensively explores the platform's structure and the next level with innovative Road Maps. When the user
features, highlighting how they positively impact the learning enters the preferences and learning objectives into the
experiences of programming beginners. Following a thorough system, it generates a series of lessons that help the user
examination of relevant literature, CodeCrafty was developed master the skills they want. These lessons offer step-by-step
to revolutionize traditional education for novice programmers guidance from fundamental programming to more complex
and inspire individuals aspiring to become programming algorithms and foster a solid programming foundation. This
experts. feature ensures beginners stay motivated and engaged on a
learning journey aligned with their objectives and goals.
Keywords—CodeMage, novice programmers, coding
environment, error explanation, code correction A vital feature involves efficiently managing workspaces
and coding projects within the system. Workspace offers a
I. INTRODUCTION dedicated clutter-free space where users can write, test,
debug, and improve their code, regardless of whether it is a
Learning programming is a crucially important aspect in simple script or a complex project. Users can easily
today’s technologically driven world. Through collaborate, monitor progress, and return to their coding
programming, individuals may create, innovate, solve projects anytime. Workspaces add convenience and
complex problems, and provide answers by developing organization to the learning process, allowing users to
applications, websites, software, and more. It develops concentrate on developing their programming skills without
analytical abilities, logical reasoning, and a systematic worrying about keeping track of numerous files and projects.
approach to problem-solving, as mentioned in the article [1].
Programming enables people to comprehend and influence In the Code Generator tool, pre-defined code segments
the digital tools and systems that impact people's lives in an illustrate key programming concepts useful for most
age where digital literacy is a core prerequisite. Additionally, beginners, such as loops, conditional statements, data
it opens doors to lucrative employment prospects across structures, and algorithms. These pieces of code are helpful
various industries, including web design, data science, and as educational tools and building blocks that users may use
software development. Ultimately, learning programming in their fundamental projects. With the help of Code
develops practical skills and a mindset that embraces Generator, users may learn more efficiently and improve
creativity, adaptability, and continuous learning in an their coding skills by exploring real-world applications of
evolving technological landscape. complex programming principles.
While learning programming has various advantages, CodeCrafty is initially introduced in the paper, and
finding the best way to start and practice programming is related existing work is mentioned in the next section. Then,
much more difficult, especially considering that many novice the research methodology is presented in detail. The next
programmers often face difficulties in their basic courses section is reserved for delivering research results, while
[15]. In response to this common challenge, this research section V offers a comprehensive research paper discussion.
involves the development of an Integrated Development Finally, the research paper concludes by mentioning the
Environment (IDE), CodeCrafty, tailored to address the commitment to continuous improvement.
programming problems encountered by beginners.
CodeCrafty, as a solution to the growing demand for II. LITERATURE REVIEW
practical learning tools, stands out as an innovative
New and experienced programmers must use specific
application designed to meet the specific requirements of
tools to do their programming tasks. Professional
novice programmers. This platform offers a comprehensive
programmers often use more advanced tools called
collection of features developed to make learning as easy as
Integrated Development Environments (IDEs) to help them
possible.
with their work. However, when new programmers use these
Learning from mistakes is a core principle for any advanced tools, it can be overwhelming and create a fear of
programming beginner. The most challenging obstacle for programming because they're not used to the complexity. To
help new programmers, there are simpler IDEs designed for New beginners must face coding challenges and a major
them. hurdle they face to deal with compilation errors. Research by
Smith, Johnson, and Williams [10], supported by Johnson
Traditional programming environments have tools like a
and Lee, highlights the frustration and discouragement
text editor, compiler, debugger, and runtime environment for
caused by unclear error messages. These errors disrupt the
creating, checking, and running programs. IDEs like BlueJ
learning process and erode learners' confidence.
[4] and DrJava [5] are simpler versions of the advanced ones,
CodeCrafty's Answers to Errors After Compiling feature
as well as jGRASP [6]. These IDEs are meant for new
addresses this issue by providing clear explanations that
programmers and point out mistakes in code and help fix
demystify error messages. It not only helps learners
them.
understand why errors occur but also offers practical, step-
New programmers make many errors and need help by-step solutions. By turning these obstacles into learning
fixing them, often not even getting close to running their opportunities, this feature fosters a sense of accomplishment
code. One reason is that error messages from traditional as learners acquire the skills to identify and fix errors
IDEs are difficult to understand. Some tools like Blockly [7] independently. In this way, CodeCrafty transforms errors
and Scratch [8] avoid errors using different methods, but into valuable learning experiences and opportunities for
they don't give real programming experience. This can affect growth.
new programmers when they later use more complex tools.
Educational psychology highlights the importance of
In contrast, CodeMage [14], the solution discussed, takes interactive learning environments in skill development,
complex error messages and makes them easy to understand. aligning with Vygotsky's Zone of Proximal Development
This helps new programmers learn without getting [11]. CodeCrafty's Interactive Workspaces feature plays a
discouraged. So, while both new and experienced key role in this context. It offers dedicated spaces where
programmers use tools to code, new programmers need to learners can experiment, create, and collaborate, going
have tools that match their skills and don't make things beyond traditional coding interfaces. These environments
overly complicated. enable beginners to engage with peers, mentors, and learning
resources. Brown and Adler emphasize the transformative
A visual programming tool is something that helps potential of such collaborative spaces [12]. They facilitate
beginners make computer programs by using pictures instead active learning and holistic skill development. CodeCrafty's
of words. Tools like Alice [9] and Scratch are examples. Workspaces provide a safe environment for learners to focus
They let new programmers work with virtual worlds to learn on improving their coding skills without dealing with
how to code. They develop their interest in coding. For complex file management. This feature promotes a culture of
instance, Alice enables the creation of animations and simple shared learning by encouraging collaborative projects, code
video games in a 3D setting, while Scratch is used for sharing, and interactive problem-solving, enhancing the
crafting stories and games using picture-based blocks. potential for collective growth.
Programs and algorithms are like moving puzzles, and The concept of personalized learning is gaining
grasping their basics is tough for beginners. People might prominence in modern education, and CodeCrafty's
look at pretty visuals without really getting the deep ideas Personalized User Profiles embody this philosophy by
behind them. Researchers say this is because of cultural allowing learners to customize their learning experiences.
differences, personal factors, and unclear things in these These profiles serve as dynamic records of learners' progress,
tools [10]. achievements, and contributions, going beyond mere
Also, visual programming tools have problems when it documentation. They also provide tailored recommendations,
comes to growing and following consistent design rules. This learning paths, and opportunities for community
can make them hard to use for bigger projects and lead to engagement. Personalized learning can positively impact
issues in how they work. motivation and skill acquisition. CodeCrafty's approach
involves customizing content, interactions, and suggestions
Languages like Blockly and GameMaker use draggable to align with each learner's unique preferences and goals.
and droppable blocks. This makes programming fun for new This fosters a sense of belonging within the programming
learners because it reduces mistakes. But text-based community, promoting peer collaboration and knowledge
languages are considered more serious and valuable for sharing. By creating personalized learning journeys,
education because they allow learners to delve into and write CodeCrafty not only enhances skill development but also
complex code with greater detail. In tools such as Alice and nurtures a sense of identity and camaraderie within the
Scratch, code pieces are dragged and dropped to create learning community.
stories. These tools focus on how to build a program's logic,
not its exact writing [11]. The literature review highlights the common difficulties
new programmers face, especially in identifying and fixing
However, starting with drag-and-drop methods might errors. CodeCrafty, with its unique features like Answers to
make learners weak in remembering important words used in Errors After Compiling, Interactive Workspaces, and
programming. For instance, in Scratch, students put blocks Personalized User Profiles, addresses these challenges
together, and they stick if they fit properly. This stops typing strategically. CodeCrafty creates a transformative learning
mistakes, but not mistakes in what the code means. In text- environment that promotes self-reliance, engagement, and
based languages like Logos, learners must be careful about skill development by aligning these features with established
spelling and grammar errors. So, while drag and drop can be educational theories and best practices. As supported by
fun and error-reducing, text-based languages are more existing research, these features have the potential to
valuable for understanding and learning programming revolutionize programming education for beginners by
deeply.
boosting confidence, encouraging independent problem- distinct application or mastering select programming
solving, and fostering a lifelong learning mindset. paradigms, the Road Map stands as an unwavering compass,
steering learners through a methodically organized and
III. METHODOLOGY tailored pedagogical expedition. This pioneering
advancement in learning personalization imparts a
The primary objective of this research was to investigate substantial dimension to the platform's capabilities.
the significance of proposed solutions targeting the
challenges encountered by fledgling programmers with
C. Code Generator
limited exposure to programming while operating within
programming environments. CodeCrafty, an innovative The Code Generator functionality constitutes an integral
platform, was conceptualized to address these challenges, facet within the environment, aimed at enhancing the
incorporating a suite of groundbreaking features. This accessibility and comprehension of fundamental
includes a sophisticated Code Editor providing an intuitive programming principles. Crafted as a curated compilation of
programming environment, a Road Map offering structured pre-defined code segments, this resourceful tool embodies
guidance, a Code Generator streamlining code creation, an key concepts tailored for novice programmers. Comprising
Error Learning Companion aiding in understanding common lucid and easily digestible code snippets, it adeptly elucidates
coding mistakes, an Error Resolution Guide for step-by-step crucial notions such as loops, conditional statements, and
issue resolution, and customizable Workspaces ensuring a data structures. Beyond its educational utility, these code
tailored learning experience. The subsequent subsections segments double as constructive components, empowering
delve into the key features of CodeCrafty. The learners to integrate them into projects seamlessly. By
implementation of CodeCrafty involved utilizing specific harnessing the capabilities of the Code Generator, users are
technologies: PHP for code compilation functionalities, assigned to navigate intricate programming concepts through
Node.js for business logic, and React combined with Next.js an immersive exploration of pragmatic implementations.
for front-end development. This experience accelerates learning trajectory, fostering a
profound augmentation of coding prowess.
A. Code Editor
D. Error Learning Companion
A code editor customized for novice programmers is
being developed by systematically incorporating specific Embracing learning from mistakes, the Constructive
features. The design of the code editor encompasses Programming Learning Space introduces the Error Learning
foundational functions that render coding more accessible to Companion feature. This innovation aligns with the idea that
individuals new to programming. Noteworthy among these errors lead to improved programming skills. When learners
functions is user-friendly syntax highlighting, facilitating the encounter code-related errors, this feature goes beyond
differentiation of various code components for enhanced explaining the mistakes. It provides relevant blog posts,
comprehension. Furthermore, the editor automatically tutorials, and videos that address specific errors. This
manages code indentation and formatting, thus diminishing proactive guidance offers beginners a range of accessible
the necessity for manual adjustments and fostering the resources. It helps them see coding challenges from different
adoption of coding best practices. For fledgling angles and fosters experiential learning. More than just fixing
programmers, real-time code analysis and suggestions are errors, the Error Learning Companion feature encourages
provided, imparting valuable insights and guidance exploring and learning from mistakes. It transforms errors
throughout the code composition process. Simultaneously, into opportunities to gain insights and enhance problem-
the debugging aspect is streamlined, simplifying the solving abilities. In this way, this feature represents a new
identification and rectification of errors. Emphasizing user approach to programming education, using setbacks as
experience, the editor's interface is thoughtfully designed, steppingstones for improvement.
and its tools are methodically organized, culminating in a
comfortable and recognizable environment for beginners. E. Error Resolution Guide
Using these approaches, the code editor aspires to establish a Confronting a substantial challenge encountered by
proficient platform that nurtures learning and skill novice programmers, specifically the occurrence of errors
development for those taking their initial steps in during code compilation, the Learning Space introduces the
programming. Error Resolution Guide feature. This innovative addition
directly addresses this challenge by substituting cryptic error
B. Road Map messages with comprehensible and human-readable
The Road Map feature is a testament to transformative explanations that clarify the underlying causes of errors.
strides in personalized learning, exemplifying a cornerstone Beyond simple error identification, the system provides user-
within the Constructive Programming Learning Space. A friendly, step-by-step solutions that empower beginners to
virtual guide proficient in comprehending individual diagnose and rectify errors autonomously. This approach
programming aspirations takes center stage, orchestrating a alleviates frustration and fosters a profound sense of
bespoke sequence of lessons. Through the RoadMap, achievement as learners cultivate the skills to resolve coding
fledgling learners input their learning objectives and difficulties independently. By transforming obstacles into
preferred methodologies, prompting the system to generate a opportunities for skill augmentation, the Error Resolution
thoughtfully curated series of instructional modules, Guide feature significantly redefines setbacks, turning them
intricately charting a trajectory toward proficiency. This into crucial moments for enhancing confidence and
distinctive attribute ensures that motivation and engagement proficiency in programming pursuits.
remain constant as learners embark on a journey tailored to
their specific aims. Whether the goal entails crafting a
F. Workspaces OO Concepts High 4.92
OO Design High 4.52
At the core of the Constructive Programming Learning Testing Mid 3.60
Space lies the concept of Workspaces, serving as the pivotal
foundation. These individualized environments allow users
The availability of resources and support significantly
to manage and systematize coding projects adeptly. Whether
influences a novice programmer's learning experience.
the task involves crafting a modest script or an intricate
Access to high-quality educational resources and tutorials
application, workspaces furnish an exclusive and uncluttered
can make a substantial difference, and novices who rely on
domain for code formulation, testing, and refinement. By
poorly structured or outdated materials may suffer
allowing users to initiate, modify, access, and remove
unnecessarily. Moreover, mentorship and a supportive
projects, seamless collaboration, progress tracking, and the
community can be invaluable for overcoming challenges.
prospect of revisiting coding pursuits later are seamlessly
facilitated. Ingrained within the framework, Workspaces
usher in order and expediency to the learning voyage, This research presents the outcomes of a comparative
thereby liberating users to concentrate on refining study conducted to assess the performance of novice
programming prowess, devoid of the encumbrance of programmers when utilizing existing code editors and
juggling myriad files and projects. CodeCrafty. The study aimed to evaluate the impact of
CodeCrafty's unique features on coding performance,
IV. RESULTS particularly when faced with tasks of comparable difficulty.
The journey of novice programmers into the world of
coding is filled with challenges that can vary significantly A. Performance Comparison with Existing Editors
based on factors such as the programming language, To establish a baseline, a group of 10 students was
available resources, and individual motivation and assigned coding tasks of similar difficulty using widely
background. This research delves into the hurdles faced by adopted code editors in the field, including Visual Studio,
novice programmers in their coding journey and explores IntelliJ, Visual Studio Code, ReplIT, and Python Shell. The
how a newly featured code editor can help overcome these performance metrics included completion time, code
challenges. These findings provide valuable insights into the accuracy, and subjective user feedback. Results from the
common struggles and issues that beginners encounter as tasks performed in existing editors indicated a higher average
they embark on their coding adventures. completion time compared to CodeCrafty. Common
challenges included difficulty in understanding error
According to the learning challenges novice messages, lack of personalized guidance, and a cumbersome
programmers face, one of the primary obstacles is the interface. The average completion time was measured at 30
process of learning to code itself. Learning to code is often minutes, with participants expressing frustration over the
challenging, particularly when grappling with the complexity need for manual adjustments in code formatting and the
of different programming languages. Syntax and semantics, time-consuming process of identifying and correcting errors.
representing the grammar and meaning of programming In addition, survey responses highlighted a desire for a more
languages, often pose significant challenges. Even minor intuitive and organized coding environment.
syntax errors can result in frustrating bugs, creating a
demoralizing experience for beginners. Moreover, B. Performance Enhancement with CodeCrafty
programming requires a high level of logical thinking and
problem-solving skills, making it tough for newcomers to Subsequently, the same group of students engaged in
break down complex problems into manageable steps. similar coding tasks using CodeCrafty, with a focus on its
Beginners may find it challenging to recognize and fix errors unique features. The tasks were designed to test the
in the code when debugging, a crucial component of effectiveness of features such as the Code Editor, Road Map,
programming. Studies and surveys have repeatedly shown Code Generator, Error Learning Companion, Error
that beginners commonly struggle with these core ideas, Resolution Guide, and Workspaces. Results demonstrated a
including syntax, logical reasoning, and problem-solving notable improvement in coding performance with
According. CodeCrafty. The average completion time decreased to about
17 minutes, indicating increased efficiency. Participants
A survey conducted by Monash University in 2007 [6], reported higher code accuracy, attributing it to the user-
given to students enrolled in an introductory programming friendly syntax highlighting, automated code indentation,
unit across three universities, shows that students did well in and real-time code analysis features.
understanding things related to their course but struggled to
use that knowledge in different situations. C. Impact of Unique Features of CodeCrafty:
Road map: Users following personalized learning
TABLE I. LEARNING CHALLENGES FACED BY NOVICE sequences reported a 7.4% improvement in task completion
PROGRAMMING STUDENTS STUDYING HIGH-LEVEL AND LOW-FEEDBACK
CONCEPTS [6]
time compared to traditional approaches. The Road Map
feature facilitated a more streamlined learning experience.
Conceptual Average Rating
Topic Code Generator: The use of pre-defined code segments
Difficulty (Out of 7)
Algorithms High 1.98 significantly accelerated the coding process, reducing the
Syntax Low 2.56 time spent on structuring fundamental programming
Variables Mid 2.14 components.
Decisions and loops Mid 2.53
Arrays Mid 4.17 Error Learning Companion and Error Resolution Guide:
Methods High 3.92 Participants showed a 21% improvement in error diagnosis
and correction compared to traditional environments, with prior research advocating for enhanced error resolution
indicating the effectiveness of these features in turning mechanisms [14]. In earlier studies, the Code generator [14]
setbacks into learning opportunities feature was introduced to simplify programming tasks by
reducing the need for extensive keystrokes when creating
Workspaces: The individualized coding environments
control structures. The 'Code generator' feature in
positively contributed to project management, collaboration,
CodeCrafty employs AI to recommend optimal code,
and overall organization.
addressing the need for improved access to relevant
Qualitative feedback from participants strongly expressed examples.
satisfaction with CodeCrafty. Users appreciated the clarity of
The results highlight the groundbreaking impact of
error messages, personalized learning paths, and the overall
CodeCrafty on programming education. This innovative tool,
organization of the code editor. The positive measurements
powered by a well-trained language model, addresses
and qualitative feedback from participants underscore the
common learning hurdles and transforms how beginners
potential of CodeCrafty to reshape the programming
approach coding. CodeCrafty helps fix errors and fosters a
education landscape. As the study transitions to the
deeper understanding of programming concepts by providing
discussion section, it will further examine the significance of
clear explanations and practical suggestions. The Road Map
these results and discuss how the distinctive features of
feature, personalized to individual goals, offers invaluable
CodeCrafty can be used to inspire and support the
guidance to novice programmers. This emphasizes the
development of future skilled programmers.
importance of recognizing learners as unique individuals
with distinct learning paths. Its implementation fills a known
V. DISCUSSION gap and exemplifies a learner-centered approach, potentially
The study yielded critical insights that shaped the revolutionizing programming education. Moreover, the Code
development of CodeCrafty, a specialized learning generator, backed by AI, goes beyond traditional
environment for novice programmers. In contrast to programming environments. It offers code snippets and
traditional programming platforms, which often provide suggests the most efficient solutions using advanced
limited guidance on fixing errors, CodeCrafty stands out for algorithms. In a broader context, these findings signify a shift
its unique approach. It employs a well-trained language toward an interactive, learner-driven approach to
model to offer detailed explanations of encountered errors programming education. As novices engage with this
and provide straightforward suggestions for correction, learning environment, they're guided towards a deeper grasp
accompanied by corrected code examples. Additionally, the of programming principles, setting a new standard for
research highlighted a lack of tailored guidance for beginners teaching, and learning programming. These results firmly
in programming. To address this, the Road Map feature was establish CodeCrafty at the forefront of beginner-level
introduced. This feature offers personalized direction, programming education.
aligning learning paths with the individual goals of each The study's approach involved a thorough needs
user, as gathered from a questionnaire. Furthermore, the assessment using a questionnaire to understand the
study identified a shortage of easily accessible common code challenges faced by new programmers. While this method
snippets, especially sorting algorithms, in existing learning captures user perspectives, it has potential limitations like
environments. This led to integrating the Code Generator self-reporting bias. Introducing a trained language model in
function within CodeCrafty. This innovative feature employs CodeCrafty is a significant innovation. However, its
artificial intelligence to recognize and recommend optimal effectiveness depends on training data and error message
code snippets, ensuring learners can access effective and specificity. Relying on a single model may introduce bias,
efficient solutions. which should be considered in interpreting results. The Road
The investigation confirms the initial research questions Map feature recommends learning paths based on
and hypotheses, demonstrating that traditional programming questionnaire insights, but individual preferences may not be
environments lack comprehensive error guidance, while fully captured. It serves as a guiding tool, not a definitive
CodeCrafty stands out with its AI-powered model offering learning plan. The Code Generator feature uses AI to
detailed explanations and helpful suggestions for novices. suggest code snippets, a notable advancement. Effectiveness
This validates the need for an improved error resolution depends on the quality of the underlying codebase. Regular
mechanism. The absence of tailored guidance for beginners model updates are crucial for accuracy.
aligns with the inquiry into existing learning environments. The study's positive findings open doors to several
CodeCrafty's Road Map addresses this by providing promising future research avenues in programming education
personalized direction, supporting the hypothesis that and learning environments. One key area is enhancing the
tailored guidance is crucial for novices. Additionally, the 'Road Map' feature using advanced AI algorithms for
scarcity of accessible common code snippets in traditional personalized learning paths. This could revolutionize
environments highlights the need for improvement. learning guidance. Future work may also explore integrating
CodeCrafty's Code generator utilizes AI to recommend machine learning techniques for even more precise and
optimal snippets, affirming the necessity for advanced tools adaptable Road Map suggestions. A longitudinal study
in providing relevant code examples. These findings tracking novice programmers could assess the durability of
demonstrate the research questions and hypotheses, skills acquired. This would provide insights into the
establishing CodeCrafty as an innovative and tailored sustained effectiveness of CodeCrafty in building
learning platform. programming proficiency. Expanding the 'code generator' is
CodeCrafty departs from conventional practices by also a promising direction. Adding a more comprehensive
employing a proficient language model to offer detailed error range of code snippets and algorithms for various challenges
explanations and suggestions for rectification. This aligns and refining the AI-driven recommendation system would
boost its utility. Investigating adaptive learning techniques [2] Z. Zhou, S. Wang, Y. Qian, "Learning From Errors: Exploring the
within CodeCrafty is an exciting possibility. Using AI to Effectiveness of Enhanced Error Messages in Learning to Program,"
Educational Psychology, vol 12, no 2, p. 155, Nov 2021.
tailor content and pacing to individual learning styles could
[3] A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen,
optimize the experience. M. Devlin and J. Paterson, "A survey of literature on the teaching of
introductory programming," SIGCSE Bul.l, vol. 39, no. 4, p. 204, Dec
VI. CONCLUSION 2007.
[4] D. Hagan, "Using BlueJ to teach Java (poster session)," SIGCSE
In conclusion, this research introduces and examines the Bull., vol. 32, no. 3, pp. 188-189, 2000.
innovative online programming platform, CodeCrafty, [5] P. Miller, J. Pane, G. Meter and S. Vorthmann, "Evolution of Novice
designed to address the challenges faced by novice Programming Environments: The Structure Editors of Carnegie
programmers. The study underscores the importance of Mellon University," Interactive Learning Environments, vol. 4, no. 2,
effective learning tools in the rapidly evolving landscape of pp. 140- 158, 1994.
programming education. CodeCrafty's unique features, [6] M. Butler and M. Morgan, "Learning challenges faced by novice
programming students studying high level and low feedback
including the Error Resolution Guide, Roadmaps, Code concepts," in-Proc of ASCILITE - Australian Society for Computers
Generator, Error Learning Companion, and Workspaces, in Learning in Tertiary Education Annual Conference, 2007, pp. 99-
contribute to a transformative learning experience. 107.
[7] "Blockly | Google Developers", Google Developers, 2016. [Online].
The investigation reveals that traditional programming Available: https://developers.google.com/blockly/. [Accessed: 05-
environments often lack comprehensive error guidance, Jul2016].
leading to frustration and discouragement among beginners. [8] E. Allen, R. Cartwright and B. Stoler, "DrJava," SIGCSE Bull., vol.
CodeCrafty, leveraging a well-trained language model, 34, no. 1, p. 137, 2002.
addresses this gap by providing clear explanations and step- [9] Alice.org, 2016. [Online]. Available: http://alice.org. [Accessed: 01-
by-step solutions for encountered errors, thereby turning Mar- 2016].
setbacks into valuable learning opportunities. The Road Map [10] Luigi De Russis, "Challenges in Learning Programming: A Survey of
feature further personalizes the learning journey, offering Novice Programmers," Journal of Computer Science Education, vol.
10, no. 2, pp. 145-165, 2005.
tailored sequences of lessons based on individual preferences
[11] J. S. Brown and R. P. Adler, "Minds on Fire: Open Education, the
and goals. Long Tail, and Learning 2.0," EDUCAUSE Review, vol. 43, no. 1, pp.
The study's comparative analysis demonstrates 16-32, 2008.
CodeCrafty's superiority over existing editors, with a [12] N. Li, Z. Yan, and C. C. Tsai, "Interaction and Quality in
Personalized E-Learning Systems: Current Status and Future Trends,"
significant reduction in completion time and increased Educational Technology & Society, vol. 10, no. 2, pp. 4-14, 2022.
efficiency. Users express satisfaction with the platform's [13] N.Bosch, S.Mello, “The Affective Experience of Novice Computer
clarity in error messages, personalized learning paths, and Programmers,” International Journal of Artificial Intelligence in
overall organization. Education, vol. 27, no. 2, p. 206, 2017
[14] S. J. Whittall, W. A. C. Prashandi, G. L. S. Himasha, D. I. De Silva,
CodeCrafty's impact extends beyond error resolution. T. K. Suriyawansa," CodeMage: Educational programming
The Code Generator facilitates a deeper understanding of environment for beginners," 2017 9th International Conference on
programming concepts by offering optimized code snippets, Knowledge and Smart Technology (KST), Colombo, Sri Lanka, Feb.
while the Workspaces feature provides an organized 2017, pp. 311-316.
environment for coding projects. The findings affirm
CodeCrafty as an innovative and tailored learning platform [15] M. Amaratunga, G. Wickramasinghe, M. Deepal, O. Perera, D. De
that has the potential to revolutionize programming Silva and S. Rajapakse, "An Interactive Programming Assistance tool
(iPAT) for instructors and novice programmers," 8th International.
education for beginners. Conference on Computer Science & Education, Colombo, Sri Lanka,
Despite the positive outcomes, the study acknowledges 2013, pp. 680-684.
certain limitations, such as potential biases in self-reporting
and the need for regular updates to maintain the effectiveness
of the AI-driven features. Future research directions include
enhancing the Road Map feature using advanced AI
algorithms, expanding the Code Generator with a broader
range of code snippets, and exploring adaptive learning
techniques within CodeCrafty.
In summary, CodeCrafty emerges as a promising solution
to the challenges faced by novice programmers, providing a
transformative and personalized learning experience that
aligns with the evolving needs of programming education.
The commitment to continuous improvement underscores the
platform's dedication to staying at the forefront of beginner-
level programming education.

REFERENCES
[1] MOOC BLOG TEAM. (2022, Mar. 09). Why Is Computer
Programming Important? [Online]. Available:
https://www.mooc.org/blog/why-is-computer-programming-
important

You might also like