Van Roy, Peter
[UCL]
Haridi, S.
We present the kernel language approach; a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uniform setting that shows their deep relationships and how to use them together. Widely different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity.
Bibliographic reference |
Van Roy, Peter ; Haridi, S.. Teaching programming broadly and deeply: the kernel language approach.ICTEM '02: Informatics Curricula, Teaching Methods, and Best Practice (Florianopolis, SC, Brazil, 10-12 July 2002). In: Cassel, L.; Reis, R.A.;, Informatics Curricula and Teaching Methods. IFIP TC3/WG3.2 Conferenceon Informatics Curricula, Teaching Methods and Best Practice (ICTEM2002), Kluwer academic publishers2003, p. 53-62 |
Permanent URL |
http://hdl.handle.net/2078.1/68054 |