doi: 10.56294/ai202360

 

ORIGINAL

 

Platform for learning programming and databases based on artificial intelligence

 

Plataforma para el aprendizaje de programación y bases de datos basado en inteligencia artificial

 

Martín Alejandro Gerlero1

 

1Universidad Siglo 21, Licenciatura en Informática. Río Tercero, Córdoba, Argentina.

 

Cite as: Alejandro Gerlero M. Platform for learning programming and databases based on artificial intelligence. EthAIca. 2023; 2:60. https://doi.org/10.56294/ai202360

 

Submitted: 01-05-2022                   Revised: 15-09-2022                   Accepted: 01-01-2023                 Published: 02-01-2023

 

Editor: PhD. Rubén González Vallejo

 

ABSTRACT

 

This final degree project proposed the development of a gamified web platform to facilitate the initial learning of programming and databases using artificial intelligence. The proposal arose from the need for new teaching tools given the difficulties presented by traditional teaching methods. The objective was to create an application that teaches basic concepts in an interactive and entertaining way. To do this, an investigation was carried out to determine the main contents to be addressed. Then theoretical contents were defined and practical exercises were designed applying gamification techniques. Subsequently, a functional prototype was developed that contains the defined theoretical contents, implements the designed practical exercises, and integrates the artificial intelligence functionality to provide unlimited examples on each topic, correction and personalized feedback on the resolution of exercises performed by the student. The results obtained so far allow validating the usefulness and technical feasibility of the proposal.

 

Keywords: Education; Programming; Gamification; Artificial Intelligence; Web Application.

 

RESUMEN

 

Este trabajo final de grado planteó el desarrollo de una plataforma web gamificada para facilitar el aprendizaje inicial de programación y bases de datos utilizando inteligencia artificial. La propuesta surgió ante la necesidad de contar con nuevas herramientas didácticas ante las dificultades que presentan los métodos de enseñanza tradicionales. El objetivo fue crear una aplicación que enseña conceptos básicos de forma interactiva y entretenida. Para ello se realizó una investigación para determinar los contenidos principales a abordar. Luego se definieron contenidos teóricos y se diseñaron ejercicios prácticos aplicando técnicas de gamificación. Posteriormente se desarrolló un prototipo funcional que contiene los contenidos teóricos definidos, implementa los ejercicios prácticos diseñados e integra la funcionalidad de inteligencia artificial para proveer ejemplos ilimitados sobre cada tema, corrección y retroalimentación personalizada a la resolución de ejercicios realizada por el estudiante. Los resultados obtenidos hasta el momento permiten validar la utilidad y factibilidad técnica de la propuesta.

 

Palabras clave: Educación; Programación; Gamificación; Inteligencia Artificial; Aplicación Web.

 

 

 

INTRODUCTION

Learning programming is an important challenge for students of all levels, especially for those who start without previous training in logical or computational thinking.(1,2,3,4) Despite the growing interest in technology-related careers, many people face difficulties in accessing technical content through traditional teaching methods, which are often theoretical, rigid and unmotivating. This situation raises the need to explore new teaching strategies that improve accessibility, understanding and retention of fundamental programming and database concepts.(5,6,7,8,9)

In this context, gamification has proven to be an effective pedagogical tool to increase student motivation and engagement. By introducing playful elements and game mechanics into the educational environment, active, dynamic and meaningful learning is promoted. At the same time, the advance of artificial intelligence (AI) has opened up new possibilities to personalize teaching and provide immediate automatic feedback and, which optimizes the processes of evaluation and reinforcement of knowledge.(10,11,12) The combination of gamification and AI therefore represents a promising opportunity to renew educational practices in technical areas such as programming.(13,14,15,16)

There are already some applications geared towards the gamified teaching of programming, such as Mumuki, CodeCombat and CodeMonkey.(17,18) However, these tools have significant limitations, either due to the scope of the content, the programming languages available or the lack of adaptation to different user profiles. Likewise, the use of AI in educational environments is still incipient, and practical implementations that integrate this technology to effectively assist and evaluate code learning are scarce.(19,20)

How can a gamified educational web application, incorporating artificial intelligence, improve the learning of basic programming and database concepts in students with no previous training, overcoming the limitations of traditional teaching methods?

 

