Your question is Task Scheduling With Dependencies. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Given a list of project tasks with dependencies, determine a valid execution order or report that no valid order exists.