Software design and Development II.

Goal: Based on SWDD I, the goal is to deepen theoretical and practical knowledge in software design and development.

Course description: Programming paradigms. Inheritance. Method hiding. Polymorphism. Abstract classes and interfaces. Iterators. Components. Operator overloading. Exceptions. Generic classes. Advanced sorting. Dynamic arrays. Lists. Queue and stack. Binary search tree. Red and black tree. B-tree. Heaps. Directed and undirected graphs. Trees. Spanning trees. Kruskal and Prim algorithm. Connected components. Search for a path in the graph. Hashing. Maximal flow.

Software design and Development II.