LARP

Screenshots

Here are snapshots of LARP in action:

Development environment

Development environment of LARP

LARP's development environment provides a graphical interface adhering to the standards of Microsoft Windows®. Users familiar with traditional development environments such as Microsoft Development Studio® and Borland Delphi® will feel at ease using LARP's interface elements. Reciprocally, new programmers using LARP will acquire the necessary skills to program with more sophisticated development tools.

This algorithm solves with pseudo code the classical Towers of Hanoï problem. This problem consists of moving a stack of rings of different sizes from a source tower to a destination tower using a third tower as intermediate. Rings may only be moved one at a time and no ring may be stacked over a smaller one. Given a number of rings, the algorithm displays ring movements solving the problem and the total number of moves required.

Flowcharts

Flowcharts

While supporting pseudo code, LARP also allows one to program with flowcharts. A library of instruction templates provides most common programming instructions found in traditional programming languages, such as inputs/outputs, conditional structures and iterative structures.

Building flowcharts in LARP is as easy as dragging and dropping instructions with the mouse.

Integrated editors

Integrated editors

LARP's textual editor and graphical editor are used to edit project documents. These editors open, edit and save algorithms within the project.

LARP's textual editor provides many functionalities commonly found in other text editors such as cut & paste, search and replacement, undo, syntax highlighting of LARP keywords, line numbering and cursor position tracking. The graphical editor provides similar functionalities while supporting drag & drop operations to build flowcharts.

The document browser, located top left of the editor panel, lists all documents found within the edited project. The user may browse from one document to the other by simply clicking on the document name within the browser.

The template panel, located under the document browser, allows to insert instructions within the edited algorithm by drag & drop using the mouse.

Execution console

Execution console

When LARP's development environment runs an algorithm, inputs/outputs are directed to the execution console. This console is a popup window automatically displayed when execution of the algorithm starts. It allows the user to interact with the algorithm, providing values to input instructions and viewing results displayed by output instructions.

The above console displays what comes out of running the Towers of Hanoï problem with 4 rings (as provided by the user at start up). The algorithm displays ring movements as well as the total number of movements (15).

Warnings and errors

Warnings and errors

The message panel, located under the editor panel, is used by LARP to display various messages (information, warnings et errors) usually produced when compiling and running algorithms. Information and warning messages are usually displayed in black (depending on the current Windows® configurations), while error messages are displayed in red.

An error is easily located within the project's pseudo code and flowchart algorithms by simply clicking on the error message: the cursor is automatically positioned over the erroneous instruction with the editor.

Plagiarism prevention

Plagiarism prevention

To prevent plagiarism in the context of a class of students using LARP to build algorithms, some of the development environment commands in the shareware version of LARP are deactivated or their functionalities are restricted. The reduced functionalities in LARP aim at preventing users from exchanging or sharing algorithm modules.

Documents in a project created by a student cannot be imported into another student project. Furthermore, any attempt to modify a project file outside LARP's development environment is detected by LARP in most cases. Finally, encryption based on username is integrated into clipboard management (used for cut & paste commands within LARP), therefore preventing the use of the clipboard to transfer module content from one student's project to that of another student.

Plagiarism prevention in LARP is based on the uniqueness of usernames.

Online help

Online help

LARP's online help is accessible at all times by pressing the keyboard's F1 key or through the top menu, under item Help. Online documentation includes a detailed description of LARP's development environment, a description of LARP's pseudo code syntax and flowchart instructions, and information on each of LARP's warning and error messages.

Numerous pseudo code and flowchart examples illustrating the characteristics of LARP's pseudo code syntax are thoroughly described. Various notions of structured programming are also introduced in pedagogic form.

Online documentation is formatted in standard format Microsoft Help®. Most windows in LARP's development environment provide a direct access to appropriate help texts via a Help button or by pressing the F1 key on the keyboard.

Animated debugger

Animated debugger

LARP's step by step debugger allows to execute an algorithm one instruction at a time, inspecting variables and containers in between instructions to investigate the evolution of their contents during execution.

Furthermore, LARP can animate the execution of an instruction for pedagogic purposes. These animation clips provide insights into how arithmetic expressions and conditions are evaluated according to the priority of their operators.

Configurations

Color configuration

LARP's development environment is fully configurable. For example, colors may be configured for the execution console as well as for the editors.