An Amazon Lex based Interactive Virtual Assistant for C Programming

DOI : 10.17577/IJERTV11IS050172

Download Full-Text PDF Cite this Publication

Text Only Version

An Amazon Lex based Interactive Virtual Assistant for C Programming

V Baby

Associate Professor

Department of Computer Science and Engineering, VNRVJIET, Telangana, India

  1. Jhansi Lakshmi Bai

    Assistant Professor

    Department of Computer Science and Engineering, VNRVJIET, Telangana, India

    Sahithi Vesangi

    Department of Computer Science and Engineering, VNRVJIET, Telangana, India

    Saketh Reddy Regatte

    Department of Computer Science and Engineering, VNRVJIET, Telangana, India

    AbstractAmidst the global pandemic COVID-19, a nation- wide lockdown was imposed which changed the phase of the educational system. Classes and laboratories began to continue online. Although it seemed convenient listening to classes from home, students and teachers faced many challenges, especially dealing with online laboratories for undergraduate students. Due to the lack of virtual infrastructure to run laboratories online, teachers had to adjust teaching through platforms such as Microsoft teams and google meets. Considering the laboratory sessions for programming, students were asked to solve the given questions in their local IDEs and share their screens in case of any doubts and errors. As there was no possibility for the teacher to physically address their doubts and errors individually, it became a hectic task to clarify the doubts of all the students present in the class. It also decreased the student's efficiency in understanding the applications of the programming language. This is ineffective as it demands too much time for the students to share their screens to execute each problem, and the probability of students who lose interest in programming began to rise. To address this problem, we developed a user-friendly chat bot assistant, which clarifies doubts related to C programming language 24/7 named C- Genie. With the help of C-Genie, students can get the required assistance to solve problems, and get help in debugging their code. Using advanced Natural Language Processing techniques through AWS, this programming assistant increases the accessibility for students to get a better understanding of their errors even in the absence of teachers. This can increase the quality of learning and invokes the interest in students towards the concept of programming.

    Keywords Virtual infrastructure, online laboratories, chatbot assistant, NLP techniques


      The outbreak of COVID-19 pandemic in the year 2019 has hit everyone hard in every aspect. Amongst these aspects the shutdown of schools and universities projected a great impact on students educational foundations. Most of the institutions were not prepared for the online mode of administration which barely left the faculty with any experience in online teaching. Students especially the ones who just stepped into their under graduation are the most affected population as it is a starting point of learning programming which solidifies their career.

      Visualize a scenario where a student undergoing online laboratory classes for C programming language virtually. Since laboratories provide practical hands-on experience to the students it is quite natural that their code is prone to errors. In this circumstance it is very difficult for the student to approach the faculty every time to clear their doubts. And at the same time, it is also critical for the faculty to keep a track record of each students progress. So, to make this situation easier, the students tend to skip their classes in online mode of education which clearly impacts their foundations for programming language experience. Also, a study revealed that 13% of the students are reluctant to clarify their doubts as they have a fear and social anxiety, which makes them hesitant to speak with their microphones on, in the online learning platforms [1]. Therefore, it is evident that students lose their grip on basics which in turn results in decrease of their Intelligent Quotient (IQ) due to lack of foundational knowledge according to reverse Flynn Effect [2].

      To solidify the above research, we conducted a social experiment through an online survey form among 384 undergraduate computer science students. Few questions like Do you think online classes are effective?, Do you understand the concept being taught?, Do you practice lab sessions?, Will you get your doubts clarified in online Laboratories? etc. These questions were asked to know whether the students have a fair understanding of their situation with respect to online laboratories. The finding unveiled that about 95% of the students revealed that they were unhappy with their experience of learning and seemed like a by-heart practice of programming. The above usability survey also revealed through word cloud that about 25% students are requesting an automatic online platform that helps to clarify their doubts.

      This emerging problem is still prevalent in many areas round the world. Hence Virtual Problems require Digital Solutions. To address all the above issues, we aim to build a conversational chatbot (Chatter Robot) system that is capable of interacting with the students and clarifying their doubts related to the C programming language during online laboratory sessions at the same time the bot has the potential to cognize the programming style of a particular student and give quick response in a way that is interactively understood

      by the student. In this paper, we focus on one of the most prominent programming languages i.e., C Language. The reason is that C is a foundational programming language for all the undergraduate students who enter this competitive world of technology. It is also difficult for the students to understand the errors in C language and find a solution to debug them due to minimal practical knowledge on programming. At the same time, it is important to establish strength in basics before diving into deeper concepts of programming like C++, Java, Python, etc.

      As this paper focuses on providing a solution by introducing a chatbot, emerging techniques like Natural Language Processing play a pivotal role in establishing a strong permanent solution. To foster these techniques, we intend to use Amazon Web Services instead of traditional NLP systems to build efficient and quick response chatter bots. Amazon Lex is one of the most popular features in AWS which is intended to be used in the proposed system along with providing a web interface using Angular framework.

    2. LITERATURE SURVEY M.Hariyadharshini et al. [3] designed a conversational

      chatbot that can interact with the users by addressing their services e.g., ordering a pizza. The configuration is added to the bot which can understand the users requirement. To enable a serverless connection the Lambda service was utilized. Similarly, the Amazon RDS service was used to build backend database for the system. Various database engines are provided by RDS like Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server. Here MySQL workbench was chosen. The virtual console of the database helps the administrators to efficiently manage the database. The system has proven its error handling capacity by answering irrelevant questions of the user.

      Poongothai.M. et al. [4] developed a chatbot that is personalized conversational assistant that can help the students to raise questions and clear their doubts on ongoing as well as completed IoT projects. Few features like auto scaling, real time notifications and quick response are advantages of this system. Later, this chatbot was integrated into their laboratory system.

      Pinaki Chakrborty et al. [5] conducted a survey among undergraduate students about their opinion on online education during the COVID-19 pandemic. On receiving responses from 358 students, it was observed that the students preferred physical education and learning through MOOC platforms rather than online education. Yet, the results also indicate that the faculty had improved their teaching techniques about online learning.

      Jayakumar et al. [6] studied the problems faced by students in learning a new programming language and developed a chat bot that teaches students languages like java, cpp, python and conducted tests at each level of the learning path. Naeun Lee et al. [7] built a custom bot that creates personalized news based on the personal preference of the user. They have used concepts like text segmentation and

      custom tagging for the construction of the system so that the system can cover a broad field of spectrum.

      Prashanth S et al. [8] built a college management service by using chat bot. The bot helps all users with their needs, for example leading the way to library, and providing assistance to the day to day needs on the college premises. Nitirajsingh Sandu et al. [9] studied the adoption of AI-Chat bots to enhance the student learning experience in higher education, they spoke about how a chat bot can improve the productivity, learning, assistance and fill the communication gap and how the ai chat bot can be incorporated as a platform for learning.

      Rainer Winkler et al. [10] emphasized the potential and impact the chat bots can have in learning process of the student and how these chat bots are helping the users by providing the assistance. Pedro Tamayo et al. [11] built a chat bot which is an assistant for distance learning i.e., EconBot by explaining how a chat bot can be simulated as teaching assistant to all the students who are attending college through distance learning program and how the bot improves the learning and helps them resolve the technical aspect of the subject.

      Fabio Clariza et al. [12] spoke about how chat bot can act as support system in the education system and how they have used natural language processing techniques and how the right set of answers are important to answer the questions of the students. Gyorgy Molnar et al. [13] spoke about the role of chat bots in formal education and how the technology has evolved and used widely in the industry and in educational institutions and benefits of leveraging the technology.

      A S S K Sreeharsha et al. [14] designed a chatbot system that can help people with hotel reservations using Amazon Lex and Facebook Messenger. Here, amazon lex was used for bots configuration with utterances and Lambda function was used to validate the responses. Advantage of this system is providing real time notification system and login using the facebook page.

      Shivangi Viral Thakker et al. [15] proposed a holistic approach by performing data analysis through a survey of 364 engineering students to understand the bottlenecks in online learning. The metric was set out on a 5-point Likert scale where the answers were ranked from 2.81 to 3.46. The findings showed that Google Meet was the most used platform whereas Microsoft Teams was most preferred platform according to the students. Yet, there are few limitations for this analysis, where the research was only limited to students in the urban areas which is prone to cause a lot of geographical and educational bias.


      In almost all the lab sessions there are many doubts that arise due to the hands-on development. On solving these doubts, it helps students to understand the concepts and ingrain them into their memory in a better way. Failing to solve a problem and learning from the mistakes helps anyone to better understand the nuances of the subject. But helping them solve their issues by a subject matter expert is not

      happening often due to effect of the global COVID-19 pandemic.

      In this paper we have developed a virtual C programming lab assistant i.e., C-Genie that can help the new learners to resolve their issues. We have used Natural Language processing techniques hosted on Amazon Web Services and Amazon lex that uses deep learning engine under the hood. To shield the project from the complexities of traditional Natural Language Processing methods we intend to use techniques hosted on Amazon Web Services. Amazon Lex is the most popular service that aids to build interactive chatbots seamlessly. Using this feature, it allows developer to interact with the application which is as simple as making a conversation with Amazon Alexa. It allows to build, monitor, and control the chatbot using Natural Language Understanding (NLU) in both existing and new applications. We have implemented a solution to solve problems faced by students in the following phases: designing the Amazon Lex Model & designing a Web Interface.

      Fig. 1. Block diagram of C-Genie Model

      1. Designing Amazon Lex Model

        1. Gathering all possible Errors

          In this process all the possible errors that could occur are collected and solutions for solving those errors are found after doing a thorough research and brainstorming with team and referring the internet.

        2. Designing the Intents

          For the working of the chat bot Intents play a key role. An intent represents an action that the user wants to perform. Intents are created from the previous step and configured accordingly.

        3. Designing the Sample Utterances

          After the intents are created, sample utterances are designed to how a user might convey the intent by the utterance.

        4. Designing the Sample Messages

          These messages describe the reason why a possible error could occur, and this can be of two types: simple message and a custom message, the bot tries to send the response in these two formats accordingly.

      2. Designing the Web Interface

        1. Choosing the Tech Stack

          Angular is a typescript framework used in modern web applications which delivers high performance single

          page applications with the functionality of developing native apps as well. PWA (progressive web applications) with high speed, performance, and resilient apps can be developed.

        2. Creating Components

      We have built the following components in the web interface for users to interact.

      Bot Component: Encapsulates the functionality of the other components on the interface.

      Session Component: Setups the session for the user to ask the doubts and errors by communicating with the chat bot.

      Input Component: Takes in the message from the user and sends it to the chat bot Api.

      Feed Component: Displaying the response from the chat bot Api.

      Message Service: Responsible for making the necessary HTTP calls to chat bot Api.


      The following figures are the responses given by the C-Genie for the user based on the different queries it was asked.

      Fig. 2. Responses for segmentation fault error and infinite loop error

      While programming, a student encountered errors represented in the fig-2, the C-Genie replied with the cause of error and its possible work around.

      Fig. 3. C-Genie responses for common C errors

      Break not in loop or switch and Invalid pointer are some of the popular errors encountered by most of the students during laboratory sessions as in fig 4.2. The C-Genie responded in a way which is easily understandable to debug errors.

      Hence, the C-Genie is capable of not only solving the above problems but also clarifies the doubts and errors related to almost all the commonly encountered errors in C Programming.


