YouTube Playlists: PythonSocratica
-
Object Oriented Programming :
- classes and objects
- special functions examples and uses -
__init__, __add__, __repr__, __call__ selfkeyword
-
Function Wrappers:
- defining functions within functions
lambdafunctions,filter, map, reduce- passing functions as another function parameter
*argsand**kwargs
-
Files:
- basic file i/o
- open context manager
-
Libraries:
collections- useful data structurespickle- saving datajson- dumping and loading JSON datacopy- create deepcopies (copy by value) for non-primitive and custom data types
-
Web:
requestslibrary- familiarity with
http/httpsand different type of requests that can be made
Courses to follow: CS231n Convolutional Neural Networks for Visual Recognition by Stanford University (YouTube)
-
Libraries:
- basic ML -
scikit-learn - computation -
numpy - data manipulation -
pandas - plotting -
matplotlibandseaborn - image manipulation - python-opencv (
import cv2)
- basic ML -
-
Data Visualization:
- Automatic profiling -
pandas-profiling
- Automatic profiling -
-
Frameworks:
tensorflow/keraspytorch/FastAI
-
Code Habits:
- modular code
- creating generators for datasets
- defining train and test functions
-
Mathematical Concepts:
- Singular Value Decomposition
- Principal Component Analysis
-
Basic Web Scraping:
- Beautiful Soup (
from bs4 import BeautifulSoup) - able to collect iamges and training data using automated scripts
- Beautiful Soup (
-
Basic DBMS:
- SQL Programming
- python libraries used to handle SQL databases
Courses to follow - Introduction to Algorithms by MIT (YouTube)
-
Data Structures:
- deques (
from collections import deque) - heaps and priority queues (
from heapq import heapify, heappush, heappop)
- deques (
-
Custom Structures:
- nodes
- linked lists
- trees
- graphs
-
Additional Resources:
- CP Handbook/CLRS
- YouTube video for graphs
NOTE - Try implementing every graph theory algorithm from the video in Python
- Frequently asked:
- Dynamic Programming
- Greedy Algorithms
- Stacks and Queues
- Binary Trees and Graphs - inorder, preorder and postorder traversal of binary trees
Amazing Video: PyData Seattle 2017
- Concepts:
- context manager -
yieldkeyword - generators - extremely important in ML, dataset creation (learn about
__iter__and__next__) - iterators and iterables
- decorators - very powerful concept
- metaclasses - uses and usage (optional)
- threading and multiprocessing - perform multiple tasks concurrently
- sockets and locks - access to database denied when something is being written
- context manager -