What is the difference between a prerequisite and taking content in sequence inside a program?

Programs automatically make the user take the tests and or lessons in the order that they are in.

Adding a prerequisite to a test or lesson means the user has to pass the test/lesson in order to move on. A test or lesson does not need to be nested inside of a program for a prerequisite to apply.