Explore recursion and investigate sorting algorithms.
Indicators for this outcome

Distinguish between iterative and recursive problem-solving techniques and demonstrate how to accomplish a specific task using both approaches.


Create recursive functions and use them in programs to solve problems such as calculating factorials, evaluating exponents, designing fractal images or calculating the Fibonacci sequence.


Discuss the processes (e.g., the stack, stack frames and maximum recursion depth) involved in evaluating recursive functions.


Identity the advantages and disadvantages of using recursive problems.


Provide examples of situations where sorting is used to solve problems.


Discuss the importance of efficiency in sorting algorithms.


Analyze the execution of insertion, selection and quicksort algorithms using visualizations.


Illustrate the implementation of a sorting algorithm (e.g., selection, insertion, and quicksort) using pseudocode.


Create a program to sort data in an array using one or more sorting algorithms (e.g., selection, insertion, quicksort).

Computer Science Illuminated (7th ed.)
This is an introductory computer science textbook which is not tied to any coding language. The book is divided into chapter sections on the history of computing, number systems, hardware, programming, operating systems, applications, and communications and include exercises and ethical issues at the end of each chapter. Special features include 16 biographies (3 of women), 18 ethical issues and numerous informative side panels.
Media and Formats : Book
Price : See publisher.
Record posted/updated: June 1, 2022