Objective

To develop a gamified web application that enables interactive and entertaining learning of basic programming and database concepts, using artificial intelligence technologies to provide personalized feedback to students.

 

METHOD

Methodological Design

Methodological tools

The development of the project was carried out using the agile Scrum methodology, which organizes the work in sprints or development cycles. At the end of each sprint a functional and potentially deliverable product is obtained.

 

Development tools

Technologies such as PHP, HTML5, CSS3, JavaScript and MySQL were used for the development of the web application. PHP was the main language in the backend to generate the dynamic content that is then displayed in the frontend.

In the frontend HTML5 was used for the structure, CSS3 for the visual styles and JavaScript for the interactivity. These technologies were implemented using the MaterializeCSS framework that facilitates responsive web development.

In the backend, PHP connects to the MySQL database to store and query the data needed for the application, such as users, courses, exercises, etc. The ChatGPT API was also used to integrate artificial intelligence services.

In this way, PHP in the backend is linked with HTML, CSS and JS in the frontend to generate the final content that the user sees. Likewise, PHP connects to the MySQL database and the ChatGPT API for the full functionality of the web application.

 

Data Collection

To obtain the system requirements we used:

·      Interviews with programming teachers: to learn about teaching difficulties and functionality suggestions.

·      Online survey to students: to gather information about needs and preferences.

·      Observation in programming classes: to identify problems and opportunities.

·      Review of existing teaching materials: to detect strengths and weaknesses.

 

Project planning

The plan of activities carried out to meet the objectives of this Final Project is detailed in the following Gantt chart.

 

Figure 1. Gantt chart

Survey

Structural survey

Since it is an online platform, aimed at teenagers and adults who wish to learn to program in a gamified way with AI-based corrections, it is not possible to set a specific location and structure for it. This will depend on the place where the individual wishes to use it. This can be in an educational institution, family environment, work, among others.

 

Functional Survey

There are different ways to develop a system of this type, they are not the same functions when it is learned in an educational institution, that when it is done through an application, or when it is done in a self-taught way consuming theory through books or videos to then put this knowledge into practice directly on a computer.

We could assume that the target audience of this project is mostly within a family group, perhaps using the platform as a complement to their formal academic activity. Each family group is unique, so there is no defined structure, but agents we can find are:

·      Students: their function is to read and study the theoretical contents that will allow them to understand computational thinking and the programming language. Subsequently they should be able to put into practice what they have learned in theory.

·      Teacher or Instructor: he/she is in charge of teaching or providing in some way (class, book, video, among others), the class or content to be addressed. It is their responsibility to explain the topics, exemplify them, propose problematic situations to be solved and correct or provide the solution and feedback to the problematic situations.

·      Educational institution: it is responsible for generating the teacher-student bond, and creating an environment conducive to learning.

 

In relation to the processes, whether self-taught, in an educational institution or through an application, the student can perform the same activities to favor objective learning. Three processes were taken as the basis for the application:

Process: develop topic in theoretical modality with examples.

Roles: teacher and student.

Steps: the teacher, either from an institution, or virtual (for example, through a youtube video or online course) presents in a theoretical way a topic, which is explained using resources such as presentations, images and videos as needed and according to the teaching modality. Additionally, examples are provided to complement the theory. These examples are explained by the teacher and in the case of a synchronous class, it works as a trigger for the student to ask questions and request new examples.

Process: propose and solve activity.

Roles: student and teacher.

Steps: once the previous process has been carried out, the teacher proposes an activity to be developed so that the student can put into practice the contents learned. Once the activity has been solved, the teacher corrects it and gives the corresponding feedback. In case of having doubts about the corrections, the student consults the teacher. The teacher solves the doubts until there are no more doubts and ends the process.

 

RESULTS

Business Processes

Figure 2. Develop topic in theoretical mode with dynamic examples

 

For the modeling of the business processes, a flowchart per process was used.

Process: develop topic in theoretical mode with examples.

 

Process: proposing and solving activity

 

Figure 3. Propose and solve activity

 

Diagnosis and Proposal

 

Table 1. Develop topic in theoretical modality with dynamic examples

