is an educational language for children, designed in 1967 byDaniel G. BobrowWally FeurzeigSeymour PapertandCynthia Solomon. Today the language is remembered mainly for its use ofturtle graphics, in which commands for movement and drawing producedline graphicseither on screen or with a small robot called aturtle. The language was originally conceived to teach concepts of programming related toLispand only later to enable what Papert called
is an interactive Java development environment developed primarily for educational use. 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.
It has greatly influenced the industry introducing many of the concepts in object-oriented programming andjust-in-time compilation. Squeak is the vehicle for a wide range of projects including multimedia applications, educational platforms and commercialweb applicationdevelopment. Squeak is designed to be highly portable and easy to debug, analyze, and change, as its virtual machine is written fully in Smalltalk.
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, German, English and Swedish.
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 a drag and drop style of programming. The target audience is incoming college freshmen although most children with computer experience will find it entertaining and educational. Story Telling Alice is an Alice variant designed for younger children, with an even stronger story telling bent.
Please helpimprove this articlebyadding citations to reliable sources. Unsourced material may be challenged and removed.
is a restricted version of Visual Basic designed as a first language, aimed at bringing fun back to programming. The language is explicitly quite small with only 15 intuitive keywords. By including object specific libraries for things of general interest to children, children can create entertaining, interactive programs, on the net or on the desktop. For example, with 6 lines of code, it is possible to demonstrate a random network image viewer usingFlickras the source.
BASIC(which stands for Beginners All-purpose Symbolic Instruction Code) was invented in 1964 to provide computer access to non-science students. It became popular on minicomputers during the 1960s, and became a standard computing language formicrocomputersduring the late 1970s and early 1980s. The goals of BASIC were focused on the needs of learning to program easily: be easy for beginners to use, be interactive, provide clear and friendly error messages, respond quickly, do not require an understanding of computer hardware or operating systems. What made BASIC particularly useful for education was the small size of programs. Useful programs to illustrate a concept could be written in a dozen lines. At the same time BASIC did not require mathematical or computer science sophistication.BASIC continues to this day to be frequently self-taught with excellent tutorials and implementations. SeeList of BASIC dialects by platformfor a complete list. BASIC offers a learning path from learning oriented BASICs such asMicrosoft Small BasicBASIC-256andSiMPLE, to more full featured BASICs likeVisual Basic andGambas.
List of educational programming languages
The system utilizes theMicrosoft Visual StudioIDE to provideautocompletionandcontext sensitive help.
(Learn how and when to remove this template message)
which is a freely available easy to use BASIC for Linux with awikibook on Gambasavailable.
It is a purely functional, extremely expressivelanguage. An education specific compiler / IDE, calledHeliumhas been created. Another advantage of Haskell is in teaching inductive methods. Because of the advantages of Haskells syntax inductive proofs become as easy or easier as they are on paper, unlike the LISP/Scheme family which introduces additional syntax.
is an educational program designed for anyone new to or has little experience with the Wolfram Language, which powers WolframAlpha and is used in top research and development organizations worldwide. It includes a step-by-step introductory programming course that teaches the basics of the language in a straightforward manner.
an easy to use version of BASIC designed to teach anybody the basics of computer programming. It uses traditional BASIC control structures (gosubfor loopsgoto) for ease of understanding program flow-control. It has a built-in graphics mode that allows children to draw pictures on screen after minutes. It includes tutorials that introduce programming concepts through fun exercises.
is a language that is simple and entirely icon-based. It was incubated out of Microsoft Research as a project to reach younger children and especially girls into enjoying technology. Programs are composed of pages, which are divided into rules, which are further divided into conditions and actions. Conditions are evaluated simultaneously. The Kodu language is designed specifically for game development and provides specialized primitives derived from gaming scenarios. Programs are expressed in physical terms, using concepts like vision, hearing, and time to control character behavior. While not as general-purpose as classical programming languages, Kodu can express advanced game design concepts in a simple, direct, and intuitive manner. The Kodu tool is available in three forms: PC as a free download in public beta and academic forms, and as a low-cost Xbox 360 Live download.
A reasonable learning path would be Logo followed by any educational variant such as Scheme or newLISP, followed by a professional variant such as Common LISP.
is a language and environment that looks like a video game. Computational abstractions are mapped to concrete analogs such robots, houses, trucks, birds, nests, and boxes. It supports big integers and exact rational numbers. It is based uponconcurrent constraint programming.
Sun Microsystemss recommended path is Greenfoot to BlueJ to Netbeans-BlueJ to Netbeans-Java.
The MIX systems are computers intended to illustrate machine-level aspects of programming, so its machine language is simple, elegant, easy to learn. It also includes all the complexities needed for high performance in practice, so in principle it can be built and perhaps be competitive with some of the fast general-purpose computers.
is an interactive desktop development environment developed primarily for educational purposes application that runs on Windows, Linux, and OS X. It is a learning environment, with many different features that help with the exploration, learning, and teaching of concepts in the areas of computer programming and critical thinking, math and science, art, music, and creative thinking, computer and internet literacy.
fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. It includes trigonometric, matrix, and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands, and a structured programming syntax.
with a freely availableVisual Basic Express Editionincluding anK-12 learning centerandBeginner adult learning center
is a visual programming system based onprogramming by demonstration. Users demonstrate to the system what to do by moving icons on the screen, and it generates rules for the objects (characters). Users can create two-dimensional simulations that model a concept, multi-level games, interactive stories, etc.
was originally designed in 1975 to serve a tutorial purpose.
aims to provide a fast, powerful, cross-platform, full-featured scripting version of the Lisp language which uses only a modest amount of system resources such as disk space and memory. It is particularly suited for learners because of its simple, consistent, streamlined, Lisp environment that minimizes the learning curve and maximizes programmer productivity and pleasure.
is amodularmathematical 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 orModula-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.
is a visual language for programming robotic kit for children. It is built atop C as a DSL. ThinkLabs an Indian Robotics education based startup has built it for iPitara Robotic kit. The language bears strong resemblance to the C language. Approximately 5000+ students in India have bought the iPitara kit and programmed it using CiMPLE. More information is at CiMPLE Original Developers Weblog
It is developed by the Lifelong Kindergarten group atMIT Media Lab.
From Wikipedia, the free encyclopedia
Lispis the second oldest family of programming languages in use today, and as such hasmanyofdialectsand implementations at a wide range of difficulties. Lisp was originally created as a practical mathematical notation for computer programs, based onlambda calculus, which makes it particularly well suited for teaching theories of computing. As one of the earliest languages, Lisp pioneered many ideas incomputer science, includingtree data structuresautomatic storage managementdynamic typingobject-oriented programming, and theall of which are useful for learning computer science.
is a blocks-based graphical language to create animated stories and games.
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 language, Karel++ is a version of Karel implemented inC++, while Karel J. Robot is a version of Karel implemented inJava.
is a visual programming and game development IDE that has been used for education and commerce. The concept it uses of
is a modern, open source, full-featured implementation of the Smalltalk language and environment. Smalltalk is anobject-orienteddynamically typedreflectivelanguage created to underpin the new world of computing exemplified by humancomputer symbiosis.
is a freeRuby-based environment aiming to make learningprogrammingeasy for beginners, especially teenagers.
As part of theOne Laptop per Childproject, a sequence of Smalltalk-based languages has been developed, each designed to act as an introduction to the next. The structure is Scratch to Etoys toSqueakto anySmalltalk.Each provides graphical environments which may be used to teach not only programming concepts to kids but also physics and mathematics simulations, story-telling exercises, etc., through the use ofconstructive learning. Smalltalk and Squeak are fully featured application development languages that have been around and well respected for decades; Scratch is a childrens learning tool.
to meet Wikipediasquality standards. The specific problem is:
is aninteractive development environmentand avisual programming languagebeing developed atMicrosoft Research.
(Learn how and when to remove this template message)
is a beginner-oriented version ofPythonfor interactive electronics and education.
Many educational programming languages position themselves inside a learning path, that is, a sequence of languages each designed to build on the others moving a student from easy to understand and entertaining environments to full professional environments. Some of the better known are presented below.
is a graphicalauthoring toolfor writing and executing programs viaflowcharts. The approach is designed to emphasize the algorithm rather than the syntax of a given language. The flowchart can be converted to several major languages such asCJavaVisual Basic .NETandPython.
needs additional citations forverification
designed to amalgamate the most important declarative programming paradigms, namely functional programming (nested expressions, higher-order functions, lazy evaluation) andlogic 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.
(Learn how and when to remove these template messages)
(LC-3), is an assembly language with a simplified instruction set, but can be used to write moderately complex assembly programs and is a theoretically viable target for C compilers. It is simpler than x86 assembly but has many features similar to those in more complex languages. These features make it useful for teaching basic programming and computer architecture to beginning college computer science and computer engineering students, which is its most common use.
in one language so that students can learn paradigms without having to learn multiplesyntaxes. 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 textbookConcepts, Techniques, and Models of Computer Pr
is a programming development system that was created to provide easy programming abilities for everybody, especially non-professionals. It is somewhat like AppleSoftBASIC. It is compiled and lets users make their own libraries of often-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 to use 23 keywords.
The publication of Abelson and Sussmans Structure and Interpretation of Computer Programs (sicp) (Abelson et al., 1985) revolutionized the landscape of the introductory computing curriculum in the 1980s. Most importantly, the book liberated the introductory course from the tyranny of syntax. Instead of arranging a course around the syntax of a currently fashionable language, sicp focused the first course on the study of important ideas in computing: functional abstraction, data abstraction, streams, data-directed programming, implementation of message-passing objects, interpreters, compilers, andregister machines.
MIX is hybrid programmable inbinaryanddecimalnumbers; most programs written for it will work using either form. Software implementations for MIX and MMIX have been developed by Knuth and made freely available. Several versions of both emulators exist. MIX is a 1960s-style computer. It is superseded by MMIX, a newer modern computer architecture, aarchitecture (ISA). For MMIX, Knuth collaborated with the architects of theMIPSandAlphaISAs.
are hypothetical computers used inDonald Knuths monograph,
is a tactile offline programming language embedded in an educationalcard game.
is a line of Lego sets combining programmable bricks with electric motors, sensors, Lego bricks, and Lego Technic pieces (such as gears, axles, and beams). Mindstorms originated from the programmable sensor blocks used in the line of educational toys. The first retail version of Lego Mindstorms was released in 1998 and marketed commercially as the Robotics Invention System (RIS). The current version was released in 2006 as Lego Mindstorms NXT. A widerange of programming languages is usedfor the mindstorms from Logo to BASIC to derivatives of Java, Smalltalk and C. The Mindstorm approach to programming now have dedicated physical sites calledComputer Clubhouses.
is the most well-known 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 language has since become somewhat controversial.
is awhich is utilized for teaching computer science in various colleges and universities around the globe.
is based on the idea of programmablevirtualentities behaving on the computer screen. Etoys provides a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users. It includes2Dandimagestext, particles, presentations, web-pages,videos, sound andMIDI, the ability to share desktops with other Etoy users inreal-time, so many forms of immersivementoringand play can be done over theInternet. It ismultilingual, and has been used successfully inUnited StatesEuropeSouth AmericaJapanKoreaIndiaNepal, and elsewhere. The program is aimed at children 9-12.
is often used by universities instead of LISP orScheme. Its primary goal was to function equally well as a language for teaching, research and application design.
represents a more recent attempt to create a language designed to provide an efficient tool for basic training in programming.
is a language that was specifically designed to introduce children to programming. The first part of learning Logo deals with turtle graphics (derived fromturtle robots) used as early as 1969 with proto-Logo. In modern implementations, an abstract drawing device, called the
is based onMITScratchvisual language (listed above). It also permits the use of
, is used to make programming for children very attractive by concentrating on doingturtle graphicsSeymour Papert, one of the creators of Logo, was a major thinker inconstructionism, a variety ofconstructivist learning theory. Papert argued that activities like writing would naturally be learned by much younger children providing that they adopted a computing culture.
The first unit of theBootstrap Curriculumuses the Racket language.
typed code (separate or intermingled) through its own API and theHaxelanguage.
is a language designed to teach computer theory. It supports most major paradigms
LikeLisp, it hasimage-based persistence, so everything is modifiable from within the language itself (seeSmalltalkReflection).
Pedagogically this allowed for teaching programming in terms ofdomain-specific languagesandmeta-circular evaluators. The publication ofStructure and Interpretation of Computer Programsin 1984 incorporated this educational philosophy into a canonical textbook, which changed the predominance of Pascal as the university programming language.
Aneducational programming languageis aprogramming languagethat is designed mostly as an instrument forlearning, and less as a tool for writing programs to perform work.
is a C/C++ interpreter designed to help non-CS students to learn math, computing and programming in C and C++. It extends C with numerical, 2D/3D graphical plotting and scripting features.
This is a professional level platform. NetBeans refers to both aplatformfor developing applications for the network, and anintegrated development environment(IDE) developed using the NetBeans Platform. The platform is a reusablesoftware frameworkto simplify developing other desktop applications. It offers services common to desktop applications, letting developers focus on the logic specific to their application. The IDE isopen source, written in Java using the NetBeans Platform. The IDE supports developing all Java application types (Java SEwebEJBandmobileapplications) out of the box. Among other features are anAnt-based project system,revision controlandcode refactoring.
(VBA) is a version of Visual Basic built into most Microsoft Office applications and is used to build macros to automate processes within most applications ofMicrosoft Office(e.g. creating a User-Defined Function in Excel or creating a complex sequence of commands in response to a user event in a data entry form in Access). VBA can also work across applications like automatically creating a report in Word from a database in Access. VBA is not used to makestandalone programsbut works only within a host application. VBA is on every machine that has any part of MS Office installed, so it is arguably the most ubiquitously available version of BASIC.
Originally,machine codewas the first and only way to program computers.Assembly languagewas the next type of language used, and thus is one of the oldest families of computer languages in use today. Many dialects and implementations are available, usually some for each computer processor architecture. It is very basic and termed alow level programming language. It is one of the more difficult languages to work with beinguntypedand rigid, but this is how computers work at low level. Several simplified dialects exist for education.
is an educationalobject orientedlanguage designed to help young students start programming by providing all the language elements in the student mother tongue. Mama language is available in several languages, with both LTR and RTL language direction support. Anew variant of Mamawas built atopCarnegie Mellons
Come up with a clear inclusion criteria; purge unreferenced non-notable entries; regularise; etc
more important than having an early start on intellectual building, is being saved from a long period of dependency during which one learns to think of learning as something that has to be dished out by a more powerful other…Such children would not define themselves or allow society to define them as intellectually helpless.
development environment, supporting scripting of the 3D stage objects. This new variant of Mama was designed to help young students start programming by building 3D animations and games. A document on educational programming principles explains Mamas design considerations.
, previously PXT, is a free andopen-sourceblocks and text-based online editor for physical computers like themicro:bitandAdafruitCircuit Playground Express. It is actively maintained byMicrosoft. Thesourceis hosted onGitHub.
is a simple BASIC-like language implemented in Texas Instruments graphing calculators, often serving as a students first look at programming.
(Learn how and when to remove this template message)
Since then the Scheme community has introduced several pedagogic programming environments for more modern approaches. Of particular note is theRacketoutreach effort with itsDrRacketenvironment, freely available textHow to Design ProgramsandProgramByDesigneducator training.
is areduced instruction set computer(RISC) processor architecture by the main designers of theMIPSand theBerkeley RISCdesigns, two benchmark examples of RISC design. DLX is essentially a cleaned up, simplified MIPS, with a simple 32-bit load/store architecture. It is widely used incollege-level computer architecture courses.
LISPs of the day used non-recursive control structures to implementlambda calculus, primarily since LISPs were still being implemented for efficiency reasons in hardware.Guy L. Steele Jr.andGerald Jay Sussmanconstructed Scheme as a fast interpreted language atop an underlying LISP with cheap procedure calls.
Low level languages must be written for a specificand cannot be written or taught in isolation without referencing the processor for which it was written. Unlike higher level languages, using an educational assembly language needs a representation of a processor, whether virtualized or physical. Assembly is the most helpful language to use for learning about fundamental computer processor operation.
where students could understand (and predict and reason about) the turtles motion by imagining what they would do if they were the turtle.
It has been used with children as young as 3 and has a track record of 30 years of success in education. Since Logo is actually a streamlined version ofLispwith more advanced students it can be used to introduce the basic concepts of computer science and even artificial intelligence.Brian Harveywrote a series
for self study of computer science based on Logo. Logo is widely available on virtually every platform, in both free and commercial versions.
is a visual 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. The Scratch community has developed and uploaded over 3,000,000 projects.
Over a short period, many universities in the US and around the world switched their first course to sicp and Scheme. The book became a major bestseller for MIT Press. Along with sicp, the Scheme language became widely used. It was no longer the subject of a few individual courses at Indiana University, MIT, and Yale, but the language of choice in introductory courses all over the world.
is a computational thinking tool to author 2D/3D games and simulations. Authoring takes place through desktop applications or browser based apps and can create 2D/3D games playable in HTML5 compliant browsers including mobile ones.
(LMC) is an instructional model of a simplevon Neumann architecturecomputer with all basic features of modern computers. It can be programmed in machine code (usually decimal) or assembly. It is based on the concept of having a little man locked in a small room. At one end of the room are 100 mailboxes as memory; each can hold a three digit instruction or data. At the other end of the room are two mailboxes labeled INBOX and OUTBOX which receive and emit data. In the middle of the room is a work area with a simple two function (add and subtract) calculator called the Accumulator and a resettable counter called the Program Counter. The counter is similar to what a doorperson uses to count how many people have entered a facility; it can count up 1, or can be reset to 0. As specified by thevon Neumann architecture, memory holds both instructions and data. The user loads data into the mailboxes and then signals the little man to begin executing.
(NBC) is a simple language with assembly language syntax that is used to programLego Mindstorms NXTprogrammable bricks. The command line compiler emits NXT compatible machine code, and supports Windows, Mac OS X and Linux.
Logo was thus designed not only to teach programming, and computing concepts, but to enhance a childs entire well being in a culture increasingly dominated by technology,
Please helpimprove this articleif you can.
is an open source web-based, graphical language where users can drag blocks together to build an application; no typing needed. It is developed byGoogle. More information is available at the project home page.
is an integrated Java environment specifically designed for introductory teaching, first year college student. It eliminates some of Javas complex syntax, the difficulties of I/O and represents the object/class relationships visually. The BlueJ environment was developed as part of a university research project about teaching object-orientation to beginners (theBlue system). The aim of BlueJ is to provide an easy-to-use teaching environment for the Java language that facilitates the teaching of Java to first year students. Special emphasis has been placed on visualization andinteraction techniquesto create a highly interactive environment that encourages experimentation and exploration.
Pythons clear syntax, interpreted interface, and high level data structures make it an ideal instructional language for education, while the large number of extant libraries make it useful for working programs.
The nameLISPderives from LISt Processing language.Linked listsare one of the languages majordata structures, and Lispsource codeis made of lists. Thus, Lisp programs can manipulate source code as a data structure, giving rise to themacrosystems that allow programmers to create new syntax or even newdomain-specific languagesembedded in Lisp. So Lisps are useful for learning language design, and creating custom languages.
is a development environment for building and exploring scientific models, specifically agent-based models. It is in widespread use both in science research(Science papers using NetLogo)and in educational contexts, including elementary, secondary schools, universities and museums.
is a BASIC-derived language used in Japanese schools.
is a free open-source extension of Etoys. Its philosophy is help kids model and program the real world in order to learn more about it. It can run on Windows, Linux and Sugar. Physical Etoys lets different electronic devices such as Lego NXT, Arduino boards, Sphero, Kinect, Wiimote joystick, among others, be easily programmed and interact between themselves due to its block scripting system. Its perfect for the educational curricula.