Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ipeirotis/introduction-to-python

Notes for the "Introduction to Programming for Data Science" class
https://github.com/ipeirotis/introduction-to-python

data-science for-beginners python python3

Last synced: 5 days ago
JSON representation

Notes for the "Introduction to Programming for Data Science" class

Awesome Lists containing this project

README

        

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ipeirotis/introduction-to-python/blob/master/)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ipeirotis/introduction-to-python/master)
[![Build Status](https://github.com/ipeirotis/introduction-to-python/workflows/Check%20that%20all%20notebooks%20work/badge.svg)](https://github.com/ipeirotis/introduction-to-python/actions?query=branch%3Amaster)

# Introduction to Python for Data Science

This is a set of notes used for teaching Python to students that have never used Python, or programmed in any language. In a usual semester, it takes approximately 4 weeks (meeting twice a week for an hour) to go through the material, for a freshmen undergraduate class.

## Notes

* The notes are in the form of iPython notebooks and are stored under the `/notes` folder.
* You can [open the notes in Google Colab](https://colab.research.google.com/github/ipeirotis/introduction-to-python/blob/master/). With Google Colab, you can save your work in your Google Drive.
* If you do not want to use Google Colab, you can [launch the notes in Binder](https://mybinder.org/v2/gh/ipeirotis/introduction-to-python/master), which is a temporary Jupyter server launched on-demand. Note that the Binder server will shutdown after a period of idleness. If you want to save your work, and you should save the notes locally to your computer.

## Videos

* [Videos for the class](https://www.youtube.com/playlist?list=PLqAPn_b_yx0TBDqe5-AMSed6sYzMj9qkN)

## Recommended Books

* [Python for Everybody: Exploring Data In Python 3](https://www.py4e.com/book): This is a textbook for students that are learning Python as their first programming language, with the objective of using programming to handle and analyze data.
* [Automate the Boring Stuff using Python](https://automatetheboringstuff.com): A task-driven textbook that teaches Python by focusing on how to automate various tasks, using programming.

## Additional Books for Learning Python

* [How To Think Like a Computer Scientist](https://runestone.academy/ns/books/published/thinkcspy/index.html): An interactive guide to programming and Python. The book "Python for Everybody" (listed above) is partially based on this book.
* [Learn Python the Hard Way](https://learnpythonthehardway.org/python3/): An introduction to programming and Python. It targets complete beginners. It uses a drill-based approach for teaching, which can be tedious at times. Nevertheless, it is considered one of the standard textbooks for learning Python.

## Online Classes

* [AI Python for Beginners](https://www.deeplearning.ai/short-courses/ai-python-for-beginners/)
* The following Coursera courses [Getting Started with Python](https://www.coursera.org/learn/python), [Python Data Structures](https://www.coursera.org/learn/python-data), [Using Python to Access Web Data](https://www.coursera.org/learn/python-network-data), [Using Databases with Python](https://www.coursera.org/learn/python-databases), [Capstone: Retrieving, Processing, and Visualizing Data with Python](https://www.coursera.org/learn/python-capstone) are well-alinged with the objectives of our class.
* [Code Academy, Python class](https://www.codecademy.com/learn/python): This is a useful interactive tutorial for beginners, who are trying to understand programming in general, and Python in particular
* [Google’s Python class](https://developers.google.com/edu/python/)
* [DataCamp, Intro to Python for Data Science](https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-1-python-basics?ex=1)
* [DataQuest, Python Basics](https://www.dataquest.io/mission/1/python-basics)

## Additional Pointers

* [Official Python 3 Tutorial](https://docs.python.org/3/tutorial/index.html)
* [Python Tutor](http://www.pythontutor.com/)
* [Useful iPython Notebooks](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks): A wide variety of useful tutorials in iPython Notebooks for a wide variety of topics
* [Python for Econometrics](https://www.kevinsheppard.com/Python_for_Econometrics)
* [Quantitative Economics](https://python.quantecon.org/intro.html): An introduction to scientific computing using Python, by Thomas J. Sargent and John Stachurski
* [Pytudes](https://github.com/norvig/pytudes) by Peter Norvig. A set of problems, in a wide variety of fields, solved with Python. Clear and structured problem descriptions, and _beautiful_ code for solving them. You will learn something everytime you read one of the provided notebooks.

## Python Exercises

* http://www.pyschools.com/ [highly recommended]
* http://www.singpath.com/#/paths
* http://learnpython.org/
* http://www.practicepython.org/
* http://www.codeabbey.com/index/task_list
* http://codingbat.com/python
* http://usingpython.com/python-programming-challenges/
* http://www.openbookproject.net/pybiblio/practice/elkner/
* http://www.openbookproject.net/pybiblio/practice/wilson/
* https://github.com/donnemartin/interactive-coding-challenges

## Credits

* I ~~have stolen~~ relied heavily on the "Python for Everybody" and the "How To Think Like a Computer Scientist" books to develop the structure and the material for the notes.
* The initial version of the notebooks came from Josh Attenberg, from his course "Practical Data Science" that was taught at NYU/Stern.
* Katherine Hoffmann contributed to the development of the current notebooks.

## License

* Outside NYU, the material is licensed under the Creative Commons Attribution-ShareAlike 4.0 license. If you are working within NYU, note that any usage of the material is strictly prohibited.