Sie sind auf Seite 1von 9

Kurdistan Region-Iraq

Catholic university of Erbil

Term: first term COURSE CODE.


Teacher: Asst.Prof.Dr.Raghad Zuhair COURSE TITLE: Data Structure II
Mobile: +9647504189772 CREDIT:
E-mail: raghad.yousif@cue.edu.krd::raghad.yousif@su.edu.krd
Teacher's academic profile:
was born in Baghdad 1975 .He Received a BSc in Electronic and Communication engineering from college of
Engineering Baghdad university Department of Electronic and Communication Eng. in 1998,MSc in Electronic and
Communication Engineering form department of Electrical engineering Al-Mustansriyha university –Baghdad in 2001
,then he received a PhD degree in communication Engineering from Baghdad university of Technology Department of
Electronics and Electrical engineering in 2005 .He is currently a Assistance Professor in Department of IT-catholic
university in Erbil; His Fields of interest are Network Coding Medical Imaging Swarms, Wireless. He is a supervisor of
many MSc thesis and PhD thesis he was also a member of examination committee of many MSc and PhD theses.
Office Hours: Wednesday 12:5 to 2:30

Course Description:

This course introduces the fundamentals of structuring and manipulating data: sorting, searching,
recursion, lists, stacks, queues, trees, graphs, tables. Introduction to the analysis of algorithms.
Advancement in C++ skills and techniques.

Course Objectives
Understand algorithms, time complexity and space calculating Understand the sorting and searching
fundamentals. Describe and /or define the Abstract Data Types; including lists, stacks, queues, trees,
hash tables and graph. Understand, explain, demonstrate, and evaluate alternate implementations of
examples of the methods associated with Abstract Data Types. Implement and test Abstract Data Types
in generic programs using C++.
Materials
Evaluation Profile
Exam I 25 %
Page 1 of 9
Exam II 25 %
Assignment 10 %
Final 40 %
100%

Exam Schedule Covers Chapters Exam date


Exam I 1-5
Exam II 5-10
Final Exam 12

Assignments

Missed Exams
No exam will be given after the scheduled date/time without appropriate medical
documents. Missed exams will be graded (0) unless prior arrangements are made with the
teacher. Overall passing grades must be attained in all exams to pass the course.

Professionalism:
You should be able to demonstrate a professional attitude and behavior towards your
work, your fellow-students and your teacher: this includes reliability, respect for and
cooperation with colleagues, willingness to work calmly and courteously under difficult
conditions, determination to achieve first-class work while meeting deadlines, respect for
equipment and systems, and constructive response to criticism.

Cheating and Plagiarism:


All forms of cheating, including plagiarism, are a serious offense. The teacher has the
right to assign a grade of "0" on the examination or assignment, or, at the teacher's discretion.

Attendance:
Attendance is mandatory. Students are responsible to ensure that all work, including
assignments, is completed. If, due to some unforeseen event, classes are missed, students must
ensure that they keep current with their work (including assignments).

Student learning outcome:


Students who successfully complete this course will have demonstrated:
• Knowledge and understanding. Have a clear understanding of the Data Abstraction term. Have a good
knowledge of what comprises a correct program in C++. Have knowledge of design guidelines. •
Cognitive skills (thinking and analysis). Be able to design, code, and test C++ programs, which meet
requirements expressed in English. Have knowledge of design guidelines. Be able to write algorithms for
solving problems. Communication skills (personal and academic). Be able to understand the
documentation for, and make use of, the C++ library. Be able to write a C++ program. Be able to design,
code, and test C++ programs, which meet requirements expressed in English. Practical and subject
Page 2 of 9
specific skills (Transferable Skills). write computer programs to solve practical engineering problems
Design efficient computer programs to solve practical engineering problems

Course Reading List and References:


Module references Books
C programming for engineering& Computer Science H.H. Tan.McGraw- hill.1999
C++ :An Introduction to Data Structures by Larry R. Nyhoff. Hardcover. 1999
Algorithms and Data Structures in C++ . By Leendert Ammeraal. 1996.
C++ How to program .By H.M.Deitel & P.J.Deitel. 2 ed , Prentice- hill, 1998.
Data Structures and Algorithms in C++ ,1 ST edition , by Michael T. Godrich, Roberto Tamassia, David M.
Mount Michael T. Goodrich Wiley , 2002.

Course Content
Before each class you are expected to read the chapters that are going to be discussed that day.

Date Topic Details LAB

Week 1 Singly linked list LAB1

Week 2 Doubly linked list LAB2

Week 3 Circular linked list LAB3

Week 4 Priority Queue Implementation LAB4


using Array
Week 5 Queue Implementation using LAB5
Stack
Week 6 Circular Queue LAB6

Week7 Doubly linked list LAB7

Week 8 Circular linked list LAB8

Week 9 Priority Queue Implementation LAB9


using Array
Week 10 Queue Implementation using LAB10
Stack
Week 11 Circular Queue LAB11

Page 3 of 9
Week 12 LAB12
Selection Sort

Merge Sort

Quick Sort

Insertion Sort

Week 13 Binary Tree LAB13

Week 14 Complete Binary Tree LAB14

Complete Binary Tree

level and height of the tree

Skewed Binary Tree

Extended Binary Tree

AVL Tree

Week 15 Graph in Data Structure LAB15

Week 16 Representation of Graphs LAB16

Week 17
Final Exam

FINAL EXAMS

Page 4 of 9
Page 5 of 9
Data Structure Syllabus
Data Structure Introduction
About DSA

What is Data Structure

What is Algorithm

Various Data structures

Various Data structures operations

Array
Array Introduction in Data Structure

Two-dimension Array in Data Structure

Multi-dimensional Array

Linked List
Linked List Introduction

Array and Linked List

Singly linked list

Doubly linked list

Circular linked list

Stack Data Structure


Stack Data Structure Introduction

Stack operations and Implementation

Stack implementation using Linked List

Page 6 of 9
Polish Notation

Postfix Evaluation Algorithm

Infix to Postfix Conversion

Infix to Prefix Conversion

Queue Data Structure


Queue Introduction

Queue Implementation using Structure

Queue Implementation using Array

Queue Implementation using Linked List

Priority Queue Implementation using Array

Queue Implementation using Stack

Circular Queue

Page 7 of 9
Sorting
Bubble Sort

Selection Sort

Merge Sort

Quick Sort

Insertion Sort

Searching
Linear Search

Binary Search

Page 8 of 9
Tree
Tree Introduction

Types of tree

Binary Tree

Complete Binary Tree

level and height of the tree

Skewed Binary Tree

Extended Binary Tree

AVL Tree

Graph
Graph in Data Structure

Representation of Graphs

Page 9 of 9

Das könnte Ihnen auch gefallen