The best way of understanding the markers is probably to see how they're used in the context. Native Korean speakers don't learn them, they just hear and see how they're used in the context.
Some examples:
Joe : 나 숙제 안 했어. I didn't do my homework.
Jane : 난 했어. *I* did it.
Joe didn't do his homework but Jane did. In this case, you can take the topic marker(the final "ㄴ") as a *subtle* "but". If someone always uses 난(or 나는), it could sound a bit arrogant or self-centered because they're saying "But I do(or did) the opposite." or "But I am(or was) the opposite".
Say your friend is going to talk about something and you're going to say something *opposite* to his(or her) comment, you can use the topic marker, for example:
Friend: 나 수학 싫다... I dislike math.
You : 난 수학 좋아. *I* like math.
You could take the 난 as "In my case".
About the marker 이/가, it's an *identifier*. It identifies WHO or WHAT initiated the action(or equivalent) represented by the verb.
Mom : 누가 컵 깨뜨렸어?! Who broke the cup?!
Son : 제가 깨뜨렸어요. I broke it. (It's I who broke it)
Mom : 우와, 이 그림 봐! Wow, see this painting!
Son : 제가 그렸어요! I painted it! (It's I who painted it.)
Kid 1 : 쟤가 나 때렸어! He(or she) hit me!
Kid 2 : 쟤가 먼저 때렸어! He(or she) first hit me!
I'm getting annoyed by English's lack in impersonal pronouns, so I'll stop here. Hope this helps.