EECS 560: Data Structures taught by Dr. Suzanne M. Shontz has been a fun class! A lot of reading and on-paper-algorithm-analysis and dry running. The course itself was also accompanied by a series of labs, where we would implement various data structures that we learned in class. Such a list includes but not limited to: Binary Search Trees, Priority Queues (Leftist trees, min heaps, max heaps, min-max heaps), Linked Lists, Hash Tables (various sorts of addressing and hash conflict resolution functions), etc.
I took the code I wrote for some of those labs and published them in a separate repo. Maybe it can serve as a good source to look up some simple data structures. Do not copy or plagiarize the work for your own labs. Some quick documentation follows in the repository itself.