When I tell people I teach Python, the first thing many of them say is, "I'm not a math person" or "I don't think the way programmers think." I used to nod politely. Now I push back a little. Because if you've ever applied for a scholarship — or even seriously thought about it — you've already done the hard part. You just haven't written it down in code yet.
Programming is mostly the act of taking decisions you already make and writing them down in a form a computer can follow. The syntax is the easy bit. The thinking is what you've been doing for years.
You already check conditions
Imagine you're scanning a scholarship listing. You look at it and ask:
- Is my GPA high enough?
- Is my degree level eligible?
- Is the deadline still open?
- Am I from an eligible country?
If all of those are yes, you add it to your shortlist. If even one is no, you move on.
That, in Python, is an if statement. Same thought, different notation.
if gpa >= 3.5 and degree_level == "Masters" and deadline_open:
print("Add to shortlist")
else:
print("Skip this one")You're not learning a new way of thinking when you read that. You're learning a new way of writing down a thought you already have.
You already work with lists
If I asked you right now to name five universities you'd like to apply to, you could rattle them off. That's a list. If I asked you to rank them by preference, that's a sorted list. If I asked you to remove the ones whose deadlines have passed, that's filtering a list.
In Python it looks like this:
universities = ["Edinburgh", "Toronto", "ETH Zurich", "Cape Town", "Manchester"]
for uni in universities:
print("Apply to:", uni)The loop — for uni in universities — is just the English phrase "for each university in my list." Read it out loud and you'll hear it.
You already do arithmetic with stakes
Most of my students have, at some point, sat down with a notebook and added up what it would cost to apply abroad. Application fee. Transcript fee. English test. Courier. Visa. Maybe a buffer for surprises. You add it all up and then you ask: can I afford this? If not, which applications do I cut?
That entire process is a Python program of about eight lines.
application_fee = 80
transcript_fee = 30
english_test = 220
courier = 60
visa = 190
total = application_fee + transcript_fee + english_test + courier + visa
if total > 500:
print("Tight budget. Consider trimming.")
print("Total cost in USD:", total)You've done this calculation before. The new part is that the computer will now do it for you, and you can change one number and recalculate the whole thing in a second.
You already break problems into smaller problems
When you plan a scholarship application, you don't sit down and "apply." You break it down: gather transcripts, draft a statement, ask for two referees, take the English test, fill the form, pay the fee, hit submit. Each of those is a smaller task with its own sub-tasks.
In code, those smaller chunks are called functions. A function is just a labelled box that does one job. calculate_total_cost. check_eligibility. format_email_to_professor. You hand it some inputs, it hands you back an answer. The same way you'd hand a task to a friend who's good at that one thing.
What we'll actually do in PySprout
In Week 1, we'll take these patterns — checking conditions, walking through lists, doing math, breaking work into functions — and write the Python for them. You won't be learning to think like a programmer. You'll be learning the notation that lets you write your thinking down.
If you can plan a scholarship application, you can write a small Python program. They are the same kind of work. One of them just happens on a keyboard.
See you in session one.