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.

 

Midterm 2 Review with Jimmy – Tuesday November 12th.

Review Code