2. LEARNING OBJECTIVES
ALGORITHMS
• What is an algorithm?
• Designing an algorithm
• Why use flowcharts or
pseudocode?
PROGRAMMING BASICS
• Program Structure
• Sequencing
• Selection
• Iteration
• Variables
4. WHAT IS AN ALGORITHM?
• An algorithm is a set of step-by-step
instructions to complete a task or solve a
problem.
• Algorithms are NOT computer programs! They help us plan and design the
computer program code that will do the task.
• Flow charts or pseudocode are useful for
developing and visualising algorithms.
5. REAL-WORLD ALGORITHMS
TASK ALGORITHM EXAMPLE
Building flat-pack
furniture
Affix part A to part B using the
supplied Allan key.
Making a dress Cut along the grain of the fabric.
Use of Television Press ‘Guide’ to access program
listings.
Assembly
Instructions
Sewing
Pattern
TV
Operating
Manual
6. SIMPLE ALGORITHM
GETTING WASHED & DRESSED STEP 1 – GET UP
1. Get out of bed.
2. Eat breakfast.
STEP 2 – WASH
1. Go to bathroom.
2. Wash face.
STEP 3 - GET DRESSED
1. Remove pyjamas.
2. Put clothes on.
1. What are the INPUTS required to
achieve the OUTPUTS required?
2. What STEPS are needed and in
which SEQUENCE?
3. Are any DECISIONS needed?
4. Is there any REPETITION in the
process?
DO: Write an algorithm for brushing your teeth!
7. DESIGNING
ALGORITHMS
• Computers need exact instructions
on how and when to perform a task.
• We create a program that performs
exact instructions in the algorithm.
• An algorithm written using a
flowchart or pseudocode can help
us to write effective computer
programming code.
• They help to structure and
SEQUENCE (order) the instructions.
FLOWCHART & PSEUDOCODE EXAMPLE
8. WHAT IS PROGRAMMING?
A Program is CODE written in a
LANGUAGE that computers
understand.
• SEQUENCE is important so that a computer does
the task in the right order.
• SELECTION is the decision to make or question to
answer. E.g. IF, THEN, ELSE. The path through a
program changes depending on the answers.
• ITERATION is looping through (repeating) a path
until we reach our goal using FOR and WHILE
statements. Iterative programming reduces the
steps required by a program.
Code contains
STATEMENTS
(single instructions)
that tell the computer what to do.
9. EXAMPLE
Declaring variables to store our
information for use later on.
DO: Identify the variables for the ‘brushing your teeth.’
Using iteration to loop through the steps
whilst the ‘awake’ condition remains true.
Using conditional selection to determine
the path the program will take.
10. REFLECTION (PLENARY)
WHAT DID YOU LEARN?
What are your key takeaways from the lesson today?
CONFIDENCE LEVEL?
1. Understood ALL of it, very confident.
2. Understood MOST of it, fairly confident.
3. Understood SOME of it and need some support. FURTHER LEARNING…
NEXT LESSON: Datatypes, Variables, Constants and Operators.
Editor's Notes
Step-by-step: Like giving directions to a friend.
How do we write an algorithm? For a comic, we might draw pictures in a story board.
We use flow charts and pseudocode to visualise our algorithm easily.
Pseudo means ‘not the real thing’ so pseudocode is the instructions in our own words.
Let’s be clear: Algorithms are NOT computer programs!
When we design an algorithm, it forces us to think about the overall goal; the individual steps needed to accomplish that task.
We consider the inputs required to achieve the output needed.
The algorithm design process can also help us to think about different ways of solving problems.
END OF SLIDE: Now write your own simple algorithm for brushing their teeth.
Computers need exact Instructions!
Take away the “Is water boiled” question – our while loop (ITERATION) – we could end up with a cold cup of tea!
Take away the “put teabag in cup” statement and you have just hot water.
Equally, the order (SEQUENCE) is important… is it milk first or last? One to discuss outside of the lesson!
THIS IS WHERE PROGRAMMING COMES IN!
SELECTION is important to manage the various paths through a program depending on decision points.
Without selection, there would only be 1 path and the program would be ineffective and unrealistic.
ITERATION is efficient and requires less processing as it managed the repetitive tasks.
It keeps the algorithm simple.
We learned about algorithms, what can helps us to design them, Program structure and basic programming concepts.
At the beginning of the next lesson (before moving on), I would ask the students what they can recall from the last lesson. Perhaps ask different students to come out “Be the teacher” and give 1 minute mini teach on the different areas.