...
If the Program Completion setting is set to "Any order", users will be enrolled in all courses immediately and can complete them in any sequence they choose. However, if it is set to "Specific order", users will only be enrolled in the first course on the list. Once they complete it, the system will automatically enroll them in the next course in the sequence.
It's important to note that if a program is initially set to "Specific order" and you later change it to "Any order", all enrolled users will be registered in all courses upon saving the program. However, the reverse is not true—if users are already enrolled in all courses and you switch to "Specific order", they will not be unenrolled. This change will only apply to users who are added to the program after the update.
As such, when the system is upgraded and this feature is enabled on old programs, the enforcment of pre-requisites will only apply to users registered in the program after the change is made. If you want to enforce an order on existing users, the recommendation is to duplicate the program, set your rules completely, register the users in the new programs and then delete the old program.
For a program to be marked as complete, all included courses must have defined completion criteria. If a course is misconfigured and does not issue a learning record, the program will never be marked as completed.