I look at a problem, and I think in a very high level how I would implement it in some of the languages that I know. Say for example I knew that it would take me twice as much code to implement a dialog box in MFC/C++ as it would to implement it in C#, and that my Java was a bit rusty. I would elect to program it in C#.
However, since you are a student you may want to pick a language that you're not THAT familiar with and implement the project in that language. My reasoning for that was that I came in to college knowing C++ very well. It doesn't do me much good to implement something in C++ that I know I can do. However, implementing it in C# in which I wasn't very familiar would allow me to gain more knowledge from the program than I would have gotten otherwise. Keep this concept through your years in school, and you'll end up knowing a lot more.
So basically your choices come down to whether you want to code it in the easiest language you know, or if you want to code it in a language you want to learn. There are different advantages to each decision.