Attending a English study abroad program for several months, is the best way to get fluent in a language. You can stay for a term or a complete year abroad (Gap Year). This is a unique opportunity to really get to know another culture. You will make friends with native speakers and live the life of a local.
If you are interested in studying in South Africa after the course also have a look at our academic preparation courses in South Africa.