Course code:



I - Introductory

Class size limit:


Meets the following requirements:

  • QR - Quantitative Reasoning
  • ES - Environmental Science

Typically offered:


This course will cover the fundamentals of computer programming, using the Python language. Students interested in obtaining basic programming skills that will prepare them to do more advanced work or learn other programming languages will benefit from this course. This course is designed for students interested in using programming in a wide range of areas, including research in the natural and social sciences, web programming and computer art. Students will learn how to develop an algorithm by breaking a problem into discrete parts, devising a solution to each part, and integrating the parts into a single solution. We will begin with basic data types, variables and expressions. We will then learn to write functions to encapsulate tasks that may be performed more than once and to understand the importance of variable scope. We will progress to looping and more advanced data structures such as lists and dictionaries. We will study how python uses objects to encapsulate data and methods that act on data. We will then learn to use existing python libraries that assist with data processing, visualization, and other tasks. The concepts of encapsulation, abstraction, and code reuse will be reinforced throughout the course. Students who complete this course will be able to write programs to automate repetitive tasks, manipulate and analyze numerical and textual data, and perform simulations. These skills will be essential for students who wish to analyze data, write computer games or cell phone apps, or create generative art. No prior programming experience is required. Students will need to use either their personal laptop or a COA loaner laptop for class and programming exercises. Evaluation will be through class participation, quizzes, homework and a final project.

Level: Introductory. Prerequisites: None. Class limit: 15. Lab fee: None. Meets the following degree requirements: ES, QR



Always visit the Registrar's Office for the official course catalog and schedules.