Our June 2021 cohorts are filling up quickly. Join our free webinar to Uplevel your career
About usWhy usInstructorsReviewsCostFAQContactBlogRegister for Webinar

Attend our Free Webinar on How to Nail Your Next Technical Interview

WEBINAR +LIVE Q&A

How To Nail Your Next Tech Interview

Hosted By
Ryan Valles
Founder, Interview Kickstart
Our tried & tested strategy for cracking interviews
How FAANG hiring process works
The 4 areas you must prepare for
How you can accelerate your learnings

How to Write Pseudocode

Learning how to write pseudocode is a skill that comes in handy not just when you’re a beginner but also when you’re:

  • Trying to implement a complex algorithm or solve a problem that requires several hundreds of lines of code.
  • Working on a group project where everyone must understand the intention behind changes.
  • Hoping to effectively pass on the logic of your code to software engineers who come after you. 

If you are preparing for a tech interview, check out our technical interview checklist, interview questions page, and salary negotiation e-book to get interview-ready! Also, read Amazon Coding Interview Questions, Facebook Coding Interview Questions, and Google Coding Interview Questions for specific insights and guidance on coding interview preparation.

Having trained over 9,000 software engineers, we know what it takes to crack the toughest tech interviews. Since 2014, Interview Kickstart alums have been landing lucrative offers from FAANG and Tier-1 tech companies, with an average salary hike of 49%. The highest ever offer received by an IK alum is a whopping $933,000!

At IK, you get the unique opportunity to learn from expert instructors who are hiring managers and tech leads at Google, Facebook, Apple, and other top Silicon Valley tech companies.

Want to nail your next tech interview? Sign up for our FREE Webinar.

In this article, we’ll discuss:

  • What Is Pseudocode?
  • Why Is Pseudocode Used, and Why Should I Write it?
  • Elements of Pseudocode
  • Example of Pseudocode
  • How to Write Pseudocode
  • Pseudocoding for the Experienced Engineer
  • Pseudocode for Different Statements
  • Writing the FizzBuzz Algorithm Using Pseudocode
  • Advantages and Disadvantages of Pseudocode
  • Pseudocode FAQs

What Is Pseudocode?

Before delving into the details of how to write pseudocode, it is worth looking at the definition of pseudocode to understand what pseudocode really means. Pseudocode refers to a high-level implementation of an algorithm that serves as mock code. 

Here, by “high-level implementation,” we mean that while pseudocode has the structure and logic of a source code, the algorithm implementation is written closer to plain English. Pseudocode is not a programming language, is farther from machine language, and cannot be run directly. Here’s what it does:

  • Mimics the structure of a programming language
  • Makes it easier to interpret the intricacies of an algorithm by improving readability for humans.
  • Acts as a stepping stone, especially for non-experienced coders who might be overwhelmed by the actual code and experienced coders who may be dealing with an overwhelmingly complicated algorithm or implementation.

To implement and run an algorithm, we first convert it into pseudocode, which is not programming-language-specific but represents the algorithm’s logic in its entirety. It can then be converted into actual code in any language and run.

In essence, an algorithm shows what logic needs to be implemented; pseudocode shows how the algorithm should be implemented. The code implements what needs to be implemented (algorithm) as per the pseudocode structure.

Why Is Pseudocode Used, and Why Should I Write It?

Pseudocode describes how an algorithm should be structured to work. It serves many purposes and can be useful to you, those who work with you, and those who come after you in several ways:

  • Given an algorithm to implement, pseudocode can act as an intermediate step when converting the initial algorithm into executable code, making it easier to understand how the algorithm can be accurately converted into executable code. 
  • Given lengthy and complicated code that a group is working on together, pseudocode makes it easier for everyone to be on the same page and understand the intention and logic behind new additions or changes.
  • Given complicated legacy code you need to understand and maintain, if you have the pseudocode for it, it’ll make it easier to understand what algorithm or logic each piece of code implements. The pseudocode works as rough documentation, so the program of one developer can be understood easily by others.
  • Pseudocode makes it easier to ensure you’re tracking and handling all the edge cases properly since the focus is mainly on the logic of the code and the structure of the eventual code, with no need to worry about the syntax. 
  • Pseudocode can illustrate where a particular construct, technique, loop, boundary condition, or mechanism needs to be used, even though the syntax for implementing it may differ, language to language. You might even be able to calculate the time complexity of your implementation and see if you can optimize it further without wasting time implementing unoptimized code.

Elements of Pseudocode

There are three basic elements of pseudocode:

  1. Sequence: There’s an assumption here that the code will run in order, step-wise, from top to bottom.
  2. Selection or Flow Control:  At some points during execution, the flow may need to be diverted to some other point based on some conditions.
  3. Iteration or Looping: You might need to perform the same set of instructions several times.

Example of Pseudocode

Here’s the pseudocode for multiplying two numbers:

BEGIN

 NUMBER number1, number2, product

 OUTPUT("Input number 1:")

 INPUT number1

 OUTPUT("Input number 2:") 

 INPUT number2

 product=number1+number2

 OUTPUT product

END

How to Write Pseudocode?

While this may be a strange way to begin instructions to write pseudocode, it needs to be said — there are no broad standards for pseudocode syntax. Pseudocode is subjective and non-standard, and therefore, there aren’t absolute rules. 

