Skip to content The Open University

Student and tutor module reviews

Algorithms, data structures and computability

see module description

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

Student reviews

I thoroughly enjoyed this module, and felt that it did a good job covering a wide variety of subject matter.
We learnt about different algorithms and data structures through structured English, pseudocode and diagrams, some of which are interactive. We then also looked at how to implement different algorithms using the python programming language.

The online module resources are extensive very well-made, especially the interactive diagrams explaining certain algorithms, which really help you understand the concepts behind them before looking at pseudocode. The module also includes a physical textbook, which though thorough, was a bit difficult to understand in places, particularly as it is not OU produced so used some differing terminology. An online version of the textbook is also available, which I would recommend you make use of as the physical textbook is quite a tome, and it can be easier to find a specific topic in the online version.

The computability section of the module is touched on at the beginning, but focused on more toward the end. A second, smaller textbook is provided for this, which is OU made and covers topics such as formal notation and problem difficulty very well. I found this section of the course harder at first, but thankfully this excellent textbook, which includes exercises for you to complete, along with continued online resources, helped me understand it well in the end.

When I did the module, it was assessed via two tutor-marked assignments (TMAs) and a final exam. The TMAs require a wide variety of skills, including short answer questions, drawing diagrams, writing formal algorithms and data structure definitions, and some python programming. There is also some short report writing required about topics in the module, but this is not too onerous compared to some modules, so I wouldn't worry if you're not the biggest fan of report writing (like me!). As there are only two TMAs, it's a good idea to start early as each one is fairly large. Some questions might not require too much progress in the learning materials to make a start on, and I found the workload wasn't too bad when I was able to complete some questions early.

The exam is not dissimilar to the TMAs, though it does focus more on short answer questions so as not to take too long. Because of the nature of the topic, the exam is quite predictable, so it's definitely worth doing as many past papers as possible. The short questions tend to be similar, and the same topics in the course are covered every time.
There are also some more unpredictable longer questions in the exam, but the past papers are still good preparation, as well as a thorough understanding of the course materials. There is even a short report writing question, but don't worry it doesn't require too much writing, and you can pick up a few marks just for good structure.

Plenty of revision sessions were available for the exam, which were very helpful. Definitely try to make it to a few, as they helped take a lot of stress away from exam preparations for me, as I felt well-prepared afterwards.

Overall, this module covers a wide variety of topics in good detail, providing a good foundation if you wish to pursue programming during and after your studies (though programming only makes up a small part of the module). I found it made a very good companion with 'Object-oriented Java programming' (M250), and though it is not compulsory for the software development pathway, I imagine it would make a very good fit.

Jonathan Keable

Course starting: October 2020

Review posted: August 2021

I took the module as part of the Computer Science route of my Computing & IT and Statistics degree, having already completed Object-orientated Java Programming (M250) and having some knowledge of other programming languages but no real experience with Python. I found M269 to be a very satisfying and enjoyable module which gave a great theoretical backing to the rest of my studies.

While proficiency in Python wasn't really essential to do well in the course or the exam, I found that examining and understanding the code in the course library and in the textbook helped me get to grips with the underlying theory, so some extra time spent on Python early on is probably a good investment of time.

As well as the textbooks and online material we are provided with two further excellent documents, the Companion and the Summary, which were great as revision tools and to aid understanding during the course. I found it helpful to carry the Companion and the Miller & Ranum textbook around with me so I could dip into them whenever I had a spare moment.

The final two units, unit 7 in particular, introduce some challenging concepts which may take longer than the allocated time to understand fully. I found the module to be well structured throughout but it was helpful to work ahead of schedule on these units to allow time to step back a bit before taking a second approach at some ideas. The exam was challenging with plenty of time pressure, but a solid familiarity with and understanding of the trickier elements of the final units should alleviate those pressures somewhat and make it possible to achieve a good result.

Course starting: October 2018

Review posted: September 2019

By far I found this the most difficult module that I completed with the OU. There's a lot of serious logic that I cannot see me using it in my career such as the Big-O notation.

Only think about this course if you are confident with Python and you are thinking about a serious career in computer sciences.

Either way I passed it and got a very difficult 30 credits.

Course starting: October 2018

Review posted: July 2019

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.