What you will study
In the Object-oriented view of software, programs are considered to be collections of objects that interact using each other’s methods and their results. These ideas are at the forefront of modern software development.
Throughout the module you will use BlueJ, an integrated development environment (IDE) specifically developed for teaching and learning object-oriented programming. BlueJ is used worldwide and is easy to use. It places special emphasis on visualisation and interaction techniques to provide a highly interactive environment that encourages experimentation and exploration.
The module takes an ‘objects first’ approach to teaching; you start seeing and interacting with objects right from the very start. This is achieved using BlueJ features that allow you to learn principles about construction and method calling.
You’ll soon start using Java code and syntax to edit provided practical examples, such as a ticket-machine, a digital clock, and a program that draws simple graphics. Initially, you’ll be expected to add minor functionality to the provided projects, and experiment with their facilities.
The module continues the teaching about fundamental object-oriented ideas by investigating:
- how to control the initial state of newly created objects
- different kinds of variables and methods in Java
- different kinds of data, including primitive and object types
- inheritance hierarchies and their impact on code reuse
- overriding methods and polymorphism
- abstract classes and interfaces
- file input and output.
Along the way, you’ll learn about Java structures for selection and iteration, and more about some of the core, provided Java classes. We introduce you to ideas about writing Java code in a good style and using appropriate design, as well as about different kinds of errors you will encounter and how to deal with them.
As you go on, you’ll develop increasingly complex object-oriented projects from scratch, using the BlueJ IDE, and gain a better understanding of the more complex examples in the textbook. The skill of appropriately utilising a provided library of classes (searching for a useful class and method, for example) is explicitly developed in this context.
The last part of the module begins by investigating how data is written to and from files in Java and how objects can be made persistent by writing them to file. Both of these techniques are useful in larger scale programs.
This module provides you with a basis for further study of Java programming and introduces you to many (but not all) concepts that are tested by Java Certified Programmer and Java Certified Associate exams.