ITEC 360. Data Structures and Analysis of Algorithms.
Prerequisites: ITEC 122, ITEC 320, ITEC 324 and MATH 151
Credit Hours: (3)
Includes data structures, concepts and algorithms used in the solution of nonnumeric
problems; applications to data management systems, file organization, information
retrieval, list processing and programming languages.
Detailed Description of Content of Course
Topics include:
1. Mathematical Concepts: Complexity of algorithms (iterative and recurrences), Summation
formulas and induction
2. Elementary Data Structures (Arrays, Lists, Stacks and Queues)
3. Binary Search Trees (AVL, Red-Black and B-Trees)
4. Hash Tables
5. Sorting and Searching algorithms
6. Priority Queues and Heaps
7. Algorithm Design Techniques (Divide and Conquer, Greedy and Dynamic Programming
w/memoization)
8. Graph Algorithms (Elementary, Minimum Spanning Trees, Shortest Paths).
9. NP-completeness
Detailed Description of Conduct of Course
Programming projects are assigned to give students experience in implementing existing
algorithms. Students are also given several problems for which they are required to
design and implement efficient algorithms.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Analyze the asymptotic running times of iterative and recursive algorithms in terms
of Theta (asymptotic tight bound), Big Oh (asymptotic upper bound) and Omega (asymptotic
lower bound) notations.
2. Use appropriate data structures for sorting and searching data.
3. Apply appropriate algorithmic design methods from among divide and conquer, greedy
and dynamic programming to design and implement solutions to various problems (e.g.,
string matching).
4. Apply graph theory to design and implement solutions to various problems.
5. Identify the methodology of proving a problem to be NP-complete.
Assessment Measures
Students will be evaluated based on several programming assignments, and at least
two examinations.
Other Course Information
None.
Review and Approval
October 14, 2016
Revised: June 1, 2012
Sept. 25, 2001 Updated John P. Helm,
Chair
Oct. 30, 1996 Prerequisite change Edward G. Okie, Chair
May 12, 1994 Updated for 1994-95 Edward G. Okie, Chair
October 1, 1991 Updated for 1991-92 Ivan B. Liss, Chair