OU blog

Personal Blogs

Christopher Douce

TM470 Resources

Visible to anyone in the world
Edited by Christopher Douce, Wednesday 5 November 2025 at 16:42

This post shares some resources that might be useful during the course of your project module. Some of what is presented here may be already familiar to you, having studied earlier modules.

What you will need will, of course, vary depending on your project. You will need to make choices about what you need. In your project report, you also need to say something about why you have chosen what you have chosen. Also, do remember, that what you find might be even more helpful than what is given here.

Diversity, Equality and Inclusion

In the UK, the Equality Act 2010 is an important piece of legislation, which defines a number of protected characteristics.

When it comes to computing projects, the W3C WAI WCAG is an important resource, especially if your software product makes use of web technologies.

Ethics

Software systems affect people and society. Requirements for software systems can come from people and society. Wherever there is people, there is also ethics. Computing professionals must behave in a way that is ethical. To help with the Legal, Social, Ethical and Professional Issues, the following sets of guidelines are considered to be helpful:

Gantt chart tools

As suggested in earlier posts, it is a good idea to create a Gantt chart for your project to create an overview of what you expect will happen and when

It is completely up to you how you create your Gantt chart. You might choose to create one using many of the different spreadsheet templates that are available. Alternatively, you could download a software package, such as Project Libre Desktop which is an alternative to the popular Microsoft Project package.

Another approach would be to use one of the many cloud-based Gantt tools that are available, such as GanttPro. These cloud-based products often offer a trial period, after which you have to pay a monthly fee.

Every tool has its own advantages and disadvantages and will have learning curve if you haven’t used one of these tools before.

Generative AI

GenAI can be considered to be a useful resource, but it must be used with caution. Every student has access to a Microsoft product called CoPilot. If AI is used in the creation of code that is used within a software solution, you must document what prompts have been submitted to which language model. If you use AI as a part of a solution to a wider problem, it is important and necessary to discuss the implications of its use, in terms of risks, ethics and bias.

University level guidance is available through this resource: Generative AI in learning, teaching and assessment at the OU. This provides a link to guidance for students. Guidelines for referencing the use of GenAI can be found, in part, on the CiteThemRight website.

Literature review

The literature review is, as suggested earlier, a summary of all your reading that has contributed to the development and completion of your project. Whatever you mention in your literature review rection should be used or applied in some way.

In addition to some of the skills resources that follow, the following resources may be useful:

An introduction to software development Open Learn Badged Open Course (BOC), which contains a very useful section, Finding and reading academic articles.

Srinivasan Keshav’s article entitled How to read a paper offers some practical guidance about how to read and analyse an academic article.

Project management resources

All the guidance you need to complete your project is presented within the module materials (and within this accompanying guide). There are, of course, other resources in the world that can offer some complementary guidance.

One such resource is the Project Management for IT-Related Projects: 3rd edition, published by the British Computer Society (BCS). You don’t need to buy this text, but you may be able to access parts of it through the OU Library.

Although this text is intended for industry professionals, it may be useful for your project. The guidance about project models reflects some of the advice shared in module materials.

Prototyping tools

There are different approaches to prototyping. One of the simplest and most useful tools is, of course, pencil and paper. It is acceptable to draw prototypes of your software product and share these within your project report. An earlier article, TM470 Considering prototyping offers a bit more guidance about the concept of prototyping.

If you wish to use a tool to help you with your prototyping, the following might be useful:

If you wish to go beyond creating prototypes of user interfaces, you could use other tools to create prototype designs of your software system. One such tool is Visual Paradigm which can be useful with drawing of UML diagrams, and diagrams that describe cloud computing infrastructure. Other cloud-based drawing tools could, of course, be used.

Products such as Balsamiq and Visual Paradigm can be used with an academic licence.

Further academic guidance about prototyping can be found in the following text book:

Sharp, H., Rogers, Y. and Preece, J. (2023) Interaction design : beyond human-computer interaction. 6th edition. Milton: Wiley. 

Which is available through the OU Library

Risk assessment and management

Accompanying the description of the lifecycle model are two useful sections: risk assessment and risk management. Risk assessment concerns with considering what the risks to your project might be. Risk management concerns with approaches to deal with those risks. The risk assessment approach presented in the module is relatively simple. It considers risks in terms of impact and likelihood, which is sufficient for the needs of your project report.

