School of Science and Technology 科技學院
Computing Programmes 電腦學系

EASElective – A Chatbot for Elective Course Selection

CHAN Chun Ho, Lee Ho Lam, LO Wing Kwan

ProgrammeBachelor of Computing with Honours in Internet Technology
SupervisorDr. Andrew Lui
AreasIntelligent Applications
Year of Completion2018
Paper PublishedChan, C.H., Lee H.L. , Lo W.K., Lui A.K.F, “Developing a Chatbot for College Student Programme Advisement”, in Proceedings of International Symposium on Educational Technology 2018, Kansai University, Japan


The Bachelor of Computing with Honours in Internet Technology programme at The Open University of Hong Kong poses final year students with an annual course of selection dilemma. The final year curriculum requires students to take 6 specialization courses from 10 to 12 wide-ranging choices. In making this difficult decision, some students have better access to obtain advice from others. Some basic course information such as course titles and course description can be accessed universally, but the more personalized and sensitive information is often difficult to obtain.

In this project, an educational chatbot for resolving the problem of providing elective course advising is proposed. Since chatbots are basically virtual robots they can serve many students at any time of the day. It can offer different aspects of information and recommendations when students are making decision of course selection.

To achieve the aim, the main objective of the project is to develop a chatbot application that can provide information and students’ opinions about the elective courses, and suggestions to the user through chatting.

The project has defined a number of sub-objectives as follows:

  • Data collection of students’ opinions
  • Develop an NLP tool to organize the database
  • Design the routine of the conversation
  • Prototype Implementation and Coding
  • Performance evaluation from the perspective of users

Video Demonstration

Background and Methodology

A chatbot system is developed for resolving the problem by providing elective course advising. A chatbot can allow users to start a conversation with using conversational interface, regarding any issue, any time of the day. It is designed to offer different aspects of information such as course information, students’ opinions and recommendations.

Diagram of the system

The major components include the following:

  • Intent detection
  • Conversational design with routines
  • Dialogue design
  • Bootstrapping and sustaining students’ opinions
  • Course information management

IBM Watson Conversation is an online NLP tool provided by IBM. With some pre-defined intents and entities, different rules can be formed. When EASElective receive a natural language inputted by the user, it will be sent to IBM Watson Conversation with the help of the provided API in JSON format. Then, IBM Watson Conversation will match the natural language sent by the EASElective with the defined rules and response.

Techniques and Technologies used

  • Node.js

Node.js is an open source JavaScript code run on server side. It runs single-thread, asynchronously program. The advantage of single-thread, asynchronously program is very memory efficient. Also, the program do not block by I/O. Server using Node.js can handle large among of request at the same time, and response the request when ready. It is used as the controller of the chatbot. The chatbot controller act as a middleware between telegram and IBM Watson Conversation and control the flow of the conversation.

  • Natural Language Processing (NLP) Tool

IBM Watson Conversation is a simple chatbot developing tool provided by IBM. Since the structure and the design are too simple with limited database access and routine control, the main control will be a middleware developed by ourselves using Node.js. IBM Watson Conversation is used only for extracting the intent of the user input.

  • Telegram

Telegram is an instant message application. It also provides API for user to develop a chatbot on Telegram. Therefore, telegram is used as the user interface.

  • MySQL

MySQL is a relational database system. MySQL is used to store the content, course comment, teaching staffs of the course and comment of the teaching staffs, etc. All of these data have relations to each other. So, relational database system is used.

  • MongoDB

MongoDB is a document-oriented database system. Since the user model will be represented by JSON object, MongoDB is used to store the user which has not talk to the chatbot more than a day.


Conclusion and Future Development

elective courses is often a challenge for students due to complex considerations. They may face some problems such as being unable to obtain information or consult with programme advisors and peers. Therefore, we developed an educational chatbot for helping students to solve the problems on choosing elective courses by providing information, students’ opinions and recommendations at the same time and any time of the day. The aims and objectives have been satisfied. All functions of EASElective are completed. After evaluating our solution, the findings of the system performance and user perception evaluation shows that the performance and functionality are positive.

EASElective has potential for course advising based on the result of evaluation. The majority of test subjects thought that our solution is more preferable and convenient than the existing solutions. According to the result of accuracy test, it was also found that nearly 90% of the information provided by the system is correct. Also, based on the result of user perception evaluation, the testing subjects thought that the system is easy to use, the dialogue is clear to understand and the response is accurate after experiencing our chatbot. It was also found that the average score of final year students is higher than non-final year students, which means our chatbot can help to solve the problems of making decisions on choosing elective courses. As they have already understood the rules of course selection and the characteristics of the courses that they are learning, this result reflects our chatbot can provide accurate and reliable information and recommendations.

