The design and implementation of data structures. Comparative analysis of algorithms and their applications to solving data science problems. Topics include recursion, lists, stacks, queues and priority queues, trees, graphs, dictionaries, decision trees, disjoint set, tensors, and data frames.