Every project is, however, different in the ways that it need to take account of risk. Some wider issues that might be helpful includes the NIST Cybersecurity Framework. There is also ISO 27001, an international standards which concerns information security. Risks can be managed not just in terms of how technology is used, but also how human processes are applied.

Skills, writing and studying

The following links offer some useful practical guidance about writing and studying:

Within the library pages, the following two pages are particularly helpful:

Do also refer to sections in this guide that refer to the writing of your project report and the appropriate uses of Generative AI.

Software development tools

Your choice of tools will depend, in part, on the characteristics of your project, and what skills you wish to develop. An important tool is the integrated development environment (IDE), which often integrates together a text editor, a debugger, and a way to run your software. IDEs can also be connected with version control software (to keep your software safe) and AI assistants, which help you with your learning. Historically, IDEs used to focus on a single programming language, such as Java or Python. Popular IDEs now work with multiple programming languages.

What follows is a useful summary of some popular IDEs:

Apache Netbeans. Netbeans primarily supports the Java programming language but can be used with other languages through extensions.

Eclipse. Eclipse is an enterprise level ‘cloud native’ IDE that supports a wide variety of languages.

IntelliJ. IntelliJ is a popular commercial IDE that was notable for its usability and functionality. A ‘dev toolkit’ pack is available for students.

Microsoft Visual Studio Code. Visual Studio Code is notably the most popular IDE. It can be used with multiple languages. VS Code is not to be confused with Microsoft Visual Studio, which is a different similarly named product.

PyCharmPyCharm is a Python IDE from JetBrains who also have created IntelliJ. An alternative tool for Python developers is the Jupyter Notebook environment.

Software testing

A thorough project will move through an entire cycle of gathering requirements, implementing those requirements, through to carrying out of testing to make sure that requirements have been implemented correctly.

There are a number of tools that can help with the software testing (which is not to be confused with usability testing).

In terms of source code, there is a unit testing framework which is known as xJunit, where the ‘x’ refer to the initial of a programming language. The xUnit.net site relates to a unit testing framework that can be used with a number of different Microsoft .NET languages. JUnit.org if specifically concerned with unit testing of Java code. There is also PyUnit which concerns the testing of Python code.

Unit testing is testing that operates at a low level. Moving up a level, there are other tools, such as Cucumber. There are other tools out there, such as Selenium, but this takes us beyond the boundaries of a project, and towards testing at an industrial level.

An important point to remember is that the extent of testing that is necessary depends on what the impact of errors might be. Testing is guided by risk.

Version management

It is important to keep the software you create safe. The best way to do this is to use a version management system. The dominant tool used for version management is called Git. Git allows you to save your software into a safe repository called GitHub. The following introductory videos offer some useful explanations:

To begin to use Git, you must install the Git software on your local computer. If you are using Windows, you will install something called a ‘terminal’, MinTTY, which allows you to execute Git commands and upload your code to GitHub. There is also a graphical user interface version, but in terms of gaining practical experience, it is best to use the terminal (unless, of course, you manage to use Git as a part of your IDE).

By way of further information, the following resource is helpful: Ponuthorai, P.K. and Loeliger, J. (2022) Version Control with Git. 3rd edition. O’Reilly Media. Appendix A, History of Git, offers a lot of useful background information, which is worth a read.

Reflections

It is hoped this blog post offers some useful resources to complement what is shared within the module materials. Since your project is intended to be an individual project, I have not covered tools that support collaboration in an agile environment, such as Jira. Similarly, I have not shared resources that concerns covered cloud computing, since there is no need to consider deployment beyond your own personal computer, unless you decided this is an important element of your project.

A key point is that you must choose resources that you feel you need to use and apply within your project. You also should find the time to write about what these are. You should also say something about the skills you need to acquire to use or apply these resources.

A final note: none of the software products mentioned here are official university recommendations; these are personal opinions (which may, or may not, be useful).

Permalink
Share post
Christopher Douce

TM470: Tips from a tutor

Visible to anyone in the world

At the start of every presentation of TM470 I run a couple of introductory tutorials. During these tutorials, I try to conclude with a set of tips. These are things to do, and things to always bear in mind whilst studying. The tips that follow relate to the different aspects of the module. In this blog I have taken the liberty of adding one more point that relate to the writing of the project report. (On this point, do refer to earlier blogs that relate to writing and TM470, and how to structure your final project report).

Here are my (personal) tips:

Choose a project that allows you to show off your skills (and have fun): The project module is all about showing off. It should be used to show off what you have learnt, what skills you have, and what you can do. It is used to show off your technical skills, project planning skills and writing skills (which is an important graduate skill).

Think about the type of project it is: there are three types of project – research projects (you study something), development projects (you create something), and evaluation projects (you evaluate something). Depending on what you have chosen, your project might have elements of all three. Identify which bit you might be doing, and when you might be doing it.

Choose (and justify) appropriate lifecycle model: different types of project need to be managed and run in different ways. Familiarise yourself with the different lifecycle modules that are presented within the module materials and ask yourself why you need to choose one approach over another.

Spend time creating a project plan (and share a plan in each TMA): demonstrating your planning skills is a really important part of the project module. Not only should you identify a list of key tasks that you may need to complete, but you should also create a Gantt chart. A practical recommendation is: create a Gantt chart when you start the project, and take a copy of it. As you progress throughout your project, make regular updates. When you get to the end, compare your first Gantt chart with your current Gantt chart. Write about what this tells you about either yourself or your project planning. Add these thoughts to the reflection section of your EMA.

Take time to identify risks: what are they? Risk management is important. You need to take account of these within your plan, and consider how you may need to mitigate against them. Different projects will present different risks. Consider both your own role within the project, and the types of resources that you need to complete your project.

Always consider about ethics within the project: consider ethics from different perspectives – the ethics of involving people within your project, and also the ethical implications of how the outcomes of your project might impact on others and wider society.

Start your reading and researching (use the library): make good use of the university library. A part of your student fees always goes towards it, and it is a phenomenal resource. Do use it to find academic articles that help you to answer some of the problems you need to solve during your project. You can also use it to find textbooks to help to solve technical problems.

Create a project log, and send me updates every week: a project log can help you to reflect on what you have done during the course of your project. This can be especially useful when you write everything up. Sending an update email every two weeks to your tutor can also play the role of a log. Any emails that you send can also be saved as an appendix, to show an examiner that you have maintained regular contact with your tutor.

Take time to review the marking grids: in other words, make sure you understand what the TMA and EMA learning outcomes are. Once you understand these and know what they are, you can almost mark yourself. Use these grids to understand what evidence you need to provide in your assessments, and your final project report.

Pay attention to how your project report is written: when projects are assessed, the project is evaluated through what is shared in your project report. This means that your writing is important. Do your best to make your report as interesting as it can be. Make sure that it has a strong (and clear) narrative in terms of what you have done, what you have learnt, and what you have achieved. As well as your outputs and outcomes, make sure you tell the examiner how you have approached your planning. Clear writing will help your examiner identify evidence to show how you have gained the module learning outcomes.

Reflections

Although these are my personal tips, students should always refer to the module materials in the first instance. Other tutors may we have different (although hopefully) similar opinions. If you’re unsure about what you need to do, or how to present evidence within a TMA or your project report, please do seek advice from your tutor, or by making a post to the module forums.

Permalink Add your comment
Share post
Christopher Douce

TM470 Considering LSEPI

Visible to anyone in the world
Edited by Christopher Douce, Wednesday 24 April 2024 at 10:44

In TM470 LSEPI is an abbreviation for Legal Social Ethical and Professional Issues. A good TM470 project report should clearly address these issues to show the examiner that you have thought about how these issues have impacted on your project, and what you have done to take these into account.

LSEP issues are increasingly important in computing due to the increasing impact that computing and IT has within society. When speaking with students I often a recent example: the Volkswagen emissions scandal. In this case, there are clear environmental impacts and legal implications. It is also clear that both the engineers and leaders have to make ethical decisions.

In TM470, LSEP issues are assessed through the following learning outcome: “LO10. Identify and address the legal, social, ethical and professional issues (LSEPIs) and the equality, diversity and inclusion (EDI) concerns that may arise during the development and use of computing and IT systems.” In the marking of the EMA, this learning outcome is assessed with LO2, which is all about the aims and goals of your project.  When just looking at the number of learning outcomes, and the marks available, the LSEPI section could account for 10 marks.

To gain a top score for this learning outcome a student: “has comprehensively identified the relevant LSEPIs and EDI concerns arising during development and use and modified their project work to take these into account and behaved professionally in all aspects of their project work”. EDI being an abbreviation for equality, diversity and inclusion.

