Good online dictionaries:
Beolingus also has a vocabulary data bank function. You can store the words you look up in lists and groups and then learn them through online flash cards or pair matching. I personally find this a very effective way to learn new vocabulary and keep previous vocabulary organised.
Google translate is not good enough for you to translate a text and hand it in for home work (trust me!). However, it is brilliant for translating German - English when you want to get a good basic understanding of a text you find hard to comprehend. Once you have this basic understanding, it becomes much easier to read the piece in context and understand it fully.
Google search in any language using English:
Use this tool to type your search term in (e.g) English and select what language you want it to search in for you.