Preface¶
Introduction to Programming with Java is designed to teach software application development using the Java programming language. This textbook includes an introduction to 2D graphics and animation. The material is organized into units that are flexible enough to support both objects-early and objects-late approaches.
Introduction to Programming with Java is an adaption of the CS Awesome book created by Dr. Beryl Hoffman, Associate Professor of Computer Science at Elms College, MA. CS Awesome is a free AP CS A curriculum that was created in 2019 by adapting the AP CS A Java Review e-book written by Dr. Barbara Ericson, Assistant Professor of Information at University of Michigan. Introduction to Programming with Java was subsequently developed by Dr. Linda Seiter and Dr. Dan Palmer, Professors of Computer Science at John Carroll University, to evolve the curriculum to be suitable for a college-level course.
If you see errors or bugs, please report them with this form.
Acknowledgements
We gratefully acknowledge the use of the Runestone platform and Jobe server run by Brad Miller. Please see the preface of CSAwesome course.csawesome.org for a list of the many contributors of the original eBook.
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Barbara Ericson barbarer@umich.edu 2014 All rights reserved.
Beryl Hoffman hoffmanb@elms.edu 2019 All rights reserved.
Linda Seiter lseiter@jcu.edu and Dan Palmer dpalmer@jcu.edu 2020 All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.