Given the importance of both LSEP and EDI, a suggestion is to include it as a top level section in your report, just before the literature review section. The justification for this is that if you identify some issues that need to be explored in greater depth, you can then go onto provide evidence of your reading.

Module materials

At the time of writing, it takes a bit of digging to find two documents that relate to both LSEP and EDI issues. From the module website, click on the Resources heading, and then click on the Study materials section.

The LSEP document contains the following key headings: working with stakeholders, working with human participants, and asking the right questions. Do review the materials that are presented under these headings and review Appendix A Guidelines for conducting research with human participants. Related to these are two template documents: a sample consent form, and a participant information sheet.

Informed consent is the process through which researchers share the aims and purpose of their research with participants, and gain their approval that they are happy to participate in a study. The accompanying information sheet is designed to offer further information under a set of familiar headings.

When working with participants, I always remember two points. The first is that participants are at liberty to leave a study at any point. The second point is related: the participants are always more important than the research that is being carried out.

The equality, diversity and inclusion section addresses “why equality, diversity and inclusion are relevant to computing and IT professionals”, introduces the concept of protected characteristics, and “unconscious bias is and how it might affect your practice as a computing and IT professional” and what mitigations might be adopted (TM470 module materials).

EDI relates to people, and differences between people, irrespective of whether they are perceived or due to physical, cognitive or sensory impairments. Since Computing and IT products are, ultimately, used by people, it is necessary to consider EDI issues. If you design an app or a website, your product should be accessible to the widest possible group of users. The motivations for doing this are twofold: firstly, there is a legal obligation to ensure that products and systems are accessible under the Equality Act, and secondly, all users are potential customers. If a product isn’t accessible or perceived negatively, a consumer might choose another service that has a more accessible, usable, or appealing interface.

Looking at this issue from a slightly different perspective, if your project uses artificial intelligence or machine learning, it is necessary to question the extent to which biases might exist within either data that informs your project, and the extent to which bias might be potentially reinforced, or even magnified.

Questions to ask

As highlighted earlier, the LSEP materials contains a section that has the title: asking the right questions. 

Go through each of these questions in turn. 

When working through these questions, do think about the stakeholders who are involved with your project. A stakeholder can be thought of anyone who is affected by your project, either directly or indirectly. Ask yourself questions about what data might need to be held and collected, and what bits of legislation might play and impact if you were ever to deploy your project. The Equality Act was mentioned above. You might want to also consider data protection and computer misuse legislation.

If your project is a research report it is important to ask: what might be the impact of my report? If something is discovered by the report, what might be the impact of disclosing the results, or not disclosing the results? The point here is that it is important to go further than just the immediate project, but also to consider wider and broader impacts.

Differences between student projects and university projects

Before university staff can carry out research that involved human participants, they must submit project proposals through a formal ethics panel. The aim of this panel is to make sure that researchers have carefully considered everything, and any potential risks to all participants (and to the university) have been mitigated.

Unlike official university projects, undergraduate and postgraduate projects are not required to go through such a rigorous process. Rather than having an ethics panel and a lot of electronic paperwork to complete, students should think of their tutor or project supervisor as a mini ethics panel.

Interacting with your tutor whilst considering your LSEP and EDI issues should be thought of as a useful and necessary part of your project. Your tutor will be able to offer some thoughts about what needs to be considered. Plus, interactions with your tutor or supervisor can be documented in an appendix of your final reports.

Further resources

A lot of good resources about ethics are available, and some of these resources are mentioned in the module materials. Here are a collection of links that might be useful:

For those that find this subject really interesting, there is a whole suggested curriculum about Society, Ethics and Professionalism on the ACM website.

Going through the ethics bit of TM470 gives you a taste of what university researchers have to go through when they plan and design studies that involve human participants. More information about what goes on behind the scenes at the OU is presented through Ethics support for projects: Which studies need review, by whom and why? (OU blog)

Reflections

I find ethics a fascinating subject. In computing it comes into play more than you might initially expect since computing touches on so many different areas of human activity. Rather than being a subject that was once on the periphery of the discipline, I now see it as a topic that has moved to the centre. It is an important and necessary part of becoming a computing professional.

It is also interesting to reflect on how ethics has developed since I was a graduate student. There is now a lot more that has to be done, but this isn’t a bad thing. Additional scrutiny along the way helps researchers to carry out better research. For TM470 students, my key bit of advice is: speak with your tutor; they are your own personal ethics panel.

Permalink Add your comment
Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 3268400