Not only is it possible to develop modules without touching the DotNetNuke source code, it is the recommended approach. Due in large part to difficulties in upgrading a DNN site on which the source code of the framework has been modified, such modifications should only be made when no other approach is possible.
I generally develop modules against the install package of the DNN framework for what ever the module's minimum required version will be. Sometimes, when working closely with the DNN API's I will keep a second instance of Visual Studio open to a source package installation of the framework to help me find the appropriate class or method or determine what is expected for the parameters of the method call.
As for module development resources I would recommend:
1. Purchase a good book which focuses on DNN 5 extension development.
2. Look at on-line tutorials such as those on Michael Washington's site:
http://www.adefwebserver.com/DotNetNu...
3. Download and study the source code of the "core" DotNetNuke modules - particularly the more recently updated ones. Souce packages of each module as well as code changesets of many modules are available on the module projects CodePlex site. For example, the DNN Form and List module is available at
http://dnnfnl.codeplex.com
4. Look through the DNN Forge for extension projects similar to those you would like to create then download their source code from CodePlex.