Hello! I'm Bill Boyd. In this course we'll be learning the basics of Python programming. Python has become one of the most popular programming languages, accepted by business, and yet very popular in colleges, and its popularity is rising. So what makes it so popular? Well, for one thing it's so readable. You feel like you're reading an English description of your program, rather than technical code. Since it is so readable and handles so many low level computing details, you can focus on the solution to your problem rather than on the code itself. It is so readable, it's quite pretty just to look at the code. Another reason for its popularity is that it is an interpreted language, so that you don't have to go through the stages of compiling your program before you can run it. You simply run the program after you write it. Python is also free, just download it from the web and install it. There are various websites that offer these downloads, each offering lots of useful Python libraries to simplify your own programming projects. What's special about this course? We use the free Anaconda distribution of Python, although we'll be learning standard Python, this distribution contains features of Py Python and improved interface for Python that makes it even more convenient to use. It allows us to run and write small sections of code, saving us the time and effort of building a whole program. This is not only good for learning and pedagogy, it is convenient when building larger programs. We will write many functions in Python and run them while learning the syntax, functions that perform tasks that we normally think of programs accomplishing. Later after we are comfortable with Python, we will learn how to write and run whole standalone programs. When you finish this course you will be a Python programmer, we introduce you to the environment for developing programs into the basics of Python. From there you can expand your knowledge of Python in the field of your own interest. We specifically focus on learning how to program in Python and leave complex algorithm development to your individual area of interest, whether it be physics, environmental science, government, big data or whatever. What is covered? We first learn how to write functions in Python, moving on to if statements and loops, file and for, to collection data types such as list, tuple, dictionary. Then we learn to read and write text files and CSV files. Think of spreadsheets, we learn to write standalone programs and used the formatting capability of Python to make prettier output. Finally, we put it all together towards a menu driven database application using CSV files to store our data. In this course we have chosen to use the Python 3 programming language. This is the latest version of Python, though Python 2 is still a quite popular language. These two are not quite compatible, but if you know one, it is a simple matter to pick up and use the other. Grading will be done via automating grading software, so you'll be able to see the grade on one of your submitted programs within minutes and resubmit often as you like. The goal here is to ensure that you finish with the skills you need.