Computing for Data Analysis: Theory and Practices