Recursion - from Topic 5 & OOP Extension

Extra resource: Java, Java, Java by Ralph Morelli & Ralph Walde. (CC BY 4.0)
A great college level open source license textbook to aid you.


Code-Camp-Day-1: Recursion (YT)

Code-Camp-Day-1: Recursion Applied (YT)

- Code-Camp-Day 2: Recursion Again (YT)

Thinking recursively

JSR Note about teaching Recursion: You can go two levels; there's no in-between. Either:
- 10 minutes: What is recursion: a method calling an instance of itself. What is the major limit: hogs RAM. How do you identify it: methodXYZ( ) is called inside methodXYZ( ). Or:
- at least 3 full classes of complete understanding so can construct (simply), and trace, including trees.

An overview of how this proceeds:

D.4.1 - define recursion
5.1.1 - recursive situations
5.1.2 - identify recursion in code

D.4.2 - lots of details
D.4.3 - not necessary, but may help

D.4.4 - tracing
5.1.16 - tracing tree traversals
5.1.16 - tracing again


D.4.1 Define the term recursion. (In terms of coding) - 2021, yes

5.1.1 Identify a situation that requires the use of recursive thinking. (In general)

5.1.2 Identify recursive thinking in a specified problem solution. (i.e. a coding solution)

D.4.2 Describe the application of recursive algorithms. (In coding) - 2021, this could be an extension of 5.1.1

D.4.3 Construct algorithms that use recursion. (With Java etc.) - this is the one to pass on 2021

D.4.4 Trace recursive algorithms. (An original algorithm) Straight-forward, good exam question - 2021, yep, 5.1.3++

5.1.16 State the result of inorder, postorder and preorder tree traversal. Straight-forward, good exam question

5.1.3 Trace a recursive algorithm to express a solution to a problem. (Done better with D.4.4 above)