The course is organized in 4 themes that will cover various aspects of algorithmic for big data, starting from sequential programming and ending with distributed computing. In the first part of the course, the student will learn to analyze an algorithm from the computational complexity and memory requirement. The second theme in the course deals with parallel computing with shared memory. The efficiency of the parallelization and memory safety will be discussed and analysed. In the third theme, the message passing interface (MPI) will be explored, which consists in simultaneous and collaborative parallel computing without shared memory. Finally, the basics of distributed computing, its strength and requirements will be introduced. The choice of the best approach toward the resolution of a problem will depend on the problem and the nature of the data.