AI Learning Assistant – The Non-Traditional Learning Tool

Project phases

Published: October 17, 2024

Last Updated: 3 weeks ago.

View All Projects

Sometimes, traditional teaching methods fall short of addressing the full range of learners’ diverse needs. To address this teaching gap, the Centre for Teaching, Learning and Technology collaborated with the University of British Columbia Cloud Innovation Centre to develop a fully-deployable, AI-powered prototype that uses a large language model (LLM) to interact with students. This tool can be used with any course to identify learners’ knowledge gaps in course material and provide personalized feedback using conversational language, fostering a learning environment that is more inclusive of all learning journeys.

Approach

The prototype encourages students to answer questions based on course materials and evaluates their responses to identify knowledge gaps. It tracks their progress through the material, assessing comprehension along the way. Available 24/7, the web application provides support whenever needed and uses conversational language to ensure ease of understanding.

The tool uses conversational language to offer tailored guidance to students to reinforce their learning. By providing this continuous support, students may better navigate their learning journey and achieve greater academic success.

Screenshots of UI

Student View

"Courses" view/
"Learning Journey" view
LLM chat view.

Students enrolled in a course offering the AI Learning Assistant can access the web application anytime to engage with the tool. When they need help, they can log in to view their course.

After selecting their course, they can see their progress in the course learning journey and can select a module they want to review.  The above screenshot shows the learning journey in red because the student has yet to begin. As the student progresses, these icons go from red, to yellow, then green.

When the student selects “Review” they will be brought to the chat feature of the web application. The LLM will prompt the student, engaging in constructive and kind dialogue until the student has achieved competency for the concept.

Instructor View

Instructor "Courses" view.
Instructor analytics view.
Instructor concepts view.

An instructor logging into the AI Learning Assistant will be brought to a dashboard displaying their courses. Here, they can view the status of the course and enter the “Student View” as well. 

After selecting the course “CPSC 210 Software Construction”, the instructor is brought to the Analytics dashboard. Here, they can view relevant insights about the course, such as the “Message count” in relation to different concepts.

Within the selected course, instructors can edit the concepts, modules, and prompt setting for their course, as well as view students. 

Administrator View

Admin "Manage Instructors" view.
Admin "Courses" view.
Admin "Create a new course" view.

A user with administrator permissions can assign instructors to different courses.

In the “Courses” view, administrators can activate and deactivate courses, as well as view the course name, course access code, and the status.

If administrators wish to create a new course, they must enter the relevant information such as the Course Name, Course Department, and Course Code. They must also assign instructors to the course who have already registered with the application.

Technical Details

You can deploy the solution by following the Deployment Guide available on the UBC CIC GitHub Repo. The prototype is fully deployable as infrastructure as code.

This serverless learning platform is designed to leverage the full power of Amazon Web Services, providing a highly scalable and cost-effective solution without the need for managing servers. The application is hosted on AWS Amplify, which connects to the backend through API Gateway. Instructors can easily upload course materials, which are stored in an Amazon S3 bucket. This action triggers a lambda function which extracts and processes the text in the files.

Once the text is extracted, it is divided into smaller pieces and transformed into data (vectors) that represent the meaning of the content. This processed data is stored in a Amazon Relational Database Service (Amazon RDS) for PostgreSQL database using pg_vector for quick and efficient retrieval when needed.

When users manage courses or access learning materials, their actions trigger a lambda function which interacts with Amazon RDS through Amazon RDS Proxy. 

Students interact with the system by asking questions, and the system responds by combining the student’s query with relevant course content using Retrieval-Augmented Generation (RAG) architecture to provide helpful and accurate feedback. The solution leverages the Llama 3 70B LLM hosted on Amazon Bedrock to enhance the quality and relevance of AI-generated responses.

As students engage with the system, the AI tracks their learning progress and adapts its responses accordingly. The conversations are saved in Amazon DynamoDB that tracks user interactions to ensure that the AI can refer back to previous interactions, offering more personalized and context-aware responses that evolve with the student’s learning journey.

Check out the solution on GitHub.

Architecture Diagram

Architecture diagram featuring AWS services used.

To learn more about the Architecture Diagram, check out the Architecture Deep Dive on our Github repository.

Video

Infographic

Infographic describing the project. The first section illustrates a frustrated student, explaining how keeping up with course content can be difficult, especially for students with varying learning needs. The next section shows an instructor working with a student, noting that while instructors want to offer constant support, it’s not always possible. A following panel introduces the collaboration between the UBC Centre for Teaching, Learning and Technology and the UBC Cloud Innovation Centre to create an AI-powered solution. The lower sections describe the AI Learning Assistant, which uses a Large Language Model to provide personalized feedback to students anywhere, and helps students visualize their progress and identify areas for improvement. The final section explains how the tool helps instructors track student progress and save time.

Acknowledgements

Project Sponsors: Elisa Baniassad and Richard Tape

Student team: Development by Aman Prakash, Aurora Cheng, Harshinee Sriram, and Sean Woo. Project support by Miranda Newell.

Photo by UBC Brand & Marketing.

About the University of British Columbia Cloud Innovation Centre (UBC CIC)

The UBC CIC is a public-private collaboration between UBC and Amazon Web Services (AWS). A CIC identifies digital transformation challenges, the problems or opportunities that matter to the community, and provides subject matter expertise and CIC leadership.

Using Amazon’s innovation methodology, dedicated UBC and AWS CIC staff work with students, staff and faculty, as well as community, government or not-for-profit organizations to define challenges, to engage with subject matter experts, to identify a solution, and to build a Proof of Concept (PoC). Through co-op and work-integrated learning, students also have an opportunity to learn new skills which they will later be able to apply in the workforce.