England

Please tell us where you live so that we can provide you with the most relevant information as you use this website.
If you are at a BFPO address please choose the country or region in which you would ordinarily be resident.
Accessibility statement
This module teaches the fundamental ideas behind the object-oriented approach to programming through the widely used Java programming language. Concentrating on aspects of Java that best demonstrate object-oriented principles and good practice, you’ll gain a solid basis for further study of the Java language and object-oriented software development. Some experience in writing computer programs is essential.
In the object-oriented view of software, programs are considered collections of objects that interact using each other’s methods and results. These ideas are at the forefront of modern software development.
Throughout the module, you’ll 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 emphasises visualisation and interaction techniques that encourage experimentation and exploration.
The module takes an ‘objects first’ approach to teaching; you start seeing and interacting with objects from the beginning, supported by BlueJ features that allow you to learn the principles of object 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 add minor functionality to the provided projects and experiment with their facilities.
The module continues the teaching about fundamental object-oriented ideas by investigating:
Along the way, you’ll learn about Java structures for selection and iteration and more about some of the core Java library 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 better understand 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.
You need to be familiar with basic programming concepts – check if you’re ready for M250, with our self-assessed quiz.
You’d normally be prepared by completing OU level 1 study as part of one of our computing and IT qualifications. For this module, we recommend that you’ve passed Introduction to computing and technology 1 (TM111) and Introduction to computing and information technology 2 (TM112); or their predecessor TU100. Alternatively, you should be familiar with two other programming languages such as Scratch and Python.
You’ll get help and support from an assigned tutor throughout your module.
They’ll help by:
Online tutorials run throughout the module. While they’re not compulsory, we strongly encourage you to participate. Where possible, we’ll make recordings available.
Course work includes:
You’ll have access to a module website, which includes:
Additionally, the website includes:
We also provide physical:
The OU strives to make all aspects of study accessible to everyone, and this Accessibility Statement outlines what studying M250 involves. You should use this information to inform your study preparations and any discussions with us about how we can meet your needs.
To find out more about what kind of support and adjustments might be available, contact us or visit our Disability support website.
Object-oriented Java programming (M250) starts once a year – in October.
It will next start in October 2026.
We expect it to start for the last time in October 2027.
Back to previous page