It's very interesting to reinvent the wheel. Try encountered text-book concept by my hand
Build code in a structured way, in a reuseable way, in a modularized way
Consider as many as exception, from data type, invaild input and etc
Let everything clear and denfinate, good-looking and friendly for search
Test whenever finish something, make each of them as a moddule with update-ability
Coding for mathemetic solutions, such as linear equations and optimize problem