This course serves as an introduction to computer programming. We will introduce the Python programming language. We will use Python to solve a variety of problems, and practice problem solving techniques. We will discuss good practices in software engineering. No previous knowledge of programming or computer science is assumed.