In this complexity of overcoming COVID-19, a prominent solution that can help the students to bolster their foundational knowledge in programming and address the technical errors they face in laboratories at undergraduate level cn be a boon to the invention. This paper is eminent in providing a solution for the same. Students can feasibly practice laboratory sessions online and their doubts are clarified seamlessly by our interactive C-Genie. This chatbot can understand the programming style of a particular student and give suggestions to the errors in a manner that every student can easily grasp the subject. This method of approach can eradicate the problem of students skipping classes, losing interest in programming, etc and in turn creates enthusiasm as the web interface is interactive and provides quick response to the students. As C is the foundational language for every undergraduate student, our major focus was to develop the system to address errors only for C language. But there are many programming languages in the curriculum like C++, Java, Python etc., where the students would still like to seek help from the laboratory sessions. Hence, a solution that can eminently clarify doubts in all the programming languages at online laboratories is highly desirable.


[1] Ju-Yu Yen. Cheng-Fang Yen, Cheng-Sheng Chen, Peng-Wei Wang, Yi-Hsin Chang and Chih-Hung Ko, Social Anxiety in Online and Real-Life Interaction and Their Associated Factors, Cyberpsychol Behav Soc Netw. 2012;15(1):7-12.

[2] Flynn Effect, 26 April 2022,