Process: Develop topic in theoretical modality with examples

Problems

Causes

The practical examples that accompany the theory are not dynamic, so that a exception that you have a teacher in the when you study the theory are usually no more than 2 or 3 you can request more examples for better understand the subject.

The practical examples that accompany the through books, online courses, has an exception to the amount of examples limited that are usually no more than 2 or 3. On in case they are given in the traditional modality In the case of a teacher who accompanies the the same and we only have the possibility of the same thing happens with an accompanying teacher, and we only have the possibility of teacher is available

 

Table 2. Propose and solve activity

Process: Propose and solve activity

Problems

Causes

There is a lack of immediate correction on activities to be developed proposed by the activities.

Generally the activities that have immediate correction are activities of the teacher multiple choice, only in courses that apply the technologies. When it comes to from corrections at activities a  corrective person is required, and in the case of a person to correct, and in case it is a system that corrects system that corrects, an exact form of exact form of resolution, something that is not always programming, since there are many ways to solve the there are many ways to solve the same problem same problem.

 

We propose the development of a web platform divided into levels, which accompanies the student in learning a programming language. It will provide the theoretical content of a topic and examples on that topic. The examples are generated dynamically by AI , giving the possibility to regenerate the example as many times as the student needs.

Once the theoretical material and examples have been consumed, the student must complete an activity, which upon passing allows him/her to advance to the next level. This activity poses a statement to be developed (which may or may not be generated by AI depending on the topic) and the student must write the source code that solves the statement posed. The resolution provided is corrected by IA. If it is correct, it will add points and enable the next level, otherwise it will show a feedback about the errors, so that the student in a new attempt has more tools to solve the problem situation.

 

Objectives, limits and scope of the prototype

Objective of the prototype

To develop a prototype of a gamified web platform to facilitate the initial learning of Python programming through personalized feedback provided by artificial intelligence.

 

Limits

The application includes from the reading of the theoretical material of the most basic topics, to the development and correction of activities using artificial intelligence.

 

Scope

The processes reached by the prototype are the following:

·      Interaction with the menu of enabled topics.

·      Presentation of theoretical contents of the selected topic.

·      Generation of solved practical example on the selected topic.

 

Performance of practical activity on the selected topic for knowledge evaluation.

·      Visualize feedback of activity resolution.

·      Display scores and badges according to progress.

 

System Description

Product Backlog

The Product Backlog was made with all the user stories of the system. Each one has a unique identification code (ID) with the acronym HU (User Story). In addition, it presents the name of each story, the priority, estimated points and the existing dependencies between them.

 

Table 3. Product Backlog

ID

User Story

Priority

Points

Dependencies

HU-01

Access to the platform

Registration

5

 

HU-02

New user registration

Registration

8

HU-01

HU-03

User login

Registration

5

HU-01, HU-02

HU-04

Topic menu

Media

3

HU-03

HU-05

Theme selection

Media

2

HU-04

HU-06

Theory presentation

High

8

HU-05

HU-07

Example of the topic

Medium

5

HU-06

HU-08

Present activity

High

8

HU-06

HU-09

Submit activity for correction

Signed up

5

HU-08

HU-10

Activity feedback via AI

High

13

HU-09

HU-11

Score update

Sign up

5

HU-10

HU-12

Display of scores and badges

Medium

5

HU-11

 

Table 4. Access to the platform

ID

HU-01

Name:

Access to the platform

Description:

As a new user I want to be able to log in to the platform to start using it.

Acceptance Criteria

Given the platform URL login, when it loads, then it should display the home page with the registration and login options.

Priority

High

Points:

5

 

Table 5. New user registration

ID

HU-02

Name:

New user registration

Description:

As a new user I want to be able to register on the platform to get an account.

Acceptance Criteria:

Given the email and password to register, when the user confirms, then you must validate the data, confirm the registration and send welcome email.

Priority

Registration

Points:

8

 

Table 6. User login

ID

HU-03

Name:

User login

Description:

As a registered user I want to be able to log in to the platform to access its content.

Acceptance Criteria:

Given the registered user credentials, when submitted in the login form, then you must validate that the data is correct and allow login.

Priority

High

Points:

5

 

Table 7. Topic menu