That said, your university or company may have its own preferred (limited) set of standards. Some preferences are often held widely enough since they come with many benefits. 

It’s also important that other programmers reading the pseudocode should be able to understand whatever rules you use easily. What’s most important in a coding project you’re handling alone is that your pseudocode should help you:

  • Structure your thoughts about implementing the algorithm
  • Handle all edge cases 
  • Help you successfully bring your plan to life in the form of actual code

With that out of the way, let us dive right into some guidelines you can follow to write professional-looking, readable pseudocode:

Suggestions to Write Pseudocode

  1. Begin with writing down what’s the purpose of the process.
  2. Start with BEGIN, end with END, and always capitalize the initial word.
  3. Have only one statement per line.
  4. Organize and indent sections of pseudocode properly (for clarity of decision control and execution mechanism and readability). Indent to show hierarchy, improve readability, and show nested constructs.
  5. Always end multi-line sections using any of the END keywords like ENDIF, ENDWHILE, etc.

Do's and Don'ts of Writing Pseudocode

Pseudocoding for the Experienced Engineer

If you’re an experienced developer solving complicated problems involving multiple edge cases, data structures, algorithms, or loops, writing pseudocode will give you the clarity you need to implement the solution while handling all edge cases accurately.

Suppose you’re working on a group programming project. In that case, all members writing pseudocode for the parts they’re handling will make it easier for all other members to stay on the same page and understand the coder’s intent and solution.

If you’re working for a company, adding pseudocode as comments will serve as documentation. It will keep helping newcomers, and the software engineers tasked with maintaining your code long after you move on from that role.

Pseudocode for Different Statements

Given below are the pseudocode templates for the most commonly used statements while writing pseudocode:

IF-THEN-ELSE Pseudocode:

IF condition THEN

sequence1

ELSE    

sequence2

ENDIF

          

FOR Loop Pseudocode:

FOR iteration bounds

sequence

ENDFOR


WHILE Loop Pseudocode:

WHILE condition

sequence 

ENDWHILE


REPEAT-UNTIL Pseudocode:

REPEAT

sequence

UNTIL condition


CASE Pseudocode:

CASE expression OF

condition 1: sequence 1

condition 2: sequence 2

.

.

.

condition n: sequence n

OTHERS

default sequence

ENDCASE

Writing the FizzBuzz Algorithm Using Pseudocode

Let us now see what pseudocode for a problem would look like by taking a simple example problem statement:

FizzBuzz Problem Statement

Write code to print numbers from 1 to 100. The catch is:

  • For multiples of 3, you need to print “Fizz”
  • For multiples of 5, you need to print “Buzz”
  • For the multiples of both 3 and 5, you need to print “FizzBuzz”

FizzBuzz Algorithm Pseudocode

FOR j <-- 1 TO 100 DO

IF j is divisible by 3 AND j is divisible by 5 THEN

OUTPUT "FizzBuzz"

ELSE IF j is divisible by 5 THEN

OUTPUT "Buzz"

ELSE IF j is divisible by 3 THEN

OUTPUT "Fizz"

ELSE

OUTPUT j

Advantages and Disadvantages of Pseudocode

Pseudocode FAQs

1. Is pseudocode useful only for beginners?

No. Pseudocode is for anyone who wants to communicate the intent and logic of their code easily and effectively to anyone reading it later. The person benefitting could be the programmer — when used before implementing a complex algorithm and when the coder revisits the code after some months of its implementation. The person benefitting could also be colleagues, teammates, and juniors who might need to understand the code to do their job well.

2.  What is the difference between pseudocode and flowchart?

The main difference between pseudocode and flowchart is that flowchart is a pictorial representation of the solution model to a problem. In contrast, pseudocode is not pictorial but a high-level representation of the operating principles of an algorithm.

3. What is the difference between pseudocode and source code?

The main difference between pseudocode and source code is that source code is written in a particular computer language and is executable in that language. In contrast, pseudocode is not executable and does not belong to any particular computer language. 

4. What is the difference between Algorithm, Pseudocode, and Program?

An algorithm is a specific, defined sequence of steps that need to be followed in order to solve a given problem. Pseudocode is a high-level representation of an algorithm written in no particular programming language which is also not executable. Executable code written in a specific programming language is called a program.

5. What are some alternatives to Pseudocode?

Some alternatives to Pseudocode are Flowcharts, Drakon charts, and Unified Modified Language charts or UML charts.

Ready to Nail Your Next Coding Interview?

Whether you’re a Coding Engineer gunning for Software Developer or Software Engineer roles, a Tech Lead, or you’re targeting management positions at top companies, IK offers courses specifically designed for your needs to help you with your technical interview preparation!

If you’re looking for guidance and help with getting started, sign up for our FREE webinar. As pioneers in the field of technical interview preparation, we have trained thousands of software engineers to crack the most challenging coding interviews and land jobs at their dream companies, such as Google, Facebook, Apple, Netflix, Amazon, and more!

Sign up now!

Attend our Free Webinar on How to Nail Your Next Technical Interview

WEBINAR +LIVE Q&A

How To Nail Your Next Tech Interview

Hosted By
Ryan Valles
Founder, Interview Kickstart
Our tried & tested strategy for cracking interviews
How FAANG hiring process works
The 4 areas you must prepare for
How you can accelerate your learnings

Recommended Posts

All Posts