Course Information

Course Title Code Semester L + U Hour Credits ETCS
Data Structures CEN 201 3 3 + 2 4 6
Language of Instruction English
Course Level Undergraduate
Course Type Compulsory
Mode of Delivery 1: Lecture, 2: Question-Answer, 12: Lab / Workshop, 13: Self Study, 14: Problem Solving
Course Coordinator Asst. Prof. Dr. Ali İnan
Instructors Asst. Prof. Dr. Ali İnan
Goals To introduce the abstract concepts for data organization and manipulation, show how these concepts are useful in problem solving and how the abstractions can be realized with an object oriented programming language.
Course Content Algorithm analysis, stack, queue, linked list, tree, hash table, priority queue,graph data structures and graph algorithms
Learning Outcomes
  1. Analyze the computational complexity of a data structure operation
  2. Develop and efficiently use common data structure types
  3. Solve programming problems using well known data structures
  4. Design and develop new data structures towards problem solving


Course Content

Week Theoretical Practice Laboratory
1. Introduction: data structures Java review: classes, inheritance
2. Measuring algorithmic complexity and related notations
Java review: abstract classes, interfaces
3. Examples over arrays
Array examples
4. Stacks and Queues
Abstract data types
5. Linked Lists
ADT libraries in Java
6. Trees and related concepts
Stack and queue implementation
7. Review Linked list implementation
8. Midterm Exam
No lab (midterm week)
9. Binary trees
Tree implementation
10. Tree traversal algorithms
Traversal algorithms on trees
11. Hash tables
Hash table implementation
12. Heaps Heap implementation
13. Graphs and related concepts
Problem solving with ADT libraries
14. Graph algorithms
Programming exercises
15. Review Programming exercises
16. Final Exam No lab (final week)



Recommended Sources:

  1. R. Lafore, Data Structures and Algorithms in Java (2. ed.), Sams Publishing, 2002
  2. Mark Allen Weiss, Data Structures and Algorithm Analysis in Java (3. ed.), Pearson, 2011
  3. M.T. Goodrich, R. Tamassia, and M.H. Goldwasser, Data Structures and Algorithms in Java (6. ed.), Wiley, 2014


Course Workload

Event Number Contribution (%)
Midterm Exam 1 30
Final Exam 1 32
Quizzes 5 10
Homeworks 4 28