ID

HU-04

Name:

Topic menu

Description:

As a registered user I want to see the menu of available topics to choose what to study.

Acceptance Criteria:

Given a registered user’s login to the platform, when the main page loads, then it should show him/her the menu with the enabled topics.

Priority

Medium

Points:

3

 

Table 8. Selection of topics

ID

HU-05

Name:

Topic selection

Description:

As a registered user I want to select a topic from the menu to start studying it.

Acceptance Criteria:

Given a topic enabled in the menu, when the user clicks on it, then it should redirect to the content page of that topic.

Priority

Medium

Points:

2

 

Table 9. Theory presentation

ID

HU-06

Name:

Theory presentation

Description:

As a registered user I want the theory of the chosen topic to be shown to learn the concepts.

Acceptance Criteria:

Given a selected topic, when your page loads, then you must display the theory content with text formatting, titles, bullets, links, images and/or videos.

Priority

High

Points:

8

 

Table 10. Example of theme

ID

HU-07

Name:

Topic Example

Description:

As a registered user I would like to see a practical example of the topic to understand its application. Given a selected topic, when an example is requested, then it should show one solved in code and allow to generate new examples using AI.

Acceptance Criteria:

Priority

Medium

Points:

5

 

Table 11. Present activity

ID

HU-08

Name:

Submit activity

Description:

As a registered user I want a hands-on activity of the topic to be displayed to test my knowledge.

Acceptance Criteria:

Given a selected topic, when an activity is requested, then you must submit an activity to complete code on that topic.

 

Priority

High

Points:

8

 

Table 12. Sending activity for correction

ID

HU-09

Name:

Sending activity for correction.

Description:

As a registered user I want to submit my activity development for feedback.

Acceptance Criteria:

Given a completed activity, when the user clicks submit, then it should allow submission for correction.

Priority

High

Points:

5

 

Table 13. Activity feedback through AI

ID

HU-10

Name:

Activity feedback through IA

Description:

As a registered user I want to receive automatic feedback on my activity to verify my learning.

Acceptance Criteria:

Given a submitted activity, when requested to correct it, then you should process it with AI in real time and report errors or hits found and allow retry if not correct.

Priority

High

Points:

13

 

Table 14. Score update

ID

HU-11

Name:

Score update

Description:

As a registered user I want my score and progress updated based on activities completed to measure my progress.

Acceptance Criteria:

Given a completed and submitted activity, when corrected, then it should calculate and award points based on difficulty.

Priority

High

Points:

5

 

Table 15. Display of scores and badges

ID

HU-12

Name:

Score and badges visualization.

Description:

As a registered user I want to be able to view my accumulated score and badges earned on the platform to check my progress.

Acceptance Criteria:

Given a registered user’s login to the platform, when their profile is loaded, then it should display their total score and unlocked badges.

Priority

Low

Points:

5

 

Sprint 1

 

Table 16. Sprint 1

ID

Priority

Tasks

Dependencies

Time

Status

HU-01

Upload

Design home page

-

1

Completed

 

 

Implement login functionality.

 

1

Completed

HU-02

Registration

Design registration form.

 

1

Completed

 

 

Implement user registration.

HU-01

2

Pending

HU-03

Register

Validate access credentials.

HU-01, HU-02

1

Completed

 

 

Redirect to home page.

 

1

Completed

HU-04

Media

Display menu of enabled topics.

 

3

Completed

HU-05

Media

Go to the content of the selected topic.

HU-04

1

Pending

HU-06

High

Show theory of the subject in multimedia format.

HU-05

2

Pending

HU-12

Low

Show the user’s total score.

 

1

Pending

 

Sprint 2

Duration 14 days.

 

Table 17. Sprint 2

ID

Priority

Tasks

Dependencies

Time

Status

HU-07

Media

Show practical example of the topic in code.

HU-06

2

Pending

 

 

Allow to generate a new example using AI.

 

2

Pending

HU-08

High

Present a practical activity on the topic.

HU-06

2

Pending

HU-09

Discharge

Allow submission of completed activity.

HU-08

2

Pending

HU-10

High

Correct activity in real time using AI.

HU-09

3

Pending

 

 

