CIE A Level Computer Science (9618) – 19 Computational Thinking and Problem Solving

By Patrick Dawkins Categories: CIE
Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

The “CIE A Level Computer Science (9618) – Computational Thinking and Problem Solving” course empowers students with critical skills in algorithmic thinking, data structures, and problem-solving techniques essential for success in computer science. This course delves into the core principles of searching and sorting algorithms, including linear, binary, insertion, and bubble sorts. It provides an in-depth exploration of Abstract Data Types (ADTs) such as stacks, queues, linked lists, and binary trees. Students will gain hands-on experience with iterative and recursive approaches, developing a solid understanding of algorithm performance analysis using Big O notation. Additionally, the course covers the foundational concepts of recursion, examining its expression in programming languages and its role in efficient problem-solving. Ideal for students aiming to excel in computer science, this course offers practical knowledge and techniques aligned with the CIE A Level curriculum, laying a robust foundation for advanced studies and career paths in Computer Science.

Show More

What Will You Learn?

  • Understand and implement linear and binary search algorithms.
  • Learn the conditions necessary for using binary search and analyse its performance based on data size.
  • Explore and implement insertion sort and bubble sort algorithms.
  • Analyse how initial data order and data size impact sorting performance.
  • Write algorithms to perform insertion, deletion, and search operations for various data structures.
  • Examine the characteristics and applications of graphs as ADTs.
  • Discover how certain ADTs can be implemented using others or through built-in data structures.
  • Understand practical applications of stack, queue, linked list, dictionary, and binary tree ADTs.
  • Compare Algorithm Efficiency with Big O Notation.
  • Learn to evaluate and compare algorithms based on time and space complexity.
  • Understand how to choose appropriate algorithms depending on task requirements and constraints.
  • Grasp the essential features of recursion and how it’s implemented in programming languages.
  • Learn to write and trace recursive algorithms.
  • Discover when recursion is beneficial and explore stack unwinding as part of recursive operations.
  • Understand how a compiler handles recursive code, including stack management and function calls.

Course Content

1. Introduction to Computational Thinking and Problem Solving
Overview of computational thinking and its importance in problem-solving. Understanding algorithms and the role of efficiency in computer science.

  • Introduction to Computational Thinking
    08:57
  • Computational Thinking Basics
  • Identify Computational Thinking Elements – Planning a Community Fundraising Event
  • Introduction to Algorithms and Efficiency
  • Algorithms and Efficiency Basics
  • Analysing the Complexity of Algorithms

2: Searching Algorithms
Linear Search Binary Search

3: Sorting Algorithms
Insertion Sort Bubble Sort Comparing Sorting Algorithms

4: Abstract Data Types (ADTs) – Linked List
Introduction to ADTs Stack Queue Linked List Binary Tree Graph as an ADT

5: Abstract Data Types (ADTs) – Stacks

6: Abstract Data Types (ADTs) – Queues

7: Abstract Data Types (ADTs) – Binary Tree

8: Abstract Data Types (ADTs) – Graphs

9: Implementing ADTs Using Other ADTs and Built-in Types
Stack Implementation Using Other Data Types Queue Implementation Using Linked Lists and Arrays Linked List Implementation Binary Tree and Dictionary Implementations

10: Algorithm Efficiency and Big O Notation
Introduction to Algorithm Complexity Time Complexity Space Complexity Comparing and Choosing Algorithms Based on Efficiency

11: Introduction to Recursion
Understanding Recursion Implementing Recursive Algorithms Stack and Unwinding in Recursion

12: Compiler and Recursion
Compiler Processes for Recursive Functions Stack Frames and Recursive Depth When to Use Recursion Over Iteration

13: Practical Applications and Problem Solving with Algorithms and ADTs
Real-World Problem Solving Using Algorithms Project-Based Learning: Building a Complex Data Structure Algorithmic Problem Solving Practice

14: Past Examination Questions and Answers

Want to receive push notifications for all major on-site activities?

Scroll to Top