I would like the classic recursive Fibonacci function from my slides (Module 3 Part C, page 1) coded exactly as shown, then rewritten with the dynamic-programming technique from page 4 to eliminate redundant work. I’ll send the PPT so you can mirror the original logic and comments. Use whichever language you’re most comfortable with—Python, Java, or C++ are all fine—just keep the code clear and documented so I can walk through it later. After both versions are ready, run them across a sensible range of n and capture how their execution time diverges; a simple timing utility or built-in library is enough. If you can grab memory numbers too, great, but the main goal is to highlight the performance gap. Deliverables • One well-commented source file (or two, if your language convention prefers) containing both algorithms. • A concise report or markdown note summarising the timing results and explaining what they reveal about removing redundant computations. A lightweight driver, unit tests, or small plots are welcome but optional. Let me know if anything needs clarification before you start.