Java in Two Semesters
MetadataShow full item record
As with previous editions, this book is designed for university students taking a first module in software development or programming, followed by a second, more advanced module. This book uses Java as the vehicle for the teaching of programming concepts—design concepts are explained using the UML notation. The topic is taught from first principles and assumes no prior knowledge of the subject. This book is organized so as to support two twelve-week, one-semester modules, which might typically comprise a two-hour lecture, a one-hour seminar, and a oneor two-hour laboratory session. The outcomes at the start of each chapter highlight its key learning objectives, the self-test questions at the end of each chapter ensure that the learning objectives for that chapter have been met, while the programming exercises that follow allow these learning objectives to be applied to complete programs. In addition to these exercises and questions, a case study is developed in each semester to illustrate the use of the techniques covered in the text to develop a non-trivial application. Lecturers who teach on modules that run for fewer than twelve weeks in a semester could treat these case studies as a self-directed student learning experience, rather than as taught topics. The approach taken in this book is ideal for all students including those entering university with little or no background in the subject matter, perhaps coming from pre-degree courses in other disciplines, or perhaps returning to study after long periods away from formal education. It is the authors’ experience that such students have enormous difficulties in grasping the fundamental programming concepts the first time round and therefore require a simpler and gentler introduction to the subject that is presented in most standard texts. This book takes an integrated approach to software development by covering such topics as basic design principles and standards, testing methodologies, and the user interface, as well as looking at detailed implementation topics. In the first semester, considerable time is spent concentrating on the fundamental programming concepts such as declarations of variables and basic control structures, methods and arrays, prior to introducing students to classes and objects, inheritance, graphics, and event-driven programming.