Data Structure

Using C++

October 01, 2019
Salahaddin University-Erbil
Software Engineering Dept.
BSc
2019-2020
5 mins read

General Information

Course Description

This course provides a comprehensive introduction to fundamental data structures and algorithms essential for software engineering. Students will learn to design, implement, and analyze various data structures using C++ programming language. The course emphasizes both theoretical understanding and practical implementation, focusing on algorithmic efficiency and elegant code design.

The curriculum covers essential data structures including arrays, linked lists, stacks, queues, trees, and graphs, along with fundamental algorithms for searching and sorting. Students will develop a deep understanding of time and space complexity analysis using Big O notation, enabling them to make informed decisions about algorithm selection for different problem scenarios.

Through hands-on programming assignments and projects, students will gain practical experience in implementing these data structures and algorithms, preparing them for advanced computer science courses and real-world software development challenges.

Prerequisites

Course Objectives

Upon completion of this course, students will be able to:

Course Outline

Week 1: Introduction to Data Structures and Algorithm Analysis

Week 2: Arrays and Basic Data Structures

Week 3: Linked Lists Fundamentals

Week 4: Advanced Linked Lists

Week 5: Stacks and Queues

Week 6: Trees and Binary Trees

Week 7: Midterm Exam and Review

Week 8: Advanced Tree Structures

Week 9: Searching Algorithms

Week 10: Basic Sorting Algorithms

Week 11: Advanced Sorting Algorithms

Week 12: Sets and Hash Tables

Week 13: Algorithm Design and Optimization

Week 14: Final Exam Preparation and Review

Week 15: Final Practical Exam and Course Wrap-up

Textbooks

Assessment