# Data Structures and Algorithms – Introduction

This course is designed to equip Computer Engineering students with fundamental knowledge and skills in data structures and algorithms that are essential in problem-solving. The course explores concepts including arrays, linked lists, stacks, queues, trees, hash tables, and graphs. Various types of algorithms, such as sorting, searching, and graph algorithms, are also covered.

The course emphasizes understanding the principles of selecting appropriate data structures and designing efficient algorithms to solve real-world problems. Students will gain hands-on experience in designing, writing, and debugging programs, and will learn to analyze the time and space efficiency of algorithms.

Course Outline:

Week 1: Review on Lists

• List: Introduction, properties, and methods
• List Functions: Usage and implementation
• List Comprehension: Understanding and creating list comprehensions
• Tuple: Introduction, properties, and methods
• Set: Introduction, properties, and methods

Week 2: Review of Dictionaries

• Dictionary: Introduction, properties, and methods

Week 3: Functions

• Function Creation and Usage
• Understanding Actual vs. Formal Parameters
• The `return` Keyword in Functions
• Functions With No Parameters and Return Values
• Functions With No Parameters but With Return Values
• Functions With Parameters and No Return Values
• Functions With Parameters and Return Values
• Understanding Local vs. Global Variables
• Recursive Functions

Week 4: Linked Lists and Stacks

• Understanding Nodes
• Introduction to Stacks and their operations

Week 5: Queues and Trees

• Queue: Introduction and operations
• Understanding Heap and its operations
• Priority Queue: Introduction and operations
• Tree: Introduction and operations
• Binary Search Tree Operations
• Binary Tree Traversal

Week 6: Advanced Array Sorting Algorithms

• LSD Radix Sort: Introduction and implementation
• MSD Radix Sort: Introduction and implementation
• Counting Sort: Introduction and implementation
• Merge Sort: Introduction and implementation

Examinations:

• Midterm Examination: End of Week 3
• Final Examination: End of Week 6

Assessment:

• Assignments: 20%
• Midterm Examination: 30%
• Final Examination: 40%
• Class Participation: 10%

Academic Integrity: All students are expected to maintain high standards of honesty and integrity in their academic work. Plagiarism and other forms of academic dishonesty will not be tolerated and may lead to severe penalties.

Assessment:

• Assignments: 20%
• Midterm Exam: 30%
• Final Exam: 40%
• Class Participation: 10%

Academic Integrity: All students are expected to maintain high standards of honesty and integrity in their academic work. Plagiarism and other forms of academic dishonesty will not be tolerated and may lead to severe penalties.