Historical Computer Science articles 📚💻
Welcome to the Historical Computer Science articles repository! This curated assortment of articles represents a journey through the significant milestones in the history of computer science. Contributions are highly encouraged to further enrich this valuable collection. Feel free to add your insights and expand the wealth of knowledge within this repository. 🌐
Check it out in a fancier way here: https://francoatmega.github.io/historical-computer-science-articles/
Programming and Software Engineering 💻
-
Go to Statement Considered Harmful [1968]: A seminal essay by Edsger W. Dijkstra arguing against the use of the “go to” statement in programming languages.
-
No Silver Bullet - Essence and Accidents of Software Engineering [1986]: Frederick P. Brooks Jr.’s influential paper exploring the challenges and complexities of software engineering.
-
A Behavioral Notion of Subtyping [1994]: A key paper discussing subtyping in the context of programming languages and type theory.
-
Design Principles and Design Patterns [2000]: A comprehensive exploration of design principles and patterns in software engineering.
-
Ajax - A New Approach to Web Applications [2005]: Jesse James Garrett’s seminal article introducing Asynchronous JavaScript and XML (Ajax) as a revolutionary approach to web development.
Cryptography 🔐
-
New directions in Cryptography [1976]: Whitfield Diffie and Martin Hellman’s groundbreaking paper introducing the concept of public-key cryptography.
-
Riemann’s Hypothesis and Tests for Primality [1976]: A foundational paper discussing the Riemann Hypothesis and its application in primality testing.
-
A Method for Obtaining Digital Signatures and Public-Key Cryptosystems [1978]: Ron Rivest, Adi Shamir, and Leonard Adleman’s groundbreaking paper introduced the RSA cryptosystem, establishing a practical method for secure public-key cryptography and digital signatures.
-
PRIMES is in P [2002]: A significant result in computational complexity theory, demonstrating that primality testing can be performed efficiently.
AI 🤖
- A Logical Calculus of the Ideas Immanent in Nervous Activity [1943]: Warren McCulloch and Walter Pitts’ influential paper presenting a logical model of neural activity, laying the foundation for artificial neural networks.
Networks 🌐
-
A Protocol for Packet Network Intercommunication [1974]: Vinton Cerf and Robert Kahn’s seminal paper introducing the Transmission Control Protocol (TCP) as a key element of the internet.
-
Architectural Styles and the Design of Network-based Software Architectures [2000]: Roy Fielding’s influential dissertation introducing Representational State Transfer (REST) as an architectural style for designing networked applications.
Databases 📊
-
A Relational Model of Data for Large Shared Data Banks [1970]: Edgar F. Codd’s groundbreaking paper introducing the relational model of database management, a fundamental concept in database systems.
-
The Transaction Concept - Virtues and Limitations [1981]: Jim Gray’s influential paper discussing the concept of transactions in database systems.
-
Principles of Transaction-Oriented Database Recovery [1983]: A key paper outlining principles for transaction-oriented database recovery after failures.
-
Harvest, Yield, and Scalable Tolerant Systems [1999]: Leslie Lamport’s paper discussing the challenges of building scalable and fault-tolerant distributed systems.
Operating Systems 🖥️
- The UNIX Time-Sharing System (1974) - Dennis Ritchie and Ken Thompson’s paper on the development of the UNIX operating system.
Computer Architecture 🏗️
- A Case for Redundant Arrays of Inexpensive Disks (RAID) (1988) - David A. Patterson, Garth Gibson, and Randy H. Katz’s paper introducing RAID storage technology.
Human-Computer Interaction (HCI) 👩🏽💻
- As We May Think (1945) - Vannevar Bush’s visionary essay on the potential of information retrieval systems, influencing the development of hypertext.
Algorithms ⚙️
- Working On 🚧
Security 🔒
- Working On 🚧
Computer Graphics 🎨
- Working On 🚧
Miscellaneous 🌐
-
Representation of Events in Nerve Nets and Finite Automata [1956]: Warren McCulloch and Walter Pitts’ foundational work on modeling events in nerve nets and finite automata.
-
Regular Expression Search Algorithm [1968]: A classic paper introducing an efficient algorithm for searching regular expressions.
-
Bitcoin - A Peer-to-Peer Electronic Cash System [2008]: Satoshi Nakamoto’s groundbreaking paper introducing the concept and protocol for Bitcoin, the first decentralized cryptocurrency.
-
Broken Windows [1982]: The article that explores Broken Windows theory reveals how disorder fuels crime and societal decline.
Feel free to contribute to this repository by adding more historically significant articles that have shaped the field of computer science.