Algorithms, data structures and various programming challenges