Hi George:
The M in Moodle is for modular, so it is designed to be extensible.
You can make new assignment types for the assignment module. I have done it. But you might be better off both from your learning standpoint to patch the code for your needs initially, rather than making a new type.
Another good way of learning is to make a "block". There is a pretty good tutorial in docs.moodle.org, and you can often make something useful pretty easily.
But expect a bit of a learning curve, both to learn the Moodle environment, and to learn all the PHP you need. That is why I encourage you to patch for a while before starting to build whole modules.
Good luck!