Information Technology 660

ITEC 660
Algorithms and Data Structures for Large Data Sets

1. Catalog Entry

ITEC 660
Algorithms and Data Structures for Large Data Sets

Credit hours (3)
Prerequisites: ITEC 541

Study and application of advanced data structures and algorithms used in the storage, retrieval and processing of medium to large data sets; study and application of current trends in algorithmic research in data and information processing.

2. Detailed Description of Course

    1) Analysis of algorithms
        a. Time and space
        b. Amortized analysis
        c. I/O bottlenecks
    2) Memory hierarchy
        a. Caching
        b. External memory organization (disk organization)
    3) Sorting and searching algorithms (counting sort)
    4) External memory and cache-oblivious data structures and algorithms (e.g., types of B-trees)
    5) Hashing
    6) Algorithms that exploit temporal and spatial locality
    7) Succinct data structures (rank, tries, suffix arrays) to store data compactly.
    8) Advanced topics, such as
        a. Data compression
        b. Pattern matching
        c. Search engine indexing
        d. NP completeness

3. Detailed Description of Conduct of Course

The course will be delivered in a lecture and discussion format with demonstration and application of concepts.
 
4. Goals and Objectives of the Course

Students who complete this course will be able to:
    1) Compare and contrast temporal and spatial efficiency of algorithms and data structures used
        to store, query and process medium to large data sets.
    2) Describe and analyze the performance issues of the different memory organizations used to
        store large data sets.
    3) Describe and apply data structures and algorithms that achieve efficiencies in query and
        processing times of medium to large data sets.
    4) Describe and apply data structures and algorithms that store data compactly.
    5) Describe current algorithms and data structures used to store, query and analyze medium to
        large data sets.

5. Assessment Measures

A significant component of the assessment must measure each individual student’s mastery of the conceptual and applied knowledge and skills described in the course objectives. Evaluations may include but are not limited to assignments, projects, presentations, quizzes, and examinations.  
 
6. Other Course Information

None.

Review and Approval

April 23, 2014