Grade by Grade
D. Topics in Computer Science · Topics in Computer Science: Sustainability, Ethics, Emerging Technologies and Careers

Interdisciplinary Research: Reading ACM and IEEE Publications

D4.1About 75 minutes
Learning goals
  • I can describe collaborative research between computer science and fields such as bioinformatics, linguistics, health informatics, climatology, geology, economics, sociology and art.
  • I can find and read research in ACM and IEEE publications using a three-pass method.
  • I can explain and program the edit-distance algorithm and its uses in biology and language technology.
  • I can write a research brief that identifies what each field contributes.

Words to know

interdisciplinary research
Research that combines the methods and knowledge of two or more fields.
peer review
Evaluation of research by other experts before it is published.
preprint
A research paper shared publicly before (or without) peer review.
edit distance (Levenshtein distance)
The fewest single-character insertions, deletions and substitutions needed to turn one string into another.
dynamic programming
Solving a problem by building up a table of answers to smaller subproblems.
bioinformatics
The use of computing to store, compare and analyse biological data such as DNA sequences.
digital library
An online collection of research articles, such as the ACM Digital Library or IEEE Xplore.

Computer science rarely works alone

Some of the most exciting computer science happens when computer scientists team up with biologists, doctors, linguists, climate scientists, economists, sociologists and artists. Expectation D4.1 asks you to report on areas of collaborative research between computer science and other fields, based on information from industry publications such as those of the ACM and IEEE.

In Grade 11 (ICS3U, Computer Science Meets Other Fields) you calculated GC content in DNA and counted words in a text. This lesson goes further: how researchers publish and how you can read their work, and one algorithm, edit distance, that is used in both biology and linguistics.

Computer science as a partner disciplineComputer sciencealgorithms, data, modelsBioinformaticscomparing DNALinguisticsspell-check, translationHealth informaticsrecords, diagnosis aidsClimatologyclimate modelsGeologyearthquake dataEconomicsmarkets, auctionsSociologysocial networksArtgenerative art
A sample of fields where computer scientists collaborate. In each, computing supplies algorithms, data handling and models; the partner field supplies the questions and expertise.

