Skip to content
You are viewing information for England.  Change country.

Object-oriented Java programming

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. You should have experience in writing small computer programmes that use selection and iteration; successful completion of the programming tasks in the OU level 1 module My digital life (TU100) would be ideal preparation. You should also be able to write short explanations of technical ideas and be able to communicate with others electronically.

Modules count towards OU qualifications

OU qualifications are modular in structure; the credits from this undergraduate-level module could count towards a certificate of higher education, diploma of higher education, foundation degree or honours degree.

Browse qualifications in related subjects


Module code
Study level
2 8 5
Study method
Distance Learning
Module cost
See Module registration
Entry requirements
See Am I ready?

Student Reviews

This course is very much focused on the theory of object-orientated programming. I learned a lot about classes, inheritance, access...
Read more

I really enjoyed this module and I would recommend it to anyone who wishes to understand what object oriented programming...
Read more

Request your prospectus

Explore our subjects and courses

Request your copy now

What you will study

In the Object-oriented view of software, programs are considered to be collections of objects that interact by sending messages to one another and reacting to the answers to those messages. These ideas are at the forefront of modern software development.

The module takes an ‘objects first’ approach to teaching: you start seeing and interacting with graphical objects right from the very start. This is achieved by working within innovative and engaging micro worlds that allow you to learn basic object-oriented principles, before you attempt Java syntax or source code.

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.

In the first part of the module you will interact with micro-worlds of graphical objects to explore basic object-oriented ideas. You will soon start using Java code and syntax to write your own simple object-oriented code using the BlueJ IDE. Basic object-oriented concepts such as attribute, state, protocol, class and subclass are introduced, initially through interaction with the micro world, and then in the context of writing Java code. You will be expected to write short methods (the smallest units of code in Java) to specification.

The module continues the teaching about fundamental object-oriented ideas by investigating:

  • inheritance hierarchies
  • overriding methods
  • abstract classes
  • interfaces
  • polymorphism
  • re-use of code
  • static methods and variables.

Along the way, you’ll learn about creating your own classes, about the facilities of Java for selection and iteration, and more about some of the core, provided Java classes. Different kinds of errors are discussed together with techniques for error handling, program design and debugging. After discussion of the need to design code, you will be expected to be able to implement to specification a class along with its methods.

You will then be introduced to a subset of the Java collection classes, and related issues such as ordering and sorting. You are guided to apply the knowledge you gained from the first parts of the module, along with the new classes being introduced, to increasingly complex programming exercises. 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, and re-use by composition is discussed.

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.

If you are considering progressing to Algorithms, data structures and computability (M269), normally you should have completed or be studying this module. M250 also provides the level of knowledge of Java required for Software development with Java (M256) and is one of the modules listed as a possible prerequisite for Accreditation of Certificated Practitioners 2 (TM227).

Vocational relevance

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.

Teaching and assessment

Support from your tutor

You will have a tutor who will help you with the study material and mark and comment on your written work, and whom you can ask for advice and guidance. Throughout your study you will use email and online forums to keep in touch with your tutor and other students in your tutor group. We may also be able to offer face-to-face group tutorials that you are encouraged, but not obliged, to attend. Where your tutorials are held will depend on the distribution of students taking the module.

Contact our Student Registration & Enquiry Service if you want to know more about study with The Open University before you register.


The assessment details for this module can be found in the facts box above.

You will be expected to submit your tutor-marked assignments (TMAs) online through the eTMA system unless there are some difficulties which prevent you from doing so. In these circumstances, you must negotiate with your tutor to get their agreement to submit your assignment on paper.

Future availability

The details given here are for the module that starts in October 2014. We expect it to be available once a year.


As a student of The Open University, you should be aware of the content of the Module Regulations and the Student Regulations which are available on our Essential documents website.

Course work includes:

2 Tutor-marked assignments (TMAs)
5 Interactive computer-marked assignments (iCMAs)
No residential school


This is an OU level 2 module and you need to have a good knowledge of the subject area, obtained either through OU level 1 study, or by doing equivalent work at another university.

Successful completion of the programming tasks in the key introductory OU level 1 module My digital life (TU100) would be ideal preparation for this module.

You are expected to be familiar with:

  • basic programming concepts such as assignment to variables, selection and iteration
  • the basic components and working of a personal computer.

If you have any doubt about the suitability of the module, please contact our Student Registration & Enquiry Service.


Start End England fee Register
04 Oct 2014 Jun 2015 -

Registration now closed

The deadline for financial support applications has now passed

This module is expected to start for the last time in October 2017.
Sorry, there is a problem with this page at the moment, while we are fixing it please review the information on our main Fees and Funding Page

What's included

The module uses printed units and supplements together with some supplements that are available in PDF format only. Software is delivered via a CD-ROM. There is a module website including electronic copies of printed materials, other documents, software, programming activities, student forums and a study planner.

Computing requirements

You will need a computer with internet access to study this module. It includes online activities – you can access using a web browser – and some module software provided on DVD.

  • If you have purchased a new desktop or laptop computer running Windows since 2008, or an Apple Mac (OS X 10.6 or later) or Linux computer, you should have no problems completing the computer-based activities.
  • A netbook, tablet or other mobile device is not suitable for this module – check our Technical requirements section.

You can also visit the Technical requirements section for further computing information (including details of the support we provide).

If you have a disability

BlueJ and the module software use Java and so provide some support for screen-readers. However, there is a large graphical element to the micro worlds used to teach concepts in the early parts of the module, as well as in working with the BlueJ IDE and related software activities and so a sighted helper may be useful if you have a visual impairment.

The module uses some diagrams that are described in text, but will be more difficult to interpret if you have a visual impairment.

Written transcripts of any audio components and Adobe Portable Document Format (PDF) versions of printed material are available. Some Adobe PDF components may not be available or fully accessible using a screen reader and musical notation and mathematical, scientific, and foreign language materials may be particularly difficult to read in this way. Other alternative formats of the study materials may be available in the future. 

If you have particular study requirements please tell us as soon as possible, as some of our support services may take several weeks to arrange. Find out more about our services for disabled students.