Generic programming, generic classes, maps, sets, abstract data types and so on.
I studied the following topics while I was in my secound year of studying.
The logic of these topics was challenging to understand, but it was definitely very interesting to work with.
Topics: