CENG 218 Data Structures 2016-2017 Spring Semester

Course instructors:  Abdul Kadir Görür

Course assistant(s): Uğur Sopaoğlu

The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms, which allow them to write programs which can efficiently manipulate, store, and retrieve data.



Data Structures and Algorithm Analysis in C++, Mark A. Weiss , Paperback – 12 Aug 2013 (https://www.amazon.co.uk/Data-Structures-Algorithm-Analysis-C/dp/0273769383/ref=sr_1_5?s=books&ie=UTF8&qid=1487839524&sr=1-5&keywords=data+structures+with+c%2B%2B)

Data Structures and Algorithms in C++,  Michael T. Goodrich (https://www.amazon.co.uk/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275/ref=sr_1_9?s=books&ie=UTF8&qid=1487839524&sr=1-9&keywords=data+structures+with+c%2B%2B)


Data Abstraction & Problem Solving with C++: Walls and Mirrors, Frank M. Carrano, (https://www.amazon.co.uk/Data-Abstraction-Problem-Solving-Mirrors/dp/0273768417/ref=asap_bc?ie=UTF8)

  • Fundamentals of Data Structures in C, Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, ISBN 0-7167-8250-2
  • Data Structures and Algorithm Analysis in C, 2/E Mark Allen Weiss, Florida International University Publisher: Addison-Wesley: 1997 600 pp 
  • Data Structures and Program Design in C, by Kruse R, Tondo C and Leung B. Prentice Hall
  • Data Structures: A Pseudocode Approach with C, 2nd Edition Richard F. Gilberg - De Anza College  Behrouz A. Forouzan - De Anza College   ISBN-10: 0534390803  ISBN-13: 9780534390808  672 Pages © 2005
  • Langsam Y., Augenstein M., Tenenbaum A. Data Structures Using C and C++, 2nd edition, Prentice Hall Int., 1996 (ISBN 013-529322-7)


Tentative Syllabus

  1. Basic Concepts, Single dimensional arrays and Multidimensional Arrays
    Records (C/C++ Structs)
  2. Pointers, Strings and Structures
    Declarations, dynamic memory allocation
  3. The Abstract Data Type (ADT)
  4. Stacks & Queues (array implementation and Linked list implementation)
    Stack and Queue applications
    Infix, postfix, prefix expressions and conversion algorithms.
  5. Lists
    Standard algorithms on lists
    Linked lists (Singly, Doubly, Circular )
    Applications of linked lists (Stack & Queue implementation etc.)
  6. Recursion
    Basics of Recursion
    Iterative Solution
    Recursive Solution
  7. Non Linear Lists
    Basic Tree Concepts, Terminology
    Tree Traversals
    Binary Trees and Their Implementations
  8. Sorting and Searching
    Sort Concepts
    Selection Sort, Insertions Sort, Bubble Sort, Quick Sort, Heap Sort
    Sequential search
    Binary search
  9. Binary Search Trees
    Insert, Delete, Search and Traversal Algorithms
    The Huffman Algorithm
  10. Priority Queue, Heap Abstract Data Type
  11. Hashing
    Hashed Search

Grades will be based on:

  • Assignments, 5% of the final mark
  • Attendance ,%5 (bonus)
  • Midterm 1 exam, worth 35% of the final mark
  • Final exam, worth 45% of the final mark
  • Lab Works, worth  10% of the final mark
  • Lab Quiz, worth  5% of the final mark

During lecture/lab hours, an opportunity for extra credit will be offered.


Late Policy
All assignments/projects and lab works must be submitted by the due dates.

Any assignment , which is not submitted at the specified time,  a 30% per day penalty (weekends count as 2 days) will be applied.


Ethical Conduct
Academic dishonesty (e.g., cheating and plagiarism) will not be tolerated. Plagiarism and cheating are serious offenses and may be punished by failure on the exam, paper or project; failure in the course.

All assignments are individual assignments. You may discuss approaches to problems among yourselves; however, the actual details of the work (assignment coding, answers to concept questions, etc.) must be an individual effort. Assignments that are found  to be the result of academic dishonesty will be given a mark of zero.


There will be one midterm and final.  All exams will be closed book. 


Missed Exams

If you miss an exam with an excused absence approved by Çankaya University (e.g., illness, family illness or death, etc.) with written documentation , make up exam will be arranged for  missed exam.



 All announcements, schedule/syllabus changes, readings and teaching materials will be published on web site http://ceng218.cankaya.edu.tr/


It is your responsibility to check the web site and your emails regularly.  If you miss a class, you are responsible for getting the notes from another student.

We will use your ÇANKAYA e-mail account  for all e-mail correspondence.