NC State Student-Professor Duo Create Platform To Teach Computer Science

NC State professor Chris Parnin, left, and Wolfpack PhD student Samim Mirhosseini are the founders of Docable, a platform that makes learning to code easier.

Many advanced computer science classes are still, paradoxically, taught in a rudimentary way in even the most state-of-the-art universities. But while it can be difficult for students to grasp complex concepts through a simple video tutorial or traditional lecture, it’s just as difficult for professors to make computer science lessons interactive because of the infrastructure and time required.  

That is, until Docable. 

Docable—a startup participating in this summer’s Andrews Launch Accelerator at NC State—is an online platform that provides computer science professors with the tools and infrastructure to create and publish interactive learning tutorials. Docable web pages support embedded HTML elements like quizzes, powerpoint slides and videos—as well as terminals, which allows students to write and test their own code instantly in the same Docable browser page. Docable can be used for computer science lessons, technical tutorials, boot camps or coding blogs. 

Docable was founded in 2020 by NC State Computer Science PhD student Samim Mirhosseini and NC State Computer Science professor Chris Parnin. While an undergraduate student, Mirhosseini was a teaching assistant for Parnin for an advanced DevOps class, which is where he saw the need for a platform like Docable first-hand.

For one thing, students must first install “dependencies”—other programs or packages that are necessary for anything else to work—in order to run code, which Mirhosseini noticed was a confusing and time-consuming process for many students that left them little time to actually spend on learning. Another pain point that Mirhosseini noticed was that many assignments required students to switch between multiple environments and terminal windows, which can be hard to keep track of. 

Docable web pages solve both of these challenges by providing a singular space where all of the terminal windows and environments a student needs are together in one place, with instructions connecting everything together. 

“With Docable, they don’t need to worry about setting up their environment,” Mirhosseini said, “so they can immediately start working on the instructions and writing their own code.”

Instructors can easily convert existing text-based tutorials into an interactive Docable web page in less than 10 minutes, Mirhosseini said. They just have to write Docable-specific syntax for the interactive elements they wish to add. 

Docable web pages are written in a common computer science language called Markdown, so projects on platforms like Github that are also written in Markdown are seamlessly transitioned into the Docable pages.

“Instead of giving a completely text-based tutorial to students, they will instead have the same text-based tutorial, but with parts involving some activity like writing some code or creating a file or running some commands in the terminal—those things will be interactive in the same browser window,” Mirhosseini said. “It’s kind of like for classrooms.”

Tested in real classrooms

So far, the Docable platform has been tested in both an introductory-level Java class at NC State in the spring and one in the summer. After a local community college computer science classroom tests the platform this fall, Mirhosseini said they hope to scale to more universities in the spring of 2022.

Students who have used Docable so far said it’s made them feel more confident in their learning, Mirhosseini said, largely because of the instant feedback they get from testing their own code. 

Mirhosseini’s vision is for Docable to make coding not only more engaging for students in the classroom, but more accessible outside of it too. Many coding boot camps, for instance, cost thousands of dollars, while the primary alternative—online video tutorials—can quickly become stale and ineffectual.

“The problem is that companies need people with advanced skills, but in traditional university classrooms, many advanced computer science subjects are difficult to teach,” Mirhosseini said. “That is because of the infrastructure they usually require before learning can happen. Docable helps students and the instructor spend less time and resources to set up the infrastructure and focus on learning, and at the same time have content that is widely accessible, similar to tutorials.”

Long-term, Mirhosseini foresees Docable’s impact going beyond the classroom.

“In addition to being an education tech tool for universities and independent courses,” Mirhosseini said, “I think Docable can be very helpful for things like online technical documentation and helping companies provide interactive documentation for different software that they are building.”