Parallel Computing for Data Science: With Examples in R, C++ and CUDA