Lesson | Title | Readings | Topics | Assignment ----- | ----- | ----- | ----- | ----- [1](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson01.md) | Overview | -- | Introductions and overview of course | Pre-course survey; Acquire texts [2](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson02.md) | Command Line Part I | Shaw: [Introduction](https://learnpythonthehardway.org/python3/intro.html),
[Ex0](https://learnpythonthehardway.org/python3/ex0.html), [Appendix A](https://learnpythonthehardway.org/python3/appendixa.html) | Command line crash course; Text editors | Assignment 1: Basic Shell Commands [3](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson03.md) | Command Line Part II | Yale: [The 10 Most Important Linux Commands](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/data/the_10_most_important_linux_commands.md) | Advanced commands in the bash shell | -- [4](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson04.ipynb) | Conda, IPython, and Jupyter Notebooks | Geohackweek: [Introduction to Conda](https://geohackweek.github.io/Introductory/01-conda-tutorial/) | Conda tutorial including Conda environments, Python packages, and PIP; Python and IPython in the command line; Jupyter notebook tutorial; Python crash course | Assignment 2: Bash, Conda, IPython, and Jupyter [5](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson05.ipynb) | Python Basics, Strings, Printing | Shaw: [Ex1-10](https://learnpythonthehardway.org/python3/ex1.html); Lutz: Ch1-7 | Python scripts, error messages, printing strings and variables, strings and string operations, numbers and mathematical expressions, getting help with commands and Ipython | -- [6](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson06.ipynb) | Taking Input, Reading and Writing Files, Functions | Shaw: [Ex11-26](https://learnpythonthehardway.org/python3/ex11.html); Lutz: Ch9,14-17 | Taking input, reading files, writing files, functions | Assignment 3: Python Fundamentals I [7](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson07.ipynb) | Logic, Loops, Lists, Dictionaries, and Tuples | Shaw: [Ex27-39](https://learnpythonthehardway.org/python3/ex27.html); Lutz: Ch8-13 | Logic and loops, lists and list comprehension, tuples, dictionaries, other types | -- [8](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson08.ipynb) | Python and IPython Review | McKinney: [Ch1](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/preliminaries/intro_html), [Ch2](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/python-language-basics-ipython-and-jupyter-notebooks/intro_python_environment_html), [Ch3](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/built-in-data-structures-functions-and-files/intro_python_stdlib_html) | Review of Python commands, IPython review | Assignment 4: Python Fundamentals II [9](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson09.ipynb) | Regular Expressions | Kuchling: [Regular Expression HOWTO](https://docs.python.org/3/howto/regex.html) | Regular expression syntax, Command-line tools: `grep`, `sed`, `awk`, `perl -e`, Python examples: built-in and `re` module | -- [10](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson10.ipynb) | Numpy, Pandas and Matplotlib Crashcourse | Pratik: [Introduction to Numpy and Pandas](https://cloudxlab.com/blog/numpy-pandas-introduction/) | Numpy, Pandas, and Matplotlib overview | Assignment 5: Regular Expressions [11](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson11.ipynb) | Pandas Part I | McKinney: [Ch4](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/numpy-basics-arrays-and-vectorized-computation/numpy_html), [Ch5](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/getting-started-with-pandas/pandas_html) | Introduction to NumPy and Pandas: `ndarray`, `Series`, `DataFrame`, `index`, `columns`, `dtypes`, `info`, `describe`, `read_csv`, `head`, `tail`, `loc`, `iloc`, `ix`, `to_datetime` | -- [12](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson12.ipynb) | Pandas Part II | McKinney: [Ch6](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/data-loading-storage-and-file-formats/io_html), [Ch7](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/data-cleaning-and-preparation/data_preparation_html), [Ch8](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/data-wrangling-join-combine-and-reshape/wrangling_html) | Data Analysis with Pandas: `concat`, `append`, `merge`, `join`, `set_option`, `stack`, `unstack`, `transpose`, dot-notation, `values`, `apply`, `lambda`, `sort_index`, `sort_values`, `to_csv`, `read_csv`, `isnull` | Assignment 6: Pandas Fundamentals [13](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson13.ipynb) | Plotting with Matplotlib | McKinney: [Ch9](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/plotting-and-visualization/vis_html); Johansson: [Matplotlib 2D and 3D plotting in Python](http://github.com/jrjohansson/scientific-python-lectures) | Matplotlib tutorial from J.R. Johansson | -- [14](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson14.1.ipynb) | Plotting with Seaborn | [Seaborn Tutorial](http://seaborn.pydata.org/tutorial.html) | Seaborn tutorial from Michael Waskom | Assignment 7: Plotting [15](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson15.ipynb) | Pandas Time Series | McKinney: [Ch11](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/time-series/timeseries_html) | Time series data in Pandas | -- [16](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson16.ipynb) | Pandas Group Operations | McKinney: [Ch10](http://proquest.safaribooksonline.com/book/programming/python/9781491957653/data-aggregation-and-group-operations/groupby_html) | `groupby`, `melt`, `pivot`, `inplace=True`, `reindex` | Assignment 8: Time Series and Group Operations [17](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson17.ipynb) | Statistics Packages | [Handbook of Biological Statistics](http://www.biostathandbook.com) | Statitics capabilities of Pandas, Numpy, Scipy, and Scikit-bio | -- [18](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson18.ipynb) | Interactive Visualization with Bokeh | [Bokeh User Guide](http://bokeh.pydata.org/en/latest/docs/user_guide.html) | Quickstart guide to making interactive HTML and notebook plots with Bokeh | Assignment 9: Statistics and Interactive Visualization [19](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson19.ipynb) | Modules and Classes | Shaw: [Ex40-52](https://learnpythonthehardway.org/python3/ex40.html) | Packaging your code so you and others can use it again | -- [20](https://github.com/cuttlefishh/python-for-data-analysis/blob/master/lessons/lesson20.md) | Git and GitHub | [GitHub Guides](https://guides.github.com) | Sharing your code in a public GitHub repository | Final Project