Think Java: How to Think Like a Computer Scientist Allen Downey, Chris Mayfield Jan 1, 2016 PDF Cite cs120-2020-fall cs120-2021-spring