[3] M.Hariyadharshini, A.Selina, R. Subasurya and Lina Dinesh, CONVERASATIONAL INTERFACE USING AMAZON

LEX, International Journal of Advanced Engineering and Recent Technology, Volume 18, Issue 1, April 2017.


[5] Pinaki Chakraborty, Prabhat Mittal, Manu Sheel Gupta, Savita Yadav, and Anshika Arora1, Opinion of students on online education during the COVID-19 pandemic, Hum Behav & Emerg Tech. 2021;3:357365.

[6] Jayakumar Sadhasivam, Moiz Ametwala, Amitava Mazumdar, Ashutosh Bhataiya, Balajee J.M,Vinoth Kumar V, Implementation of Chatbot That Teach Programming Language, Journal of Xi'an University of Architecture & Technology, Volume XII, Issue III, 2020.

[7] N. Lee, K. Kim and T. Yoon, "Implementation of robot journalism by programming custombot using tokenization and custom tagging," 2017 19th International Conference on Advanced Communication Technology (ICACT), 2017, pp. 566- 570, doi: 10.23919/ICACT.2017.7890154.

[8] Prashanth S, Rakshith Gowda N, Sourabh Kakade, Gouramma, Vivek Sharma, Review of AI Chatbot, International Research Journal of Engineering and Technology (IRJET), Volume: 07 Issue: 05, May 2020.

