Towards a Programming Apprentice. - Karl E. Hewitt; Brian Cantwell Smith (IEEE Trans. Software Eng., 1975)