"I thought you would be cooking today" is grammatically fine, but it changes the feeling of the sentence. The best English that's faithful to the meaning of the original German is "I thought you were cooking today." I wasn't sure Duo would get this right (they did), so I went with an answer that I thought they were more likely to accept: "I thought you cook today." That's not the way I'd say it in real life; it's an overly literal translation--and Duo accepted it.
There's no subjunctive option here.
For the verb "cook", either the past progressive ("were cooking") or the conditional progressive ("would be cooking") is okay here in English.
To confirm that "were cooking" is not in the subjunctive, note that "I thought he was cooking today" would be the sentence about a third person, where "was" is in the simple past tense, whereas in the subjunctive it would change to "were". (Together "were/was cooking" is the past progressive.)
The first does make sense by itself though. "I thought." It's not really much of a sentence but it can stand alone. This sentence basically links two ideas that can stand alone and since there's no conjunction like 'dass' you do the word order like it's two separate sentences.
German cares about conjunction more than role of the clause: no subordinating conjunction, no order shift―even if the clause is subordinated. Also, while the present "cook" in English is out of place, in German the present is completely natural, unless the cooking had to be done by now, in which case the subjunctive would be used: "ich dachte, du würdest heute kochen" ("I thought you had cooked today", the implication is you haven't actually cooked, at least not yet).
yes, "I thought you are cooking today" is what's called tense confusion. In English, the verb tenses should agree with each other, so if one verb is conjugated in the past, the other verbs in the sentence should as well. There are exceptions (obviously, because English is just a pile of exceptions), but in this case, this is definitely an inaccurate translation.
I agree with lieryan about tense confusion. If you're working in a restaurant and your jobs rotate through different tasks, I would say I thought you cook today. (I thought it's your turn to cook today). I can't think of another context where I wouldn't say I thought you were cooking today, though.
the reason for the similarity of tenses here ("I thought" + "you were") is a past perfect construction, here applicable because of the conditional nature of the action in the sentence. it's not definite that you ARE cooking (implied by the "I thought"). point being, because the cooking either hasn't happened yet or didn't happen at all (again, as implied by "I thought"), the proper verb match is "were". By contrast, if you wanted to use "you are," then that changes the tense out of the past perfect: "I think you are cooking today."
You can always ‘get away’ with using a comma (unless that generates too much ambiguity, but I can't think of a situation where this could happen), as long as you remember that using ‘dass’ requires Nebensatz syntax (i.e. verb-last order), while using the simple comma requires Hauptsatz syntax (i.e. verb-second order). For example, translating this question both ways:
‘ich dachte, du kochst heute’ (‘kochst’ in second position, right after the subject ‘du’);
‘ich dachte, dass du heute kochst’ (‘kochst’ in last position).
Punctuation in German or English often doesn't translate or transfer to the other language. Also, be advised that in checking translations Duolingo ignores punctuation. Of course, for your own benefit you should endeavor to punctuate correctly. :-)
The best translation here is Duo's featured translation: I thought you were cooking today. And the main point here is that German mixes past tense dachte with present tense kochst, while English usually doesn't; hence past thought and past progressive were cooking.
I also translated it as "I thought you were cooking today" because I would not switch to the present tense in English, but given my experience with Duo for direct translation over natural language in both languages, I wrote my response in the present. I expected it to be okay in German, but if this were not a language-instructional program, I would translate it into natural English.