CENG 218 Data Structures 2010/2011 Spring Semester
Most recent version of this site is available at http://academic.cankaya.edu.tr/~agorur/courses/ceng218/index.htm
The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms. The main objective of the course is to teach students about structures and algorithms which allow them to write programs which can efficiently manipulate, store, and retrieve data.
Grades will be based on:
- 4-6 assignments, worth 20 % of the final mark
- 2-6 Pop Quizzes, worth 10 % of the final mark
- Attendance +5 to overall score(bonus)
- 1 midterm exam, worth 20 % of the final mark
- Final exam, worth 35 % of the final mark
- Project(s) 15% (will be equally shared for each project)
Homeworks Programming Assignments
The programming assignments are an important component of the course. You can create your programs anywhere you want, but they must work on our system to get full credit. Homeworks and programming assignments are due on the date and time specified. Late homeworks and programming assignments will not be accepted except when due to true emergencies.
The programming assignments are an important component of the course. You can create your programs anywhere you want, but they must work on our system to get full credit. Homeworks and programming assignments are due on the date and time specified. Late homeworks and programming assignments will not be accepted except when due to true emergencies.
Late Policy
For each assignment it is indicated above when it is due, and for each assignment we will give details on how to hand in the work.
All assignments must be submitted by the due dates. Late assignments will not be accepted.
Extensions will be granted only by the course instructor.
For each assignment it is indicated above when it is due, and for each assignment we will give details on how to hand in the work.
All assignments must be submitted by the due dates. Late assignments will not be accepted.
Extensions will be granted only by the course instructor.
Ethical Conduct
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 judged to be the result of academic dishonesty will, for the student's first offence, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied.
Course Outline
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 judged to be the result of academic dishonesty will, for the student's first offence, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied.
Course Outline
- Simple Data Types
Single dimensional arrays and Multidimensional Arrays
Records (C/C++ Structs)
Pointers and Data Structures
Basic Ideas about Pointers - declarations, dynamic memory allocation - Data Structures(Lists, Stacks, and Queues )
General Lists
Standard algorithms on lists
Linked lists
Application of linked lists
Stacks
Queuess - Searching
Sequential search
Binary search
Sorting
Insertion Sort, Selection Sort, Merge Sort, Quick Sort - Trees (Tree Traversals, Binary Trees, and Search Trees )
Trees and Their Implementations
Binary Trees and Their Implementations
Tree Traversals
The Huffman Algorithm
Binary Search Trees General Search Tree
- Hashing
- Graphs
Instructor:
Abdül Kadir Görür
Office: A Blok 328-A
E-mail: agorur AT cankaya.edu.tr
url: http://academic.cankaya.edu.tr/~agorur