IT204 Data Structures & Algorithms

Overview

  1. Introduction to Data Structures and Abstract Data Types (ADT).
  2. Analysis of algorithms and the big-O notation.
  3. Java Review: arrays, classes, interfaces, exceptions, static and dynamic data allocation, simple I/O, inheritance, polymorphism, casting and generics.
  4. Linear structures: Stacks, Queues, Priority queues, Lists, and Sequences (Array and linked).
  5. Non-Linear Structures: Trees and Graphs.
  6. Searching and sorting algorithms.

Objectives

  • To explain the concepts of data structures and Abstract Data Types (ADT).
  • To Apply methods of algorithm’s analysis to assess different algorithms used in various data structures.
  • To be able to implement Abstract Data Types (ADT) using JAVA.
  • To be able to describe the different methods of sorting and searching.
  • To be able to analyze algorithms used for searching and sorting.
  • To Write stack and queue applications using ADTs.
  • To be able to write efficient searching and sorting algorithms and compare them in terms of complexity and efficiency.

Topics

click here to view topics covered

  • Linear Structures: Stacks & Queues

  • Linked Structures: Linked Lists

  • Non-Linear Data Structures: General Trees & Binary Trees

  • Quick-Sort & Selection Sort

  • Graphs

  • Analysis of Algorithms:The Big-O Notation & time complexity problems

I taught this course for several semesters from 2009 through 2016 at University of Business and Technology
Isam Al Jawarneh
Isam Al Jawarneh
Assistant Professor

My research interests include big data management (Cloud & Edge), large-scale geospatial database systems,context-aware recommender systems, data warehousing & data lakes.