Andrew Myers and Dexter Kozen
This online text is intended for a second-semester university-level computer science course focusing on object-oriented programming, software engineering, algorithms and data structures.
Table of Contents: https://andrewcmyers.github.io/oodds