Tucked inside one of Coursera's 1,500 online classes, there's a multiple choice quiz that's not like the others.
Instead of just asking questions and expecting answers, each challenge includes a text box with a "Run" button next to it. Here, you're expected to enter the appropriate code in the SQL programming language, so you can grab the database information you need to make the correct choice.
Essentially, Coursera has condensed an entire coding environment into a series of boxes on a web page. The hope is that computer science and data science classes will become much more interactive, with the ability to play with your own code in the middle of a reading assignment, video lecture, or quiz.
"We want to help learners learn by doing," says Tom Willerer, Coursera's chief product officer. "We want people to apply and practice what they're learning in the readings and the lectures, not just sit passively."
In-browser coding is not a novel concept, and Coursera is hardly the first educational resource to take advantage. Other services such as Code Academy, Treehouse, and Khan Academy also allow users to write and run their own code on a web page as part of their lessons.
Coursera says its offering is different because the lessons aren't created in-house. Instead, the company has built what it describes as a platform for its university instructors to build programming challenges on their own.
"We'll have a thousand flowers blooming out of this, and we can't really control it, so we need to be able to build a powerful engine to let all of our instructors plug into this in the different ways that they want to," Willerer says.
In a demo, Coursera showed how an instructor might scatter interactive coding boxes throughout a single page of reading material. The company says teachers can also insert coding pop-ups into their video lectures. In the background, Coursera uses page prediction to start loading each coding environment before the user gets to it. That could help as Coursera adds slow-loading languages such as Apache Spark.
As for language support, Coursera is starting off with Python, SQL, and Scala, but the company says it can add a new programming language in as little as a day or two. That's because the interface for instructors and students is already set up. Coursera just has to add the necessary interpreters, compilers, and error handling for each language it wants to include, along with a way for teachers to select that language as they create their coding blocks.
"We want to enable teachers to be able to come in and plug into a sophisticated engine to teach whatever language at whatever complexity they want to teach," Willerer says.
Over time, Coursera imagines it'll be able to use the data that students are entering into those programming fields to personalize the learning process for students and give better feedback to instructors.
"If people are struggling with certain aspects, you can actually give them remedial content," says Christine Wong, Coursera's product manager. "That's one way, but also that data gets back to instructors so that they can . . . use that to inform updates or new content, etc."
Although computer science and data science are Coursera's "sweet spots" according to Willerer, the company believes its new platform might eventually have applications beyond programming.
One example: Coursera could add a grammar-parsing tool for human languages to help people master concepts like business English. "We've got a lot of language-learning courses on our platform, and you could imagine those becoming more interactive, just like the code is, when you have to write something," Willerer says.
The system may not even be limited to languages in the future. It could also be applied to fields like photography and user interface design, with algorithms that recognize proper placement of an image.
There's no timeframe for those developments, but Willerer says the company is holding a "make-a-thon" next week, where employees can work on passion projects. He's hoping some engineers will start to experiment with the platform and come up with some novel uses.
In the meantime, Coursera is offering a handful of courses with the new programming tools, and hopes to have several hundred available over the next year.