Educational programming language

From Wikipedia, the free encyclopedia

An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing real-world application programs.

Contents

[edit] Some examples

[edit] Children

  • AgentSheets is an award winning game and simulation authoring tool that is simple enough to be used by middle school students to learn about computer science by making video games, yet sophisticated enough to allow NASA scientist to create simulations of Space Shuttle payload. AgentSheets supports game (animation, interaction, sound, speech synthesis/recognition (Mac)) and well as science applications (plots,output to spreadsheets, 3D plot (Mac)). English, Greek, and Japanese versions are available.
  • Alice is a free programming software designed to teach event driven object oriented programming to children. Programmers create interactive stories using a modern IDE interface with and a drag and drop style of programming. The target audience is middle school girls though most children with computer experience will find it entertaining and educational.
  • Baltie [1] is an educational graphic oriented programming tool for children, youth (and adults). Baltie is also main character of this software a little wizard keen to execute miscellaneous commands and to conjure pictures (tiles) in his scene. With Balties help children will quickly realize what is a computer and how to master and program the computer. All that by playing. Baltie can be used also for exercising logical thinking. It makes no demands on childs knowledge, only playfulness and imagination are required. It is used in many countries in the basic schools. The new version of Baltie 4 fully supports C#. Additional usage information can be found at the (SGP Systems).
  • Karel, Karel++, and Karel J. Robot are languages aimed at absolute beginners, used to control a simple robot in a city consisting of a rectangular grid of streets. While Karel is its own programming language, Karel++ is a version of Karel implemented in C++, while Karel J. Robot is a version of Karel implemented in Java.
  • Logo is a language that was specifically designed to introduce children to programming and to the basic concepts of Computer Science and even Artificial Intelligence, since Logo is actually a streamlined version of LISP. The first part of Logo deals with "turtle graphics". An abstract drawing device, called the turtle, is used to make programming for children very attractive by concentrating on doing turtle graphics.
    It can also be used by experienced programmers as well to write real life application programs. Logo is especially suited for introductory training in developing applications in the field of symbolic programming and artificial intelligence.
  • Phrogram (the second generation product of Kid's Programming Language) is a commercial easy-to-learn programming language and Integrated Development Environment introduced in 2006. It emphasizes graphics and sounds, making it especially easy to develop games and entertaining educational material. Phrogram is a simplified structured language, and offers component-based development features such as classes and methods. It is modeled on modern IDEs such as Eclipse and Visual Studio. NET, and intends to prepare a beginner to graduate to these or other professional development environments.
  • RoboMind is a simple educational programming environment that lets beginners program a robot. It introduces popular programming techniques and also some robotics and artificial intelligence. The robot can be programmed in Arabic, Chinese, Dutch, English and Swedish.
  • Smalltalk, Squeak, and especially Etoys are graphical environments which may be used not just to teach programming concepts to kids, but also physics and mathematics simulations, story-telling exercises, etc.
  • Scratch Scratch is a visual programming language based on and implemented in Squeak. It has the goal of teaching programming concepts to children and letting them create games, videos, and music. in Scratch all the interactive objects, graphics, and sounds can be easily imported to a new program and combined in new ways. That way, beginners can get quick results and be motivated to try further. In the Scratch community there is over 100,000 projects have been developed and uploaded. It is developed at MIT Media Lab.
  • SiMPLE is a programming development system that was created to provide easy programming capabilites for everybody, especially non-professionals. SiMPLE is vaguely reminiscent of the AppleSoft BASIC. SiMPLE is a compiled language. In addition, SiMPLE allows users to create their own libraries of frequently used functions. Simple" is a generic term for three slightly different versions of the language: Micro-SiMPLE to use only 4 keywords, Pro-SiMPLE, and Ultra-SiMPLE use of 23 keywords.
  • Greenfoot is an interactive Java development environment developed primarily for educational purposes. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games. It is mainly aimed at programming education (object-oriented programming with Java) at high school and early university level.

[edit] University

  • AgentSheets is a game authoring tool that has been used in a number of educational game design courses to teach ugrad and grad students to quickly prototype, playtest and publish educational games.
  • A++ represents a more recent attempt at creating a programming language designed to provide an efficient tool for basic training in programming.
  • In the early days of computing, universities taught programming with machine language, assembly language, and then Fortran (in North America) and ALGOL (Europe). Business schools often taught COBOL.
  • Oz is a programming language designed to teach computer theory. It supports most major paradigms in a single 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 Mozart Programming System.
  • Pascal is the most well-known programming language that was designed with education in mind. From the late 1970s to the late 1980s, it was the primary choice in introductory computer science classes for teaching students programming in both the US and Europe. Its use for real-world applications has since increased, and regarding it as a purely educational programming language has since become somewhat controversial.
  • Scheme: The publication of Structure and Interpretation of Computer Programs in 1984 changed the predominance of Pascal. The book uses Scheme to teach fundamental concepts of computing, not just the grammar of a programming language. In the meantime, the Scheme community has introduced several pedagogic programming environments that assist students with the learning process, including DrScheme, EdScheme, and 3D Scheme. Scheme has grown to become a serious application programming language, suitable for many kinds of real life applications and is actively used in industry.

[edit] External links

  • A discussion on which languages to use for teaching kids. Wide range of opinion on Don's Box