YouTube Playlists: PythonSocratica
-
Object Oriented Programming :
- classes and objects
- special functions examples and uses -
__init__, __add__, __repr__, __call__
self
keyword
-
Function Wrappers:
- defining functions within functions
lambda
functions,filter, map, reduce
- passing functions as another function parameter
*args
and**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:
requests
library- familiarity with
http/https
and 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 -
matplotlib
andseaborn
- image manipulation - python-opencv (
import cv2
)
- basic ML -
-
Data Visualization:
- Automatic profiling -
pandas-profiling
- Automatic profiling -
-
Frameworks:
tensorflow/keras
pytorch/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 -
yield
keyword - 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 -