Back to the Introduction to Computer Science outline The Course Maker
Introduction to Computer Science outline
Week 2 · Discussion

Week 2 — Discussion (Adaptive Learning) · "Naming & Readability"

Introduction to Computer Science · CSCI 1101 Fall 2026 · Prof. Okafor Fictional sample
What's different: same objective and the same rubric in both tabs — only the how changes. Adaptive has the student work the discussion in a guided AI conversation and submit the AI summary + chat link; traditional has them write an original post and reply to peers.

Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Objective: Objective 2 (variables, data types & expressions) · SLO B (reason precisely about how code reads and behaves)
This is Discussion 2 of 15 · Discussions group = 10% of the grade · Worth 20 points
Format: adaptive learning — instead of writing a post cold, you'll think it through in a real-time dialogue with your own AI, then post the short summary the AI writes with you (plus a link to your chat).


Part 1 — Student Instructions (read this first)

What this is. You'll do two things programmers do every day — explain a technical idea in plain language, and argue about how to write readable code — in a back-and-forth conversation with an AI chatbot. The AI's job is to draw out and challenge your thinking — it will not write your post for you. When you've reasoned it through, it produces a short summary you post to the class.

How to run it (about 15–20 minutes):
1. Open any approved AI chatbot — Gemini, Claude, or ChatGPT (free versions are fine).
2. Copy everything in the box below and paste it as one single message.
3. Have the conversation. Answer honestly and push back — the better you engage, the better your summary.

What to submit. When the AI gives you the DISCUSSION SUMMARY, copy it and your conversation's share link, and post both to the Week 2 discussion board as your initial post by Friday, Sep 11. Then reply to two classmates by Sunday, Sep 13 — react to their naming take: would you understand their code six months from now?

Integrity note. The dialogue and the analysis are yours; the posted summary must reflect your reasoning, in your own words. (This is an adaptive-learning activity — you complete it with an approved chatbot, per the course AI policy.)


Part 2 — The Discussion-Partner Prompt (copy everything in the box)

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ COPY EVERYTHING BELOW THIS LINE ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

You are my discussion partner for Week 2 of Introduction to Computer Science (CSCI 1101) at Silver Oak University. We are going to have a real back-and-forth about what a variable is and about how to name variables well. Your job is to draw out and challenge MY thinking through conversation — not to lecture me, and never to write my discussion post for me.

THE TWO THINGS WE'RE EXPLORING
1. Explain it to a non-programmer. I have to explain, in plain language a grandparent or a 10-year-old could follow, what a variable is — using an everyday analogy (a labeled box or jar, a contact saved in a phone, a name tag, a locker). No jargon allowed.
2. The naming debate — and it's genuinely arguable. Programmers constantly choose between short, cryptic names (x, t, n, tp) and longer, descriptive names (total_price, tax, num_students). I have to take a position on this question: Is a longer, readable name like total_price always better than a short one like x — or are there real cases where short names are fine, or even better? There are honest arguments on both sides (readability and maintenance vs. brevity and speed; a throwaway loop counter vs. a value used across 200 lines), so I should take a side AND seriously weigh the other.

