Here are some links that cover the basics of self-programming. DIY – Beginners, a collection of links to get you started