Allow retry of activity if incorrect.

 

3

Pending

Sprint 3

Duration: 5 days.

 

Table 18. Sprint 3

ID

Priority

Tasks

Dependencies

Time

Status

HU-11

Registration

Update user’s score and progress.

HU-10

3

Pending

HU-12

Download

Show unlocked badges.

 

2

Pending

 

Data structure

The following is the entity-relationship diagram of the prototype database.

 

Figure 4. Entity-relationship diagram

 

Screen interface prototypes

Registration form

This interface shows the user registration form. The user completes it and is registered to the platform in order to start interacting with it.

 

Figure 5. Platform registration prototype

 

Login Form

Registered users, through the following interface, can log in to the platform by entering their email and password.

 

Figure 6. Prototype login to the platform

 

Welcome screen

This is the screen that is immediately displayed when the user enters the platform. It shows the user’s badges, score, and enabled topics. From here the user can click on the topic he/she wishes to study to proceed to the following interfaces.

 

Figure 7. Welcome screen prototype

 

Presentation of theoretical content

In this interface, the header shows the same information as the previous one, but in the central part, the theoretical content to be addressed by the student. Once addressed, the student can click on the “See example” button to continue with an example of the theory addressed.

 

Figure 8. Prototype theoretical presentation of topic

 

Example of topic addressed

The central part of this interface shows an example generated by AI. It can be regenerated as many times as the student needs using the “Regenerate” button. Once the example has been read, the student will be able to solve an activity to validate his/her knowledge of the topic. This is accessed by clicking on the “start activity” button.

 

Figure 9. Prototype example of a topic

 

Show activity instructions

In this interface we can see that in the central part an AI-generated activity setpoint is displayed. Below it there is a text box so that the student can write the resolution to it. Once described, the student must press the “send” button, so that the AI corrects it.

Figure 10. Prototype of the instruction to be solved

 

Activity correction

Once the activity has been sent, the AI corrects it. If it is correct, it must show on the screen that the activity is approved. In case it is not correct, it must show this status on the screen and a corresponding feedback.

 

Figure 11. Prototype of the feedback of the task to be solved

Architecture diagram

The following diagram shows the system architecture carried out in the prototyping.

A shared hosting server of the company Net Service Argentina was used to host the prototype, which has implemented an Apache Web server that is in charge of executing the PHP application and serving the web content to the clients. In addition, a MySQL server is used to store the application data.

 

Figure 12. Architecture diagram

 

Security

The following is a technical discussion of those aspects related to system security, both in terms of access to the application and in terms of information backup policies.

 

Access to the application

1.   The user name is used together with the password for login. It must be unique, i.e., it must not exist more than once in the database.

2.   The password must meet the following requirements:

a.   Minimum of 8 characters.

b.   At least one number.

c.   Have at least one symbol.

 

3.   The password is encrypted using PHP’s md5 function, which generates a 128-bit hash of the password. This hash is stored in the database instead of the original password. md5 allows the password to be encrypted without being reversible, since it is impossible to recover the original password from the generated hash. In addition, it generates different hashes for the same passwords, increasing security.

4.   The application manages two profiles, which define the level of access to certain system functionalities:

a.   User: profile with access to the platform’s functionalities that allow the user to study, going through the theoretical development, examples and exercises. As well as advancing through the enabled topics and visualizing scores and badges.

b.   Administrator: profile with full access to the platform, in addition to the basic profile roles, includes user management, content and configuration.

 

Information backup policy

To back up user information and application code, there will be two copies of the data and one copy of the source code, namely:

·      User data is stored in the MySQL database. Daily it is backed up by the hosting service provider.

·      On a weekly basis, the most recent database backup is manually downloaded and stored in a cloud service external to the hosting service such as Google Drive.

·      The source code is maintained in a private online Git repository.

 

Complying with the above ensures redundancy against any loss of information.

 

Cost analysis

The following is the cost analysis of the system development contemplating the necessary profiles to be hired:

 

Table 19. Cost analysis. HR

Role

Monthly cost (ARS)

Months

Totals Subtotal (ARS)

Frontend Programmer

610 000

3

1 830 000

Backend Programmer

650 000

3

1 950 000

Tester

535 000

