A curated list of papers that may be of interest to Software Engineering students or professionals. See the sources and selection criteria below.
List of papers by topic
Von Neumann's First Computer Program. Knuth (1970). \ Computer History; Early Programming
Computing Machinery and Intelligence. Turing (1950). \ Early Artificial Intelligence
A Method for the Construction of Minimum-Redundancy Codes. Huffman (1952). \ Information Theory
Engineering a Sort Function. Bentley, McIlroy (1993). \ Data Structures; Algorithms
A Design Methodology for Reliable Software Systems. Liskov (1972). \ Software Design
Programming Paradigms for Dummies: What Every Programmer Should Know. Van Roy (2012). \ Programming Paradigms
An Incremental Approach to Compiler Construction. Ghuloum (2006). \ Language Design; Compilers
No Silver Bullet: Essence and Accidents of Software Engineering. Brooks (1987). \ Software Engineering; Project Management
Communicating sequential processes. Hoare (1978). \ Concurrency
The UNIX Time- Sharing System. Ritchie, Thompson (1974). \ Operating Systems
A Relational Model of Data for Large Shared Data Banks. Codd (1970). \ Databases
A Protocol for Packet Network Intercommunication. Cerf, Kahn (1974). \ Networking
New Directions in Cryptography. Diffie, Hellman (1976). \ Cryptography
Time, Clocks, and the Ordering of Events in a Distributed System. Lamport (1978). \ Dis
$ claude mcp add software-papers \
-- python -m otcore.mcp_server <graph>