This course emphasizes the principles of programming digital computers in a higher-level language as applied to significant algorithms from mathematics. The course provides an introduction to computer programming design focusing on algorithm generation using pseudo code and flow charting, debugging, and elements of good programming style. It introduces data types, control structures, procedures and functions, recursion, arrays, files, structured program design and testing. The course has both a mathematical and a laboratory component. Students will write programs to solve problems from areas of number theory, algebra, geometry, probability, statistics, and calculus. This course applies toward the mathematics concentration. The course does NOT count in the Quantitative Reasoning Area of General Education requirements. Prerequisite(s): LAM 220 - College Algebra or equivalent is required. One additional course from LAM307, LAM 308, LAM 309, or LAM 312 is recommended. 5 quarter hours