CS-2851 Data Structures 2 - 2 - 3


Description

This course covers the organization of data and the algorithms that act upon them. The topics of stacks, queues, trees and sets are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Applications to data structure searching and sorting, memory allocation and file management are included. Laboratory activities include the application of data structures from standard libraries.

Prerequisites

Materials

Required:
  • Data Structures and the Java Collections Framework, 2nd Ed. William Collins, McGraw-Hill, 2005
  • Notebook computer required

Program Outcomes Containing CS 2851

Click to see all the program tracks

Course Learning Outcomes

Upon successful completion of this course, the student will:
  • understand and apply complex data structures and algorithms.
  • use appropriate algorithms (and associated data structures) to solve complex problems.
  • have a thorough understanding of commonly used library data structures
  • be able to analyze the time complexity of algorithms, both sequential and recursive.
  • understand the use of recursion in problem solving
  • be able to use data structures in software design and implementation
  • be able to apply standard library data structures in software design

Course Topics

  • Exam (1 class)
  • Introduction (1 class)
  • Interfaces and Inheritance (1 class)
  • Java Collections Framework (1 class)
  • Array based lists (1 class)
  • Linked lists (1 class)
  • Asymptotic Algorithm Analysis (3 classes)
  • Stacks and Queues (2 classes)
  • Recursion (1 class)
  • Trees (3 classes)
  • TreeMap and TreeSet (1 class)
  • Hash tables (1 class)
  • HashMap and HashSet (1 class)
  • Review (2 classes)

Prerequisites by topic

  • Enterprise Architecht
  • Java GUI
  • Event-driven programming
  • Exception handling
  • File I/O
  • ArrayList/LinkedList
  • Interfaces/Abstract classes

    Laboratory topics

    • Review (1 session)
    • Benchmarking (1 session)
    • Linked lists (2 sessions)
    • Recursive algorithms (1 session)
    • Set data structures (1 session)
    • Red-Black tree (2 sessions)
    • Hash table (1 session)

      Course topics by day

      Lecture/Lab topics

      ACCE content

      General Education Math & Science Business & Mgmt. ConstructionConstruction Science
      00000

      View Specific Requirements

      ABET/EAC content

      Engineering topics Design General education Math/ScienceOther
      220% 010

      ABET/TAC content

      Communications Math & Science HU/SS Tech ContentOther
      00000

      Coordinator

      Christopher Taylor, Associate Professor

      Last review

      Christopher Taylor, Associate Professor
      on Sep 24, 2007

      Last update

      Christopher Taylor, Associate Professor
      on Sep 24, 2007