Skip to Main Content
“Computer Programming for Science/ Engineering” (CPSE) is an introductory programming course for STEM students other than Computer Science (CS) major. Typical attendees are required to attend either CPSE or the Java-based first programming course of the CS majors' sequence (CS1). The previous curriculum for CPSE was a traditional introductory programming course with chronically low enrollment despite less its substantially relaxed learning outcomes. Post-reform, CPSE has become a popular alternative to CS1. Pass rates in CPSE are substantially higher than both local and national pass rates for CS1 and equivalent courses, and in-class tests of CPSE students indicate that 70% satisfy the majority of CS1 outcomes, which exceeds the pass rate for most CS1 sections at our institution. While both CPSE and CS1 teach the Java language, CPSE integrates inductive teaching strategies developed by the second author's iMPaCT program that exploit the relaxed syntax of the Jython language. Like immersive foreign language programs, lessons during the first half of the course exploit the relaxed grammatical requirements of a simpler programming language (Jython) to introduce programming concepts (semantics) incrementally in a conversational manner. These early lessons are motivated by accessible graphical problems that incidentally review foundational math concepts.