Computer Science
com·pu·ter sci·ence · computare: to reckon · scientia: knowledge
Computer science is the study of computers and computational systems — their theory, design, development, and application. It's one of the most accessible fields for a student researcher: much of the real work happens on a laptop you already have.
- Always compare against a baseline; a number means nothing on its own.
- Keep training and test data separate — never evaluate on data you learned from.
- Fix your random seeds and report your setup so results can be reproduced.
- Share your code and cite any dataset, library, or model you used.
Related areas & concentrations
Computer science is a toolkit for almost every other field. Its closest neighbors give you the theory and the problems.
Related research areas
- Mathematics: logic, probability, and the theory behind algorithms
- Physics & engineering: the hardware and systems computation runs on
- Any data-rich field: biology, economics, and linguistics all pose CS problems
Sample concentrations
- Computer vision: computers that see — new techniques for images and video
- Internet architecture: rethinking how the network itself is built
- Graph analytics: algorithms and machine learning on connected data
- Networks: from searching the web to modeling the spread of infectious diseases
Four ways into a question
Most CS papers work through one of these lenses. All of them are reachable from a laptop with free tools.
Algorithms & Theory
How to solve problems efficiently — designing algorithms and reasoning about how fast they run.
How does input size change the runtime of two sorting algorithms you implement?
AI & Machine Learning
Systems that learn from data — computer vision, language, and prediction.
How much does more training data improve a simple image classifier's accuracy?
Systems & Networks
How machines store data, run programs, and talk to each other — the internet included.
How does packet loss affect the load time of a simple web request?
Applied & Data
Pointing computation at a real problem — modeling, simulation, and analysis of real datasets.
Can a simple model on public data predict which posts spread furthest?
Turning an interest into a question
A topic isn't a research question. Narrow to one problem, one thing you can measure, and a fair comparison you can actually run.
Start from something you can build or run
The best CS projects come from code you can write and test — an algorithm, a model, or an analysis of a real dataset.
Pick one thing to measure
Runtime, memory, accuracy, error rate — decide the metric before you start so your result is concrete.
Choose a baseline to compare against
“Better than what?” A result only means something next to a fair alternative.
Make it reproducible
Fix random seeds, keep test data separate, and plan to share your code.
Methods & where to look
CS is unusually open — the tools, datasets, and even most papers are free. Pair a method you can run with sources that show the standard.
Common methods
- Implement & benchmark: build it, then measure it against a baseline.
- Empirical experiments: vary an input, measure the effect, control randomness.
- Algorithm analysis: reason about correctness and complexity on paper.
- Machine learning: train on data, evaluate on a held-out test set.
- Simulation: model a system and run experiments you couldn't run live.
Free tools go a long way: Python, Google Colab (free GPUs), scikit-learn, and PyTorch.
Where to find data & papers
- Datasets: Kaggle, the UCI Machine Learning Repository, and Google Dataset Search.
- Papers with code: arXiv (cs) and Papers with Code, which links results to runnable code.
- Libraries: the ACM Digital Library and IEEE Xplore.
- Learning: Harvard's free CS50 for foundations.
Papers with Code is ideal for a student — you can reproduce a result before trying to improve on it.
Benchmark honestly
Anyone can produce a number. What makes it research is that the comparison is fair and someone else can reproduce it.
Baseline
Compare your approach against a fair, simple alternative — “better” is meaningless without it.
Measure
Pick the right metric (accuracy, runtime, memory) and measure it the same way every time.
Reproduce
Fix seeds, document your setup, and share code so others get the same result.
Cite the datasets, libraries, and pretrained models you build on, just like any other source.