What is an algorithm?
A step-by-step process to solve a problem.
Does an algorithm have to be code?
No, it can also be written in plain language.
What is the first step when solving a programming problem?
Understand the problem before writing any code.
What does “breaking a problem down” mean?
Splitting a big task into smaller, manageable steps.
What is decomposition in programming?
The act of breaking complex problems into smaller parts.
What is logical thinking in programming?
Making decisions based on clear rules and predictable outcomes.
What does debugging mean?
Finding and fixing errors or unexpected behavior in code.
What is the key mindset of debugging?
Assume your logic might be wrong and test it piece by piece.
What should you check first when code doesn’t work?
Your assumptions and the values your program is actually using.
What is a common debugging method?
Printing or inspecting values to see what the code is doing.
What does “trace the code” mean?
Follow the logic step by step like the computer would.
What is an edge case?
An uncommon situation that can break a program if not handled.
What is resilience in programming?
Being able to retry and rethink instead of giving up when something breaks.
What is a stack?
A structure that stores items in “last in, first out” order (LIFO).
Stack example: dishes piled up — which dish do you take first?
The top one (last added, first removed).
What is a queue?
A structure that stores items in “first in, first out” order (FIFO).
Queue example: a line of people — who goes first?
The person who arrived first.
When is a stack useful?
When the most recent item should be used first (undo button, back button, etc).
When is a queue useful?
When tasks should be handled in order of arrival (lines, notifications, print jobs).
What separates a programmer from a beginner?
How they think through problems, not how much code they memorize.