Computer Programming and Numerical Analysis for Materials Modeling