Skip to content The Open University

Student and tutor module reviews

Object-oriented Java programming

see module description

  • Points: 30
  • Code: M250
  • Level: 2
On this page

Student reviews

This module was amazing.

I cannot get over it how good this was. I learnt a lot about Java and OOP principles which are transferrable to any other programming language.

Choose M250 and you won't be disappointed, great content, well-written and explained, huge amount of exercises which you need when learning to code.

Course starting: October 2021

Review posted: October 2022

I really enjoyed this module.

Despite feeling a little overwhelmed at times (due to time pressures from another module). I felt the study materials were strategically structured and extremely well explained.

My advice to anyone thinking about taking this module, is do it if you are serious about advancing as a beginner programmer.

The study material is designed to be read analysed and thoroughly thought about, I say this as I was guilty of rushing sections I thought I understood, everything included in the books are there for a reason.

George Muirhead

Course starting: October 2020

Review posted: August 2021

This module is focused entirely on learning O-O programming via the Java language. As such, the workload almost entirely involves reading and writing code using the BlueJ Java environment, as well as understanding concepts in O-O programming and in Java specifically.

I must add that I have used Java before this module, so my experience will be different to a new Java programmer. Nevertheless, The module's step by step introduction to different concepts, along with plenty of examples, really helped me improve my Java skills and my understanding of the concepts behind O-O programming.

As well as plenty of online materials, the module includes three textbooks to help with your studies. To me, these were more reference books than cover-to-cover reads, though if you haven't coded in Java before I imagine you would want to use them more. Probably the most important things to do are to study the code examples given and to practice writing as much of your own code as possible. In my opinion, both from learning Java before the module and during, this is by far the best war to improve your programming skills. Don't be worried if progress is slow at first, and you make plenty of mistakes, this is ultimately how you will improve.

In terms of assessment, firstly the module has many interactive computer-marked assignments (online tests), which can be attempted repeatedly, and are more to help you I believe than anything. They do require a pass mark, but don't count to your grade, so I would see them more as an important learning aide than something to worry about. They are more focused on concepts than the other assessments but are good preparation for them.

The main assessments were three tutor-marked assignments (TMAs) and an exam at the end. The first TMA is quite short and is mainly to allow the module team to give you feedback earlier, so you know how you are progressing. The following two TMAs are more significant, so I would try to make a start as early as possible and work on the questions that you have studied the materials for. The focus is almost entirely on Java programming, but also some on O-O concepts. As I said, the best preparation is to code as much as possible.

Finally, there is an exam at the end of the year. During COVID this was online (word-processed), but otherwise, it is normally handwritten as I understand. This exam is also mainly focussed on Java programming, though in smaller snippets than the TMAs. Because you don't use BlueJ for this, small mistakes are not penalised as long as you get important things correct.

The exam can be unpredictable (compared to M269 for example), though the past papers are still good preparation, along with general Java programming practice. Revision tutorials were very useful in this regard, especially "day schools" (online for me due to COVID), which I would recommend you attend if you can.

Overall, I thoroughly enjoyed this module, and this is a must for anyone with an interest in programming as part of their module. It makes a good companion to 'Algorithms, data structures and computability' (M269), which covers many foundational programming concepts. On the other hand, if you are not interested in programming, and prefer writing reports for example, then this module is probably not for you.


Jonathan Keable

Course starting: October 2020

Review posted: August 2021

This module overall exceeded my expectations. In the beginning, for the first couple weeks involves a bit of reading and theory, it will come across as confusing, however, as you begin to start using blueJ, which is the Integrated Development Environment (IDE), the theory will start to fall into place as you start doing the exercises.

You will learn about object orientation and with frogs and other characters and how composition supplement works along with how match dating etc.

The tutor I had was extremely good and would always provide feedback on how you doing and guide you in the right direction if needed.

You will cover a lot to do with Java programming, including methods and interfaces, which I found is similar to other languages such as C#, and from this, I was able to teach myself C# to build and publish my first mobile game (Jumping Jacks) during the summer break before the next modules began.

The exam I found a little fast-paced, although I am quick at typing on a computer, this is developed during this module with all the exercises provided, however, the exam (remote) which I did, I believe was pen-based and I struggled to complete by the end time, but I did come away with a very good grade which I am very well pleased with considering I am not from a computer-based background.

It is a very good and interesting module and would recommend to anyone wanting to get into the software development world or have an interest in computers.

Christian Rees

Course starting: October 2020

Review posted: August 2021

I really enjoyed the module, I found the pacing to be very well thought out. Although I am exceedingly thankful for having basic knowledge of Object-oriented Java Programming, there is a small part of me that will miss sitting at my desk in freezing winter, and learning those early units. I think Unit 5 was my favourite, learning about if statements, plus for and while loops. Unit 6, which goes into depth about constructors was also very interesting.

