Back to the Introduction to Computer Science outline The Course Maker
Introduction to Computer Science outline
Week 14 · Module overview

Week 14 — Module Framing · Recursion (Intro)

Introduction to Computer Science · CSCI 1101 Fall 2026 · Prof. Okafor Fictional sample

Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Module: Week 14 of 16 · Fall 2026 · in-person, two 75-minute coding-along studio sessions
Objective covered: Objective 8 — Use recursion (base case & recursive case, the call stack) and relate it to iteration.

(A) Module 14 Overview + (B) Welcome Announcement. Dates assume Week 14 meeting *Tue Dec 1* and Thu Dec 3*, with end-of-week work due Sunday Dec 6, 11:59 p.m.***. Adjust to your section.


(A) Module 14 Overview — Start Here

Welcome to Week 14: Recursion (Intro)

This is your home base for the week. Read it first, then work the checklist below.

This week one idea bends your brain in the best way: a function that calls itself. It's called recursion, and it's how programmers solve problems that are made of smaller copies of themselves — counting down, factorials, walking through folders inside folders. The catch is making sure it ever stops, which is what the base case is for. The course habit holds: run it and watch what Python actually does — and this week, watch the call stack in Python Tutor as the calls pile up and unwind.

The week's big question

"What happens when a function calls itself — and how does it ever stop?"

By Friday you'll write a recursive function, trace the call stack, and know the one line (the base case) that keeps it from running forever.

By the end of this week, you can…

  • [ ] Explain the base case and the recursive case, and why every recursion needs both.
  • [ ] Write a simple recursive function (factorial, countdown, sum).
  • [ ] Trace the call stack as calls pile up and unwind (in Python Tutor).
  • [ ] Compare recursion and iteration, and explain what a missing base case causes (RecursionError).

What's due this week, and when

# Do this Type Due
1 Read the readings + watch the linked resource Read / watch (ungraded) Before Thu Dec 3
2 Skim the slides (Deck 14) and the lecture outline Prep (ungraded) Alongside class
3 Lecture Tutorial 14 — recursion with one approved chatbot; submit the share link Lecture Tutorial · graded (5%) Sun Dec 6, 11:59 p.m.
4 Practice exercises Practice · ungraded Sun Dec 6 (recommended)
5 Coding Lab 14 — "Watch the Stack" — trace recursive calls in Python Tutor Coding Lab · graded (15%) · 50 pts Sun Dec 6, 11:59 p.m.
6 Quiz 14 — base/recursive case, call stack, recursion vs. iteration Quiz · graded (10%) Sun Dec 6, 11:59 p.m.
7 Discussion 14 — "Explain Recursion to a Friend" — worked with one approved chatbot; post the AI summary + chat link and reply to two classmates Discussion · graded (10%) Initial post Fri Dec 4; replies Sun Dec 6
8 Assignment 14 — "Call Yourself" — write recursive functions, coached and scored by one approved chatbot Assignment · graded (15%) · 100 pts Sun Dec 6, 11:59 p.m.

Heads-up on the AI tools: chatbots often omit or misplace the base case (causing infinite recursion) or get the call order wrong. Catching that — by running it and stepping through Python Tutor — is the point.

How to succeed this week

  • Write the base case first. Decide where it stops before you write the recursive call.
  • Two hooks: "Every recursion needs a base case to stop and a recursive case to shrink." And "The base case is reached last."
  • Use Python Tutor. Recursion clicks the moment you watch the call stack grow and unwind. Step through every example.
  • RecursionError? Your base case is missing or never reached — fix that, not the recursive call.

(B) Welcome Announcement — Module 14

Release setting: post on the module's start day, Tue Dec 1, 2026.

Subject: Week 14 — a function that calls itself 🪞

Hi everyone,

This week we meet one of programming's most beautiful ideas: recursion — a function that calls itself on a smaller version of the problem until it reaches a simple base case. We'll write factorials and countdowns, and (the part that makes it click) watch the call stack grow and unwind step by step in Python Tutor.

Three things not to miss:
1. Lecture Tutorial 14 — recursion with an approved chatbot; submit the share link. Due Sun Dec 6.
2. Coding Lab 14 (Watch the Stack), Quiz 14, Discussion 14, and Assignment 14 also close Sun Dec 6.
3. Open the Start Here page first.

One reminder: a recursive function always needs a base case — without it you get a RecursionError. Write the stopping condition first.

See you Tuesday,
Prof. Okafor


~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com