Principles and Techniques of Data Science