I think "assunto" and "tema" are similar and in english is "subject". I use "tema" in a context like "Qual o tema da aula/palestra"? (what is the subject of the lesson/lecture?), or Qual o assunto da reunião? (what is the subject of the meeting?). This two words are synonyms but i use "tema" for contexts like lectures, lessons and "assunto" for other things ( I don't know why, but it sounds better for me). I think "tópico" is a subdvision of a subject. For example You can watch a lesson that the subject (tema) is politic. There are two topics in this lesson. 1-Left politicians 2 Right politician.