Searching and Sorting Algorithms

Demo algorithms which can be used when teaching GCSE and A-Level Computer Science.
Published:

Background

I’m a software developer at a College, and as such, can often find myself in situations which are not directly related to ongoing work projects. That is exactly the reason behind why I compiled these sorting algorithms.

We had a computing class from a local school visit for a few additional taught sessions, to help supplement their GCSE studies. The specific areas that we were asked to target were the searching and sorting algorithms, and hands-on programming in Python.

I ended up reprogramming these algorithms line-by-line on a projected screen and explaining what each line and/or block did. This was so that the students could follow along, hopefully to gain an understanding of the algorithms, and experience in practical programming.

Specific Information

The following algorithms are included:

Searching Sorting
Binary Search1 Bubble Sort2
Linear Search1 Insertion Sort
Merge Sort

1 Contains both Iterative and Recursive variants.
2 Contains both Standard and Optimised variants.

While these algorithms are designed to supplement the OCR J277 Computer Science GCSE (9-1) course, they may also be useful in the teaching and learning of other GCSE, and even A-Level, Computer Science courses.

At the time of writing, only implementations in Python are available, however I may go through these in the future, and add other implementations of these in other programming languages.

Downloads

All of these algorithms are freely available on GitHub.