The course covers more advanced data structures & related algorithms. More focus is placed on formal software development methods and software engineering fundamentals. The course also includes an introduction to requirements analysis processes that provides the specification of algorithmic requirements.
This course introduces advanced data structures, such as trees, graphs, and heaps. Several new algorithms using these data structures are covered. Students also learn software development methods and software engineering fundamentals and use those skills to develop projects of increasing size and scope effectively.