In this step-by-step tutorial, we’ll dive into how you can become the next open source contributor to the GitHub Classroom CLI, building commands that you can use to improve your workflow as an educator!
Jay Taslim Dosunmu, a computer science student at Perimeter College, Georgia State University, has landed gigs at Stanley Black & Decker, SurveyMonkey, and Georgia Tech.
In 2017, Jay served as tutor for students learning computer science at his school. He wondered to himself, “How can we make online tutoring more efficient, and work for everyone?”
He spent his Thanksgiving break building what would become the Athena Learning Platform. What started as an email system for tutoring sessions, evolved into a platform for students to request tutoring and submit feedback on the process.
Jay had access to premium developer tools through the GitHub Student Developer Pack, which he used to implement his idea. In this post, Jay tells the story of how he made Athena, and how it eventually led to his summer internships.
Jay says, “My goal was to create a student-centered platform to bridge the gaps between the different learning environments in a school. I found that the students experienced three different contexts, but that information didn’t move between them at all.”
The three different contexts he describes are:
- Classroom settings where an instructor provides information and assesses students’ performance
- Tutoring centers in which qualified people help students understand the material given by an instructor
- Student circles where students work together to learn
“Academic performance would improve if teachers could effortlessly see where students are struggling, and if teachers, students, and tutors could all seamlessly get involved with the learning process together. I wanted to help students move away from just passing a test, and more towards a life-long process of constant learning.”
Athena works by asking students to sign up, ask questions, or open up a discussion that tutors, teachers, and other students can take part in.
After students submit tutoring requests by filling in some information—the course, their professor, and how they want to receive tutoring help, whether by discussion posts or by face-to-almost-face video tutoring—tutors are notified. From there, tutors and other users on Athena can respond and help.
From there, mentors have the ability to view reports on the interactions happening on the platform. This feature helped my Perimeter College tutoring team generate monthly reports in a few seconds rather than several days, and the insight we gained from the reports was more robust.
Figures 1-3: Students can post an image of where they need help, and tutors can respond via their dashboard.
Jay says, “It’s amazing to think how Athena has grown from a side project to software that hundreds of Perimeter College students use each semester. I presented on Athena twice at the Georgia Tutoring Association conference and during semester prep sessions for my school’s tutoring center. I’ve received overwhelmingly positive feedback on Athena after every presentation. It’s very humbling.”
Jay walks through how he built Athena with tools from the Pack:
- Athena uses SendGrid to send emails to users. Django-sendgrid-v5 makes this pretty straightforward.
- I set up a static and media server supported by AWS Simple Storage Service (S3). The credits I got from the AWS Educate offering in the Student Developer Pack are still enough to cover the costs I’ve had so far.
- Most recently, I added Travis CI to Athena’s continuous integration workflow to properly test code changes before making them live.
“The application uses Docker to containerize, or capture, the architectural dependencies of the project to build and run Athena on any computer, allowing the development and production environments to mirror each other,” he says. “I am working on building a ReactJS frontend supported by a REST API. Soon I will ship an improved analytics system to incorporate cutting-edge data science methods.”
The Student Developer Pack made it easy for Jay to start experimenting with industry-standard tools while working on projects.
“I found that as I progress through my academic and professional career, the Student Developer Pack is growing with me. After learning about analytics during my data science internship, I feel more comfortable using the analytics tools. And now, having learned about continuous integration and continuous deployment during my co-op at Georgia Tech Research Institute, I feel confident in using TravisCI.”
He has taken that knowledge with him to work; Jay completed his spring Co-op with Georgia Tech’s Research Institute, and is currently a Summer Machine Learning Intern at SurveyMonkey.