Some limitations of our solution has been figured out. The major function of our system is to provide comprehensive information but it is difficult to collect useful and accurate students opinions to enrich our database. Although there are pre-defined routines to ask for users’ opinions when the user has completed a course, we cannot ensure the user would answer these questions. On the other hand, the system cannot collect useful information for further use if some users respond meaningless opinions.

For future works, a more effective way should be investigated for students to obtain official information through the chatbot interface, due to the findings show that students found the course website and booklet more preferred to use. Also, more routines should be designed to handle more conversation situations, which can answer more questions. Second, more functions should be developed for analyzing possible selections and providing recommendations. The recommendation should be provided based on the students’ preferences. The chatbot should ask more about their preferences and constraints in the conversation. If the recommendation is based on the students’ preferences, users can obtain a more comprehensive advising.

Jonathan Chiu
Marketing Director
3DP Technology Limited

Jonathan handles all external affairs include business development, patents write up and public relations. He is frequently interviewed by media and is considered a pioneer in 3D printing products.

Krutz Cheuk
Biomedical Engineer
Hong Kong Sanatorium & Hospital

After graduating from OUHK, Krutz obtained an M.Sc. in Engineering Management from CityU. He is now completing his second master degree, M.Sc. in Biomedical Engineering, at CUHK. Krutz has a wide range of working experience. He has been with Siemens, VTech, and PCCW.

Hugo Leung
Software and Hardware Engineer
Innovation Team Company Limited

Hugo Leung Wai-yin, who graduated from his four-year programme in 2015, won the Best Paper Award for his ‘intelligent pill-dispenser’ design at the Institute of Electrical and Electronics Engineering’s International Conference on Consumer Electronics – China 2015.

The pill-dispenser alerts patients via sound and LED flashes to pre-set dosage and time intervals. Unlike units currently on the market, Hugo’s design connects to any mobile phone globally. In explaining how it works, he said: ‘There are three layers in the portable pillbox. The lowest level is a controller with various devices which can be connected to mobile phones in remote locations. Patients are alerted by a sound alarm and flashes. Should they fail to follow their prescribed regime, data can be sent via SMS to relatives and friends for follow up.’ The pill-dispenser has four medicine slots, plus a back-up with a LED alert, topped by a 500ml water bottle. It took Hugo three months of research and coding to complete his design, but he feels it was worth all his time and effort.

Hugo’s public examination results were disappointing and he was at a loss about his future before enrolling at the OUHK, which he now realizes was a major turning point in his life. He is grateful for the OUHK’s learning environment, its industry links and the positive guidance and encouragement from his teachers. The University is now exploring the commercial potential of his design with a pharmaceutical company. He hopes that this will benefit the elderly and chronically ill, as well as the society at large.

Soon after completing his studies, Hugo joined an automation technology company as an assistant engineer. He is responsible for the design and development of automation devices. The target is to minimize human labor and increase the quality of products. He is developing products which are used in various sections, including healthcare, manufacturing and consumer electronics.

Course CodeTitleCredits
 COMP S321FAdvanced Database and Data Warehousing5
 COMP S333FAdvanced Programming and AI Algorithms5
 COMP S351FSoftware Project Management5
 COMP S362FConcurrent and Network Programming5
 COMP S363FDistributed Systems and Parallel Computing5
 COMP S382FData Mining and Analytics5
 COMP S390FCreative Programming for Games5
 COMP S492FMachine Learning5
 ELEC S305FComputer Networking5
 ELEC S348FIOT Security5
 ELEC S371FDigital Forensics5
 ELEC S431FBlockchain Technologies5
 ELEC S425FComputer and Network Security5
 Course CodeTitleCredits
 ELEC S201FBasic Electronics5
 IT S290FHuman Computer Interaction & User Experience Design5
 STAT S251FStatistical Data Analysis5
 Course CodeTitleCredits
 COMPS333FAdvanced Programming and AI Algorithms5
 COMPS362FConcurrent and Network Programming5
 COMPS363FDistributed Systems and Parallel Computing5
 COMPS380FWeb Applications: Design and Development5
 COMPS381FServer-side Technologies and Cloud Computing5
 COMPS382FData Mining and Analytics5
 COMPS390FCreative Programming for Games5
 COMPS413FApplication Design and Development for Mobile Devices5
 COMPS492FMachine Learning5
 ELECS305FComputer Networking5
 ELECS363FAdvanced Computer Design5
 ELECS425FComputer and Network Security5