1. Topic 1(COLON) Computational Thinking and Problem Solving

Lesson 1.3: Algorithms, Pseudocode And Flowcharts

#### Lesson focus #### Learning outcomes Students should be able to:.

Lesson 1.3: Algorithms, Pseudocode and Flowcharts

Introduction

Welcome to Lesson 1.3! In this lesson, we will dive into the world of algorithms, pseudocode, and flowcharts. Our objective is to understand how to translate real-world problems into clear, executable instructions that a computer can follow. By the end of this lesson, you will be able to create and represent algorithms using both pseudocode and flowcharts! 🖥️

Learning Outcomes

You should be able to:

  • Identify the properties of a good algorithm: correct, unambiguous, finite, and ordered.
  • Write algorithms in structured pseudocode using sequence, selection, and iteration.
  • Represent algorithms as flowcharts with standard symbols.
  • Hand-trace (dry-run) an algorithm with a trace table to predict its output.
  • Express solutions as clear pseudocode and flowcharts.

What is an Algorithm?

An algorithm is a step-by-step procedure for solving a problem or completing a task. Think about a recipe for baking a cake: it gives you precise instructions, ensures you have the right items, and guides you through each step. This is very similar to how we write algorithms in computing!

Properties of a Good Algorithm

For an algorithm to be effective, it should have several key properties:

  1. Correct: The algorithm must successfully solve the problem it was designed for.
  2. Unambiguous: Each step must be clearly defined and easy to interpret. No confusion allowed!
  3. Finite: An algorithm must always terminate after executing a finite number of steps. No infinite loops!
  4. Ordered: The steps must be organized in a logical sequence.

Example: Finding the Maximum of Two Numbers

Let's write a simple algorithm to find the maximum of two numbers, $a$ and $b$.

  1. Start
  2. If $a > b$, then the maximum is $a$.
  3. Else, the maximum is $b$.
  4. End

This is an example of a correct, unambiguous, ordered, and finite algorithm.

Writing Algorithms in Pseudocode

Pseudocode is a way to represent an algorithm using structured English-like syntax. It helps you think through your logic without worrying about specific programming language syntax.

Structured Pseudocode Elements

  • Sequence: Steps that occur in a specific order.
  • Selection: Conditional statements that allow branching, like if statements.
  • Iteration: Loops that repeat steps, like while or for loops.

Example: Pseudocode for Maximum of Two Numbers

Here’s a simple pseudocode example based on our previous algorithm:

START
IF a > b THEN
    max = a
ELSE
    max = b
ENDIF
PRINT max
END

Flowcharts

Flowcharts are diagrams that visually represent algorithms. They use standard symbols to illustrate the flow of the process.

Standard Symbols in Flowcharts

  • Oval: Start or End
  • Rectangle: Process or Operation
  • Diamond: Decision or Conditional Statement
  • Arrow: Direction of flow

Example: Flowchart for Maximum of Two Numbers

Here's how the flowchart looks like for our pseudocode:

  1. Start (Oval)
  2. Check if $a > b$ (Diamond)
  • If true, point to max = a (Rectangle)
  • If false, point to max = b (Rectangle)
  1. Print max (Rectangle)
  2. End (Oval)

Flowchart

Hand-Tracing Algorithms

To ensure your algorithm works correctly, you can hand-trace it. This involves simulating the algorithm step by step to see what output it produces.

Example: Hand-Tracing the Algorithm

Let’s hand-trace our algorithm with $a = 5$ and $b = 3$.

| Step | Description | Value |

|------|------------------------------|----------|

| 1 | Start | |

| 2 | Check if a > b | True |

| 3 | Set max = a | max = 5 |

| 4 | Print max | Output: 5|

| 5 | End | |

Since the trace output is as expected, we can be confident that the algorithm works for these inputs! 📝

Conclusion

In this lesson, we explored the fundamentals of algorithms, pseudocode, and flowcharts. We learned the properties that make an algorithm effective, how to write pseudocode, and how to represent our logic using flowcharts. Remember, the key to effective computational thinking is clarity and structure in your approach to problem-solving.

Study Notes

  • An algorithm is a sequence of steps to solve a problem.
  • Properties of a good algorithm: correct, unambiguous, finite, ordered.
  • Pseudocode outlines algorithms in structured, readable formats.
  • Flowcharts visualize algorithms using symbols like ovals, rectangles, and diamonds.
  • Hand-tracing helps verify algorithms and predict outputs.

Practice Quiz

5 questions to test your understanding

Lesson 1.3: Algorithms, Pseudocode And Flowcharts — Computing | A-Warded