Translation:I think John will come to school today.
A more accurate way of saying that would be "ジョンは今日学校に来ようと思っています"
You can use the short volitional form (stem+ou) plus と思います to make the phrase "thinking of doing VERB".
After that, TE-form plus います makes a verb into its present progressive form (-ing in English).
Small correction. It would become ジョンは今日学校に行こうと思っています.
Go/come in Japanese are always from the perspective of the speaker. Since John is not at school, he would think to himself "I will go to school (行く)" not "I will come to school (来る)".
If you read the other comments, like the one directly below this (by DeedleFake) you'd see it's already been answered, but here's a recap:
ジョンは今日学校に行こうと思っています。Note that "coming" is replaced with "going" as it's something that John is thinking. In Japanese, movement is expressed from the perspective of whoever's moving, not the destination.
In general, yes. But if you want to get closer to "is going to" you could say:
"VERB tokoro" means someone is about to do the verb.
This is incorrect. "Wa" marks John as the topic of discourse, rather than as the subject of a verb ("ga" often marks the subject). In general you can translate "wa" as "as for...".
So to translate this sentence super literally: "As for John, (I) think (he) will come to school today." The omitted pronouns are left to the participant in the conversation to get from context.
The subject (ga) and topic (wa) do not have to refer to the same person/thing.
It's not exactly polite, but you can omit titles like "-san" (Mr./Ms.) and just use the person's name. You might hear this when a person is in a rather familiar relationship with you, like a parent to a child or a very close friend.
Here と is the "quote" particle; it indicates the thing being done/said/thought. --> ジョンは今日学校に来る と 思います。= I think [that] John will come to school today.
As for だと: any verb or adjective that precedes と must be in the informal (unconjugated) form. That means whenever a clause ends in the auxiliary verb "to be", the です of neutral polite speech becomes だ.
E.g. おもしろいです。 ＝ It is amusing/interesting.
おもしろいだといいました。＝ (s)he said [that] it's amusing.