Evaluating and Improving Domain-Specific Programming Education: A Case Study with Cal Poly Chemistry Courses