By Kassandra Calleja
Object-Oriented Programming is a programming ideology based on the concept of object classes, which contain data and code, related to real-life objects that a system is concerned with. This approach is well-suited for the development of programs that are large and complex; hence knowledge of Object-Oriented Design and Object-Oriented programming is essential for anyone seeking a career in Software Development and for those who require a deeper understanding of the creation of software programs. This module provides a solid foundation for the main concepts of Object-Oriented Programming. Using Java as the programming language for the delivery of the module, we start from the most basic concepts of programming such as variables, conditional statements and loops, and evolve our knowledge to create more complex applications which utilize object classes and a graphical user interface. We explore the use of Junit tests, to ensure that the developed code works as expected; this is very much in line with today’s industry practices of Test-Driven Development. Through UML Class Diagrams, the industry standard for class design notation, we also cover the principles governing the design of object classes in a manner that ensures a robust code structure that lends itself well to creating systems that are easy to scale up and extend.