Text Processing and Analysis (using Python!)
The syllabus and assignments are on Learning Suite.
There are many amazing, free resources available on the internet. I will assign a topic with suggested readings from a variety of resources throughout the semester, but I also expect you to explore some on your own, and report back to class if you find something that is especially helpful. That said, below I have compiled a list of useful textbooks and websites that you may want to consider using.
- https://www.py4e.com/lessons
- Everything on safaribooksonline.com, but especially...
- Python crash course
- Learning Python
- Introduction to python (Jessica McKellar)
- Learn Python 3 the hard way
- Automate the boring stuff with python
- Introducing python
- Python for beginners
- Python programming language (David Beazley)
- Think python
- python in a nutshell
- https://docs.python.org/3/tutorial/ (some hard terminology for beginners)
- https://www.w3schools.com/python/default.asp
- Regex101 is a useful resource for learning or
debugging regular expressions in python (make sure you click on the
python
flavor). - Pythex is a similar tool, and it has a great cheatsheet if you click the button at the bottom of the page.
In this course, I will do my best to teach you to write code that is easy for other programmers to read, especially focusing on the PEP8 standard. Most modern IDEs (VSCode, PyCharm, Atom, etc.) include code formatting linter plugins. From the command line, you can check your code formatting using flake8. You can also check code formatting online at PEP8 Online.
- https://www.python.org/shell/ (python REPL)
- https://www.pythonanywhere.com (python script and REPL, bash REPL)
- https://colab.research.google.com (python notebooks)
- https://kaggle.com (python scripts OR python notebooks)
- https://gradient.paperspace.com (python notebooks (jupyterlab))
If you are ever confused about a piece of code and wonder what it is doing, your IDE most likely has a "debugger". There are also online resources like the Python Tutor that can walk you through step by step to show what each line does.