List of Educational Programming Languages - University

University

  • A++ represents a more recent attempt to create a language designed to provide an efficient tool for basic training in programming.
  • Curry is a teaching language designed to amalgamate the most important declarative programming paradigms, namely functional programming (nested expressions, higher-order functions, lazy evaluation) and logic programming (logical variables, partial data structures, built-in search). It also integrates the two most import operational principles developed in the area of integrated functional logic languages: “residuation” and “narrowing”.
  • Haskell is often used by universities in place of LISP or Scheme. Its primary goal was to function equally well as a language for teaching, research and application design. It is a purely functional, extremely expressive lazy functional programming language. Sample courses are available online, as are multiple books and tutorials. An education specific compiler / IDE, called Helium has been created. Another advantage of Haskell is in teaching inductive methods. Because of the advantages of Haskell's syntax inductive proofs become as easy or easier as they are on paper, unlike the LISP/Scheme family which introduces additional syntax.
  • M2001 is a modular mathematical language for developing and presenting mathematical algorithms, from modern discrete to classical continuous mathematics. It is built on a semantic framework based in category theory, with a syntax similar to that of Pascal or Modula-2. It is designed for education only, so efficiency and ease of implementation are far less vital in its development than generality and range of application. It was created to play a strong role in forming a formal algorithmic foundation for first-year college math students.
  • Picky is an imperative programming language designed for a first level, introductory programming course. The language is small and simple. It has a terse syntax that derives from Pascal and C. Picky is very restrictive. The compiler and the run time include extra checks to provide safety features. Picky also provides realistic handling of basic file I/O. The language compiles to byte-code for an abstract machine called PAM. An interpreter is supplied together with the compiler. The tools are available for different operating systems, such as Plan 9 From Bell Labs, Linux, MacOSX and Windows. The documentation includes a white paper and a text book for a complete programming course (in Spanish, on-line version).
  • Oz is a programming language designed to teach computer theory. It supports most major paradigms in one language so that students can learn paradigms without having to learn multiple syntaxes. Oz contains in a simple and well-factored way most of the concepts of the major programming paradigms, including logic, functional (both lazy and eager), imperative, object-oriented, constraint, distributed, and concurrent programming. It has a canonical textbook Concepts, Techniques, and Models of Computer Programming and a freely available standard implementation the Mozart Programming System.
  • Qi II is a functional programming language. The Qi core language is a simplification of the Lisp language, but it includes most of the features common to modern functional programming languages such as pattern matching, currying, partial applications, guards and (optional) static type checking. It also includes an embedded Prolog as part of the distribution called Qi Prolog. The combination of all these features within the Lisp environment makes Qi in many senses a rationalization and modernization of Lisp. Qi is free for non commercial use, and has a free canonical textbook Functional Programming in Qi.

Read more about this topic:  List Of Educational Programming Languages

Famous quotes containing the word university:

    In the United States, it is now possible for a person eighteen years of age, female as well as male, to graduate from high school, college, or university without ever having cared for, or even held, a baby; without ever having comforted or assisted another human being who really needed help. . . . No society can long sustain itself unless its members have learned the sensitivities, motivations, and skills involved in assisting and caring for other human beings.
    Urie Bronfenbrenner (b. 1917)

    One can describe a landscape in many different words and sentences, but one would not normally cut up a picture of a landscape and rearrange it in different patterns in order to describe it in different ways. Because a photograph is not composed of discrete units strung out in a linear row of meaningful pieces, we do not understand it by looking at one element after another in a set sequence. The photograph is understood in one act of seeing; it is perceived in a gestalt.
    Joshua Meyrowitz, U.S. educator, media critic. “The Blurring of Public and Private Behaviors,” No Sense of Place: The Impact of Electronic Media on Social Behavior, Oxford University Press (1985)

    The great problem of American life [is] the riddle of authority: the difficulty of finding a way, within a liberal and individualistic social order, of living in harmonious and consecrated submission to something larger than oneself.... A yearning for self-transcendence and submission to authority [is] as deeply rooted as the lure of individual liberation.
    Wilfred M. McClay, educator, author. The Masterless: Self and Society in Modern America, p. 4, University of North Carolina Press (1994)