Preface This book is a second in programming, using the Object Oriented paradigm. It provides an in depth and extensive coverage in programming techniques to a variety of problems. The material is more detailed than the previous course, and is supported with larger programs. Concepts Covered - Program Design Principles - Cohesion & Coupling - Inheritance & Polymorphism - Exception and Exception Handling - Files and Streams - Elementary Data Structure - Graphical User Interface Pre-requisite - Knowledge of constructing a class - Understand data types - Knowledge of arithmetic, relational and logical expressions - Knowledge of program control - sequence, selection, and iteration - Knowledge of one and two dimensional arrays - Searching and sorting. Overview Chapter 1 - Object Oriented Software Design In this chapter you will learn the principles of OOD using cohesion and coupling. You will learn about class relationship diagrams; how they are used to model solutions. Chapter 2 - Inheritance and Polymorphism In this chapter you will learn the concept of inheritance and polymorphism which are fundamental to Object Oriented Programming (OOP). Chapter 3- Exception and Exception Handling In this chapter you will learn about exception, how it can cause a program to terminate abnormally, and how you can write codes to prevent this from happening. Chapter 4 Files and Streams In this chapter you learn to read and write text files as well as image files. You learn about serial access files as well as random access files Chapter 5 Recursion In this chapter you will learn about a type of programming technique that causes, not only a statement or a block of statements to be executed repeatedly, but also an entire method calling itself repeatedly. Chapter 6 - An Introduction to Data Structure In this chapter you will learn about data structure - particular ways of organizing and storing data for efficient retrieved and manipulation in terms of processing time and hardware resources. In this chapter you learn about the Java Collections Framework that contains classes for this purpose. Chapter 7 - Specialized Lists - Stack ▪ Queue ▪ LinkedList ▪ HashMap In this chapter you will learn about four specialized data structures - Stack, Queue, LinkedList, and HashMap. Chapter 8 - Introduction to Graphical User Interface (GUI) GUI - a type of program that allows the user to interact with the computer via graphical symbols such as buttons and menus. In this chapter you will learn how to write such programs. Chapter 9 - Events and Event Handling The programs we have written so far, called widow base programs, were designed to run sequentially, as coded; hence the next statement to be executed is predictable. With GUI programs, they allow the user to interact with the computer; hence the next statement to be executed is not predictable. In this chapter we will learn how to develop such programs. Chapter 10 - Graphics All of the programs that we have written so far are text base programs. In this chapter you learn how to free hand draw onto component, or make static figures onto components.
Joslyn A. Smith graduated from the Mico Teachers' College, Jamaica in 1973. He furthered his education at Central Connecticut State University, USA where he earned his BS and MS degrees in Mathematics in 1983. He also earned an MS degree in Computer Science from the University of New Brunswick, Canada in 1994. Mr. Smith joined the staff at the University of the West Indies, Jamaica in 1983 where he lectured in Computer Science for fourteen years. He currently teaches Computer Science at Florida International University. Mr. Smith has edited the textbook Computer Science Applications - An Object Oriented Approach. He has reviewed several manuscripts from major publishers, and also reviews Workshop entries for the Special Interest Group in Computer Education. Mr. Smith has also served as judge and director of judge in the annual High School Computer Science Competition in South Florida.