Functional Languages and Introductory Computer Science
John E. Howland, San Antonio
Abstract
John E. Howland, San Antonio
Abstract
The choice of which programming language to use in introductory computer science courses is guaranteed to spark debate in the computer science community. Programming languages used in computer science instruction have followed various trends or fads within the computing industry. The language choice has often been between languages which are currently in wide use by industry for software production. While it is true that computer science education has a responsibility to achieve a balance between providing training in current practices within the field and core concepts and theory, it is felt that computer science education should not be overly influenced by popular trends when choosing a programming language to use in the teaching of introductory computer science. Functional programming languages are shown to be useful in the teaching of the concepts of computer science. The functional language approach presented in this paper has advantages over imperative languages in the areas of model building, exposition, experimentation and analysis of algorithms. Examples using the J and Scheme programming languages, with emphasis on the use of functional programming notation in exposition are given. 1
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The choice of which programming language to use in introductory computer science courses is guaranteed to spark debate in the computer science community. Programming languages used in computer science instruction have followed various trends or fads within the computing industry. The language choice has often been between languages which are currently in wide use by industry for software production. While it is true that computer science education has a responsibility to achieve a balance between providing training in current practices within the field and core concepts and theory, it is felt that computer science education should not be overly influenced by popular trends when choosing a programming language to use in the teaching of introductory computer science. Functional programming languages are shown to be useful in the teaching of the concepts of computer science. The functional language approach presented in this paper has advantages over imperative languages in the areas of model building, exposition, experimentation and analysis of algorithms. Examples using the J and Scheme programming languages, with emphasis on the use of functional programming notation in exposition are given. 1
Key concepts: Computer science, Programming language theory, Comparison of multi-paradigm programming languages, Fourth-generation programming language, Functional programming, Fifth-generation programming language, Second-generation programming language, Programming language