Undergraduate course, The University of Texas at Austin, Computer Science, 2018
This is the second course in the Elements of Software series. The emphasis of this course is on software development using object-oriented methodology. This course includes how to design software, how to create reusable software components, and how to compose programs from already available components. Furthermore, students learn about some basic data structures and algorithms and how to match the data structures and algorithms to problems.