To create your own source from scratch would be very hard. It will take a long time of learning programming and you will need alot experience. Not many can do that. But some can, also here (lol duh?).
As pro4never said it would be a good idea to learn c# and then try mess around with the public sources and trying fix bugs etc.
But you will always get the best, if creating your own things, cuz you know how it works then.
Well, goodluck with it