Where computer science research is published

  • Peer-reviewed journals and conference proceedings: in computer science, major results are very often published at conferences, after review by other experts.
  • Magazines for professionals: Communications of the ACM (ACM's flagship magazine), IEEE Spectrum and IEEE Computer explain research for a wide technical audience, and are a good starting point for a student.
  • Digital libraries: the ACM Digital Library and IEEE Xplore hold millions of articles. ACM moved to publishing all its research open access starting January 1, 2026, so ACM articles are free to read; many IEEE articles still require a subscription (public libraries and universities may provide access).
  • Preprint servers such as arXiv, where researchers post papers before (or without) peer review. Useful and current, but not yet checked by reviewers.
  • Student magazines: ACM publishes XRDS: Crossroads for students.

How to read a research paper

A widely used method from computer scientist S. Keshav ("How to Read a Paper", 2007) uses three passes:

  1. First pass (5 to 10 minutes): title, abstract, introduction, headings, conclusions. What problem, what claim?
  2. Second pass (about an hour): read the paper, look carefully at figures and tables, skip proofs. Note key points and unfamiliar references.
  3. Third pass: re-create the work in your head (or in code) to understand it deeply. Students rarely need this pass for a report.

One algorithm, two fields: edit distance

The edit distance (Levenshtein distance) between two strings is the smallest number of single-character insertions, deletions and substitutions needed to turn one into the other.

  • Linguistics and language technology: spell-checkers suggest words with a small edit distance from what you typed ("recieve" → "receive").
  • Bioinformatics: comparing DNA sequences (strings of A, C, G and T) to find how closely genes or species are related. Real bioinformatics tools use more detailed scoring, but the idea is the same.

It is computed with dynamic programming: a table where each cell stores the answer for shorter prefixes, built from cells already filled in. Cell (i, j) is the smallest of:

  • the cell above + 1 (delete a character),
  • the cell to the left + 1 (insert a character),
  • the cell diagonally up-left + 0 if the characters match, or + 1 if they don't (substitute).
Edit-distance table: turning "cat" into "cart"∅cart∅01234c10123a21012t32111Each cell = cheapest way to turn the row prefix into the column prefix. Answer (bottom right): 1.
The full table for "cat" → "cart". The highlighted path (green) follows the matches c and a along the diagonal, then one step right for the inserted r; the answer cell (yellow) is 1, one insertion.
def edit_distance(a, b):
rows, cols = len(a) + 1, len(b) + 1
d = [[0] * cols for _ in range(rows)]
for i in range(rows):
d[i][0] = i
for j in range(cols):
d[0][j] = j
for i in range(1, rows):
for j in range(1, cols):
cost = 0 if a[i - 1] == b[j - 1] else 1
d[i][j] = min(d[i - 1][j] + 1,
d[i][j - 1] + 1,
d[i - 1][j - 1] + cost)
return d[rows - 1][cols - 1]
pairs = [("cat", "cart"), ("kitten", "sitting"), ("recieve", "receive"),
("GATTACA", "GCATGCA")]
for a, b in pairs:
print(a, b, edit_distance(a, b))

A 2D list stores the table. This connects to the 2D arrays and efficiency analysis in Algorithm Design and Analysis: the table has (len(a) + 1) × (len(b) + 1) cells.

cat cart 1
kitten sitting 3
recieve receive 2
GATTACA GCATGCA 3

Output of the program above (what Python prints).

Worked example

Example 1: A tiny spell-checker

A dictionary contains ["receive", "relieve", "recipe", "deceive"]. A user types recieve. Using edit distance, which word(s) should the spell-checker suggest first?

  1. Compute each distance (the program in the activity does this):
  2. recieve → receive: 2 (swap "ie" to "ei" takes two substitutions).
  3. recieve → relieve: 1 (substitute c → l).
  4. recieve → recipe: 2. recieve → deceive: 3.
  5. The smallest distance is 1, so relieve is suggested first; receive and recipe tie at 2.
  6. This shows a limitation: plain edit distance doesn't know that swapping two neighbouring letters is a common typo. A refinement (Damerau–Levenshtein distance) counts a swap of adjacent letters as one edit, which would make receive distance 1 as well. Real spell-checkers also use how common each word is.

relieve (distance 1) first, then receive and recipe (distance 2). Real systems add transpositions and word frequency to do better.

Other collaborations to explore

  • Health informatics: electronic health records, privacy-preserving analysis of patient data, and AI tools that help (not replace) clinicians read medical images.
  • Climatology: climate models divide the planet into grid cells and simulate physics on supercomputers.
  • Geology and seismology: algorithms that detect earthquakes in streams of sensor data.
  • Economics: algorithms that run online advertising auctions; models of markets.
  • Sociology: social network analysis studies who is connected to whom, using graphs (see Theoretical Computer Science in this unit).
  • Art and the digital humanities: generative art, and computational analysis of large collections of books, music and paintings.
Just for fun

The edit distance between "science" and "silence" is 2.

Which is also roughly how many seconds a computer lab stays quiet after someone asks, "Who broke the build?"

Hands-on activity

Research brief from an industry publication

You need: a computer with internet access and Python.

  1. Go to the ACM Digital Library (dl.acm.org) or IEEE Spectrum (spectrum.ieee.org) and search for an interdisciplinary topic (for example "bioinformatics", "climate model", "computational linguistics", "health informatics").
  2. Choose one article from 2024 to 2026. Do a first pass (title, abstract, introduction, headings, conclusion) and then a second pass.
  3. Write a one-page research brief: the problem, the partner field, what the computer scientists contributed, what the partner field contributed, the main result, one limitation, and a full reference.
  4. Run the spell-checker below on three misspellings of your own and explain one suggestion that is wrong and why.

What to look for: a real, dated article from an ACM or IEEE source; both fields' contributions identified; a result stated accurately (not exaggerated); and a correct reference.

def edit_distance(a, b):
prev = list(range(len(b) + 1))
for i in range(1, len(a) + 1):
cur = [i] + [0] * len(b)
for j in range(1, len(b) + 1):
cost = 0 if a[i - 1] == b[j - 1] else 1
cur[j] = min(prev[j] + 1, cur[j - 1] + 1, prev[j - 1] + cost)
prev = cur
return prev[-1]
words = ["receive", "relieve", "recipe", "deceive"]
typed = "recieve"
ranked = sorted(words, key=lambda w: (edit_distance(typed, w), w))
for w in ranked:
print(w, edit_distance(typed, w))

For the activity: a memory-saving version that keeps only two rows of the table, and sorted with a key that sorts by distance, then alphabetically.

relieve 1
receive 2
recipe 2
deceive 3

Output of the program above (what Python prints).

Your turn

1

Name three fields that collaborate with computer science and one problem each.

2

What is the edit distance between "cat" and "cut"? Between "cat" and "cats"?

3

What are the three operations counted by edit distance?

4

Describe the first pass of Keshav's three-pass method.

5

Name one ACM publication and one IEEE publication suitable for a student report.

6

Why should a preprint on arXiv be cited with extra caution?

7

How many cells does the edit-distance table for "kitten" and "sitting" have?

More practice: warm-up

1

What is dynamic programming, in one sentence?

2

What does edit_distance("abc", "abc") return?

3

What is IEEE Xplore?

4

Since when has ACM published all its research open access?

5

What does health informatics study?

More practice: on your own

1

Fill in the first row and first column of the table for "dog" → "dig" and find the distance.

2

Find the edit distance between DNA strings ACGT and AGT, and describe the edit.

3

Why do the two versions of edit_distance give the same answers, and why is the second one better for long DNA sequences?

4

Explain what each partner contributes in a climate-modelling collaboration.

5

A news headline says, "AI diagnoses cancer better than doctors". Using what you learned about reading research, what would you check in the original paper?

Challenge

1

Compute the full edit-distance table for "sun" → "snow" by hand and give the distance.

2

Modify the two-row edit_distance so a swap of two neighbouring letters ("ie" ↔ "ei") costs 1. What extra information do you need to keep?

3

Choose two fields not listed in this lesson (for example music, sports, agriculture) and describe a plausible collaboration with computer science, including what data and algorithms would be involved.

Check your understanding

Quiz

1.

What is the edit distance between "kitten" and "sitting"?

2.

Which is a magazine published by the ACM that explains research for professionals?

3.

In the edit-distance table, how is cell (i, j) computed?

4.

What should you do in the first pass of reading a research paper?

5.

Why is edit distance useful in bioinformatics?

6.

What is a limitation of citing an arXiv preprint?

For parents and teachers

Big idea: D4.1 asks students to report on collaborative research between computer science and other fields, using industry publications such as those from the ACM and IEEE. Students also learn one genuinely interdisciplinary algorithm, edit distance.

How to help: Ask your teen to show you the article they chose and explain, in two minutes, what problem it solves and what each field contributed. Try the spell-checker with misspellings you make often.

Common difficulties:

  • Filling in the edit-distance table: start with the first row and column (0, 1, 2, ...), and remember the diagonal adds 0 when the letters match.
  • Off-by-one errors: the table is one larger than each string in each direction.
  • Choosing an article that is too technical. Communications of the ACM and IEEE Spectrum are written for a broad technical audience and are good places to start.
  • Treating preprints as established results.