# Python Environment Setup - **About Python** - Python 2 - Python 3 - PyPi and pip - Venv - **About Git** - Github - **About Jupyter Notebooks** - Notebook snapshots vs git - **Setup: Windows** - Windows Terminal - cmd - PowerShell - WSL - Python download and installation - Verifying installation and paths - Git download and installation - Git configuration - Jupyter notebook installation - **Setup: Mac OS** - Python download and installation - Verifying installation and paths - Git download and installation - Git configuration - Jupyter notebook installation - **Setup: Linux / BSD** - Python download and installation - Verifying installation and paths - Git download and installation - Git configuration - Jupyter notebook installation - **Getting Started** - Writing python scripts - Running python scripts - The Python REPL - Installing third party packages with pip - Using Jupyter notebooks - Revision control with Git (basics) - Using virtual environments # Python Crashcourse - **About Python** - History - Popular uses - Communities - Documentation - **Data Types** - Primitives - Numbers - Strings - Composites - Dictionaries - Sets - Lists - Tuples - **Variables** - Intro - Naming conventions - Scoping - **Functions** - Intro - Definition of functions - Parameters and arguments - Scoping - Lambdas (anonymous functions) - **Control Structures** - Intro - Loops - While - For - Other - If - With - **Error Handling** - Intro - Try / Catch - Assertions - Tests - Unit testing - Integration testing - **Classes and Inheritance** - Intro - Definition - Attributes - Methods - Inheritence - Privacy - **Modules and Packages** - Intro - Modules - Use - Definition - Packages - Use - Definition - **Standard Library** - Intro - Map, filter, reduce - Enums - Date / time libs - Math libs - File libs - Network libs - Data type libs - **Third Party Packages** - cadcad - numpy - Intro - Common uses - Multidimensional arrays - pandas - Intro - Common uses - Time-series data - matplotlib - Intro - Common uses - Type of visualizations - networkx - Intro - Common uses - seaborn - Intro - Common uses - **Advanced: Design Patterns and Idiomatic Python** - Generators - Comprehensions - Iterators - Observers - Singletons - Dependency Injection - Decorators - Factories - Facades - Visitors