Depends on the GUI, if you really have to do nice and fast graphical displays I would recommend C#, you can use Visual Studio.
But I have to warn you, the learning curve can be steep, esp. if you have to do fancy stuff and you have to know the target OS (platform).
I am currently finding this out and I only have to do some buttons and text and comboboxes, still it is another language which is quite different from ansi C as I am 90% doing and it needs a different kind of thinking (more OO, classes, seperation of the GUI parts from the calculations etc.).
You also probably need stackoverflow.com (as F1 HELP site) to find out how to do things
VB is kinda old (will not say obsolete but for new students I would not recommend it), C++ is now being replaced with C# so better go that way. Java also good candidate if you have to build web based stuff, which is platform independent but the html won't let you give the nice GUI experience as a real platform program would.
So it depends on your assignment. IT is so wide and big you can not do it all, you have to choose.
If I would have to do such projects I would still team up with a senior C# programmer, split the project in two, let him do the GUI and take care of the electronics and embedded stuff myself, they are two different worlds.