Course Title: Data Structures & Algorithms I
Course Code: CS 211
Credit Value: 4 Credits
Contact Hours
Lectures: 2 hours/week
Practical/Laboratories: 3 hours/week
Duration: 15 Weeks (One Semester)
Prerequisite: Introduction to Programming
Implementation Language: Python
1. COURSE DESCRIPTION
This course introduces the fundamental data structures and algorithmic techniques used to organize, process, and retrieve data efficiently. Students study abstract data types, algorithm design, asymptotic analysis, searching and sorting methods, recursion, and essential linear and non-linear data structures.
Emphasis is placed on conceptual understanding, algorithm analysis, and practical implementation using Python. The course provides a foundation for advanced study in algorithms, software engineering, databases, operating systems, artificial intelligence, and computer systems.
2. COURSE OBJECTIVES
By the end of this course, students should be able to:
Understand the purpose and characteristics of fundamental data structures.
Design algorithms to solve computational problems.
Analyze algorithm efficiency using Big-O notation.
Implement data structures using Python.
Apply appropriate data structures to practical problems.
Develop computational problem-solving skills.
3. LEARNING OUTCOMES
Upon successful completion, students will be able to:
Explain Abstract Data Types (ADTs).
Implement arrays, lists, stacks, queues, linked lists, and basic trees.
Apply searching and sorting algorithms.
Analyze algorithm efficiency using Big-O notation.
Use recursion to solve problems.
Implement dictionaries and understand hashing concepts.
Select appropriate data structures for different applications.