Loading…
TechNest
Problem-solving patterns
Explore and get curious
2 steps
Try things, experiment
2 steps
Go deep, master it
2 steps
Explore & Discover
You already use algorithms every day without realizing it. When you search YouTube, an algorithm decides what shows up first. When Google Maps picks your route, an algorithm calculated the fastest path. When Spotify builds your playlist, an algorithm sorted songs by what you'll probably like. Spend 20 minutes today writing down every moment you interact with technology and asking "is an algorithm making a decision here?" Then watch the free CS Unplugged video "What is an Algorithm?" at csunplugged.org — it explains the concept using physical activities, no computer required. Pay attention to the word "step-by-step" — that's the core idea. You're ready for the next step when you can give three real examples from your own day where an algorithm made a decision for you.
Learn the Basics
Learn four classic algorithms that every programmer knows: linear search (check each item one by one), binary search (split the list in half each time), bubble sort (compare neighbors and swap), and selection sort (find the smallest and move it to the front). Go to Khan Academy's free "Computer Science" course and complete the "Algorithms" section — it has interactive exercises that walk you through each one visually. Then try the physical version: grab a shuffled deck of cards and sort them by number using bubble sort rules. Time yourself. Then sort a new shuffled deck using selection sort and time that too. Which was faster? That's the beginning of understanding algorithm efficiency. You're ready for the next step when you can sort a 10-card deck using both bubble sort and selection sort and explain which one took fewer total swaps.
Build Your First Project
Write your first algorithm in real code. Go to Scratch.mit.edu (free, no download) and build a project that uses a list — like a quiz game that stores five questions and checks your answer for each one using a linear search. The algorithm is: check question 1, if it matches the answer show "correct," if not check question 2, and so on. This is called a "sequential search" and it's the simplest searching algorithm. Don't copy someone else's project — type every block yourself, even if you're following a tutorial. Getting your hands on the logic is what makes it stick. When it works, test it by entering a wrong answer on purpose and making sure it handles that correctly. You're ready for the next step when you have a working Scratch project that searches through a list and responds correctly to both right and wrong inputs.
Experiment & Iterate
Now switch from Scratch to Python and write the same search algorithm in a real programming language. Go to replit.com (free) and start a new Python file. Write a linear search function that takes a list of names and a target name, and returns whether the target is in the list. Then write a binary search function that does the same thing but cuts the list in half each time. Test both with a list of 20 Utah city names — Salt Lake City, Provo, Ogden, St. George, and so on. Add a "print" statement that shows how many steps each search took. Compare the step counts. This difference in steps is called "time complexity" and it's how computer scientists measure algorithm efficiency. You're ready for the next step when your Python file runs both search functions correctly and prints the step count for each one.
Advanced Techniques
Dive into recursive algorithms — functions that call themselves. The classic example is factorial: factorial(5) = 5 × factorial(4) = 5 × 4 × factorial(3), and so on until you hit 1. Go to Khan Academy's free "Recursion" lesson and complete the exercises. Then write a recursive algorithm in Python on replit.com that solves the "Fibonacci sequence" — where each number is the sum of the two before it: 1, 1, 2, 3, 5, 8, 13... This pattern shows up in nature all the time, including in the spiral patterns of pinecones and sunflowers you'd find anywhere on the Wasatch Front. Extend your code to generate the first 15 Fibonacci numbers. Add comments to every step explaining what the function is doing. You're ready for the next step when your recursive Fibonacci function generates the correct first 15 numbers and you can explain why a function calling itself doesn't loop forever.
Final Project Showcase
Design and build an original algorithm that solves a real problem you actually care about. It could be a program that helps you decide which Utah hiking trail to tackle based on your fitness level and how much time you have, or a quiz that recommends which coding language to learn next, or a sorting system for your music playlist by mood. Your algorithm should have at least one loop, at least one conditional (if/else), and at least one function. Write it in Python on replit.com. Comment every section so someone else could read it and understand what's happening. Record a 2-minute screen share video walking through your code and explaining your algorithm out loud — like you're teaching it to a friend. Post your replit project as public and share the link. You're ready for the next step when you have a working, commented Python program solving a real problem and a video explanation that a classmate could follow.
Recommended materials and resources for this quest.
Standard Playing Cards Deck
RequiredYou'll physically sort a shuffled deck of cards to understand bubble sort and selection sort — there's no better way to feel the difference between algorithms than doing it with your hands.
amazon
$4–8
Graph Paper Composition Notebook
RequiredYou'll draw flowcharts and diagram your algorithms on paper before coding them — this is how real software engineers think through logic before typing a single line. Graph paper keeps your boxes and arrows neat.
amazon
$5–10
Grokking Algorithms by Aditya Bhargava
The most readable algorithms book ever written for beginners. It explains every major algorithm with hand-drawn illustrations and almost no dry math. If you want to go beyond this quest, this is the book.
amazon
$28–40
Some links may be affiliate links. We may earn a small commission at no extra cost to you.