Introduction to use of computers to solve problems using software engineering principles. The course will focus on the central idea of an interface (e.g. an application programming interface, or API) and how to conceptualize, design, implement, and test interfaces. Common data structures will introduced along with their expected interfaces. Programming done in Python.