This class is aimed at people who are studying linguistics, the humanities, or textually based social science topics, who have never coded before in their life, and realize that they could be more productive in a lot of their research projects if they could code a little. We'll also spend quite a bit of time looking at libraries and tools that will allow you to get things done. It's not intended to be a general introduction to computer science – we won't spend time on learning basic algorithms like sorting or data structures like hash tables. Every modern major programming language comes with built-in libraries for these key things. They were written by people who know what they're doing, and we'll just learn to use them effectively.

However, you do have to work on learning to program. Programming is a craft. No one ever became good at a craft by listening to someone talk or reading a book. It can be a helpful starting point to listen to someone talk or to read a book. But you become good at a craft by practicing it. We'll spend time in class practicing, but you'll only become good at your craft if you also practice in your own time. There'll be some assignments to help encourage you.

We'll get started in the first class with installing and running Python. So please, please, please bring a laptop you can use to the first class. And to every other class.

This class will be taught using Python 3. I really recommend that you install and use Anaconda.

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, or myself. Rather than emailing questions to people, I encourage you to post your questions on Piazza.