## An introductory and intermediate course on Python ### Topics #### Python Features + [Bultin Data Types](https://docs.python.org/3/library/stdtypes.html) + [Control Flow](https://docs.python.org/3/tutorial/controlflow.html) + [Scopes](https://www.geeksforgeeks.org/namespaces-and-scope-in-python/) + [Functions](https://www.w3schools.com/python/python_functions.asp) + [Generators](https://www.programiz.com/python-programming/generator) + [Comprehensions](https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Comprehensions.html) + [Functional Programming](https://docs.python.org/3/howto/functional.html) + [Lambda Functions](https://docs.python.org/3/howto/functional.html#small-functions-and-the-lambda-expression) + [Importing Packages](https://realpython.com/python-modules-packages/) + [Common Packages of the Standard Library](https://docs.python.org/3/library/) + [Data Persistence](https://docs.python.org/3/library/persistence.html) + [Classes, OOP](https://www.analyticsvidhya.com/blog/2020/08/object-oriented-programming/) + [Decorators](https://realpython.com/primer-on-python-decorators/) + [Cython and Static Types](https://medium.com/swlh/write-c-extensions-for-python-using-cython-90952d66bc25) #### Tasks + [Dimensional Data and Exploratory Data Analysis](https://www.hackerearth.com/practice/machine-learning/data-manipulation-visualisation-r-python/tutorial-data-manipulation-numpy-pandas-python/tutorial/): [Numpy](https://numpy.org/), [Pandas](https://pandas.pydata.org/) + [Textual Analysis](https://monkeylearn.com/text-analysis): [NLTK](https://www.nltk.org/), [Gensim](https://radimrehurek.com/gensim/), [Spacy](https://spacy.io/) + [Visualization](https://towardsdatascience.com/complete-guide-to-data-visualization-with-python-2dd74df12b5e): [Matplotlib](https://matplotlib.org/), [Seaborn](https://seaborn.pydata.org/) + [Graph Analysis](https://www.analyticsvidhya.com/blog/2018/04/introduction-to-graph-theory-network-analysis-python-codes/): [NetworkX](https://networkx.github.io/), [ete3](http://etetoolkit.org/) + [Webscraping](https://opensource.com/article/20/5/web-scraping-python): [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/), [MechanicalSoup](https://mechanicalsoup.readthedocs.io/en/stable/), [Selenium](https://selenium-python.readthedocs.io/) + [Temporal Series](https://www.machinelearningplus.com/time-series/time-series-analysis-python/): [Pandas](https://pandas.pydata.org/), [Statsmodels](https://www.statsmodels.org/stable/index.html) + [Dashboarding Tools](https://pyviz.org/dashboarding/): [Dash Plotly](https://dash.plotly.com/introduction), [Streamlit](https://streamlit.io/gallery) ### References [Programming Languages history](https://en.wikipedia.org/wiki/History_of_programming_languages) [Programming Languages timeline](https://en.wikipedia.org/wiki/Timeline_of_programming_languages) [Programming Languages paradigms](https://en.m.wikipedia.org/wiki/Programming_paradigm) [What (not) to do to learn programming?](https://medium.freecodecamp.org/learn-to-code-the-hard-way-65dece5b0005) ["Hello World" in 50 different programming languages](https://medium.com/javarevisited/70-years-of-hello-world-with-50-programming-languages-2400de893a97) [Python and Data Analysis from Pandas Creator](https://wesmckinney.com/book/) ### Python Resources Why Python? [Tiobe Index](https://www.tiobe.com/tiobe-index/), [PL and jobs](https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future), [PL and jobs (2)](https://www.computer.org/publications/tech-news/trends/programming-languages-you-should-learn-in-2020), [Python Curiosities](https://www.edureka.co/blog/python-interesting-facts-you-need-to-know/) [Python Package Index](https://pypi.org/) [Python Style Guide](https://www.python.org/dev/peps/pep-0008/) Python IDEs [Anaconda](https://www.anaconda.com/products/individual), [PyCharm](https://www.jetbrains.com/pycharm/), [VS Code](https://code.visualstudio.com/) [Kite Code Completion](https://www.kite.com/) [Visualizing Code Execution](http://www.pythontutor.com/) [Jupyter Hub Docker](https://hub.docker.com/r/jupyterhub/jupyterhub/) [From Notebooks to Scripts](https://towardsdatascience.com/5-reasons-why-you-should-switch-from-jupyter-notebook-to-scripts-cb3535ba9c95) ### Git & Github [Github Desktop (Windows, Apple)](https://desktop.github.com/), [Github Desktop (Linux)](https://github.com/shiftkey/desktop) ### Exercises: [Project Euler](https://projecteuler.net/) [Brilliant](http://brilliant.org/) [URI Online Judge](https://www.urionlinejudge.com.br/judge/en/login) [Rosetta Code](http://www.rosettacode.org) [Exercism](https://exercism.io) [Python Brasil (Exercises in Portuguese)](https://wiki.python.org.br/ListaDeExercicios)