This document outlines a course on data structures and algorithms. It includes the following topics: asymptotic and algorithm analysis, complexity analysis, abstract lists and implementations, arrays, linked lists, stacks, queues, trees, graphs, sorting algorithms, minimum spanning trees, hashing, and more. The course objectives are to enable students to understand various ways to organize data, understand algorithms to manipulate data, use analyses to compare data structures and algorithms, and select relevant structures and algorithms for problems. The document also lists reference books and provides outlines on defining algorithms, analyzing time/space complexity, and asymptotic notations.