Do you have any suggestions for teaching Hamlet (or Shakespeare in general) to ESL/EFL students?
Interestingly, throughout early history in second language pedagogy poetry was used far more frequently than prose. Students in the far-flung Roman Empire, learning Greek and Latin as second and third languages would normally read Homer and Virgil. In Priscian's commentary on Virgil's Aeneid, we can see why this was the case and the pedagogies used.
In poetry, such as that of Shakespeare, pronunciation is overdetermined by the presence of meter. Thus if you have students scan each line of poetry and then read it aloud, as well as learning the poetic text, they are refining their sense of English accentuation and pronunciation.
Next, like Priscian, you can use the linguistic complexity of Shakespeare as grounds for having students grammatically parse lines, define exotic words, and identify figures of thought and speech, something that will teach them a great deal about style.