A few years after I learned German, I got the chance to learn French. That experience gave me lots of ideas for why our teaching of many subjects, especially science and mathematics, is so unsuccessful---and for how we can improve our learning.
I studied French in school for five years. However, when I went to France after college, I could barely buy a train ticket. The impetus to try again came a few years later, in the summer of 1993. Our whole family was going to spend two months in Lyon while my father took a sabbatical. The rest of us enrolled in a four-week language course at the Alliance Française.
While still in America, to get more benefit from the language course, I started relearning French. On the recommendation of a friend who is a linguist and mathematician, I got the self-study French course made by Assimil entitled Le Nouveau Français sans Peine (New French With Ease). (Many other self-study courses should also work well. I have not tried them, so I do not have the knowledge to draw out lessons for learning other subjects, which is my main interest here. But to learn about language programs, I recommend the excellent "How to learn any language" site.)
I did one French lesson daily starting from Lesson 1. I read a short, idiomatic dialogue out loud using the pronunciation key, then listened to it on the tape, repeating it sentence by sentence. The lesson finished with 2 minutes of fill-in-the-word exercises using the vocabulary from the dialogue. Each lesson took about 30 minutes. After three months of this preparation, when I landed in France I could converse with random French people on the train.