[9] N. Sandu and E. Gide, "Adoption of AI-Chatbots to Enhance Student Learning Experience in Higher Education in India," 2019 18th International Conference on Information Technology Based Higher Education and Training (ITHET), 2019, pp. 1-5, doi: 10.1109/ITHET46829.2019.8937382.

[10] Winkler, Rainer & Söllner, Matthias. (2018). Unleashing the Potential of Chatbots in Education: A State-Of-The-Art Analysis. Academy of Management Proceedings. 2018. 15903. 10.5465/AMBPP.2018.15903.

[11] Tamayo, Pedro & Herrero-Alcalde, Ana & Martín-Román, Javier

& Navarro, Carolina & Tránchez, José. (2020). Design of a chatbot as a distance learning assistant. Open Praxis. 12. 145. 10.5944/openpraxis.12.1.1063.

[12] Clarizia, F., Colace, F., Lombardi, M., Pascale, F., Santaniello, D. (2018). Chatbot: An Education Support System for Student. In: Castiglione, A., Pop, F., Ficco, M., Palmieri, F. (eds) Cyberspace Safety and Security. CSS 2018. Lecture Notes in Computer Science(), vol 11161. Springer, Cham.

[13] G. Molnár and Z. Szüts, "The Role of Chatbots in Formal Education," 2018 IEEE 16th International Symposium on Intelligent Systems and Informatics (SISY), 2018, pp. 000197- 000202, doi: 10.1109/SISY.2018.8524609.

[14] A S S K Sreeharsha , Sai Mohan Kesapragada , Sai Pratheek Chalamalasetty, Building Chatbot Using Amazon Lex and Integrating with A Chat Application, International Journal of Scientific Research in Engineering and Management (IJSREM), Volume: 06 Issue: 04 | April 2022.

[15] Shivangi Viral Thakker, Jayesh Parab and Shubhankar Kaisare, Systematic research of e-learning platforms for solving challenges faced by Indian engineering students, Asian Association of Open Universities Journal Vol. 16 No. 1, 2021 pp. 1-19.

[16] Ouatu, BI., Gifu, D. (2021). Chatbot, the Future of Learning?. In: Mealha, Ó., Rehm, M., Rebedea, T. (eds) Ludic, Co-design and Tools Supporting Smart Learning Ecosystems and Smart Education. Smart Innovation, Systems and Technologies, vol 197. Springer, Singapore. 5_23

[17] Adamopoulou, E., Moussiades, L. (2020). An Overview of Chatbot Technology. In: Maglogiannis, I., Iliadis, L., Pimenidis,

E. (eds) Artificial Intelligence Applications and Innovations.

AIAI 2020. IFIP Advances in Information and Communication Technology, vol 584. Springer, Cham.

[18] Canonico, R. et al. (2020). A Smart ChatBot for Specialist Domains. In: Barolli, L., Amato, F., Moscato, F., Enokido, T., Takizawa, M. (eds) Web, Artificial Intelligence and Network

Applications. WAINA 2020. Advances in Intelligent Systems and Computing, vol 1150. Springer, Cham.

[19] Sinha, S., Basak, S., Dey, Y., Mondal, A. (2020). An Educational Chatbot for Answering Queries. In: Mandal, J., Bhattacharya, D. (eds) Emerging Technology in Modelling and Graphics.

Advances in Intelligent Systems and Computing, vol 937. Springer, Singapore. 6_7

Leave a Reply