OldCastle is asking questions, which Jeff Zeitlin is attempting to answer. OldCastle’s questions are larger, and bold, while Jeff’s answers are in normal text.
How can I separate the student’s questions from the teacher’s answers?
Since, presumably, the answer will be an explanation, rather than a short sentence, you could format the question as a header, and leave the explanatory answer in normal text. You don't need to call out the one as question and the other as answer, because it will be obvious.
Does this break the paradigm I want to establish, of it being a dialogue between the student and the teacher?
I don’t believe so; you can always explain the convention in an introduction. Since each question is presumably a new topic, it’s not unreasonable for each question to start a new section in the book.
Is it really going to be one question per topic?
Only you, the author, can answer that for sure. But it seems reasonable to assume it, initially.
But what if it's not?
In that case, subsequent questions on the same topic can use the next heading size down (I did this one two sizes down, only because of the formatting that SE uses as the default for interpreting MarkDown).
I don’t understand. It doesn’t look like a dialogue.
It won’t, because we’re used to dialogues looking like Q: Natter?
A: Grommish. But it’s still a dialogue, because you’re presenting it as alternating questions and answers, and wording both as though they were people talking.