Data Structure

haya's picture
Course Code: 
131211
Course Outline: 

 

An Najah National University

Faculty of Educational Science

Department of High-Tech Education


 

 

Course title and number

Data Structure - 131211

 

Instructor(s) name(s)

Eng. Haya Sammaneh

Contact information

(Email, Office location, other information)

hayasam@najah.edu

Faculty of Engineering-Department of Computer Engineering – Third Floor.

Office number :1410

Semester and academic year

Second Semester 2011

Compulsory /Elective

Compulsory

Prerequisites

 Computer Programming ( C++ 2) (131112)

Course Contents(description)

  1. Introduction
  2. C++ Structures
  3. Single Link List and Double Link List

 

  1. Stacks
  2. Definition and operations.
  3. Stack specifications.
  4. Implementation of stack as an array.
  5. Implementation of stack as a linked list.

 

  1. Queues
  2. Definition and operations.
  3. Implementations of queues.
  4. Circular implementation of queues in C++.
  5. Linked Queues.

 

  1. Tables and information retrieval.
  2. Shapes of tables.
  3. Hash tables and functions.
  4. Recursion

 

  1. Trees
  2. General trees
  3. Binary trees.
  4. Binary search trees.
  5. Implementation of trees.

 

  1. Sorting and Searching:
  2. Binary Search
  3.  Sequential Search
  4. Insertion sort
  5. Selection sort
  6. Quick sort.

 

 

 

Course Objectives

  • To understand the fundamentals of data structure that is the main key in the development of efficient algorithms.
  • To understand the fundamentals of structuring : sorting, searching, recursion, lists, stacks, queues, trees, and tables

 

 

Intended Learning Outcomes and Competences

  • Fundamental knowledge in basic data structures(arrays, stacks, queues, linked lists, trees, sorting, searching, recursion and Tables)
  • The ability to write computer programs and using computing tools and packages necessary.
  • The ability to apply programming built-in and user defined functions.
  • The ability to develop programs using fundamental concepts of structured programming.
  • The ability to use software development methodology in solving programs’ problems.
  • The ability to run, test and debug programs.
  • The ability to implement data structures and algorithms using existing libraries.
  • The ability to identify all the steps of the software life cycle and perform problem analysis then select the most appropriate data structures and algorithms for a given problem, and can motivate their decision.

 

Textbook and References (online resources)

Data Structure and Program Design in C++, Robert L. Kruse and Alexander J. Ryba.

 

Assignment Criteria

Activity

Percent(%)

Midterm Exams

 40 (First + Second)

Homework and quizzes

10

Other criteria(Research, Discussion. etc)

 

Final Exam

50

Week

 

Subject

1,2

C ++ Data Structure and Classes

3+4

Single Link List and Double Link List

5+6

Definition and operations, Stack specifications, Implementation of stack as an array and Implementation of stack as a linked list.

7+8

Definition and operations, Implementations of queues, Circular implementation of queues in C++ and Linked Queues.

9+10

Shapes of tables, Hash tables and functions and Analysis of Hashing.

11+12

Recursion

13+14

General trees, Binary trees, Binary search trees and Implementation of trees.

15+16

Introduction to Binary Search, Sequential Search, Insertion sort, Selection sort and Quick sort.