Programming assignments for CS101: algorithms and abstract data types