Some of these may be assigned as part of homework.
They may also be useful to you as a supplement to lectures and other reading.
None of the readings listed on this page are required unless they are
explicitly assigned in homework or in lecture. (Adapted from J. Mitchell's
CS242 readings page
.)
Eiffel
- B. Meyer, An Eiffel Tutorial, ISE
Technical Report TR-EI-66/TU, Interactive Software Engineering, Goleta,
CA. 2001..
- B. Meyer, Eiffel: The Language, Prentice Hall International (UK)
Ltd, Herforshire. 1992.
- B. Meyer, Object-Oriented Software Construction, Prentice Hall PTR,
New Jersey. 1997.
Articles and Reports
- J. McCarthy, Recursive
functions of symbolic expressions and their computation by machine, Comm.
ACM 3, 4 (1960) 184-195.
- J. Backus, Can programming be
liberated from the von Neuman style?, Comm. ACM 21, 8 (1978)
613-641. (large file)
- R. Harper, Introduction
to Standard ML, Report ECS-LFCS-86-14, Dept. Computer Science,
Univ. Edinburgh, 1989. (Link is to updated web version.)
- B. Kernighan, Why Pascal is Not My
Favorite Programming Language, Bell Labs CSTR 100, July 1981.
- A. Koenig, An
anecdote about ML type inference, USENIX Symposium on Very High Level
Languages,1994.
- Aleph One,
Smashing the stack for fun and profit
, Phrack 7, 49 (1996)
- E.W. Dijkstra
Go To Statement Considered Harmful
, Communications of the ACM, 11, 3 (1968)
147-148.
- N. Wirth, Program development by stepwise
refinement, Communications of the ACM, 14, 4 (1971)
221--227.
- D. Parnas, On the criteria to be used in
decomposing systems into modules, Communications of the ACM, 15,
12 (1972) 1053-1058.
- D. Ingalls, Design principles behind Smalltalk,
BYTE Special Issue on Smalltalk, August 1981. (Scanned by Dwight Hughes.)
- 15 Years Ago in BYTE: The Smalltalk
Environment by Larry Tessler, BYTE, August 1996.
- W.R. Cook, Interfaces
and specifications for the Smalltalk-80 collection classes,.Proc ACM
Conf. Object-Oriented Programming Systems, Languages, and Applications (OOPSLA
'92). ACM SIGPLAN Notices ,Vol. 27, No. 10 (Oct. 1992), Pages 1-15.
- Gilad Bracha, Generics in
the Java Programming Language, Sun Microsystems, 2004.
- Peter Canning, William Cook, Walter Hill, Walter Oltho, John C.
Mitchell,
F-Bounded
Polymorphism
for Object-Oriented Programming, FPCA 1989. (First few pages only)
-
Paul Hudak, John Hughes, Simon Peyton Jones, and Philip Wadler,
A history of Haskell: Being lazy with class,
Proc. 3rd ACM SIGPLAN conference on History of Programming Languages (HOPL), 2007,
(MSU cache)
Books
- E. Gamma et al., Design
Patterns: Elements of Reusable Object-Oriented Software,
Addison-Wesley, 1995.
- B. Stroustrup, The Design
and Evolution of C++, Addison-Wesley, 1994, 461 pages.
- K. Arnold and J. Gosling, The
Java Programming Language, Addison-Wesley, 1996.
A dictionary of common
programming language terms is available.
Suggestions for additional
terms may be sent to
cs242@cs.stanford.edu