What we will learn in this course!

  • Recognize the overall goals/content of the course and associated logistics

This course is about the study of basic data structures. It concentrates on developing implementations, understanding their performance characteristics, and estimating their potential effectiveness in applications. All implementations are done in Java programming language and according to the Object-Oriented programming paradigm. In the process, you will learn more about basic algorithms as well. Particular emphasis is given to algorithms for sorting, searching (including searching on Graphs).

Topics

  • Data Structures
    • Lists, Stack, Queue, Sets, Trees, Heaps, Hash Tables, Graphs, $\dots$
  • Algorithms
    • Sorting, Balancing Search Trees, Graph Search Algorithms, $\dots$
  • Advanced Java
    • Iterators, Generics, Inner/Nested classes, Comparators, $\dots$
  • Concepts
    • Unit Testing, Test First Development, Asymptotic Analysis, $\dots$

Please refer to the syllabus for more information.