This course introduces the student to fundamental concepts of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. The course emphasizes good software engineering principles and developing fundamental programming skills in the context of a functional programming language. Field trips may be required. Recommended Prep: MATH V03. Transfer credit: CSU;UC.