Research Methods and Professional Issues

All about research frameworks and ethical issues related to computer science and academic projects.

Covers what types of research questions are asked in computing research, what approaches are undertaken in these research projects and looks at previous examples of research in this field.

Oates, B.J. (2006) Researching Information Systems and computing

Research Characteristics and the 6 Ps of Research

Software engineering research has traditionally been about design and building products. Nowadays there's a need to carry out empirical assessment of systems: evaluating what happens when they're implemented in the real world.

Not enough evidence based computing. We don't know how research produced is used or adopted in practice.

"Research" is just a type of thinking that differs from everyday thinking. A type of thinking which uses sufficient data sources and an appropriate process.

In computing, a research question can take the form of "Can I develop a system that does x?"
The research would focus on convincing the reader that you designed and built the system in a systematic way, finding, generating and analysing appropriate data.

Some systems can be trivial. To satisfy academics this system should include some feature that has not been automated before in IT or make use of a new algorithm or design theory.

The 6 Ps of Research

You should think about each of these points in any research project.

  1. Purpose
  2. Products (Outcomes of research ie. answers to research questions or unexpected findings)
  3. Process (& Planning)
  4. Participants (Including oneself or stakeholders)
  5. Paradigm (we'll look at positivism, interpretivism and critical research )
  6. Presentation (How your research is communicated, needs to be professional)

The notes from now on will be structured on these points.

1. Purpose

Traditionally, you'd conduct research to further the realm of human knowledge. This may involve studies of niche and specific things.
In the field of software engineering, one of the most common is to solve a problem. Designing and building a software application that's useful to someone counts as research. For example:

Sometimes, the problem may be a personal one (like a side project idea you've had), this of course would be acceptable as long as you discuss how it can be useful to others.

Another reason to do research could be to find out what happens when a system is applied. In software engineering, this type of project focusses on empirical evaluation of processes and methods in developing software and is usually based on existing research and proposed theories.

For any researcher who's institution allows them to involve vulnerable people in their project, some may aim to improve people's lives. This one's pretty self-explanatory. Creating a system or modification to make technology more accessible. I'm not gonna worry about this for the moment.

And finally, to come up with a better way to do something. There's a lot of research out there and answers have been given to many questions. Doesn't mean you can't expand or try from scratch to make a better solution (this one didn't end well for me last year). Most research papers actually have a "Further Work" section that basically suggests where you can expand from.

2. Products

Back to Notes List