Multimedia introduction to programming using Java. With ProgramLive CD-ROM.
Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science (68-01) Theory of programming languages (68N15) Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.) (68N19) Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.) (68N30)
First of all I would like to express my enthusiasm reading this excellent text on programming with Java. I appreciate it as one of the most outstanding issues on this topic among the huge amount of books that appeared during the last decade focusing on Java fundamentals. I would like to emphasize that this book is comprehensive, conceptually and methodically up-to-date, its content is both rigorously and clearly written. It is obvious that one of the authors' aims was to supply a easy learning textbook in this respect; this is the reason why the book benefits, among other facilities, by a rather useful multimedia support on programming in Java. The ProgramLive tool supplied on the accompanying CD provides a user-friendly interface to several recorded lectures with synchronized animation. As a consequence, any instructor can present some of these animated lectures in class and the students can use them by themselves as well in their private study. Therefore, they can watch, individually and interactively, processes like chains of frames triggered by a method call, the stepwise refinement process yielding a method implementation and so on. Consequently, the proposed method of learning Java basics allows the reader to follow a similar way as in the case of learning a foreign language. The CD also contains all programs presented in the book as well as additional support for 35 guided closed-lab sessions. Accordingly, this multimedia support proves to be a valuable support for developing distance-learning activities too. Another nonstandard feature of the book consists of insisting on the use of DrJava (a new free integrated development environment from JavaPLT group at Rice University, \[ {\mathtt http://drjava.sourceforge.net}) \] as a tool in testing expression evaluation, control structures running, object creation and so on in a restricted environment, allowing one to give up the need of writing a full Java program. This facility is especially useful to the beginners in practicing Java ``in small, that is without full knowledge about classes and/or special methods, as for instance public static void main(String[]). The authors recommend the use of DrJava IDE even from the first lessons, and they claim that it is one of the fastest and most intuitive Java IDE they ever experienced. Another novelty is the way in which the classes and objects are introduced as well as their graphical representation. The authors prefer a direct and new intuitive representation of a class as a ``drawer of a filling cabinet filled with manilla folders, which represent objects of the class instead of using UML diagrams. I appreciate it as a good idea, at least from a psychological point of view, because most of the stress the beginners usually experience when faced with new concepts is significantly reduced. Moreover, the file-cabinet-manilla-folder analogy, together with DrJava IDE, allows the reader to deal with objects (folders) at early stages of lecturing, before knowing anything about classes (drawer). In my opinion, this approach seems quite natural, indeed. The analogy extends easily to the discussion of an inside-out rule, standing for a general expression of the rule dealing with the scope of validity of local objects in a block structured language. The analogy is also justified by the fact that the nested classes (both static classes and inner ones) can be further introduced in a natural way. It is also worth to mention that the use of the stack based model of memory proves its usefulness for a deeper understanding of recursive call methods, when the mechanism is not already known from the use of other procedural languages. Part III -- Aspects of Programming, brings a significant contribution to the soundness and completeness of the presentation as a whole. Several topics coming from a wide area of tasks ranging from web applications and graphical user interfaces to recursive removal schema, testing, debugging and programming style are extensively discussed here. It should be pointed out that a series of concepts coming from the program correctness field [\textit{D. Gries,} The science of programming (1981; Zbl 0472.68003)], as for instance invariant assertion, variant function, weakest precondition and so on, are adapted and applied to the Java programming context, bringing a beneficial contribution to the rigour of the book. There are some topics of Java language, as for instance multiple threads, that are ignored by the book. A bibliography is missing, except for a few references embedded in the text. Primarily, the book addresses undergraduate students learning object oriented programming, but the area of interest is certainly much wider: teachers and instructors could use the book not only as a source of information but especially as a didactic guide for teaching, writing, testing and debugging Java programs.
- Programming in Java 1.5. A compact, interactive tutorial. With CD-ROM.
- scientific article; zbMATH DE number 2020419
- scientific article; zbMATH DE number 1111433
- An introduction to network programming with Java. With CD-ROM.
- scientific article; zbMATH DE number 946288
- Java als erste Programmiersprache
- scientific article; zbMATH DE number 5172135
- scientific article; zbMATH DE number 2161984
- Java: Data structures and programming. Incl. 1 CD-ROM
This page was built for publication: Multimedia introduction to programming using Java. With ProgramLive CD-ROM.
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4671932)