Active Learning Experiences with Code Executable Blocks

By Christine Wong

We are working on a number of exciting innovations at Coursera to better enable our university and industry partners to build rich learning experiences that help learners achieve their goals. Last week, we began a small but exciting pilot for one of these projects: Code Executable Blocks.

Code Executable Blocks (as covered by FastCompany) are snippets of code that instructors can provide for learners to modify and execute. They enable instructors who teach programming skills and concepts to build active learning experiences that allow learners to apply and safely experiment with what they have been taught. As part of the pilot, instructors can add these interactive code blocks to readings, videos and quizzes. Here is an example of how University of Colorado Boulder used them in their new course, Introduction to Data Analytics for Business:

This is just the beginning as we plan to make this interactive content feature available for more learning activities in the future. With the Code Executable Blocks project, the Learning Experience team at Coursera is working towards two goals:

  • Provide learners with the best learning experience to develop competencies
  • Allow partners to deeply extend our platform

Providing the best learning experience

Learning is a high effort activity so one key aspect of building a high-quality learning experience is the removal of unnecessary friction for the learner. Challenging learners is an essential part of a rewarding learning experience but the level of difficulty should be appropriate for the stage that a learner is in. With these points in mind, we built Code Executable Blocks to address a big obstacle that learners need to overcome when trying to complete programming courses: setting up a software development environment.

When we looked at the completion data for our programming courses and conducted user research, we found a common pattern of learning progress being stalled by problems with computer and development environment setup. Learners taking these courses at an introductory level were especially impacted. Code Executable Blocks enable these learners to write, submit and debug code directly within Coursera; no installation required. Our hope is that by removing the barrier of setting up a development environment, learners will be motivated to quickly jump in and make progress with frequent opportunities to practise the skills they are trying to learn. And once such a learner has completed their first programming course, we hope the achievement will give them the motivation and confidence to tackle the challenges of setting up a development environment in future courses.

Allowing partners to deeply extend our platform

At Coursera, we don’t create content. Instead, we partner with leading experts from universities and organizations, and enable them to build learning experiences that are hosted on our platform. This means that we need to provide instructors with a set of tools that are extensive and flexible enough to cover a wide spectrum of instructional content and methods. Thus, allowing instructors to extend our core platform is one of the key strengths we must flex in the learning experience projects we launch.

When we consider courses with programming content, there are a lot of instructional use cases that we would want to support. For example, what if an instructor wants their learners to interact with a dataset using SQLite? What if an instructor needs graphical output? What if an instructor wants to integrate this with an in-video quiz, an exam, or just in a separate practice worksheet? We can’t possibly predict all of the use cases that will come up in the thousands of courses that we want to host — but we can build a general system that will work for nearly all the courses on our platform today, and those to come in the future. With Code Executable Blocks, we provide our instructors with a way to extend the capabilities of our platform by embedding a development environment of their own design and choosing as a code editor throughout the course experience. By allowing instructors the flexibility to extend our platform in this way, we empower them to build effective and engaging learning experiences for programming courses that go beyond what we could imagine or create on our own.

The Code Executable Blocks feature will be live in several courses in the upcoming weeks, starting with: — Introduction to Data Analytics for Business from University of Colorado Boulder (open now) — Introduction to Data Science in Python from University of Michigan (coming in October)

Over the next few months, we will be working with instructors to roll this out in more courses. In the meantime, if you’re curious about the technologies that power this feature, learn more on our tech blog.

Originally published at on September 30, 2016.