Concise Guide to Object-Oriented Programming
This engaging textbook provides an accessible introduction to coding and the world of Object-Oriented (OO) programming, using Java as the illustrative programming language. Emphasis is placed on what is most helpful for the first-time coder, in order to develop and understand their knowledge and skills in a way that is relevant and practical. The examples presented in the text demonstrate how skills in OO programming can be used to create applications and programs that have real-world value in daily life.
Topics and features:
Presents an overview of programming and coding, a brief history of programming languages, and a concise introduction to programming in Java using BlueJ.Discusses classes and objects, reviews various Java library objects and packages, and introduces the idea of the Application Programming Interface (API).Highlights how OO design forms an essential role in producing a useful solution to a problem, and the importance of the concept of class polymorphism.Examines what to do when code encounters an error condition, describing the exception handling mechanism and practical measures in defensive coding.Investigates the work of arrays and collections, with a particular focus on fixed length arrays, the ArrayList, HashMap and HashSet.Describes the basics of building a Graphical User Interface (GUI) using Swing, and the concept of a design pattern.Outlines two complete applications, from conceptual design to implementation, illustrating the content covered by the rest of the book.Provides code for all examples and projects at an associated website.
This concise guide is ideal for the novice approaching OO programming for the first time, whether they are a student of computer science embarking on a one-semester course in this area, or someone learning for the purpose of professional development or self-improvement. The text does not require any prior knowledge of coding, software engineering, OO, or mathematics.
Dr. Kingsley Sage is a Senior Teaching Fellow in Computing Sciences in the Department of Informatics at the University of Sussex, Brighton, UK, and a Senior Fellow of the Higher Education Academy (SFHEA). He has more than 20 years of teaching experience, from the level of further/continuing education through to postgraduate-level teaching, in both traditional university teaching and adult education.