Basic concepts

Try to answer the following questions. No answers are given - these questions are designed to help you better understand the topic. If you are really stuck, just look at the previous sections and try to work through it.

If you were to try to explain recursion to someone who knew nothing about computing, how would you do it?

What is a base case, and how do you figure out what the base case should be?

What is the difference between tail recursion and linear recursion? Binary recursion and exponential recursion?

Lab Assignment

Write a recursive program to compute Fibonacci numbers.