Java, Java, Java: Object-Oriented Problem Solving - Open Textbook Library Term Browse Subjects Business + Accounting Finance Human Resources Management Marketing Computer Science + Information Systems Programming Languages Education + Curriculum & Instruction Distance Education Early Childhood Elementary Education Higher Education Secondary Education Engineering + Chemical Engineering Electrical Engineering Humanities + Arts History Languages Linguistics Literature, Rhetoric, and Poetry Philosophy Religion Journalism, Media Studies & Communications Law + Administrative Law Civil Law Constitutional Law Contract Law Criminal Law Procedural Law Property Law Mathematics + Applied Pure Medicine Natural Sciences + Biology Chemistry Earth Sciences Physics Social Sciences + Anthropology Cultural & Ethnic Studies Economics Gender & Sexuality Studies Geography Political Science Psychology Sociology Student Success About Open Textbooks FAQ Friends Submit Discovery Open Education Network Java, Java, Java: Object-Oriented Problem Solving (3 reviews) Ralph Morelli, Trinity College Ralph Walde, Trinity College Copyright Year: 2016 Publisher: Ralph Morelli, Ralph Walde Language: English Formats Available PDF LaTeX Conditions of Use Attribution CC BY Reviews Learn more about reviews. Reviewed by Ghaith Husari, Assistant Professor, East Tennessee State University on 4/17/20 This book covers Object-Oriented Programming under JAVA. It introduces the concepts of object-oriented programming and they are used for problem-solving. This book covers all the relevant areas of Object-Oriented Programming under Java. Also, it... read more Reviewed by Ghaith Husari, Assistant Professor, East Tennessee State University on 4/17/20 Comprehensiveness rating: 5 see less This book covers Object-Oriented Programming under JAVA. It introduces the concepts of object-oriented programming and they are used for problem-solving. This book covers all the relevant areas of Object-Oriented Programming under Java. Also, it covers more advanced topics such as socket programming and algorithms. Content Accuracy rating: 5 The Object-Oriented concepts and implementation example shown in code samples are accurate and easy to learn as the code samples are aligned with the concept being discussed. Some links and URLs are out-dated but they have little to no impact on student learning. However, I would add a note that says "some of the links and URLs might not up-to-date. However, they can be found using search engines if necessary" Relevance/Longevity rating: 4 Programming languages get updated regularly to include new and easier functions to use. While it is impossible for a textbook to include every function, this textbook provides a great learning opportunity that allows students to build the muscle to be able to learn more about Java online. When it comes to Object-Oriented concepts, the book is extremely relevant and up-to-date Clarity rating: 5 The textbook is very easy to understand and the code sample is both clear (code readability) and relevant. Consistency rating: 5 The text and the terms it contains are consistent. Also, the textbook follows a consistent theme. Modularity rating: 5 The textbook chapters are divided into sections and subsections that are shown also in the table of contents which can be used to visit each section. Organization/Structure/Flow rating: 5 The textbook consists of seventeen chapters that are organized in a logical manner. The more general concepts such as problem-solving and programing are placed at the beginning, then the chapters introduce the discuss Object-Oriented Programming come after the general chapters. The more advanced topics such as socket programming and data structures and algorithms come towards the end. This made a lot of sense to me. Interface rating: 5 The textbook is easily accessible online and it can be downloaded to open with Edge or Adobe Reader without any problems. Grammatical Errors rating: 5 No grammar issues have been noticed. Cultural Relevance rating: 5 This textbook is neutral and unbiased. Comments None Reviewed by Guanyu Tian, Assistant Professor, Fontbonne University on 6/19/18 This textbook covers Object-Oriented Programming with Java programming language pretty well. It starts with the concept of Objects and problem solving skills and then dive into Java programming language syntax. Overall, it appropriately covers all... read more Reviewed by Guanyu Tian, Assistant Professor, Fontbonne University on 6/19/18 Comprehensiveness rating: 4 see less This textbook covers Object-Oriented Programming with Java programming language pretty well. It starts with the concept of Objects and problem solving skills and then dive into Java programming language syntax. Overall, it appropriately covers all areas of the subject including the main principles of Object-Oriented Programming and Java programming language. In the later chapters, this textbook also introduces advanced topics such as concurrent programming, network/socket programming and data structures. The textbook provides table of contents at the beginning and index of terms at the end. Each chapter also provides a list of key words and a list of important concepts and technique terms. Content Accuracy rating: 3 The content of the textbook is mostly accurate. Many URLs linked to Java documentations and APIs are not up-to-date. Relevance/Longevity rating: 4 Many URLs to Java references are not up-to-date and many online samples are not accessible. Nonetheless, the concepts of Object-Oriented Programming and Java programming language syntax are mostly current. Any updates to the contents of the textbook can be implemented with minimal effort. Clarity rating: 5 The text is easy to understand. However, some of the texts are not displayed on adobe reader. Consistency rating: 3 The text is consistent in terms of framework. Each chapter starts with introduction to a problem, and then discussion and design of the solution with UML diagrams; then Java is used to implement the solution(s). However, there is some level of inconsistency in terms of Java code samples. For example, some Java code examples use appropriate indentations and new lines, but some examples do not. This may confuse students. Modularity rating: 5 Each chapter is divided into different sections and subsections. A student can go to each section of a chapter by clicking it in the Table of Contents. Organization/Structure/Flow rating: 3 The topics in this text book are organized in a reasonable order. It starts with general concepts of computer and program design, then Objects and Java Programming Language, and then advanced topics in computer programming. It would be better if the textbook starts with Java programming language and then principles of Object Oriented programming. Interface rating: 3 Some of the texts are not displayed in the reviewer's adobe reader. Many diagrams and figures are poorly drawn. Overall, the interface of the book is one area that needs improvement. Grammatical Errors rating: 5 No major grammar issues has been noticed. Cultural Relevance rating: 5 The text of this textbook is a neutral and unbiased. Comments Overall, this textbook covers materials of Object-Oriented Programming with Java taught in first or second-year computer science course. However, the contents of Java programming language has not been up-to-date and the interface of the book is very poor compare to similar books the reviewer has used for learning and teaching the same materials. Some sample codes are not well written or inconsistent in terms of the use of indentation and new lines. Many URLs are obsolete and the web pages are not accessible. Reviewed by Homer Sharafi, Adjunct Faculty Member, Northern Virginia Community College on 6/20/17 The textbook includes the material that is typically covered in a college-level CS1 course. Using an “early objects” approach and Java as the programming language, the authors go over problem-solving techniques based on object-oriented... read more Reviewed by Homer Sharafi, Adjunct Faculty Member, Northern Virginia Community College on 6/20/17 Comprehensiveness rating: 5 see less The textbook includes the material that is typically covered in a college-level CS1 course. Using an “early objects” approach and Java as the programming language, the authors go over problem-solving techniques based on object-oriented programming principles. In addition to an Index of terms towards the end of the text, each chapter summary includes the technical terms used, along with a bulleted-list of important points discussed in that chapter. Content Accuracy rating: 3 The computer science concepts and the accompanying sample code are accurate and error-free; however, the only issue is the fact that the URLs that make references to various aspects of Java, such as API documentation, JDK, and the Java Language Specification, have not been updated to reflect the fact that Sun Microsystems was acquired by Oracle back in 2010. Relevance/Longevity rating: 4 Like other software systems, Java is updated on a regular basis; nonetheless, the computer science concepts discussed in the textbook are based on standard undergraduate curriculum taught in a CS1 course. Therefore, any updates to the textbook would need to be with regard to the version of Java with minimal effort. Clarity rating: 4 The authors deliver clear explanations of the computer science concepts and the accompanying Java language features. Consistency rating: 5 There is a consistent theme throughout much of the text: A topic is introduced and discussed within the context of a problem. Its solution is then designed and explained using UML diagrams; finally, Java is used to illustrate how the solution is implemented on the computer. Modularity rating: 5 Each chapter is divided into sections that can easily be identified within the table of contents. Therefore, it’s fairly easy for a student to pick and choose a section in a chapter and work on the other sections later. Throughout each chapter, there are self-study exercises to incrementally test understanding of the covered material. Solutions to those self-study exercises are then provided towards the end of the chapter. In addition, each chapter includes end-of-chapter exercises that can be used to assess one’s understanding of the computer science concepts as well as the various features of Java. Organization/Structure/Flow rating: 5 The book consists of seventeen chapters; however, a typical CS1 course would need the material in the first ten chapters only, and those chapters are set up in a logical manner, allowing one to go through the material sequentially. Depending on how fast he first ten chapters are covered during the course of a semester, an instructor may choose from the last seven chapters in the text to introduce more advanced topics in computer science and/or Java. Interface rating: 1 The textbook can be accessed online or opened using Acrobat Reader with no problem. There are no issues, as long as navigation is done one page after another manually. However, when browsing through the table of contents (TOC) or the Index, the entries are not set up using any live links. That is, you cannot click on a page number associated with an item within the TOC or the Index to go directly to that page. Grammatical Errors rating: 3 This reviewer did not come across any such issues, while going through the text. Cultural Relevance rating: 5 This is a computing textbook, where the contents are presented using technical terms. Culturally, the textbook is completely neutral and unbiased in terms of how the material is presented. Table of Contents 0 Computers, Objects, and Java 1 Java Program Design and Development 2 Objects: Defining, Creating, and Using 3 Methods: Communicating with Objects 4 Input/Output: Designing the User Interface 5 Java Data and Operators 6 Control Structures 7 Strings and String Processing 8 Inheritance and Polymorphism 9 Arrays and Array Processing 10 Exceptions: When Things Go Wrong 11 Files and Streams 12 Recursive Problem Solving 13 Graphical User Interfaces 14 Threads and Concurrent Programming 15 Sockets and Networking 16 Data Structures: Lists, Stacks, and Queues Ancillary Material Ancillary materials are available by contacting the author or publisher. About the Book We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles. The third edition retains many of the features of the first two editions, including: Early Introduction of Objects Emphasis on Object Oriented Design (OOD) Unified Modeling Language (UML) Diagrams Self-study Exercises with Answers Programming, Debugging, and Design Tips. From the Java Library Sections Object-Oriented Design Sections End-of-Chapter Exercises Companion Web Site, with Power Points and other Resources The In the Laboratory sections from the first two editions have been moved onto the book's Companion Web Site. Table 1 shows the Table of Contents for the third edition. About the Contributors Authors Ralph Morelli, Professor of Computer Science Emeritus. Morelli has been teaching at Trinity College since 1985, the same year the computer science major was first offered. More recently, he was one of the Principal Investigators (PIs) for the Humanitarian Free and Open Source Software (HFOSS) project, an NSF-funded effort to get undergraduates engaged in building free and open source software that benefits the public. In summer 2011 a team of Trinity HFOSS students and faculty traveled to Haiti to build an open source mobile application that helps manage beneficiaries for a humanitarian aid organization. Currently Morelli is the PI of the Mobile CSP project, an NSF-funded effort to train high school teachers in CT and elsewhere to teach the emerging Advanced Placement CS Principles course that is being created by the College Board. The main goal of this NSF initiative is to increase access to computer science among underrepresented groups, including girls, African Americans, and Hispanic Americans. The Mobile CSP course teaches students to create mobile apps to serve their community. In summer 2014, a group of 20 Mobile CSP students spent their summer building mobile apps for the city of Hartford. Ralph Walde. Dr. Walde has given Trinity 28 years of distinguished service, first as a Professor of Mathematics and now as a Professor of Computer Science. He was instrumental in helping to establish and nourish computing at Trinity and was one of the founding members of the Computer Science Department. Stay Updated Join Our Newsletter E-mail Address: CENTER FOR OPEN EDUCATION | The Open Education Network is based in the Center for Open Education in the University of Minnesota’s College of Education and Human Development. University of Minnesota, 330 Wulling Hall, 86 Pleasant Street S.E., Minneapolis, MN 55455 Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 License