Official government website of the Government of Kingdom of Saudi Arabia
Link to official Saudi websites end with edu.sa

All links to official educational websites in the Kingdom of Saudi Arabia end with sch.sa or edu.sa

Government websites use the HTTPS protocol for encryption and security.

Secure websites in the Kingdom of Saudi Arabia use the HTTPS protocol for encryption.

Registered with the Digital Government Authority under number:

20250417892

Data structures and Algorithms with C++

CS2014
3 hours English

Data structures and Algorithms with C++

Data Structures and Algorithms in C++
1 Introduction to Data Structures and Algorithms / Overview of data structures and algorithms / Importance in computer science / Introduction to C++ programming environment
2 Fundamentals of algorithms with examples of designing and implementing common algorithms / Characteristic representations of algorithm complexity / Algorithm Analysis / Big O, Omega, and Theta notations / Time and space complexity analysis / Comparing algorithm efficiencies
3 Fundamental data structures: / Arrays and Linked Lists / Static and dynamic arrays / Singly and doubly linked lists / Circular linked lists
4 Stacks and Queues / Implementation using arrays and linked lists / Applications of stacks, Priority Queues, and queues / Implementing priority queues
5 Recursion and Recursive Algorithms / Introduction to recursion and Understanding recursion / Recursive problem-solving techniques / Analyzing recursive algorithms / Building and searching data structure, Binary search
6 Trees / Binary trees / Binary search trees (BST) / Tree traversals (in-order, pre-order, post-order)
7 Graphs / Graph representations (adjacency list, adjacency matrix) / Depth-first search (DFS) and breadth-first search (BFS) / Applications of graphs
8 Sorting Algorithms / Insertion sort, selection sort, bubble sort / Merge sort, quick sort, heap sort / Analyzing sorting algorithm efficiencies
9 Hashing and Hash Tables / Hash functions / Collision resolution techniques / Applications of hash tables
10 The concept of solving a problem in polynomial-time
11 Parallel algorithms (CLRS Section 26.1)
12 Lab work
1.1 Mapped to: K1

An ability to identify and explain the broad in-depth knowledge and comprehension of concepts, principles, theories, processes and methodologies in the domain of Data Structures and Algorithms with C++

Teaching Strategy One or more of the following strategies may be used: • Classroom lectures • PowerPoint slides • Reading assignments
Assessment Methods One or more of the following strategies may be used: • Written exams • Home assignments • Oral questions
2.1 Mapped to: S1 (S1 in ABET)

Cognitive Skills: An ability to identify, formulate, and solve problems in the domain Data Structures and Algorithms with C++

Teaching Strategy One or more of the following strategies may be used: Classroom lectures • PowerPoint slides • Reading assignments • Problem solving practice • Tutorials
Assessment Methods One or more of the following strategies may be used: • Written exams • Home assignments • Oral questions
2.2 Mapped to: (S2 in ABET)

Cognitive Skills: an ability to apply engineering design to produce solutions in the domain of Data Structures and Algorithms with C++

Teaching Strategy One or more of the following strategies may be used: • Design activities through problem-based learning to meet one or both of the following factors: (1) public health, safety, welfare, (2) global, cultural, social, environmental, and economic factors • Design examples • Open-ended design tasks • Classroom lectures • PowerPoint slides • Reading assignments • Problem solving • Tutorials
Assessment Methods One or more of the following strategies may be used: • Design projects (design approaches and design outcomes) • Written exams • Home assignments
2.3 Mapped to: S3 (S6 in ABET)

Practical and Physical Skills: an ability to develop and conduct experimentation, analyze and interpret data, in the domain of Data Structures and Algorithms with C++

Teaching Strategy One or more of the following strategies may be used: • Perform experiments • Application development using hardware development boards • Data analysis • Data interpretation • Problem solving through programming • Classroom lectures • PowerPoint slides
Assessment Methods One or more of the following strategies may be used: • Projects • Written exams • Home assignments
2.4 Mapped to: S4 (S3 in ABET)

Communication Skills: an ability to communicate effectively in the domain of data communication

Teaching Strategy One or more of the following strategies may be used: • Classroom lectures • PowerPoint slides
Assessment Methods One or more of the following strategies may be used: • Written assignments or project reports • Oral presentations
3.1 Mapped to: V3 (S5 in ABET)

Responsibility: an ability to function effectively in a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objective

Teaching Strategy One or more of the following strategies may be used: • Discussion on various aspects of teamwork such as: (1) how to establish goals, plan tasks, and meet objective (2) how the group shares responsibilities and makes decisions together to foster collaboration • Classroom lectures • PowerPoint slides
Assessment Methods One or more of the following strategies may be used: • Project breakdown structure • Minutes of meeting