1) Seems like two (sub)threshold efforts and one 3 k time trial. I would expect close to 5 k pace at this last one, so ~ 16:15 might be possible. Don't give much attention to the 'hilly' aspect, if it is not mainly uphill, it could have even helped him - as another poster mentioned before.
2) The 400s at a pace I would expect from someone around 16, however, it doesn't mean much because you can fake your way through it with basic speed and lactic acid tolerance. Funny that nobody noticed you gave 10 splits for 8x400 :-).
The 200s seem even slow to me as a former middle distance runner. Sub 30 was bread and butter even at 16-18 yo and could have been more like 27-28 and the ocassional 25-26 for the last one (not related to 5 k, I know, which just proves my point that it is not relevant).
3) Struggling after a first mile just at 5 k pace is a big no go. How should he be able to string more than three of these together with no rest inbetween, then? Let's hope it was just an off-day. Otherwise even < 16:30 might be at risk.
So in the end no real indication of sub 16 but 16:15-30 is realistic and please report back and prove us wrong.