CS2413: Data Structure

Fall 2017


Course description: Comparative study of the interaction of data and procedural abstractions. Data structures: lists, stacks, queues, trees, graphs. Algorithms: searching, sorting, hashing, graph traversals.


Required Text: Data Structures and Algorithms in C++, Adam Drozdek, 4th Edition. Cengage Learning, 2013, ISBN 13: 9781133608424

Course objectives:


  1. Wisely choose data structures for a given application( a, j)
  2. Implement major data structures (such as stacks and trees) without using libraries (c)
  3. Know the time and space complexity of basic operations on data structure ( a, j)


Key Topics:


1. Abstract data types

2. Basic complexity analysis

3. Implementations of linear containers such as stacks, queues, and hashed arrays

4. Algorithms on linear containers: Sorting, searching , and hashing

5. Low level representations of trees and graphs

6. Graph traversals and tree search

7. Solving problems using proper data structures



Course Prerequisites: CS 1412 Programming Principles II- In addition to C programming language, certain assignments, examples, and problems will be presented and implemented using basic C++ language.


Learning Outcomes: Students who have completed this course should have:



1.       Wisely choose data structures for a given application (a, j)

2.       Implement data structures such as linked lists, stacks, queues, trees without using libraries (c)

3.       Know the time complexity of basic operations on basic data structures (a, j)

Assessment methods of all of the above: Exams, quizzes, homework, and programming projects.


 Ethical Conduct:


Grading Policy:

Student with Disabilities: Any student who, because of a disability, may require special arrangements in order to meet the course requirements should contact the instructor as soon as possible to make any necessary arrangements. Students should present appropriate verification from Student Disability Services during the instructor’s office hours. Please note instructors are not allowed to provide classroom accommodations to a student until appropriate verification from Student Disability Services has been provided. For additional information, you may contact the Student Disability Services office in 335 West Hall or 806-742-2405.


Course Schedule: Topics and/or dates may be changed during the semester at the instructor’s discretion because of scheduling issues, developments in the discipline, or other contingencies.

  Week 14: Hashing

  Week 15: Hashing, Final Exam Review