This project-based elective is for the experienced computer science student. Fundamental data structures like stacks, queues, linked lists, trees, sets, and maps will be introduced in this course. Algorithms and program analysis that accompany these data structures will also be discussed. By the end of this course, students will be able to understand the differences among various data structures, analyze problems and determine the most appropriate structure to implement, write applications, and compare the efficiency in storage of each data structure used. Other advanced computer science topics will be discussed based on student interest.
Essential Skills:
Use basic Java programming constructs, including selection, loops, arrays, and classes.
Use data structures such as stacks, queues, linked lists, trees, and maps.
Develop algorithms and analyze their efficiency.
Use appropriate code style and write documentation.