Thank you Lelouch, or would you like to be called Zero?, for the recommendations. Anyways it turned out that my class is for C# so I'm going Mono along with Monodevelop.
Good luck. Personally, though I did not take a class, I found C# to be to controlling to be considered a programing language. You have to do garbage collection their way. I prefer programming to be the most opening experience possible - even if that means wiping your hard drive or causing a memory leak.
Since it's my first programming language I have no issue with the language taking out the garbage and preventing memory leaks by it self. But I guess it is as with Linux. You start out with Ubuntu and Fedora and then as you learn more you may choose to go deeper int Arch or Gentoo.