Visualizations for Linear Training#
The following visualizations relate to the linear form of the training. The sections For Instructors and For Trainees, respectively, describe the purpose and means of manipulation with the visualizations.
Progress of Training Instance#
As an instructor, you can see the ongoing course of the training runs and further filter information on demand in the tab Progress. The interface consists of several sections for interaction with the visualization. Each section (A to D, see the figure below) is further described in detail.
In the visualization, exclamation marks () can appear next to trainees or level tiles. They indicate a situation that may need further attention - upon a mouse-over, textual information appears. On a mouse click on the mark, it fades to signal that the issue is being solved and needs to be highlighted.
A - Overview Timeline
The time displayed in the upper right corner indicates the estimated end of the session based on the current progression. A small arrow denotes the originally scheduled end time to show the deviation from the schedule. On hover, the exact scheduled end time shows. As the training session progresses, the timeline fills accordingly.
B - Trainee Selection
All trainees (their avatars and/or names) are listed here. Each trainee can be selected or deselected upon mouse click to show/hide their training progression in the visualization below. The mouse hovering on a visible trainee runs in the visualization highlights.
C - Level Selection
These tiles represent individual training levels. Each level tile also holds information regarding the number of trainees who currently solve the level. The level name and correct answer are shown in a tooltip on hover. Additionally, the last tile displays all trainees who have already finished the whole training session. For each level, you can display its trainees on click.
D - Progress Visualization
It gives a full picture of the trainee’s walkthrough. Upon filtering in the preceding sections, selected trainees are displayed here.
Each row represents an individual trainee. Bars of each row are training levels - gray levels are finished levels, current levels are colored green/yellow/red, according to their delay as opposed to the scheduled amount of time. The stripped bars denote the scheduled time for the ongoing or upcoming levels.
The bars can display the events of the trainees. When taking a hint or submitting a wrong answer , the event displays in the visualization, colored the same as its level. Multiple events of the same type triggered in quick succession show as one, with a corresponding number on it. On mouse-over, detailed information tooltip shows.
Individual Trainee Detail
More detailed individual trainee progress can be displayed. Upon clicking on a trainee avatar or name on the left side of the training runs visualization, a new window shows:
Here, the additional line chart shows the trainee’s activity for the ongoing level.
Results of Training Instance#
The page provides all collected data about the training instance in several tabs. The number of tabs depends on the presence of a reference solution for the instance’s training levels, as specified below.
The Dashboard tab, which is always present, contains Score Development, Score Scatter Plot, and Progress overview graph. These graphs provide various views on trainees’ activity in training. If reference solution has been specified, dashboard tab contains Summary and Reference graph as well. Next to the dashboard tab is the Assessment tab. Trainee Graph, Command Timeline, and Command Analysis tabs are present if a reference solution has been provided.
This visualization unites the previously listed visualizations and provides interactions between them. Visualization filters allow the instructor to filter the available training events and the format in which the trainee selector displays the trainees. The trainees selected by the trainee selector are then shown in the Progress overview graph. The instructor can filter which trainees they want to see in visualizations by this option. Their results are displayed in the progress overview graph upon selecting these trainees. Selecting trainees in the progress overview graph will appear in Score Development and Score Scatter Plot. Hovering over a trainee in any visualization will highlight them in the remaining visualizations.
Furthermore, if the training definition contains at least one training level with a defined reference solution, the Summary and Reference graph is displayed on the bottom.
The tab displays a graph with the time development of the trainees’ scores marked in the table under the graph. The graph also displays various types of events (denoted by a small circle). To visualize events taken by trainees, check/uncheck a checkbox displayed next to the table with participants. Hold Ctrl + Scroll while scrolling with the mouse wheel to zoom in or out.
Score Scatter Plot#
This visualization provides an overview of the training results. It helps to compare the score and duration of the whole training or individual levels. Dots show the positions of the trainees based on score and time. They indicate the correlation between the two factors and help to pinpoint the outliers or allocate clusters.
Final Training Runs View#
This visualization is a view on available data distilled from the “Progress of Training Instance”. It supports additional interaction (such as level sorting by their duration) and gives a full picture of the trainee walkthrough. The color scale helps to highlight individual levels for all trainees as well as their usage of hints or submissions of wrong answers for the levels. It helps to find skilled trainees or flaws in the training design by observing the details of its progression.
This graph visualizes the sample (author) solution of the training. There are three types of nodes in this graph:
- Mandatory node: represents states that have to be reached during the training.
- Optional node: represents states that do not have to be reached during the training but reaching them can lead to a successful level solution. For instance, a help switch of a particular tool can create this node.
- Possible node: used to visualize different routes that can lead to a successful level solution. Reaching one of these nodes is enough to get the level solution successfully.
This graph provides aggregated view of results for all trainees. The core of the graph is formed by the above-mentioned reference graph, which is extended by additional information that shows which trainee has reached specific nodes. Moreover, the error nodes represent states from which it is impossible to reach a solution.
Displays statistics of individual assessment answers.
This graph visualizes the progress of the selected trainee in training. The difference from the reference graph is that this graph distinguishes edges by nodes they are connected to. Reverse edges are dashed and have a color of the node from which they are going out. All levels in this graph are divided into square boxes, always connected by an edge. It is done because the trainee can display the solution of a level without actually entering any commands. Using boxes connected with edges guarantees continuity of trainee path.
This visualization provides commands ordered by the time of the selected trainee. Every command contains the detail of its usage and when it was executed. More precisely:
- Commands Type: represents a command type, e.g., bash command.
- Options: states used option for command, e.g.,
- IP: IP address from which the command was entered.
Displayed time is a timestamp from training, not real-time.
This visualization provides an analysis of commands for a selected trainee. Commands are divided by their correctness (correct, wrong) which can be changed with a slide toggle button at the top left side of the panel tab. Each command record contains the following detailed information:
- Full Command: represents the whole command with options, e.g.,
nmap -A -T4 scanme.nmap.org
- IP: IP address of the machine in the sandbox from which the command has been executed
- Frequency: states the number of occurrences of this exact command
Analysis of the correct commands requires choosing at least one trainee in the instructor’s view. Otherwise, the table will be empty.
Analysis of the wrong commands specifies the error type of the command. These error types are divided into seven categories based on the syntax (five categories) or semantic error (two categories). At least one error type must be selected to display the wrong commands. Also, at least one trainee must be selected in the instructor’s view.
The selection must be confirmed by the Filter button.
After trainees finish a training run, a set of visualizations of their behavior is displayed in tabs. The number of tabs depends on whether the reference solution was provided. Tab Score Development contains Score Development, Score Scatter Plot, and table of other trainees. Since the trainees should decode all information easily without further guidance, the interface is straightforward.
Furthermore, if the reference solution was provided for training levels of the training definition, the following tabs are displayed: Command Analysis, Command Timeline, Reference Graph, Trainee Graph.