Close
Close Window

Masters of Engineering Bridge Course

Chapter 9 Recursion and Software Design

Show Source |    | About   «  8.7. Unit 8 Lab 2 Placeholder   ::   Contents   ::   9.2. Software Design and MVC  »

9.1. Recursion

9.1.1. Objectives

Upon completion of this module, students will be able to:

  • Trace recursive methods

  • Implement recursive methods

  • Consider the efficiency of recursive methods

9.1.1.1. Suggested Reading

Chapter 7 from Data Structures and Abstractions with Java, 4th edition by Frank M. Carrano and Timothy Henry

9.1.2. Introduction to Recursion

9.1.2.1. Intro to Recursion, Part 1 [5:53]

9.1.2.2. Intro to Recursion, Part 2 [12:41]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

9.1.3. Checkpoint 1

9.1.4. Interactive: More Recursion : Factorial Examples [12:36]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.3.1-RecursionExample.pdf

9.1.5. Programming Practice: Recursion 1

9.1.6. Interactive: Recursion on Arrays: Display an Array

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.5.1-DisplayArrays.pdf

Correction to note!

The code in the second example in this video is missing the {} in the if block. It should be:

public static void displayArray2(int[] array, int first, int last)
{
     if (first <= last) {
         displayArray2(array, first, last - 1);
         System.out.print(array[last] + " ");
     }

}

9.1.7. Checkpoint 2

9.1.8. Interactive: Recursion on Arrays: Display the Middle of an Array [9:53]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.6.1-DisplayArraysMiddle.pdf

9.1.9. Checkpoint 3

9.1.10. Programming Practice: Recursion 2

9.1.11. Interactive: Recursion on Linked Chains [7:41]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.8.1-DisplayBagsRecursively.pdf

9.1.12. Interactive: Tower of Hanoi [11:44]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.9.1-TowersOfHanoi.pdf

9.1.13. Checkpoint 4

9.1.14. Interactive: Recursion Wrap Up [8:28]

Follow Along and Engage

Download the slides corresponding to the video. Take notes on them as you watch the video, practice drawing diagrams yourself!

Video Slides 9.1.10.1-RecursionWrapUp.pdf

9.1.15. Programming Practice: Recursion 3

9.1.16. Forward Flow Tracing Exercises

9.1.17. Backward Flow Tracing Exercises

9.1.18. Find Error Tracing Exercises

9.1.19. Two Recursive Calls Tracing Exercises

9.1.20. How Many Times Tracing Exercises

9.1.21. Harder Tracing Exercises

   «  8.7. Unit 8 Lab 2 Placeholder   ::   Contents   ::   9.2. Software Design and MVC  »

Close Window