CSExplore Chat aims to be a helpful chatbot that encourages the user to learn about Computer Science and related resources. In addition, it hopes to be personalized to the user’s likes and dislikes which would allow it to show the user content and information they want to see. The idea is for the app to be used as an occasional reminder and updater for students that introduces them to a variety of Computer Science resources. Inspiration for this app comes from the AI chatbot Replika.
- Have introductory knowledge and understanding of Computer Science’s Core Subjects/Principles.
- Know various resources, especially local ones, that are related to Computer Science.
- Learn about UH Manoa’s Computer Science program.
When a user first opens CS Explore Chat they will go through an introduction as well as a tutorial of sorts. This will allow the chatbot to gain information on the user in order to provide a better experience for them. Some features I think would be included during this would be:
- Renaming the bot
- Computer Science knowledge
- Does the user have any CS knowledge?
- Do they have CS topics they are interested in?
- Other customizable settings (possibly changing the background, chat bubble color)
- EXP system
- Talking with the chatbot increases EXP and the chatbot can level up (resulting in theoretically a more personalized experience)
- Chatbot settings
- How often does the user want notifications and when? (i.e. once a day? Only in the morning? Evening?)
The chatbot can send notifications to the user when there are news or events the user may be interested in. From there, the user can either say they are interested, not interested, or can put it off for later. If they are interested the chatbot can give them more information and a corresponding link. If they are not interested the chatbot can ask if the user would prefer to not receive this kind of chat in the future. For the last option, the chatbot could put the information on the side to revisit on another day.
- Upcoming events
- Computer Science related articles
- Local opportunities
- Project ideas
- Projects uploaded by other users (with permission from original user)
Chatting options: Updates
There are three default chat options for the chatbot. The first of the chat options is "Any new updates?". With this chat option it allows the chatbot to bring up any update that was put off for the later or any that hasn't been mentioned to the user in chat yet.
Similar to the notification chats there are three options the user can respond to the update with. The first response encourages a more detailed response from the chatbot and a link. The second is a negative response where the user can choose to not receive updates similar to it in the future. The third is an indifferent response that will result in no further conversation.
Chatting options: Teach me
This option will lead to the chatbot providing new information to the user. There are four options given for the user to pick from. The first three options are the three different categories of information while the fourth allows for any of the three.
Upon receiving the information from the chatbot the user then has the choice to dive deeper and gain more information, or they can choose not to if they're not interested. Any information learned through the "Teach Me" option will then proceed to appear in the Review page.
Chatting options: Quiz
The quiz option will have the chatbot ask questions on what has already been learned. This is done through multiple choice questions. Correct answers can also give an additional amount of EXP to the chatbot. The user has the option to end the quiz when they want to after each question.
Explore Profile Page
On the profile page the user can view what they have recently learned or viewed. In addition, there is a section for them to keep track of the projects they have.
Review, News and Events, Database
On the review page the user can see what information they have learned so far. They can then "review" the information they should already knew.
The news and events page can show all the news and events posted on the app. There are three different categories I thought would be good. A trending page for news and events that are popular, a recent category for any that has been newly added, and an upcoming event category in case the user is interested in getting involved. The user can also filter the news and events possibly through a tag system. Through this, they can see news or events related to their interests.
The database page will act as a compendium of knowledge. Although the chatbot will give the user information the database will be available for the user to look through outside of the chatbot in case they have a specific interest on something.
Here are questions we can look into:
- How often do students use the application and for how long?
- How likely are students to respond to the app's notifications? How often do students set notifications for and for what times?
- What topics are popular/unpopular among users?
- What kind of people are using it? (i.e age, gender, school, etc.)
- How likely is it for a student to recommend this app?
A next step for this idea would be to figure out possible benefits for leveling up. Also, the content available on the app would need to be fleshed out and detailed more.
Something else to consider is how the personalization features would work out. Specifically, how the chatbot will be able to determine what news and updates the user would more likely be interested in hearing about.