Educational programming language
An educational programming language is a
programming languagethat is designed primarily as a learninginstrument and not so much as a tool for writing real-world application programs.
AgentSheetsis 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 [http://www.baltie.com] 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 [http://www.sgpsys.com (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
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.
* [http://www.robomind.net 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.
SiMPLEis a programming development system that was created to provide easy programming capabilities 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.
Greenfootis 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.
AgentSheetsis 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.
* Haskell Is often used by universities in place of LISP or Scheme. It is purely functional, extremely expressive lazy
functional programminglanguage. [http://www.haskell.org/haskellwiki/Haskell_in_education Sample courses] are available online, as are multiple [http://www.haskell.org/haskellwiki/Books_and_tutorials books and tutorials] . In 2005 126 Universities made use of Haskell [http://www.cs.chalmers.se/~rjmh/Wash/Survey/teaching.htm]
* 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 Programmingand 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, [http://www.schemers.com 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.
* [http://www.kidslike.info/computer_programming_educational_programming_languages A kids like . info nontechnical encyclopedia article on educational programming languages] Reviews and explains Scratch, Alice, and Greenfoot.
* A discussion on which languages to use for teaching kids. Wide range of opinion on [http://pluralsight.com/blogs/dbox/archive/2005/02/20/6009.aspx Don's Box]
Wikimedia Foundation. 2010.
Look at other dictionaries:
Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… … Wikipedia
Karel (programming language) — Infobox programming language name = Karel the Robot paradigm = object oriented year = 1981 designer = Richard E. Pattis developer = latest release version = latest release date = typing = implementations = dialects = Some localized language… … Wikipedia
Elan (programming language) — Infobox programming language name = Elan paradigm = ? year = 1974 designer = C.H.A. Koster (et al.) developer = Technical University of Berlin latest release version = latest release date = latest test version = latest test date = typing = ?… … Wikipedia
Logo (programming language) — LOGO redirects here. For other uses, see LOGO (disambiguation). Logo Paradigm(s) multi paradigm:functional educational, procedural, reflective Appeared in … Wikipedia
Haskell (programming language) — Haskell Paradigm(s) functional, lazy/non strict, modular Appeared in 1990 Designed by Simon Peyton Jones, Lennart Aug … Wikipedia
Scratch programming language — Infobox programming language name = Scratch paradigm = object oriented, educational year = 2007 designer = Mitchel Resnick developer = Mitchel Resnick, John Maloney, Natalie Rusk, Evelyn Eastmond, Tammy Stern, Amon Millner, Jay Silver, and Brian… … Wikipedia
Etoys (programming language) — Infobox programming language name = Etoys paradigm = object oriented prototype based, educational year = 1996 designer = Alan Kay developer = Scott Wallace, Ted Kaehler, John Maloney, Andreas Raab latest release version = latest release date =… … Wikipedia
Pascal (programming language) — Pascal Paradigm(s) imperative, structured Appeared in 1970 Designed by Niklaus Wirth Typing discipline static, strong, safe … Wikipedia
APL (programming language) — APL Paradigm(s) array, functional, structured, modular Appeared in 1964 Designed by Kenneth E. Iverson Developer Kenneth E. Iverson … Wikipedia
Racket (programming language) — Racket Paradigm(s) Multi paradigm: Functional, Procedural, Modular, Object oriented, Reflective, Meta Appeared in 1994 Developer … Wikipedia