| Step | Action | Python Example Thinking | |------|--------|--------------------------| | 1 | the problem | “What are the inputs? Outputs? Constraints?” | | 2 | Plan without code | Write steps in plain English (pseudocode). | | 3 | Implement in Python | Translate pseudocode to Python. | | 4 | Test & Debug | Run with sample inputs, fix errors. | 2. Core Programming Patterns (with Python) Pattern A: Repetition (Loops) When to use: Doing the same action many times. Python tool: for , while

# Problem: Find largest number in a list def find_max(numbers): current_max = numbers[0] # track state for num in numbers: if num > current_max: current_max = num return current_max Exercise 1: FizzBuzz (testing conditionals + loops) Write a program that prints 1 to 100. For multiples of 3 print “Fizz”, for 5 “Buzz”, for both “FizzBuzz”.

def is_palindrome(word): # Remove spaces and lowercase cleaned = word.replace(" ", "").lower() return cleaned == cleaned[::-1] # slicing trick def are_anagrams(word1, word2): return sorted(word1.lower()) == sorted(word2.lower()) Exercise 4: Fibonacci (recursion or iteration) Print the first N Fibonacci numbers.