ITGS220 : Data Structure

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Compulsory

Credits

03

Prerequisite

ITGS122

Overview

Classification of data structures, space and time considerations. Linked lists, stacks and queues. Tree structures, binary search trees. Array and pointer based implementations. Recursive applications. Sorting and searching.

Intended learning outcomes

Knowledge and understanding

To familiarize the student with the types of data structures.
  • That the student know how to choose the data structure that allows the data to operate easily by the steps in the algorithm.
  • The student describes how the data structure is applied in everyday life.
  • The student draws the structure of the data and how operations are performed on it by drawing and writing instructions in C language on how to perform this operation.
  • That the student know how to write a program in C language to apply the data structure.

mental skills

  • That the student distinguish between the types of data structures and the appropriate use of each structure.
  • That the student compares the different types of data structures in terms of how they are formed and the operations that are performed on them using a program in the C language, through: A written exam.
  • That the student deduces the shape of the data structure after each operation conducted on it, through: Case study.
  • The student proposes an appropriate solution to a problem in performing operations on a data structure using C language instructions, through: Assignment.
  • The student analyzes the process of sorting and organizing the data according to the method required for sorting, through: A written exam.

Practical and professional skills

  • That the student design effective algorithms Efficient Algorithms.
  • That the student use effective methods to manage large amounts of data with high efficiency, such as: large data bases.

General and transferable skills

  • The student should be able to communicate, written and oral, through: The ability to communicate and communicate.
  • That the student be able to use the means of modern technology, through: The ability to use the computer and the Internet.
  • That the student be able to solve problems, through: The ability to write programs in C language.

Teaching and learning methods

  • Lectures
  • Tutorials
  • Problem-based learning
  • Mini-projects

Methods of assessments

  • First midterm exam = 20
  • Homework = 5
  • Second midterm test = 25
  • Final exam = 50

Course contents

  • Introduction for data structures .
  • Data types
  • Array I
  • Array II
  • Lists : ( Stack)
  • Lists : ( Linear Queue)
  • Lists : ( Circular Queue)
  • Lists : ( Single Linked List)
  • Lists : (Double Linked List)
  • Sorting
  • Tree
  • Binary tree
  • Graph

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)