Data Structures (CCOM3034)

Latest Course Syllabus-ABET Style () (PDF)

Credits: 3
Students should take this course at: 2nd Year - 1st Semester

Pre-requisite: Introduction to Computer Programming (CCOM3033)


Abstract data types, their efficient implementation and application to problem solving. Introduction to the asymptotic analysis of algorithms. Fundamental data structures such as queues, stacks, lists and tress, their efficient implementation and applications, Introduction to hash-tables, priority queues, and graphs. Basic sorting and searching methods. Introduction to concurrent data structures. The course has three hours of lecture per week and includes a workshop of one and a half hour per week. In the workshop, students will implement the concepts learned in class.


  • Trees

  • Abstract data types

  • Complexity of execution

  • Types of basic data

  • Graphs

  • Lists, Stacks and Queues

  • Recursion


  • Understand and apply the fundamental concepts of pointer variables and dynamic memory.

  • Understand and apply the fundamental concepts of abstract data types.

  • Design and implement in a high level programming language data structures such as queues, stacks, lists, trees, hash tables, and graphs.

  • Select the appropriate data structures to solve a specific problem.

  • Understand and apply fundamental aspects of basic searching and sorting methods.

  • Determine when a recursion technique is required or desirable.

  • Analyze the asymptotic running time of simple algorithms using big-O notation.