A programming study and evaluation tool, for students and professors. We won 1st place at 6.470 IAP 2013 – Rookie Division!!


Code

Image

Allows professors in CS classes to gauge their students’ learning by asking short coding questions, and then getting analytics with data visualizations to see how their students are doing.

This project was born out of the 6.470 Web Development competition during the 2013 Independent Activities Period (IAP) at MIT. I decided to register for the competition because it sounded quite exciting. I had never developed a web app or any database driven app before. I wanted to take on backend development just to learn as much as possible.

6.470 had a few ‘focusing topics’ – my partner and I decided to tackle ‘real time education.’ After a day of brainstorming, we roughly decided to take on the idea. We were motivated by our own experiences in programming classes – it was difficult to get quick feedback in class. Many timid students (or those with too much pride to ask a question) would never ask a question, and quickly fall behind. We dreamed up a service that would allow teachers to get quick feedback on their students’ learning in class. Teachers would ask short coding questions, and students would code their solutions on our website. Their code would be run against a series of test cases, and they’d get instant feedback. Teachers would have an analytics dashboard for each class and each question, to see their students performance. They could see visualizations - like pie charts of how many test cases were passed on a particular question – or the code submitted by the students. We’d keep a history of submissions by the student, so he could look back at old solutions as a study tool.

My friends Blake and Will had developed crush.mit.edu using Django the previous semester. I couldn’t participate in that project because I didn’t know python or Django – so I was determined to build this project using it.

Image

Our final presentation was at the W3C offices. Really exciting as a freshman!

I spent the first week of IAP at home. The second week of the competition I spent just learning the essentials of Django, the MVC framework, and how a web app is developed. http://djangobook.com/ is an excellent – and probably the most widely used resource. If you’re an absolute beginner to web development and you have some tenacity, it’s totally doable. I also attended a 3 hour-long lecture/tutorial on Django offered by MIT’s Student Information Processing Board club.

I learned about the full web stack:

• Database schemas

• Presentational logic vs “business logic”

• Templating

• Get vs. Post

• AJAX requests, JSON, MIME types

• Sessions

• External API calls

• jQuery

• Bootstrap

Image

In the end, we submitted to the rookie division, and we won first place! I remember talking to some of the judges afterwards – one even said that many judges even considered Test#Code to be the best submission of the competition, since it solved such a pressing need. Overall, I was incredibly happy – I learned a ton, I got an internship for the summer at Appian, and I can now quickly develop web apps. That’s incredibly useful as an aspiring entrepreneur. It’s actually why I later decided to restart work on PriceMyVet.com

After we presented, Felix Sun (another MIT student) actually forked Test#Code and used it as a platform for HSSP – a summer school/enrichment program. Here’s his fork. I’m pretty happy this project got out there and made an impact!