This course introduces basic concepts of software development, elementary data structures (including sets, lists, stacks, queues, trees, and graphs), recursion, and elementary algorithm analysis. Formerly CS 205. Prerequisites: CS 105, MA 162 (the latter may be taken as a co-requisite).