Most of them I studied from Coursera by Adam and tutorial from Youtube