EC 233 – Algorithms and Data Structures
Course lecturer :
Prof. Dr. Magdy A. Azim
Course assistant :
- Eng. Khaled Moussa
Course objectives :
- Master the implementation of linked data structures such as linked lists, stacks, queues, and trees
- Be familiar with the advantages of using linked data structure over arrays
- Be familiar with variations of linked data structures such as circular linked list, doubly linked list, and double ended queues
- Be familiar with advanced data structures such as binary trees, balanced search trees, hash tables, and priority queues
- Be familiar with some graph algorithms such as shortest path and minimum spanning tree
- Master the standard data structure library of a major programming language
- Master analyzing problems and writing program solutions to problems using the above techniques
- Be familiar with basic techniques of algorithm analysis
- Be familiar with writing recursive algorithms
Course description :
In this course, student will study advanced programming techniques including data structures, abstract data types, and algorithms for data structure manipulation. In addition, you will get a taste of “software engineering\’\’–the design and implementation of large programs. The main course topics include the specification, representation, and manipulation of data structures: arrays, lists, stacks, queues, trees, heaps, hash tables, and graphs, introduction to analysis of algorithms and recursive calls. Moreover, the course develops problem solving using the learned data structure.
Course assessment :
Solving assignment problems and Lab work [10 marks ] Quizzes [10 marks ] Projects [10 marks] Mid Term Written Exam [20 marks] Final Written Exam [50 marks]
Recommended text books :
Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, 3rd Edition, 2006.
Recommended refrences :
- Clifford A. Shaffer, “A Practical Introduction to Data Structures and Algorithm Analysis”, 3rd Edition (C++ Version), Department of Computer Science, Virginia Tech, Blacksburg, VA 24061, January 19, 2010.
- Kurt Mehlhorn and Peter Sanders, “Algorithms and data Structures: The basic Toolbox”, Springer, August 2008. • 3. Martin Richards, “Data Structures and Algorithms”, Computer Laboratory, University of Cambridge, October 2001.