PJ1: Linked list implementation with pointers. PJ2: Heap implementation with read, write, and edit functions. PJ3: Dijkstra's algorithm.