CENG 218 Data Structures 2014-2015 Spring Semester
 

Course instructors:  Abdul Kadir Görür, Nurdan Saran

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.

Textbook(s)

  • 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. Sorting and Searching
    Sort Concepts
    Selection Sort, Insertions Sort, Bubble Sort, Quick Sort, Heap Sort
    Sequential search
    Binary search
  7. Recursion
    Basics of Recursion
    Iterative Solution
    Recursive Solution
  8. Non Linear Lists
    Basic Tree Concepts, Terminology
    Tree Traversals
    Binary Trees and Their Implementations
  9. Binary Search Trees
    Insert, Delete, Search and Traversal Algorithms
    The Huffman Algorithm
  10. Priority Queue, Heap Abstract Data Type
  11. Hashing
    Methods
    Hashed Search

Grades will be based on:

  • Assignments, 10% of the final mark
  • Attendance ,%5 (bonus)
  • Midterm 1 exam, worth %20 of the final mark
  • Midterm 2 exam, worth 25% of the final mark
  • Final exam, worth 30 % of the final mark
  • Lab Works, worth  %15 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.

Exams

There will be two 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.

 

Communication

 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.