There's a 2nd order problem, where the stake holder doesn't actually know the requirements until they see a sample implemented. "I'll know it when i see it" style. This is often the case, with bespoke software.
If the stakeholder has such a clear vision of their end result, they probably won't need you to help them implement it!
Therefore, in this project you'll be helping a professor from some non-CS department write educational software. You have to balance accessibility with pedagogical accuracy, as guided by someone who doesn't secretly know that some specific algorithm is the magic key to solving the problem.