• Course Code: 01:198:112
  • Title: Data Structures
  • Semester(s) Offered: Summer
  • Degree Type (BA/BS): BA in Data Science, BS in Data Science
  • Track Option: Computer Science Track (Code: NB219SJ), Statistics Track Courses (Code: NB219TJ)
  • Degree Option: BA in Data Science - Statistics Track Courses (Code: NB219TJ), BS in Data Science- Computer Science Track (Code: NB219SJ)
  • Prerequisite: You will be expected to hit the ground running with all the topics you learned in 111 - strings, arrays, searching, sorting, recursion, Big O, objects. In order to review objects and Big O in particular, you are urged to read the following from the text: Chapter 1: Object-Oriented Programming in Java - Sections 1.1 and 1.2 Chapter 3: Efficiency of Algorithms - Entire chapter, all sections
  • Learning Goals:
    • Analyze runtime efficiency of algorithms related to data structure design.
    • Select appropriate abstract data types for use in a given application.
    • Compare data structure tradeoffs to select the appropriate implementation for an abstract data type.
    • Design and modify data structures capable of insertion, deletion, search, and related operations.
    • Combine data structures to build more complex implementations.
    • Trace through and predict the behavior of algorithms (including code) designed to implement data structure operations.
    • Identify and remedy errors/inefficiencies in a data structure implementation that may cause its behavior to differ from the intended outcomes.
    • Design data structures and associated algorithms to meet specified performance requirements for given task specifications.
  • Exams: There will be 3 in person exams, 2 midterms and 1 final.