How does a self-paced program work?