In my experience it is very important that English as a Foreign Language is taught in a relaxed way. It takes quite a few lessons to move up a level, but a student can accelerate his or her learning by learning topics in depth.
Some examples: you could watch a DVD with subtitles and do this a few times. Then watch the same film without subtitles. If the film is based on a book: read the book as well. That way you learn a lot of words in a very short time; you hear the pronunciation and you will understand the text through the acting in the film!
The other important issue, in my experience, are the idioms, colloquialisms and phrasal verbs in English. If at all possible, get to grips with these, because these help you to understand the spoken and written word.
Add to these: using the English language as much as you can; watch English t.v. programmes and read (newspapers, magazines, children's books or simple adult books - depending on your level)! I would advise you to choose books which you can read with ease in order to get both comprehension and pleasure from your reading. It is important to feel comfortable and confident when speaking and making mistakes is not important because as you get more experience speaking English, the mistakes will gradually disappear!!