Without a solid background of the mathematical principles, a person can still
become a reasonable programmer. However, to become effective, professional and
flexible, anyone who is involved in the design, development or maintenance
of computer software and hardware should have a thorough understanding
of the related disciplines in mathematics.