The Knewton Blog

Our monthly newsletter features edtech and product updates, with a healthy dose of fun Knerd news.

What Our Interns Did This Summer

Posted in Knerds on September 20, 2012 by

This summer we were lucky to have a rockstar set of interns on our tech team. Here’s just a quick look at some of what they accomplished this summer:

Andersen Chen worked on models for estimating the way student proficiencies change over time. Most existing methods are focused on point estimates resulting from tests and surveys, so they don’t concern themselves with how students improve over time — but that’s exactly what we’re focused on!  Andersen worked with our data science team, using both simulated data and anonymized data from our courses, to consider student proficiency as a process changing over time.

Anderson recaps his work in a final presentation to the company.

Zack Newman experimented with Finagle, an open-source remote procedure call (RPC) library written by Twitter. He built a simple HTTP/JSON-to-Thrift proxy server using Finagle. He patched our fork of Apache’s Kafka to add hooks so that our systems could respond appropriately to its rebalances. In addition, he worked with the data science team on modeling student proficiency for concepts on which they might not have been explicitly tested. Zack also had some great slides in his final presentation:

“You may think I’ve spent the whole summer eating,” Zack said in his final presentation.

OK, that’s a complicated slide. He’s convinced us — he did do something this summer after all.

Matthew Suozzo worked on adding configuration management extensions and unit tests to the User and Course Admin services, but his main task was an update to Apache’s thrift project. Matthew also added support for the JSON protocol and Union structures to the Python thrift compiler.


Dylan Sherry added system health statistics collectors to the Knewton Recommender System (KRS) using Brightcove’s “diamond” library, and supported instrumentation of KRS via Etsy’s “statsd” library. Dylan also aided the support of new features for Knewton Crab Stacker and considered preliminary steps towards a full-stack dev environment management system, dubbed the Knewton Development Environment. Dylan’s final contribution was to enable diamond to gather information on KRS caches.

Dylan during his final presentation.

Joy Zheng built a web-based data dashboard to quickly aggregate data in a large-scale, distributed, and real-time system for hundreds of thousands of students across the country using Knewtonized courses. The dashboard had to be responsive, smartly display large amounts of data, be searchable and not impact current production services. We solved these problems by using smart optimizations such as threading, lazy caching and lazy display, as well as some efficient in-memory manipulations. From an implementation perspective, the backend for this dashboard interacts with several services deployed in the cloud environment and entailed using Java, JSP’s, Thrift and connecting to services using Cassandra. The front end was built using HTML, CSS and Javascript, and is currently successfully deployed in Production.

Joy during her final presentation.

Tarik Tosun worked on models of student pacing and progress in an adaptive learning environment.  There are several challenges  in modeling this behavior of interest to Knewton, and Tarik, working with the data science team, was able to develop some very intriguing solutions.

Tarik during his final presentation.

If you’re interested in solving interesting world problems, working with exciting data sets, building your professional skills, and learning from the best in the industry, check out our jobs page. We’re always looking for software engineers, data scientists, and other smart people to join our team!