nirmal91/turing-award-series

Deep-dive into every Turing Award winner: who they were, why they mattered, and working implementations of their core ideas.

2

stars

78

commits

Python

primary language

Sep 8, 2026

updated

README

Turing Award Series

Why

I miss learning for the sake of learning and going into rabbit holes. Reading research papers has always been aspirational for me but hard to be consistent with. They were complex and you had to spend hours getting enough context around them to actually understand what was being said.

What's different now is that the barrier to actually grokking hard concepts is so much lower. You can take a dense 1960s systems paper, work through it with an LLM, and come out the other side genuinely understanding it. You can customize the learning based on your skills, your experience, your knowledge. That wasn't possible before.


Format

Each entry has code, an ELI10 explanation, and a CS grad-level writeup. A lot of this is automated — the code, the structure, the technical writeups. That's intentional.

But every entry has one section written by me. No AI assist on those.

Writing is how I think. There's writing I'm happy to outsource — status updates, instructions, documentation. The writing that validates my understanding has to come from me.

Each week:

  • My take — written by me, validated for accuracy after
  • Code — a working implementation of the core idea, with instructions to run it
  • ELI5 — the contribution explained to a curious five-year-old
  • ELI10 — the contribution explained to a curious ten-year-old
  • CS grad — the technical depth: what was new, what it replaced, why it mattered, what descended from it
  • Papers and citations — links to the primary sources

Index

#WinnerYearCore ContributionCodeWriteup
01Alan Jay Perlis1966First working compiler (IT), co-designed ALGOL 60, founded CS as a disciplinecompiler.pyREADME
02Maurice Wilkes1967Invented microprogramming — machine instructions implemented as ROM microcode, not hardwired logicimplementation.pyREADME
03Richard Hamming1968Invented error-correcting codes — parity bits that locate and fix a flipped bit without retransmissionimplementation.pyREADME
04Marvin Minsky1969Proved that single-layer perceptrons cannot learn XOR — forcing the field toward multi-layer networks and eventually deep learningimplementation.pyREADME
05James H. Wilkinson1970Backward error analysis — judge an algorithm by how small a change to the inputs would make its answer exact, separating a stable method from an ill-conditioned problemimplementation.pyREADME
06John McCarthy1971Invented Lisp and the metacircular eval — code and data share one shape, so an interpreter fits in one page; also coined "artificial intelligence" and pushed time-sharingimplementation.pyREADME
07Edsger W. Dijkstra1972Invented the shortest-path algorithm (finalize the smallest tentative label, one node at a time); also structured programming (no goto) and the semaphore for coordinating concurrent processesimplementation.pyREADME

Running the code

Each entry and section has its own implementation. Each folder's README has the specific instructions. In general:

cd 01-alan-perlis-1966
python compiler.py          # interactive REPL
python compiler.py --test   # run test suite
python compiler.py --verbose # show bytecode

License

MIT — see LICENSE.

Contributors

claude

54 commits

nirmal91

24 commits

nirmal91/turing-award-series

Deep-dive into every Turing Award winner: who they were, why they mattered, and working implementations of their core ideas.

2

stars

78

commits

Python

primary language

Sep 8, 2026

updated

README

Turing Award Series

Why

I miss learning for the sake of learning and going into rabbit holes. Reading research papers has always been aspirational for me but hard to be consistent with. They were complex and you had to spend hours getting enough context around them to actually understand what was being said.

What's different now is that the barrier to actually grokking hard concepts is so much lower. You can take a dense 1960s systems paper, work through it with an LLM, and come out the other side genuinely understanding it. You can customize the learning based on your skills, your experience, your knowledge. That wasn't possible before.


Format

Each entry has code, an ELI10 explanation, and a CS grad-level writeup. A lot of this is automated — the code, the structure, the technical writeups. That's intentional.

But every entry has one section written by me. No AI assist on those.

Writing is how I think. There's writing I'm happy to outsource — status updates, instructions, documentation. The writing that validates my understanding has to come from me.

Each week:

  • My take — written by me, validated for accuracy after
  • Code — a working implementation of the core idea, with instructions to run it
  • ELI5 — the contribution explained to a curious five-year-old
  • ELI10 — the contribution explained to a curious ten-year-old
  • CS grad — the technical depth: what was new, what it replaced, why it mattered, what descended from it
  • Papers and citations — links to the primary sources

Index

#WinnerYearCore ContributionCodeWriteup
01Alan Jay Perlis1966First working compiler (IT), co-designed ALGOL 60, founded CS as a disciplinecompiler.pyREADME
02Maurice Wilkes1967Invented microprogramming — machine instructions implemented as ROM microcode, not hardwired logicimplementation.pyREADME
03Richard Hamming1968Invented error-correcting codes — parity bits that locate and fix a flipped bit without retransmissionimplementation.pyREADME
04Marvin Minsky1969Proved that single-layer perceptrons cannot learn XOR — forcing the field toward multi-layer networks and eventually deep learningimplementation.pyREADME
05James H. Wilkinson1970Backward error analysis — judge an algorithm by how small a change to the inputs would make its answer exact, separating a stable method from an ill-conditioned problemimplementation.pyREADME
06John McCarthy1971Invented Lisp and the metacircular eval — code and data share one shape, so an interpreter fits in one page; also coined "artificial intelligence" and pushed time-sharingimplementation.pyREADME
07Edsger W. Dijkstra1972Invented the shortest-path algorithm (finalize the smallest tentative label, one node at a time); also structured programming (no goto) and the semaphore for coordinating concurrent processesimplementation.pyREADME

Running the code

Each entry and section has its own implementation. Each folder's README has the specific instructions. In general:

cd 01-alan-perlis-1966
python compiler.py          # interactive REPL
python compiler.py --test   # run test suite
python compiler.py --verbose # show bytecode

License

MIT — see LICENSE.

Contributors

claude

54 commits

nirmal91

24 commits

Languages

Python

99.4%