Coursequery

Team Name

Mavericks

Timeline

Fall 2023 – Spring 2024

Students

  • Brian Phan
  • Ali Abdul-Hameed
  • Joshua Idahosa
  • Joshua Lian
  • Shaun Bakken

Abstract

Coursequery is a web-based platform designed to simplify academic scheduling and course management. By allowing students to input their class schedules into a personalized account, Coursequery streamlines the academic planning process and provides a user-friendly interface that enhances their educational journey.

The application utilizes data scraping to gather crucial details about each course, including professor ratings from RateMyProfessor, classroom locations, and full course descriptions. It also performs sentiment analysis on Reddit posts to offer insights into wider student perceptions, aiding students in making informed decisions about their courses.

Additionally, Coursequery features a campus map to help students navigate their classes. This integration of key academic information and navigational tools into a single platform makes Coursequery a comprehensive solution for optimizing students’ academic experiences.

Background

The inception of Coursequery was driven by a clear vision: to consolidate all pertinent information about academic classes into a single, accessible platform. In today’s educational environment, students frequently grapple with scattered information across multiple websites and platforms, leading to significant time spent in gathering necessary details for informed decision-making. Coursequery was designed to address this inefficiency by providing a unified interface where students can easily access comprehensive data about courses, instructors, and classroom locations.

Our motivation stemmed from observing the common challenges that students face, such as the difficulty in balancing course loads, navigating campus logistics, and understanding the nuances of course offerings from various perspectives. These challenges often detract from the overall learning experience and can adversely affect academic performance. By creating a centralized hub for all academic information, Coursequery aims to simplify the process of academic planning, allowing students to make choices that are best suited to their educational and personal goals.

By integrating key academic information into a single platform, we aimed to alleviate some of the common frustrations associated with academic planning. Coursequery’s contribution lies in its ability to simplify and enrich students’ daily academic interactions, providing them with a more streamlined and informed approach to managing their courses. Through this initiative, we hope to have made a useful step towards improving the efficiency and effectiveness of academic scheduling and information access for students.

Project Requirements

List highest priority requirements here (top 10)

  • Scheduling Component
    • Enables users to create, edit, and view their academic schedules within the app, allowing for efficient management of class times, locations, and other related details
  • RateMyProfessor Scraper
    • Automatically gathers and displays ratings and reviews of professors from RateMyProfessor.com for professors entered by the user
  • UTA Scraper
    • Extracts relevant information from UTA’s website to provide general background and additional academic content related to the course
  • Reddit Scraper
    • Collects and summarizes sentiments and discussions from Reddit about specific courses offering a broader perspective on user experiences
  • Data Integration
    • Seamlessly combine data from various external sources (RateMyProfessor, Wikipedia, Reddit) to present a unified and comprehensive view of all course-related information
  • Sentiment Analysis
    • Analyzes text from Reddit to gauge the overall sentiment towards a course, helping users understand the collective opinions and experience
  • User Authentication and Authorization
    • Ensures that only registered and authorized users can access their personal schedules and related features, maintaining security and privacy
  • Campus Map
    • Provides an interactive map of the campus that helps students locate their classes
  • Q&A Board
    • A forum where users can ask and answer questions related to courses, professors, and campus life
  • Feedback Portal
    • Allows users to provide feedback on the app’s functionality and their educational experience, facilitating continuous improvement and adaptation based on user input

System Overview

System Diagram

Results

Whole flow:

Functionality:

Throughout its development phase, Coursequery has successfully demonstrated its core functionalities, which are critical to enhancing the academic scheduling experience. Users can efficiently log in or sign up, create their academic schedules, and input class details. Once a class is added, Coursequery’s data scraping feature automatically gathers detailed information about the course from multiple sources, providing valuable insights directly within the application. This integration allows students to access consolidated data about their courses, significantly simplifying the process of gathering course-related information.

Future Work

  • Deployment
  • Extend the range of scraped data to include more comprehensive educational resources, and enhance integration with university systems for seamless data updates
  • Develop a time blocking feature within Coursequery that allows students to allocate specific time slots for classes, study sessions, group meetings, and other academic activities
  • Incorporate artificial intelligence to offer personalized study scheduling and expand academic planning capabilities
  • Develop a dedicated mobile app to provide students with on-the-go access to their schedules, course information, and updates, enhancing the usability of Coursequery

Project Files

Source Code (link)

Project Charter (link)

System Requirements Specification (link)

Architectural Design Specification (link)

Detailed Design Specification (link)

Poster (link)

References

1. M. Open Source, React, https://react.dev/ (accessed Apr. 10, 2024).
2. Strongloop, IBM, and O. Foundation, “4.X API,” Express 4.x – API Reference, https://expressjs.com/en/4x/api.html (accessed Apr. 10, 2024).
3. N. Zhou, “RateMyProfessorAPI,” PyPI, https://pypi.org/project/RateMyProfessorAPI/ (accessed Apr. 20, 2024).
4. MongoDB Documentation, https://www.mongodb.com/docs/ (accessed Apr. 20, 2024).
5. L. Richardson, “Beautiful Soup documentation¶,” Beautiful Soup Documentation – Beautiful Soup 4.12.0 documentation, https://www.crummy.com/software/BeautifulSoup/bs4/doc/ (accessed Apr. 20, 2024).
6. M. S. Sherif, “Momensherif/React-oauth: Google OAuth2 using the new Google Identity Services SDK for react 🚀,” react-oauth, https://github.com/MomenSherif/react-oauth#usegooglelogin-both-implicit–authorization-code-flow (accessed Apr. 20, 2024).

7. “Getting started,” Mongoose v8.3.2: Getting Started, https://mongoosejs.com/docs/ (accessed Apr. 20, 2024).
8. “Getting started,” Getting Started | Axios Docs, https://axios-http.com/docs/intro (accessed Apr. 20, 2024).

bgp5028