Web Application for Robotics Education

Team 17 CS 426 Senior Project in Computer Science
Spring 2021
University of Nevada, Reno
Computer Science & Engineering Department

Project Description

Our team is currently developing a full stack web application specifically designed for students taking higher education robotics classes. The main goal of this project is to give students convenient access to the open-source OpenAI Gym robotics environments, which are exercises that allow students to develop and test reinforcement learning algorithms. WARE incorporates these robotics environments in a user friendly website, and adds valuable features such as a code editor with syntax highlighting and support for uploading an existing code file. Users are able to view the output of their code with a generated video and shell output after the back-end server compiles the user's code.

In addition, WARE provides a user account management system to manage access to WARE. To use WARE in an educational class, instructors will create their own accounts. Afterwards, instructors can create a class within WARE, which generates a Class ID that can be distributed to students. Students create their own accounts using the Class ID given to them. Instructors can observe and evaluate the progress made by each student in the environments assigned.

WARE is developed with performance and simplicity by utilizing the lightweight Flask server framework and Bootstrap web development libraries. All code compilation is conducted on the back-end server, giving users the capability of using the OpenAI Gym framework without installing it on their own machines. This, combined with the goal of making the website's design fully responsive, allows users to take advantage of WARE using low-power devices such as smartphones and tablets.

Progress

As the semester ends, more features have been added to WARE to make it a full-fledged learning platform. The user account management system has been fully implemented. Two types of accounts are possible: instructors and students. After instructors create an account, they distribute the class ID obtained after creating a class to their students. Students sign up for an account with this class ID. Additionally, a password reset mechanism has been created to assist users in resetting their password if forgotten.

Another major accomplishment for the project team is the creation of the class management system. Instructors can create new classes using the Instructor Portal page, choose which environments they would like to enable, and select due dates for those environments. In addition, instructors can view the code submissions of every student in the class.

People

Student team

Sean Griffith

Herman Hira

Ryan Lunt

Zachery Wiles

Instructors and Advisors

David Feil-Seifer

Instructor, UNR CS 426 Spring 2021

Rui Wu - Advisor

Professor, East Carolina University

Devrin Lee

Instructor, UNR CS 426 Spring 2021

Ben Gallagher - Advisor

Security Analyst, UNR

Project Resources

Technologies, research, and documentation

OpenAI Gym

Open-source API written in Python for solving reinforcement learning algorithms

Blog post: Ingredients for Robotics Research OpenAI Gym Docs

MySQL Documentation

Database system utilized to store robotics environments and users

Read More

Flask Server Documentation

Back end software that receives and distributes content

Read More

Bootstrap Framework Documentation

Front end framework providing the design of the user interface

Read More

Journal Article

Educational programming systems for learning at scale
Qianxiang Wang, Wenxin Li, Tao Xie

Read More

Problem Domain Book

Robotics in STEM Education
Khine, Myint Swe

Read More