2025-2026 Catalog

CIS 200 Introduction to Program Design & Implementation

Students will learn systematic program design, including constructing readable, documented, well-tested programs to accomplish programming tasks. Students will learn how to break large tasks into smaller tasks. They will learn core programming constructs in the service of these primary goals: conditional branches, functions, scope, recursion, iteration, mutation and aliasing. They will program with numbers, strings, but also images, tables, lists, and trees. In addition to these core programming skills, students will also learn how they show up in a widely used programming language and learn how to use common data processing libraries, file I/O, and visualization tools. Students will learn to identify and respond to ethical challenges such as data privacy and problem formulation that arise directly within the programs that they are writing. This course consists of a three-hour lecture and a one-and-one-half-hour recitation.

Credits

4