Algorithm Presentation: Pseudocode
From the introduction to algorithm curriculum
TL;DR
Pseudocode is a simplified, informal way to describe an algorithm's steps without worrying about specific programming language rules. It helps you plan your logic clearly before you write actual code. Think of it as a bridge between your thought process and a functional program.
1. The Mental Model
Imagine you're giving instructions to a very smart friend who understands basic concepts but doesn't know any specific programming language. You'd tell them what to do step-by-step using everyday language, maybe with a few common math or programming terms, but you wouldn't bother with semicolons or exact syntax. That's pseudocode.
2. The Core Material
Pseudocode allows you to focus on the logic of your algorithm. It's not executable code, but it's much more structured than plain English. It's universal because it's not tied to any single programming language, making it easy for anyone to understand your algorithm's intent.
Why Use Pseudocode?

Photo by Ann H on Pexels
- Planning: It helps you organize your thoughts and refine your algorithm's steps before diving into complex syntax.
- Communication: It provides a clear, language-agnostic way to explain your algorithm to others.
- Debugging Logic: It's easier to spot logical errors in simple pseudocode than in detailed code.
- Translating: It acts as a blueprint, making it straightforward to translate your algorithm into any programming language.
Common Pseudocode Constructs

Photo by Елена Кузьмина on Pexels
While there's no strict standard, good pseudocode often uses common keywords and structures similar to programming languages:
- START / END: To define the beginning and end of the algorithm.
- INPUT / GET / READ: To get data from the user or a source.
- OUTPUT / DISPLAY / PRINT: To show results to the user.
- SET / INITIALIZE / DECLARE: To create and set initial values for variables.
- IF / ELSE IF / ELSE: For conditional decisions.
- WHILE / FOR / DO-WHILE: For loops and repetition.
- FUNCTION / PROCEDURE / SUBROUTINE: To define reusable blocks of code.
- RETURN: To send a result back from a function.
You'll often see indentation used to show structure, just like in many programming languages.
Here's how you might think about the flow of an algorithm in pseudocode:
graph TD
A["START"] --> B["Get list of numbers"]
B --> C{"Is list empty?"}
C -- Yes --> D["Display 'List is empty'"]
C -- No --> E["Initialize max_value with first number"]
E --> F["For each remaining number in list"]
F --> G{"Is current number > max_value?"}
G -- Yes --> H["Set max_value = current number"]
G -- No --> F
H --> F
F --> I["Display max_value"]
D --> J["END"]
I --> J
3. Worked Example
Let's say you want to write an algorithm to find the largest number in a list of positive integers.
Problem: Find the largest number in a given list of positive integers.
Pseudocode:
ALGORITHM FindLargestNumber
INPUT: A ListOfNumbers
IF ListOfNumbers is empty THEN
DISPLAY "The list is empty."
RETURN "Error"
END IF
SET MaxValue = first element of ListOfNumbers
FOR EACH Number IN ListOfNumbers (starting from the second element)
IF Number > MaxValue THEN
SET MaxValue = Number
END IF
END FOR
OUTPUT: MaxValue
END ALGORITHM
In this example, you can clearly see the steps: check for an empty list, set an initial MaxValue, loop through the rest of the numbers, update MaxValue if a larger one is found, and finally display the result. This pseudocode could easily be translated into Python, Java, C++, or any other language.
4. Key Takeaways
- Pseudocode helps you plan an algorithm's logic before writing actual code, saving time and effort.
- It's an informal, language-independent description of an algorithm's steps.
- Use common keywords like
IF,FOR,SET,INPUT,OUTPUTto provide structure. - Indentation is crucial for showing the scope of conditional statements and loops.
- The goal is clarity and simplicity, focusing on what the algorithm does, not how to write it in a specific language.
- Pseudocode acts as a blueprint, making it easier to translate your algorithm into any programming language.
Common Mistakes to Avoid:
* Too much detail: Don't include semicolons, specific variable types unless absolutely critical for clarity, or other syntax elements of a real programming language.
* Too vague: Don't make it so high-level that it's just a sentence. It needs to show the step-by-step logic.
* Inconsistent keywords: While there's no strict standard, try to be consistent with the keywords you choose for similar operations within one algorithm (e.g., always SET for assignment, not sometimes SET and sometimes ASSIGN).
* Not using indentation: Without indentation, loops and conditions become very hard to read and understand.
5. Now Try It
Write pseudocode for an algorithm that takes a person's age as input and determines if they are a "minor" (under 18), an "adult" (18-64), or a "senior" (65 or older).
What success looks like: Your pseudocode should clearly define the input, use conditional statements (IF, ELSE IF, ELSE), and output the correct category based on the age.
Frequently asked about Algorithm Presentation: Pseudocode
More from introduction to algorithm
Get the full introduction to algorithm curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Save this course free