2

1 070 000

Total Development in Argentine Pesos

4 850 000

 

The values of fees were estimated based on average salaries for such roles in Argentina according to CPCIPC. In addition, the following monthly operating costs are considered:

 

Table 20. Cost analysis. Web hosting service

Resource / Service

Qty.

Provider

Monthly Subtotal (ARS)

SSL Certificate

Unlimited SSD Disk Space Unlimited Monthly Transfer Unlimited Databases

30 E-mail accounts @yourdomain

Daily backups

1

Net Service Argentina (Plan: Individual Hosting Unlimited)

2 590

ChatGPT API

1

OpenAI

5 000

Total, Monthly in Argentine pesos

7 590

 

The monthly value of shared hosting has been taken from the website of the company Net Service Argentina in October 2023.(1)

There are no hardware acquisition costs since users use their personal devices or devices already available in the educational institutions (desktop PCs, notebooks, cell phones) to access the system. One device per user accessing the system is required.

All the technologies and applications used for the development of this project are open source and/or free, therefore, no monetary costs are incurred in terms of software licensing.

The following table shows the software resources used and their corresponding official site where they can be downloaded free of charge.

 

Table 21. Cost analysis. Licenses

Resource

Source

MySQL

https://dev.mysql.com/

Apache HTTP Server

https://httpd.apache.org/

PHP

https://www.php.net/

 

Table 22. Cost analysis. Summary of costs

Initial Cost (ARS)

4 850 000

Monthly Recurrent Cost (ARS)

7590

 

Risk Analysis

The table below shows the risks involved in carrying out the project, describing the types of risks, classified as technical and project risks, and detailing the root cause of the problem.

 

Table 23. Identified project risks

Identified project risks

Id

Type

Risk

Probability of occurrence

Time of occurrence

Impact level

1

Project

Development time is extended due to technical difficulty of the project

Media

In the middle or near the end of development

High

2

Project

Errors are detected in the application, at the time of testing

Medium

At the end of development

Medium

3

Project

Staff is technically declared

Low

Halfway through development

High

 

 

Unable to continue development

 

 

 

4

Project

Abandonment of the project by some of the staff members

Unsubscribe

Throughout development

High

5

Product

Final product does not arouse the interest of end users

Medium

After development is completed

High

6

Product

The final product does not meet expectations after being used for a long time.

Medium

After project completion

High

7

Project

Actual project cost is much higher than estimated due to local currency depreciation.

High

In the middle or near the end of development

High

 

According to the risks identified, the degree of exposure has been calculated taking into account the probability of occurrence and their expected impact. The risks identified are shown below in order from the highest to the lowest degree of exposure.

 

Table 24. Quantitative analysis and degree of exposure

Highest to the lowest degree of exposure.

The final product does not arouse the interest of the end users

50 %

5

2,5

The final product does not meet expectations after being used for a long time.

60 %

4

2,4

Errors are detected in the application at the time of testing

50 %

3

1,5

Abandonment of the project by some staff members

25 %

4

1

Staff declares itself technically incapable of continuing with development

15 %

5

0,75

 

The risks with the highest degree of exposure, calculated on the basis of probability and impact, are those that could cause the most significant damage during project implementation if they were to materialize.

The mitigation strategies for each identified risk are listed below, in order of their degree of exposure. The risks with the highest degrees should receive priority attention because of their potential adverse effect on the project. The project manager will be responsible for monitoring the presence of these risks and implementing the necessary contingency plans to reduce their impact should they occur.

 

Table 25. Contingency plan for risks

Contingency plan for risks

Risk

Contingency plan

The actual cost of the project is much higher than estimated due to the depreciation of the local currency.

Re-estimate the budget as soon as possible, considering the loss of value of the Argentine peso in previous periods.

Development time is extended due to the technical difficulty of the project

Allocate a portion of the budget for hire highly qualified personnel for the most critical development tasks, such as software design and programming.

The final product does not arouse the interest of end users.

Obtain feedback from a select group of potential users by presenting partial versions of the application developed during the process.

The final product does not meet expectations after being used for a long time.

Continuously monitor user feedback over time and make periodic updates to the application.

Errors are detected in the application at the time of testing.

