Introduction

The goal of this workshop is to take people with very little to no programming experience to the point of understanding the basics of programming in the Python language. By the end of this class you will have written some programs and will have been exposed to the basic concepts of programming in the Python language.

What is programming?

I like to think of programming as the following:

Programming is a human telling a computer how to manipulate data.

I like this definition because it captures the interaction between all of the entities involved:

Programming and software development are not necessarily the same things. Software development is humans collaborating on building software. Write your code to be read and understood by humans. Even if you are the only developer, you should think of yourself six months from now (and six months ago) as your collaborator.

Why python?

Python is a very popular language that's easy to learn. Since its so popular, there's a lot of code already available to do what you probably want to do. Addiitonally, the community is very welcoming to new pythonistas.

Structure

This workshop is intended to be interactive. Your instructors will be keying examples into their computers for you to see, and you are expected to follow along. If you get stuck, please place a red sticky note on your laptop and the instructor who isn't teaching will assist you. Feel free to ask questions at any point, and feel free to help your neighbors.

The lessons in this workshop will start as more tutorial: during the beginning of the day the instructors will talk more and demonstrate examples with which you can follow along. As the day progresses, the instructors will transition to facilitating input from the class in order to work the example problems.

Please don't just copy/paste code, key it in to see what results you are getting.

Part 1: Data

Part 2: Flow

Part 3: Projects