The first part of the conditional activities system is completion tracking.
This has three parts:
1) Letting users to manually indicate that they have completed an activity.
2) Letting activities automatically indicate that a user has completed them (e.g. when a grade is assigned).
3) Providing a way for teachers to view the progress (either kind) of their students.
So this system is a complete feature in its own right. We will also be using the completion information to trigger conditional availability of activities, later.