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 |
|
Apache HTTP Server |
|
PHP |
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.