Code sorting algorithms
Lesson details
Learning outcome
I can trace code for a sorting algorithm to identify factors which may impact efficiency.
Key learning points
- Code for sorting algorithms can be analysed by how efficient the algorithm is.
- A trace table can be used to analyse an algorithm.
- Bubble sort compares elements next to each other in the list and swaps them if they are in the wrong order.
- A more efficient version of bubble sort uses a variable to flag when a swap was made during a single pass.
Keywords
Trace table - a tool used to track the values of variables and the flow of execution in an algorithm or program, step by step
Efficiency - in sorting algorithms, efficiency refers to how effectively an algorithm uses resources (time and space) while sorting a list of data
Common misconception
Bubble sort is a fast and efficient sorting algorithm.
Bubble sort is considered inefficient for large data sets, but it can be made more efficient by using a flag to indicate when a swap is made in a single pass.
Teacher tip
This lesson involves tracing through code, it is often easier for pupils to have a paper based version of the trace table to record steps as they go. Versions of the trace tables are available on the worksheets for this lesson.
Licence
Lesson video
Loading...
Prior knowledge starter quiz
6 Questions
Q1.What is the main purpose of a sorting algorithm?
Q2.Which of the following best describes the bubble sort algorithm?
Q3.Arrange the steps of the bubble sort algorithm in the correct order:
Q4.Match the following terms with their definitions:
repeatedly swaps adjacent elements to sort a list
checks each element in a list one by one
divides the list and searches in halves
Q5.A is an error checking method that steps through each line of code in a program and records the state of the variables and conditions.
Q6.Sam wants to use the merge sort algorithm to sort the following scores from lowest to highest. Show the order of the items after the first merge.
250,120,95,101,80
Assessment exit quiz
6 Questions
Q1.What is the purpose of a trace table in programming?
Q2.Which of the following statements is true about bubble sort?
Q3.How can the performance of bubble sort be improved?
Q4.What does the efficiency of a sorting algorithm refer to?
Q5.Arrange the steps of the bubble sort algorithm with a flag in the correct order:
Q6.You have been given some playing cards that have not been sorted.
The cards are in the following order
4, 8, 5, 2, 9
State the order of the cards after the first pass of the bubble sort algorithm.
To help you plan your 10 computer science lesson on: Code sorting algorithms, download all teaching resources for free and adapt to suit your pupils' needs...
To help you plan your 10 computer science lesson on: Code sorting algorithms, download all teaching resources for free and adapt to suit your pupils' needs.
The starter quiz will activate and check your pupils' prior knowledge, with versions available both with and without answers in PDF format.
We use learning cycles to break down learning into key concepts or ideas linked to the learning outcome. Each learning cycle features explanations with checks for understanding and practice tasks with feedback. All of this is found in our slide decks, ready for you to download and edit. The practice tasks are also available as printable worksheets and some lessons have additional materials with extra material you might need for teaching the lesson.
The assessment exit quiz will test your pupils' understanding of the key learning points.
Our video is a tool for planning, showing how other teachers might teach the lesson, offering helpful tips, modelled explanations and inspiration for your own delivery in the classroom. Plus, you can set it as homework or revision for pupils and keep their learning on track by sharing an online pupil version of this lesson.
Explore more key stage 4 computer science lessons from the Searching and sorting algorithms unit, dive into the full secondary computer science curriculum, or learn more about lesson planning.