Hi Alex
Are you using Completion Tracking?
The way i do this is to set Completion Tracking to Yes in the course settings.
Then edit the settings in each activity and set the completion criteria ie Show activity as complete when conditions are met.
So for a Lesson Activity it must be the student gets to the end.
Then
on the next activity use Restrict access in the activity settings to set a restriction based on criteria which i suggest.
Activity Completion
Click on 'eye' which will hide it till your set condition is met.
from the drop down select your activity that must be completed and the last drop down what must happen.
i know it may seem a bit confusing what i have put but its easy once you get you head around it..
Use these Docs to get the idea
Hope that helps
Gary