| This article has recently been created via Wikipedia:Articles for creation. The reviewer is in the process of closing the request, and this tag should be removed soon.
|This article relies on references to primary sources or sources affiliated with the subject, rather than references from independent authors and third-party publications. (March 2014)|
|Designed by||Beate Jost, Reinhard Budde, Kostadin Cvejoski, Daniel Pyka|
|Developer||Fraunhofer IAIS |
|Stable release||0.1.1 (June 13, 2015)|
|Influenced by||Logo, Smalltalk, Scratch, MIT App Inventor, Blockly|
NEPO® is a free open-source meta-programming languague that can be used by students, scholars, teachers, and other intersted persons. NEPO has been developed by (http://www.iais.fraunhofer.de Fraunhofer IAIS) within the project "Open Roberta". NEPO has a visual representation and can be programed by "drag and dop", so even novice programmers can be adressed. A major advantage of graphical programming is that typical syntax errors that make learning a programming language often very tedious can be avoided. NEPO allows to focus on the logical structure of the program.
Origin of name
“NEPO” represents OPEN backward. Sometimes NEPO will be interpreted as New Easy Online Programming.
NEPO can be used to program Lego Mindstorms EV3 robots. NEPO will be used as main programming languague within the european-wide education initiative Roberta - Leraning with Robots. These use NEPO to train teachers, because of its relative ease to make interesting programmes as well as because skills learnt through NEPO can be applied to other basic programming languages like Python (programming language) and Java (programming language).
The NEPO user interface is called Open Roberta Lab. In the left area of the sceen there are the available block categories. In the Beginner-mode there are eight categories available. The beginner mode is pre-defined and can be switched into Experts-mode within the main menu settings.
There are multiple ways of creating a NEPO program but each program has to start at the red collored main programming block called »program-start«. This block is always added by default in the Open Roberta Lab workspace. The first block that a client wants to use is connected with the »sequence connector« of the program-start block. The programming is done using graphical building blocks that are assembled into a sequence of functions. So that the robot can understand and execute the program, the NEPO blocks are then converted into machine code and transferred to the robot. Since in this case different programming languages are supported, in addition to the LEGO MINDSTOMRS system even more robotic systems can be integrated.
NEPO block categories
All available blocks are listed and categorized as the Action, Sensors, Control, Logic, Math, Text, Colours, Variables, Functions and Massages as shown in the table below.
|Action||Includes blocks with which the robot performs an action directly.||Text||Contains event handlers placed on the top of each group of blocks|
|Sensors||Contains blocks for all standard sensors of the EV3 system.||Colours||Standard colours block|
|Control||includes blocks with which the program sequence can be controlled. The category includes the following blocks||Variables|
|Logic||With the »logic« blocks, conditions ca be created. With this condition you can iterrelate states, values, and events with each other.||Functions|
|Math||Mathematical operators and parameter block||Massages|
NEPO sequenz connector
The sequence connector is triangle at the bottom of the block, and this triangle will become yellow as soon as a suitable block is in close proximity of the block.
NEPO input / output connector
Depending on the block different values can be passed to a block. The type of the value can be identified by the colored compounds (including »connectors« called) of a block. In the chapter »block catagory« you can see the different values a block can have. Only if the colors of the input and the output connector match, these blocks can be connected.
A block may optionally also pass a value (only one!) to another block. These blocks have colored output connectors. Only if the colors of the input and the output connector are the same, these blocks can be connected.
In total there six input and output types within NEPO. These types can have the following values:
- Logical value (light blue)
- Number (Dark Blue)
- String / text (green)
- Color (yellow)
- List (Purple)
- Connection (Pink)
NEPO a Meta-Programming language
|Wikimedia Commons has media related to: Draft:NEPO® is a free open-source meta-programming languague|
| This article uses material from the Wikipedia article Draft:NEPO® is a free open-source meta-programming languague, that was deleted or is being discussed for deletion, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License.