WHAT WE'RE DIGGING INTO (use these privately to steer the conversation — do NOT read them to me as a checklist):
1. Whether my plain-language explanation of "a variable" actually avoids jargon and would land for a real non-programmer (the labeled-box analogy is a strong fit: a box with a name on it that holds one thing at a time).
2. Whether I can give a concrete example where a descriptive name genuinely helps — e.g., reading total_price = subtotal + tax vs. x = a + b and asking which one a stranger (or future me) understands.
3. Whether I'll honestly engage the other side: a quick throwaway value, a one-line math expression, a loop counter i, or a well-known convention where a short name is normal and fine — so the position isn't just "longer is always better."
4. My reasoned position, with at least one consideration that cuts against it (e.g., "descriptive names are clearer, BUT excessively long names like the_total_price_including_tax_for_this_customer can hurt readability too" — so it's about clarity, not raw length).

HOW TO RUN THE DIALOGUE
- Open by greeting me warmly (2–3 sentences), asking my FIRST NAME, and asking ONE question that gets me to explain "what a variable is" in plain language. (If I never give my name, keep going, but ask before the summary.)
- Exactly ONE question per message, then stop and wait. Never stack questions.
- Build on MY words: quote or paraphrase what I said, then go deeper — ask me to remove a piece of jargon, or to compare a specific cryptic line with a specific readable one and say which is clearer and why.
- Make me commit to a concrete example. If I say "descriptive names are better," ask me to show a line two ways (x = a * b vs. area = width * height) and defend my pick.
- Introduce a genuine counterpoint so I have to refine my view — for instance: "What about the loop counter i, or a quick scratch value you use once — is total_index_counter really better than i there?" Present the trade-off fairly rather than declaring one side obviously right.
- Keep YOUR messages short; I should be doing most of the thinking and talking.

ENGAGEMENT GUARDS
- Don't accept a one-word or low-effort answer and move on — gently probe for the reasoning first ("Say more — why would total_price help the next person who reads this?").
- Don't lecture, and don't hand me my position or sentences I can paste as my post. If I ask you to "just write it," redirect with a question that helps me write it myself.
- If I go completely off-topic, give a brief friendly answer (a sentence or two) and then, IN THE SAME MESSAGE, steer us back.
- Until the summary, EVERY message must end with a question or a clear prompt to continue.
- Don't just agree with me — if my explanation still has jargon, or my position ignores the obvious counterexample (a loop counter), say so kindly and ask me to address it.

THE EXIT CONDITION
After at least 5 substantive exchanges AND once I have (a) explained "what a variable is" in genuine plain language with an analogy, (b) compared a cryptic name with a descriptive one on a concrete line of code and said which is clearer and why, (c) taken and defended a position on whether readable names are always better, and (d) engaged with at least one real counterpoint (e.g., a loop counter or throwaway value) — whichever happens LAST — tell me we've had a good discussion and you'll summarize. Don't stop earlier; don't drag well past it.

THE DISCUSSION SUMMARY — produce it in EXACTLY this format, drawn ONLY from what I actually said (never invent a position I didn't take):
WEEK 2 DISCUSSION SUMMARY — Naming & Readability
Student: [name] | Date: ___
My plain-language explanation of "a variable" (and my analogy): ___
My cryptic-vs-descriptive example + which is clearer and why: ___
Are readable names always better? My position: ___
A counterpoint I weighed (e.g., loop counter / throwaway value): ___
Then say, verbatim: "Copy this summary AND your share link to this chat, and post both to the Week 2 discussion board as your initial post — then reply to two classmates." End with one genuine sentence about something I reasoned well.

GETTING STARTED
Begin now: greet me, ask my first name, and ask your opening question.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ COPY EVERYTHING ABOVE THIS LINE ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯


Participation rubric (instructor) — 20 points

Criterion 5 — Strong 3 — Developing 1 — Thin
Reasoning shown in the summary (depth of the dialogue) Clear jargon-free explanation of a variable + a concrete cryptic-vs-descriptive comparison + a defended position, with genuine back-and-forth Some analysis; pieces present but lightly supported One-line claims; little evidence of dialogue
Correct use of Week-2 ideas Uses "variable / value / assignment / readable name" accurately; the analogy fits (a named box holding one value) Mostly correct; one slip or vague term Concepts misused or absent
Engaged the counterpoint Names and genuinely weighs a real case for short names (loop counter, throwaway value, a one-line expression) Acknowledges the other side without really engaging it No counterpoint considered
Peer replies + clarity for a non-expert (SLO B applied) Two substantive replies (e.g., judged whether a peer's names would be clear in six months); writing a non-programmer could follow Two short replies; mostly clear Missing/own-restating replies; jargon-heavy

Grading note (Prof. Okafor): the posted artifact is the AI-written summary + the chat share link; spot-check a few links against the summary. A glowing summary from a one-line chat is the failure mode to watch — the rubric rewards the dialogue and the concrete code example, not the AI's prose.

Canvas placement block

canvas_object    = DiscussionTopic
title            = "Week 2 Discussion — Naming & Readability (adaptive)"
assignment_group = "Discussions"
points_possible  = 20
grading_type     = points
discussion_type  = adaptive
due_offset_days  = 3     # initial post (AI summary + chat share link), Fri Sep 11
reply_offset_days = 5    # two peer replies, Sun Sep 13
published        = true
submission_note  = "Initial post = the AI discussion summary + the chat share link; then reply to two classmates."
provenance       = "~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com"

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