Recursion is a powerful programming tool and one of the fundamental principles of computer science. It is used in many advanced algorithms.
In this session, we will just focus on divide-and-conquer, which is just one of many applications of recursion. It is the version that is the most accessible to this course and will be the focus of the labs.