Studying Algorithms at St Catherine’s – A teachers perspective
In an increasingly automated world, it is valuable for students to have an understanding and appreciation of algorithms: what they are, how to apply them and how to write them. An algorithm is defined as an ordered set of steps that will solve a problem in a finite amount of time.
We all use algorithms on a daily basis. Making a cake for example, involves following a set of instructions which are essentially an algorithm. In a technical sense, Google’s success has been attributed to the ‘Page Rank’ algorithm, which ranks the results when a user performs a search.
Algorithms form the foundation of computer coding but are also interesting to study in their own right. St Catherine’s has offered Algorithms as an elective in the Senior School since 2018 and it has already proven to be a popular course of choice amongst the student cohort.
The course introduces students to the concept of algorithms and promotes the development of algorithmic thinking skills including critical analysis, precision, logic and innovation. It teaches students to sort, search and match algorithms and compare the efficiencies of different algorithms as well as the fundamental knowledge of computer science.
The course content aims to challenge students’ problem solving abilities. With the Information Technology industry identified as a growth area for jobs in the future, St Catherine’s students
with an interest in the technology field are strongly encouraged to consider studying Algorithms at the Senior level.
Mr Wei Wang
VCE Mathematics/Extension Coordinator
Algorithms Enhance Problem Solving Skills – A Student perspective
In our Algorithms class in Semester 1, we explored the world of coding and recognising patterns. We learnt about the theory behind algorithms, how they are simply a sequence of steps that will produce a solution to a problem. We then investigated many different types of algorithms that are used every day in our modern society, such as sorting algorithms (bubble sort, quick sort and merge sort) and searching algorithms (linear and binary search). Not only do algorithms have to work, they also have to be efficient in their job.
We tested this on the two different types of search algorithms, linear and binary, to further clarify this idea. The linear search algorithm works by going through a whole list of values and comparing each one until the desired value is found, or the end of the list is reached. This is much less efficient than the binary search algorithm, which sorts the list first, then splits the list in half again and again until the only value left is either the desired value, or no value. This is much faster than linear search, because values that are unlikely to be the desired value are quickly discarded, without spending valuable time searching through them. Hence, binary search is much more efficient for a list containing a significant number of values.
I also find the Gale-Shapley algorithm particularly interesting. This algorithm finds stable matchings between two equally sized sets of elements. For example, in a group of eight people,
four male and four female, wanting to get married, each person has his or her own preferences: Male 1 likes Female 1, but he is paired with Female 2, and Female 1 who also likes Male 1, is paired with Male 3. This matching is known as ‘unstable’ because Male 1 and Female 1 would be happier with their preferences than the people with whom they are matched. The algorithm solves this problem by receiving a list of preferences from each person and performing a review of the data until there is a ‘stable’ match for each element.
In Term 2, we progressed from theory to actual coding. We learnt how to draw houses and spider webs and created our own programs. I made an interactive cave adventure while my friend Lara
made a pizza based on the user’s inputs.
Algorithms has assisted me to enhance my problem solving skills. All of us in the class has thoroughly enjoyed learning about algorithms, and we hope to take the skills we have gained into further areas of learning.