Of course it is literal, Duolingo isn't here for you to learn how to say "Day old bread" in Italian, but to TEACH you italian. They ask you a literal translation because they want to check if you understand the structure of the sentence.
Even more importantly this sentence is in "Time" skills, so they are trying to teach you how to say "Yesterday" not that the bread is a day old.
I'm a native Italian speaker and that sounds totally fine to me. I found this link (in Italian):
Paragraph 3. Articolo zero: it says that you can omit the partitive article when the noun is after the verb. So you can say "è pane di ieri" but not "pane è di ieri". In that case you need the article: "il pane è di ieri".
Now, I know that "il" is not a partitive article, that would be "del". So if you say "è pane di ieri" you are grammatically closer to "è del pane di ieri", but the difference in meaning is so little that they are used interchangeably.
In this case, "di" is indicating possession. This is why when you say "il libro di Maria", it means "Maria's book", not "the book of Maria". Hope this helps: http://italian.about.com/library/fare/blfare157a.htm
Because "it is the yesterday's bread" is not good English.
Italian often uses the definite article (il/la/lo/etc) in situations where English would leave it out. Part of learning a second language is learning these kind of differences and recognising that you often can't just translate completely literally if you want to speak good English or Italian. Yes, I realise that makes it harder to learn.