Today, students use a variety of different portals for submitting assignments online and discussing with classmates. Some are not mobile friendly, some are not helpful to teachers either. We wondered if it was possible to create a two-pronged solution that can satisfy all these requirements. Could we make a platform that could make it easier for students to discuss and make the assignment submission process easier?

What it does

CourseLoop is a 2 part system that consists of a mobile and web component. The Mobile app is designed more for chatting with classmates and coordinating group study. The web app is geared towards a classroom experience in which students can submit assignments and view their grades. However, both use a common database, and all the information for each and every user is retained across both platforms. Specialities

  • Assignments are auto graded using NLP
  • Teachers can monitor student (anonymized) progress and rapidly generate assignments.
  • Students can add themselves to classes instead of fishing for links across piazza/email/compass
  • Each student has his or her own UID and password
  • Every student's data is properly stored in the database.

Mobile App

  • Students can chat with one another
  • Students can create small study groups and invite others
  • Professors can create events and students will be automatically notified
  • Students are automatically added to classes based on what their schedule is.

Web App

  • Assignment submission that auto grades responses using NLP
  • Teachers can rapidly generate assignments and view students progress
  • Assignments can be picture based or text based. NLP works either way.

How we built it

We built this app using flutter and react. For the mobile app, we used an existing open-source project and developed on top of it to fit our project needs. We added several functionalities such as being able to add oneself to a class and creating channels within a class-group for the mobile app. For the web app, we heavily relied on a home-brewed API that communicates with a non-relational Firebase Database. Due to this, our front end was very lightweight and made API calls to populate the pages and conduct submissions and grading.

For our Web App, we broke the development into 3 main categories.

Student Dashboard:

For the Web App of CourseLoop, our group developed a few key features. After a user registers for the first time or provides correct login information, they are directed to the main dashboard page. Our dashboard page will reveal links that allow the user to add themselves to new sections, view their grades in their currently enrolled sections, and understand their grade in the context of the overall class performance. In addition to these features, the user will also be able to see any assignments they have submitted and upcoming assignments which are posted from the TA platform. The dashboard also allows students to submit their responses to pending assignments.

TA/Educator Dashboard:

From the perspective of TAs and professors, CourseLoop allows for quick assignment generation and allows educators to establish a grading guideline, which is powered by keywords and exact phrases that they are looking for in a submission. The TAs and professors are also able to view all students’ submissions, which serves as a solid bookmark for their own record-keeping purposes.

With a simple click, educators can create an assignment that needs to be completed along with its grading rubric, something that is extremely valuable as the world tends towards online education. As a result, our assignment creation functionality would be extremely scalable, as it allows a large number of students and professors to streamline the traditional grading process.


Apart from these features, our group believes that the auto-grading mechanism we have set up will tremendously improve the grading feedback process, especially in a time where online education is paramount. The idea behind the process is simple: a student answers an FRQ (submitted as an image) or Short Response/Worksheet question, and is instantly provided an accurate score. The score generation is developed primarily through the usage of NLP and picking up keywords in the provided answer that match the key words specified by the TA during the initial assignment creation process.

Challenges we ran into

We ran into debugging issues when using Flutter since it is a newer technology and has less support. Additionally, because each of us was in a different timezone, we found it especially difficult to coordinate. While building the Web App as a group, we mainly faced challenges while building our auto-grading algorithm using NLP and integrating with the Firebase database. We also grappled with the ‘Add Course' feature, and preserving user state after a newly existing course was added to their current course load.

Accomplishments that we're proud of

We are proud of the fact that we were effectively and successfully able to integrate a web app and mobile app together with complementary functionalities in less than a week. We are also proud of the fact that on top of a very complete backend, we were able to add a nice UI to the app. We are very proud of building a tremendous API that could dynamically provide us with user and course data on demand.

What's next for CourseLoop

  • Improve the Frontend on the website
  • Improve the NLP algorithm to in-turn improve auto-grading
  • Support calling and video-calling in the mobile app
  • Enter scores in a secure channel for students to understand what percentile of a class they rank in as most classes do not reveal grade distributions throughout their course year.
+ 20 more
Share this project: