Course description

Analysis, use, and design of data structures and algorithms using an object-oriented language like Java to solve computational problems. Emphasis on abstraction including interfaces and abstract data types for lists, trees, sets, tables/maps, and graphs. Implementation and evaluation of programming techniques including recursion. Intuitive and rigorous analysis of algorithms. 

Unofficial description

Become proficient in tradeoffs involving data, information, and programming so you can understand how to change the world the way you want to, or how to live interestingly in the world. Using computer science to: empower, educate, enlighten, and explore.

When

Monday and Wednesday at 1:25-2:40
Recitations are held on Friday

Where

LSRC B101, The Love Auditorium

Data Structures and Algorithms