Course Overview

This course is an introduction to algorithmic thinking and computer programming using the Python programming language. We will cover structural concepts of programming and computational problem solving, as well as core Python techniques and data structures, including strings, lists, dictionaries and classes.

Who this course is for

If you have little or no prior experience in programming, this course is for you. If you have substantial prior experience in programming, then this course is probably not for you (even if you are unfamiliar with Python specifically). You are welcome to enroll, but keep in mind that attendance and in-class work are required.

Prerequisites

This course does not require any previous programming experience, or any significant computational experience of any kind. However, at times we will ask you to solve problems that require basic algebra or geometry to complete. As such, the prerequisite for this course is math at the level of MATH 112 (College Algebra).

If you have not completed MATH 112 (or an equivalent course at another school) with a grade of C or better, but believe that you are adequately prepared, please contact me for permission to enroll.

Technical requirements

This course requires you to write and execute Python code. As such, you will need a computer that can run Python. This generally means a computer running a conventional desktop/laptop operating system, such as Windows, Mac OS, or Linux. Most importantly, you cannot run Python on a Chromebook without special measures.