OIM3640 - Problem Solving and Software Design

2026 Spring

Session 26 (4/28)

contain

Today's Agenda

  • Student Experience Questionnaire
  • Announcements/Updates
  • Gallery Walk (three rounds)
  • Course Wrap-Up
    • What We've Learned
    • What/How to Learn Next

Student Experience Questionnaire (10 mins)

  • Canvas - Left Panel - Student Evaluation Questionnaire (SEQ)

Announcements/Updates

  • Final Project - Final submission due 5/1 (Fri)
    • Make sure your repository is public and README explains how to run it
    • If it requires API keys, email me instructions for getting and using them
  • Weekly Learning Logs - Last one: logs/wk14.md
    • Reflect on Gallery Walk and the semester overall
  • Communication
    • Office Hours: Walk-in or by appointment
    • Email: Specify course # in subject, e.g., "OIM3640: GitHub settings"
    • You are required to meet with me at least once this semester
  • Questions?

Gallery Walk

How It Works

Three rounds, ~10 minutes each.

  • Round 1: Group A presents, Groups B + C observe
  • Round 2: Group B presents, Groups A + C observe
  • Round 3: Group C presents, Groups A + B observe
  • Free Round (~5 min): Visit anyone you missed

As a presenter: Have your project running. ~2 min walkthrough: what it does, how you built it, what was hardest.

As an observer: Visit as many projects as you can. Ask questions, take notes.

Group A (Round 1) Group B (Round 2) Group C (Round 3)
Aryan Emmanuel Semaj
Matthew Lee Manav
Chloe Amelia Caroline
Wah Natalie Ric
Kalib Meizhu Joe
Miranda Layla Saad
Robert Alejandro Camden
Nidhi Tej Kamila
Finn Jackie Renee
Spark

What to Ask as an Observer

  • What problem does your project solve?
  • What was the hardest part?
  • Which AI tools did you use? How did they help?
  • What would you add with more time?
  • What's one thing you learned that surprised you?

Course Wrap-Up

13 Weeks Ago...

  • You had little or zero knowledge about programming
  • You had never used VS Code or GitHub
  • You had never written a Python function or debugged a script
  • You had never processed data from an API
  • You had never built a web application with Flask
  • You had never used AI tools for coding beyond ChatGPT
  • You had never experienced the joy and challenges of problem-solving and creative development

Today? Look at what you just demoed.

What We've Learned This Semester

  • Programming Fundamentals: variables, types, functions, conditionals, loops
  • Data Structures: lists, dicts, tuples, sets, choosing the right one
  • Strings and Text: string operations, regex, text analysis
  • Error Handling: try/except/finally, debugging strategies
  • Working with Data: file I/O, APIs (requests, JSON), data processing
  • Web Development: Flask (routes, templates, forms)
  • Tools: VS Code, Git/GitHub, AI coding assistants
  • Program Design: decomposition, abstraction, testing, pseudocode

You've gone from zero to building real Python applications. That's significant.

Same AI, Different Results

AI can generate a full program/app from a single prompt. What did you actually learn?

The dreamer asks AI to make brisket:

"I want brisket that's tender, smoky, like the kind you get in Texas."

AI makes it. The dreamer takes a bite: "It's dry... or maybe tough? I don't know, it's just not right. Can you try again?"

You tell AI how to make brisket:

"12-pound USDA Choice whole packer. Trim fat cap to 1/4 inch. Dry rub: coarse pepper and kosher salt, 50/50. Smoke with post oak at 250°F. Wrap in butcher paper at 165°F internal. Pull at 203°F when the probe slides in like butter. Rest one hour."

When It Goes Wrong

The dreamer says:

"It's dry. Try again."

  • They can't tell if it's the wrap timing, the temperature, or the rest time.
  • They just keep saying "try again" and AI guesses from scratch every time.

You say:

"The flat is dry but the point is perfect. You probed only one spot. The point hit 203°F while the flat was already past 207°F. Next time, probe both pieces independently."

  • One sentence. Root cause identified. That's debugging.

How You Think Now

The dreamer says "not right, start over" and AI throws out the whole brisket every time.

You break it into stages:

  • Trim, rub, smoke, wrap, rest - confirm each step before moving on (modular thinking)
  • Test on a small piece first with the same parameters (testing)
  • Write down the rub recipe and temp curve so you can roll back if it doesn't work (version control)

This is what you learned this semester. Not syntax. A way of thinking.

What ultimately matters in this course is not so much where you end up relative to your classmates, but where you end up relative to yourself when you began.

Want to Learn More About Python?

  • Strengthen Foundations
    • Principled, systematic programming and software design/engineering
    • Study advanced Data Structures and Algorithms (time/space complexity)
  • Enhance Data-related Skills
    • Database and SQL
    • Data wrangling, data analytics, data visualization, AI/ML
  • Scale Up Your Programs
    • Larger and more complex projects, i.e. Flask to Django
    • More on virtual env, testing, version control, debugging, deployment
  • Leverage AI
    • Use AI tools for everything and build projects integrating LLMs

What Else to Learn Next

How to Learn Next

Building with AI

  • Use Agentic Coding Tools
    • Let AI handle boilerplate; you focus on design and review
  • Spec First, Code Second
    • Write clear requirements before asking AI to generate code
    • The better your spec, the better the output (vibe coding and SDD)
  • Understand What You Ship
    • Read and review AI-generated code before committing
    • If you can't explain it, you can't debug it
  • Build, Don't Just Generate
    • Start with a running MVP, iterate in small steps
    • Use version control to roll back when things break

Non/Less-Programming Tech Jobs

  • Business/Data/BI Analyst - Excel, SQL, Python, domain knowledge
  • AI Product Manager - bridging business needs and AI capabilities
  • Cybersecurity Expert
  • UI/UX Designer: Figma, etc.
  • IT Consultant: project management, communication, etc.
  • Digital Marketer
  • Technical Recruiter
  • Product Manager

Final Thoughts

  • You have the foundation. Python is one of the most versatile languages in the world.
  • AI makes you faster, not replaceable. You proved that this semester.
  • Keep building. The best way to learn is by shipping projects.
  • Pick one direction. Don't try to learn everything at once.
  • Stay curious. Tools change every year. Fundamentals don't.

Before You Leave

  • [ ] Make sure your Final Project runs end-to-end
  • [ ] Write your last Learning Log (logs/wk14.md)
    • What did you see at Gallery Walk that impressed you?
    • What are you most proud of building this semester?
  • [ ] Final submission due 5/1 (Fri): code, README, deployed URL (if applicable)
  • [ ] Make sure your GitHub profile showcases your work

Thank you for a great semester!

global styles

Talking points for this section: - The skill isn't writing code anymore. It's knowing what to ask for, evaluating what you get back, and iterating until it's right. - You can now prototype any idea. Before this class, a "program idea" was just words. Now you can build it in a weekend. - Technical literacy is leverage. Whether you're managing a product, pitching a startup, or hiring developers, you now understand what's actually happening under the hood. - The tools will keep changing. The mental models you built (how data flows, how to decompose problems, how to debug) won't. - The question isn't "can AI do this for me?" It's "what can I build now that I couldn't before?"