The following videos cover project units. Click here if you have authored a Codio book and want to publish a unit from a part it.

Video - General overview

The following video gives an overview on why you might want to use a course rather than projects. It also explains how to create a course and assign it to a class.

Video - Ownership and visibility

Please watch the following video to understand how to allow people to find your course and modules and also to administer, edit and assign them to classes of student.

You can also read how to control access in the documentation.

Video - Working with stacks in courses

The following video covers the important topic of stack management within a course. Here are some documentation links.

Updating courses and collaboration

If you want to allow other teachers in your organization to modify your course structure and unit content then it is important to understand how Codio manages this. Please refer to Collaborating on project units for details.


The most basic way to assign content to students is to create a project and then assign the project to the class. Over time, you may end up with a lot of projects in your project list. Each time you come to teach your course, you will find it harder and harder to locate the right project when you need it.

As a result, you should be familiar with the functionality offered by courses, described below, and books.

A course is a very elegant way of managing and organizing your projects. A course has a very simple hierarchy.

  • Course: the course is the top level and contains modules.
  • Module: a module is simply a container for your main project units. If you have 50 project units in your course then you might want to put collections of units into distinct, suitably named modules.
  • Unit: a unit is a Codio project that is some unit of teaching. It is entirely up to you how much material is covered by a unit. Approaches include putting about a week, a lesson or a lecture’s worth of material into a single unit.

A course unit typically takes one of two forms.

  • Tutorial: in this case you would use the Codio Guides or Codio Books tutorial authoring tools to create your tutorial content. Click here for an overview of the difference.
  • Assignment: in this case you create a project unit where everything is set up for the student to tackle a coding assignment or challenge. You can still use guides or books to give instructions, but with assignments, you expect your students will be coding rather than learning.

The above two cases are not fixed concepts in Codio but are typical use cases. You can do whatever you like with a project unit.