Java in Two Semesters

by Quentin Charatan and Aaron Kans

Published 16 January 2002
Java in Two Semesters provides a comprehensive treatment of object-oriented programming, covering both introductory material and the advanced material of a second level course. Charatan and Kans focus on more than just programming issues by taking an integrated approach to software development. The book's step by step approach makes the subject very accessible and it is ideal for any student new to Java, as well as for those wishing to expand their knowledge of the language.Part one of the book presents key concepts of object-orientation, and goes on to deal with simple programming concepts such as declarations of variables and basic control structures. It then examines classes and objects more closely and uses code examples to explain programming principles and uses of the language. It also introduces testing methodologies, HCI, applets and event-driven visual programmingPart two deals with topics such as file handling, exceptions, threads and interfaces, and expands upon the topic of inheritance. More advanced graphics programming is introduced, to tie together concepts such as threads, applets, animations and rapid applications development. Containers and collection classes are then covered at a more advanced level, and the book goes on to explore the swing package for the development of GUIs. The final chapter places Java in context in the current software development environment, and provides a comparative study with other OOPs.

This highly accessible textbook teaches programming from first principles. In common with many programming courses, it uses Python as the introductory programming language before going on to use Java as the vehicle for more advanced programming concepts.

The first part, which teaches Python, covers fundamental programming concepts, such as data types and control structures and functions. It introduces more complex data types such as lists and dictionaries and also deals with file handling. It introduces object-oriented concepts and ends with a case study bringing together all the topics of the first semester.  The second part uses Java to teach advanced concepts and centres around object-oriented programming, teaching key object-oriented concepts such as inheritance and polymorphism.  The semester again ends with an advanced case study bringing together all the topics of the second semester.

Topics and features:

  • Assumes no prior knowledge, and makes the transition from Python to Java a smooth process
  • Features numerous exercises and also an illustrative case study for each language
  • Examines procedural and object-oriented methodologies, as well as design principles
  • Covers such advanced topics as interfaces and lambda expressions, exceptions and Collections
  • Includes a chapter on graphics programming in Python using Tkinter 
  • Introduces the latest Java technology for graphical interfaces, JavaFX
  • Explains design concepts using UML notation

Offering a gentle introduction to the field and assuming no prerequisite background, Programming in Two Semesters is the ideal companion to undergraduate modules in software development or programming.  In addition, it will serve as a strong primer for professionals looking to strengthen their knowledge of programming with these languages.