11 months ago

UnIversity student data collection powered by Pi

Overhauling internal computer systems can be hard, especially in places where the systems are vital. In the case of Michigan Tech ELC, replacing a proprietary data collection system – used by students – with Raspberry Pi is looking to be not only cost-effective, but also an upgrade over an existing system, as Aneet Narendranath explains to us.

Can you tell us about your Pi data collection system?

At Michigan Tech as part of my responsibilities, I manage and direct the operations of the Engineering Learning Center (ELC). The ELC is an in-house tutoring resource that helps engineering students with concepts and concept applications for engineering problems that they encounter in homework assignments. The tutors in the ELC, who have the title ‘coach’, are students themselves. At the ELC, we use peer-to-peer instruction as a method of teaching and learning. The purpose of the ELC is to allow engineering problem resolution through concept discussion amongst peers.

At the ELC, I work with a certain yearly budget. The budget and the staffing of the ELC with coaches are coupled strongly. To ensure that we optimise our monetary resources through effective staffing, whilst ensuring that students receive help when they need it, is a (multidimensional mathematical) challenge. To perform this optimisation, we need (or needed) to collect ELC usage data to visualise what courses, hours of the day, and days of the week the ELC is used the most by students. By collecting data over several semesters, we found patterns in ELC usage and that allowed us to make staffing decisions, thereby helping us balance our budget while assisting students.

We have a proprietary ‘Learning Center Management System’ that we use currently. We are planning on replacing it with a Raspberry Pi-based (prototype) data collection alternative. In this Raspberry Pi system, data can be collected through an interface written in Bash and then analysed through Python and Octave scripts. This Raspberry Pi alternative is in its alpha version. The beta version will be deployed shortly.

How did the idea come about?

Our previous method of data collection, which was proprietary although effective, was not flexible and could not be automated for ELC-specific usage. This and its cost had us review other options. I have personally used the Raspberry Pi to keep track of my house when I am away on vacation (like an IoT device). Given that I had already used it extensively at home and am fairly comfortable with the Pi and Linux Bash and Python scripting, I thought, why not write some code that is deployed on the Raspberry Pi and would help understand ELC usage? It would collect student data through an interface and churn out reports in automated fashion, in a form and shape as decided by the needs of the ELC.

Here’s the data flow of the system that Aneet has successfully tested

Why the Raspberry Pi?

It is inexpensive but is still robust. For example, I have left my Raspberry Pi on, running this data collection code for 90 days with no issues. It allows for all the flexibility and power of a Linux computer, seeing as I run Raspbian.

What hardware and software are you using?

I have several Raspberry Pi Zero Ws running Raspbian/Jessie or Lite. I also have a few Raspberry Pi 3Bs in the system. The data collection software is a Bash script. The data analysis and post-processing program was written in Python (with NumPy, Matplotlib, and Pandas) and Octave.

Have you had any interest from other universities?

No, this is a project that is internal to our mechanical engineering department for now. There has been some interest from other departments on-campus at my university.

Do you have any online resources for people who might want to build their own?

All of what I have is ‘software based’. I will eventually have a Git page dedicated to this project that others can fork from.

The use of data-science tools to make staffing and optimisation decisions for our Learning Center is a relatively new venture. We hope to understand our Learning Center’s usage better and be better prepared to help students. Learning Center staffing is a complex multidimensional problem, much like a complex ‘job shop scheduling’ problem. It is neat that we have an internally developed Raspberry Pi-based interface to collect and analyse data in an automated manner. The robust nature of the Pi, its flexibility and automation, and its cost are some of the main reasons that this is being deployed at our ELC.