CIS 300: Data and Program Structures

Prerequisites
Mastery of these topics from CIS200, the prerequisite course:

  • Manipulation of local and global state, including one-dimensional arrays of primitive- and object-data
  • Sequential, conditional, and iterative control structures
  • Simple program assembly from multiple components

Knowledge and Skills Acquired

  • Mastery of
    • Interfaces to (partially) define a data structure
    • Standard versions of classic data structures: linked lists, stacks, queues, trees, hash tables, and graphs
    • Choosing the correct data structure for the problem to be solved
    • Elementary algorithms for inserting, sorting, and searching an implementation of a data structure.
  • Familiarity with:
    • Time-complexity classes and their application to evaluating performance of data-structure implementations.
    • Recursion, including recursive definitions of data structures like linked lists and trees.