Ongoing Projects


CORGIS Website
Many Introductory Computer Science courses rely on abstract problems, which clashes with students' experiences in a media and data-rich world. By using real data sources, academic problems are contextualized, thereby 
  • increasing students' motivation, 
  • connecting more deeply with students' prior knowledge, and 
  • providing grounded experience in more advanced topics. 
However, there are drawbacks to using these data sources: 
  • periodic instability, 
  • inconstant availability of "useful data",
  • the potential for corrupted data,
  • and many more.
To overcome these challenges, we've created:
  • A set of libraries that make introducing big data trivial,
  • A friendly web gallery of these tools,
  • A useful online tool for quickly prototyping new libraries. 
Developed under Dr. Eli Tilevich, Dr. Cliff Shaffer, and Dr. Dennis Kafura as part of two NSF Grants.


BlockPy is a web-based Python environment that lets you work with blocks, text, or both. Designed for Data Science and equipped with powerful tools like the State Explorer and Guided Feedback, the goal of BlockPy is to let you solve authentic, real-world problems.

Computational Thinking Class

I've helped to teach and develop a new course on "Computational Thinking" at Virginia Tech, emphasizing Abstractions and Algorithms through the use of Data Science. This takes advantage of both BlockPy and CORGIS. We've even been written up in a local newspaper!