Slightly postpone the release date of the application and then continue to make updates immediately after release to fix urgent bugs.

Abandonment of the project by some staff members.

Agree in advance with skilled staff to keep them on standby and hire in case any positions are released.

Staff declaring themselves technically unable to continue development

Agree in advance with higher level technical staff to hold them on standby and hire in case this situation occurs.

 

CONCLUSIONS

In this final degree work, the development of a gamified web platform for teaching programming and databases using artificial intelligence was proposed. The main objective was to create an innovative tool to facilitate the initial learning of programming concepts in an entertaining and interactive way.

The proposed objectives have been satisfactorily met through the prototyping process carried out. An investigation was carried out to determine the most relevant contents for an introduction to programming. Then, theoretical and practical exercises adapted to these concepts were designed through the application of gamification techniques. Subsequently, a functional prototype of the web platform that integrates the previously designed contents was developed. Finally, artificial intelligence functionality was incorporated to provide examples and personalized feedback to users on their activities.

Thus, the system obtained allows validating the usefulness and technical feasibility of the proposal. The results achieved so far have been positive and allow us to glimpse the impact of the web platform in the initial teaching of programming. From a professional perspective, this project represented an enriching challenge to be able to apply knowledge of programming, databases, artificial intelligence and design of user interface. On a personal level, it has been a rewarding experience to be able to develop an innovative technological solution that seeks to improve education in key disciplines such as programming. It is hoped that in the future another student can take this thesis and implement and evaluate the platform in a real context of use and complete its development.

 

BIBLIOGRAPHIC REFERENCES

1. Net Services Argentina. Web hosting. https://netservicesargentina.com/web-hosting

 

2. Apache Software Foundation. Servidor HTTP Apache. https://httpd.apache.org/

 

3. CODE COMBAT. CODE COMBAT. https://codecombat.com/

 

4. CODE MONKEY. CODE MONKEY. https://www.codemonkey.com/

 

5. Coddy Learning. Coddy Learning. https://coddy.tech/

 

6. Consejo Profesional de Ciencias Informáticas de la Provincia de Buenos Aires. Honorarios recomendados. 2022. https://www.cpcipc.org.ar/honorarios-recomendados/

 

7. Materialize. Materialize. https://materializecss.com

 

8. MIMO. MIMO. https://mimo.org/

 

9. Ministerio de Educación. Competencias de educación digital. 2017. https://www.argentina.gob.ar/sites/default/files/competencias_de_educacion_digital_1.pdf

 

10. Ministerio de Educación. Programación y robótica: Objetivos de aprendizaje para la educación obligatoria. 2017. https://www.educ.ar/recursos/132339/programacion-y-robotica-objetivos-de-aprendizaje-para-la-educacion-obligatoria

 

11. Mozilla. CSS: Hojas de estilo en cascada. 2022. https://developer.mozilla.org/es/docs/Web/CSS

 

12. Mozilla. JavaScript. 2022. https://developer.mozilla.org/es/docs/Web/JavaScript

 

13. Mumuki. Mumuki. https://mumuki.io/home/

 

14. MySQL. MySQL. https://www.mysql.com/

 

15. PHP: Hypertext Preprocessor. PHP: Hypertext Preprocessor. https://www.php.net/

 

16. OpenAI. Introduction to the OpenAI API. 2023. https://platform.openai.com/docs/introduction

 

17. The PHP Group. ¿Qué es PHP? https://www.php.net/manual/en/intro-whatis.php

 

18. Udacity. Udacity. https://www.udacity.com/

 

19. Linux Foundation. Linux Foundation. https://www.linux.org/

 

20. World Wide Web Consortium (W3C). HTML5 differences from HTML4. 2014. https://www.w3.org/TR/html5-diff/

 

FINANCING

None.

 

CONFLICT OF INTEREST

Authors declare that there is no conflict of interest.

 

AUTHORSHIP CONTRIBUTION

Conceptualization: Martín Alejandro Gerlero.

Data curation: Martín Alejandro Gerlero.

Formal analysis: Martín Alejandro Gerlero.

Drafting - original draft: Martín Alejandro Gerlero.

Writing - proofreading and editing: Martín Alejandro Gerlero.