The tutor-marked assignments (TMAs) are great, the most satisfying was TMA01 though. This was my first real attempt at writing code, so it was the trickiest. After almost being ready to accept I wouldn't get it completed, a sudden brainwave the night before it was due saw me realise how to make my method work, and suddenly late that night the assignment was completed!

My experience was helped by my tutor being very helpful, always answering my questions.

Long story short, if you want to learn programming, this module is well worth it.

Ben Moses Fieldhouse

Course starting: October 2020

Review posted: July 2021

Great module that explains the concepts of object-oriented programming based on Java. It starts from absolute basics and builds up. It is quite theoretical, but I really liked it. The material was easy to learn, the workload not too excessive. I learned Python after doing M250 and learning another programming language was a breeze! I highly recommend this module.

Course starting: October 2019

Review posted: August 2020

Very good module, covers all the basics of objects and object orientated programming. Good materials and lectures were well worth attending.

Course starting: October 2018

Review posted: July 2020

Really enjoyable module but I did have to put the effort in as the concepts were not easily understood first time for me. Stick with it as its only in the later chapters that they start to pull the various components together into one, where things clicked into place.

The module is good mixture of theory and practical coding - yes, lots of coding! I had no experience of Java before this module but took advantage of the OU's programming bootcamp which was really helpful and borrowed a Java coding book from my local library prior to starting the module. This proved invaluable as although I didn't study the library book, it allowed me to get familiar with what Java code looked like, how it was laid out, some of the keywords etc so when encountering it in M250 it wasn't as daunting.

This module does have a formal exam but there's plenty of past papers available and my advice is to get through as many as possible and practice! Do at least one timed practice exam to gauge the 3 hour time limit but I found it very doable.

Overall, I found this module very satisfying although pushed my limits a lot, but was able to take much more away from this module than just the practical coding aspects of it.

Lynne Dewar

Course starting: October 2018

Review posted: May 2020

This module does a good job of teaching the core concepts of Object-Oriented Programming and the theories that make it useful. Though Java is used as the example language for the module, it borrows concepts from Smalltalk that make the whole paradigm easier to understand.

The module has a good structure that builds logically, has a realistic time frame for students, but isn't rigid and allows for students to manage their own time. Student progress is assessed fairly, with a good balance between continuous and examinable portions. The formative assessments were extremely useful for self-assessment.

It gives an academic view of OOP, but the practical element was challenging and fun. I was always looking forward to the next assignment.

Course starting: October 2018

Review posted: November 2019

I quite enjoyed this module, it was quite well structured and my tutor was amazing help.

At parts it is quite a challenging module, but the fun of such a programming module is that you have to get quite in-depth with learning problem solving skills and trying to add your own approach to it, and the very best part is when you manage to get your code working after trying for so long, it is a very liberating feeling when it all comes together!

Sadly I didn't perform too well in the examination which pushed down my overall score, but having got close to full marks on the tutor-marked assignments on reflection it was an enjoyable module and I would recommend it to anyone who is interested in perhaps pursuing a career in programming or just has a general interest in code.

Alexander James MacKenzie

Course starting: October 2018

Review posted: August 2019

I really enjoyed this course. For me, this module was exceptionally well written compared to other modules I have taken, in that the explanations of concepts were clear, there were lots of SAQs and exercises to help you and the tutor was really helpful. The course continually built on the skills in an organised way. I personally spent way more time on this module than they recommend because that's just what programming does to me!

I've not done object oriented programming before (but I did do Scratch and have dabbled with Python) and this module did give me a very good introduction to what can appear extremely complicated at first. I would recommend that before doing this module, that you have done some programming yourself, beginner level, any program, just so that you are aware of the basic programming constructs already, before trying to learn Java in addition.

The only real issue I had was completing a 3 hour hand written exam with a new syllabus. I found it challenging for sure. I can tell you that I used every single minute! I surprised myself that I did quite well. It's worth going through the glossary and getting those technical terms in, as well as doing as many past papers as you can.

Good luck if you do this one, I'm sure you'll enjoy it.

Course starting: October 2017

Review posted: September 2018

I really enjoyed this course. It was practical and gave me a good understanding of Java on a basic level.

Derek Comach

Course starting: October 2016

Review posted: June 2018

Please note

Each of the views expressed above is an individual's very particular response, largely unedited, and should be viewed with that in mind. Since modules are subject to regular updating, some of the issues identified may have already been addressed. In some instances the faculty may have provided a response to a comment. If you have a query about a particular module, please contact your Regional Centre.

Enter a module code to find a review

To send us reviews on modules you have studied with us, please click the sign in button below.