Sorting Algorithms: Comparison and Implementation — Topics & Learning Outcomes

📋 Module Topics🎯 Student Learning Outcomes📚 Materials for Each Topic

Module Topics

1. Introduction to Sorting Algorithms

Overview of what sorting algorithms are and why they matter in computer science. Establishes foundational vocabulary and criteria used to evaluate and compare sorting approaches.

Materials for topic 1 (2)

2. Bubble Sort

Examination of the bubble sort algorithm, including its step-by-step logic and JavaScript implementation. Covers its time complexity and scenarios where it may or may not be practical.

Materials for topic 2 (2)

3. Insertion Sort

Exploration of the insertion sort algorithm and how it builds a sorted array one element at a time. Includes JavaScript implementation and analysis of its performance characteristics.

Materials for topic 3 (2)

4. Merge Sort

Deep dive into the divide-and-conquer merge sort algorithm and its recursive structure. Students implement merge sort in JavaScript and examine its consistent O(n log n) time complexity.

Materials for topic 4 (2)

5. Quicksort

Introduction to quicksort's partitioning strategy and its average-case efficiency. Covers JavaScript implementation, pivot selection considerations, and best versus worst-case performance.

Materials for topic 5 (2)

6. Comparing Sorting Algorithms

Side-by-side comparison of bubble sort, insertion sort, merge sort, and quicksort across time and space complexity metrics. Guides students in selecting the appropriate algorithm based on data size and structure.

Materials for topic 6 (2)

Student Learning Outcomes

By the end of this module, students will be able to:

MO1
Implement bubble sort, insertion sort, merge sort, and quicksort algorithms in JavaScript using appropriate loop and recursive structures
Level: ApplyType: CognitiveCourse mapping: CO3
MO2
Analyze the best-case, average-case, and worst-case time complexity and space complexity of each sorting algorithm using Big O notation
Level: AnalyzeType: CognitiveCourse mapping: CO4
MO3
Differentiate between sorting algorithms based on stability, in-place properties, and practical performance characteristics across varying input sizes and orderings
Level: AnalyzeType: CognitiveCourse mapping: CO1
MO4
Evaluate and select the most appropriate sorting algorithm for a given scenario by weighing data size, input order, memory constraints, and stability requirements
Level: EvaluateType: CognitiveCourse mapping: CO2

Course Outcomes (reference)

CO1Describe both complex and simple data structures.
CO2Select the correct data structure and algorithm to solve specific problems
CO3Implement data structures and algorithms in computer code.
CO4Analyze the performance of algorithms and data structures

Materials for Each Topic

What has been made for each topic. Materials that cover the whole module are listed on the module page.

1. Introduction to Sorting Algorithms

↑ Back to topic 1

2. Bubble Sort

↑ Back to topic 2

3. Insertion Sort

↑ Back to topic 3

4. Merge Sort

↑ Back to topic 4

5. Quicksort

↑ Back to topic 5

6. Comparing Sorting Algorithms

↑ Back to topic 6