Hi Oliver
Programs allow multiple learning paths to be defined - the user enrols in the program and then chooses the learning options to meet the program requirements.
Within courses, activities can have restricted access based on the user meeting defined conditions such as activity grade, meeting audience membership conditions etc.
Hope this helps.
regards