'Check if a user has completed a program.
A program is completed if the user has completed all nested courses.
Arguments:
program (dict): Representing the program whose completion to assess.
Returns:
bool, indicating whether the program is complete.'

def _is_program_complete(self, program):

    return (all((self._is_course_complete(course) for course in program['courses'])) and (len(program['courses']) > 0))
