**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**

**Basic Concepts,****Single dimensional arrays and Multidimensional Arrays**

Records (C/C++ Structs)**Pointers, Strings and Structures**

Declarations, dynamic memory allocation**The Abstract Data Type (ADT)****Stacks & Queues****(array implementation and Linked list implementation)**

Stack and Queue applications

Infix, postfix, prefix expressions and conversion algorithms.**Lists**

Standard algorithms on lists

Linked lists (Singly, Doubly, Circular )

Applications of linked lists (Stack & Queue implementation etc.)**Sorting and Searching**

Sort Concepts

Selection Sort, Insertions Sort, Bubble Sort, Quick Sort, Heap Sort

Sequential search

Binary search**Recursion**

Basics of Recursion

Iterative Solution

Recursive Solution**Non Linear Lists**

Basic Tree Concepts, Terminology

Tree Traversals

Binary Trees and Their Implementations**Binary Search Trees**

Insert, Delete, Search and Traversal Algorithms

The Huffman Algorithm**Priority Queue, Heap Abstract Data Type****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 3__0% 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.**