Fundamentals of Research in IT/CS
From the Ms2 curriculum
Fundamentals of Research in IT/CS
TL;DR
Research in IT/CS helps us understand problems, find solutions, and contribute to knowledge. It's a systematic process involving identifying a problem, collecting and analyzing data, and reporting findings. You'll use critical thinking and established methods to ensure your work is sound and impactful.
1. The Mental Model
Think of research like building a complex piece of software: you first define the problem, then design a solution, implement it, test it rigorously, and finally document everything. Each step needs careful planning and execution to create something valuable and reliable.
2. The Core Material
Research in IT/CS isn't just about coding; it's about systematically investigating a problem or phenomenon to gain new insights. It can be about improving existing systems, developing new technologies, or understanding user behavior.
2.1. Defining Your Research Problem

Photo by Brett Jordan on Pexels
Before you start, you need a clear research question. This isn't just a general curiosity; it's a focused, answerable question that guides your entire study. A good research question is:
- Specific: Narrow enough to be manageable.
- Measurable/Achievable: You can actually gather data to answer it.
- Relevant: Important to the field or a practical problem.
- Time-bound: Can be addressed within a reasonable timeframe.
For example, instead of "How can we make websites faster?", a better question might be: "What is the impact of lazy loading images on perceived page load speed for e-commerce websites among users aged 18-35?"
2.2. Literature Review: Standing on the Shoulders of Giants

Photo by Tima Miroshnichenko on Pexels
Before you invent the wheel, see if someone else has already built a car (or at least some parts of it). A literature review involves finding, reading, and critically analyzing existing research related to your topic. It helps you:
- Understand what's already known.
- Identify gaps in current knowledge (your potential contribution!).
- Learn about different research methods.
- Avoid duplicating effort.
Use academic databases like ACM Digital Library, IEEE Xplore, Google Scholar, or even your university library's resources.
2.3. Choosing a Research Methodology

Photo by Markus Winkler on Pexels
How you answer your research question depends on the type of question. Common methodologies include:
- Quantitative Research: Deals with numbers and statistics. Aims to measure, test hypotheses, and find relationships.
- Methods: Surveys (with numerical scales), experiments (A/B testing), statistical analysis of logs.
- Example: "Does implementing a caching mechanism reduce server response time by a statistically significant amount?"
- Qualitative Research: Deals with understanding concepts, opinions, or experiences. Aims to explore, interpret, and describe.
- Methods: Interviews, focus groups, case studies, observation.
- Example: "What are the primary usability challenges faced by visually impaired users when interacting with screen readers?"
- Mixed Methods Research: Combines both quantitative and qualitative approaches for a more comprehensive understanding.
2.4. Data Collection and Analysis

Photo by Monstera Production on Pexels
Once you've picked a methodology, you need to collect and analyze your data.
- Quantitative Data: Often collected via tools, surveys, or sensors. Analyzed using statistical software (R, Python libraries like Pandas/SciPy, Excel).
- Qualitative Data: Collected via interviews, observations, or open-ended survey questions. Analyzed by coding themes, identifying patterns, and interpreting meanings.
Here's a simplified view of the research process:
graph TD
A["Identify Broad Problem Area"] --> B["Formulate Specific Research Question"]
B --> C["Conduct Literature Review"]
C --> D["Choose Research Methodology (Quant/Qual/Mixed)"]
D --> E["Design Study & Plan Data Collection"]
E --> F["Collect Data"]
F --> G["Analyze Data"]
G --> H["Interpret Findings & Draw Conclusions"]
H --> I["Communicate Results (Paper, Presentation)"]
2.5. Ethics in Research
Always consider the ethical implications of your work. This includes:
- Informed Consent: If you involve human participants, they must understand the study and agree to participate.
- Privacy and Confidentiality: Protect participant data and anonymity.
- Data Integrity: Ensure your data is accurate and not manipulated.
- Plagiarism: Always cite your sources properly.
2.6. Communicating Your Findings
Research isn't complete until it's shared. This usually involves writing a research paper, thesis, or delivering a presentation. Your report should clearly state:
- Your research question.
- Your methodology.
- Your findings.
- Your conclusions and their implications.
- Limitations of your study.
3. Worked Example
Let's say you're interested in improving the performance of a specific type of machine learning model.
1. Problem Area: Machine learning model training can be slow.
2. Research Question: "Does using distributed training with X-framework significantly reduce the training time of a Y-type neural network on Z-dataset compared to single-node training, without negatively impacting accuracy?"
3. Literature Review: You'd search for papers on distributed ML training, X-framework performance benchmarks, and existing optimizations for Y-type networks. You find that while distributed training often speeds things up, some overheads can exist. You also learn about common metrics for measuring training time and model accuracy.
4. Methodology: This is a quantitative, experimental approach. You'll need to measure training time and accuracy.
5. Data Collection:
* You'll set up two environments: one for single-node training and one for distributed training using X-framework.
* You'll train the Y-type neural network on the Z-dataset in both environments multiple times to account for variability.
* You'll log training time (e.g., in seconds/epochs) and the final validation accuracy for each run.
6. Data Analysis: You'd compare the average training times between the two setups using statistical tests (e.g., a t-test) to see if the difference is statistically significant. You'd also compare the average final accuracy.
7. Interpretation: If distributed training significantly reduced time while maintaining similar accuracy, you'd conclude it's an effective optimization. If accuracy dropped, you'd discuss the trade-offs.
8. Communication: You'd write a report detailing your experimental setup, the data collected, statistical analysis, and conclusions, perhaps suggesting further research on how to mitigate any accuracy loss if observed.
4. Key Takeaways
- A clear, focused research question is the backbone of any good study.
- Always start with a thorough literature review to understand existing knowledge.
- Choose your methodology (quantitative, qualitative, or mixed) based on your research question.
- Data collection and analysis must be systematic and appropriate for your chosen method.
- Ethical considerations are paramount, especially when involving human participants.
- Your research isn't complete until you've clearly communicated your findings and their implications.
- Good research generates new knowledge or confirms/refutes existing theories.
5. Now Try It
Spend 15 minutes thinking about a small IT/CS problem you've encountered recently (e.g., slow software, a tricky bug, a confusing user interface, a security concern).
- Formulate a specific, measurable, achievable, relevant, and time-bound research question about that problem.
- Briefly describe what kind of methodology (quantitative, qualitative, or mixed) would be most suitable to answer your question and why.
- Suggest one specific way you'd collect data for that methodology.
What success looks like: You should have a research question that's not too broad and clearly indicates what you'd investigate. Your chosen methodology and data collection method should logically align with answering that specific question.
Frequently asked about Fundamentals of Research in IT/CS
Get the full Ms2 curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Create Free Account