CS1020: Data Structures and Algorithms