Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion en/guides/exercises/testsuites/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To verify whether a submitted solution is correct, Dodona uses test suites.
This test suite contains a series of test cases that ensure you are reasonably certain whether a solution is correct or not.

In this guide, we briefly discuss the structure, followed by the various possibilities.
Here we use TESTed: the recommended way to create exercises for **Python**, **JavaScript**, **Java**, **Kotlin**, **C**, **C#**, **Haskell**, and **Bash**.
Here we use TESTed: the recommended way to create exercises for **Python**, **JavaScript**, **Typescript**, **Java**, **Kotlin**, **C**, **C#**, **C++**, **Haskell**, and **Bash**.
If you want to do something that TESTed cannot do or you want to use a different programming language, first look at the [overview of all judges](/en/references/judges).

This guide contains more advanced concepts.
Expand Down Expand Up @@ -325,6 +325,7 @@ In the following example, a function is called with the sum of two numbers as an
testcases:
- expression:
c: "to_string(1+1)"
cpp: "to_string(1+1)"
haskell: "Submission.toString (1+1)"
runhaskell: "Submission.toString (1+1)"
java: "Submission.toString(1+1)"
Expand Down
2 changes: 1 addition & 1 deletion en/guides/general/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Welcome to the Dodona guides.
Dodona is an online exercise platform for learning to code.
It wants to teach students how to program in the most meaningful and effective way possible. Dodona acts as an online co-teacher, designed to give every student access to high-quality education.
The focus is on automatic corrections and giving meaningful feedback on the submitted solutions from students.
At the moment, Dodona supports more than 20 programming languages, including Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, sql and R.
At the moment, Dodona supports more than 20 programming languages, including Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, sql and R.

Depending on your role, we have a specific guide for you:

Expand Down
2 changes: 1 addition & 1 deletion en/guides/students/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ On this page, you will find all the information you need to get started with Dod

## What is Dodona?

Dodona is an online exercise platform for learning to code. The web application was developed at Ghent University to support practical sessions for large groups of students. Dodona focuses primarily on the automatic testing and feedback for submitted solutions to programming exercises. Currently, Dodona supports more than 20 programming languages, including Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, sql and R.
Dodona is an online exercise platform for learning to code. The web application was developed at Ghent University to support practical sessions for large groups of students. Dodona focuses primarily on the automatic testing and feedback for submitted solutions to programming exercises. Currently, Dodona supports more than 20 programming languages, including Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, sql and R.

## Structure of the Guide

Expand Down
2 changes: 1 addition & 1 deletion en/guides/teachers/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ All the information to get started smoothly with Dodona as a teacher.
Dodona is an online exercise platform for learning to code.
The web application was developed at Ghent University to support practical exercises for large groups of students.
Dodona therefore primarily focuses on the automatic testing and feedback of submitted solutions to programming exercises.
Currently, Dodona supports programming languages such as Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, SQL, and R.
Currently, Dodona supports programming languages such as Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, SQL, and R.

On Dodona, teachers can create their own course, built from different exercise series.
They can use existing courses and exercises or choose to create their own exercises and teaching materials.
Expand Down
2 changes: 1 addition & 1 deletion en/references/judges/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ The SQL judge supports both query evaluation (DML) and structural database build
This judge is recommended by the Dodona team.
TESTed is a judge that can be used for multiple programming languages.
It uses a simple custom test format, that is independent of the programming language of the exercise.\
**Programming languages:** Bash, C, C#, Haskell, Java, JavaScript, Kotlin, Python\
**Programming languages:** Bash, C, C#, C++, Haskell, Java, JavaScript, Typescript, Kotlin, Python\
**Get started** [Documentation](/en/guides/exercises/), [examples](https://github.com/dodona-edu/example-exercises/tree/master/tested) \
**Created by:** [Team Dodona](mailto:dodona@ugent.be)

Expand Down
1 change: 1 addition & 0 deletions en/references/tested/dsl/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,7 @@ This name is programming language dependent:
testcases:
- expression:
c: "to_string(1+1)"
cpp: "to_string(1+1)"
haskell: "Submission.toString (1+1)"
runhaskell: "Submission.toString (1+1)"
java: "Submission.toString(1+1)"
Expand Down
1 change: 1 addition & 0 deletions en/references/tested/exercise-config/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ TESTed currently uses the following linters:
|------------|--------------------------------------------------------|
| Bash | [Shellcheck](https://www.shellcheck.net/) |
| C | [Cppcheck](http://cppcheck.sourceforge.net/) |
| C++ | [Cppcheck](http://cppcheck.sourceforge.net/) |
| Haskell | [HLint](https://github.com/ndmitchell/hlint) |
| Java | [Checkstyle](https://github.com/checkstyle/checkstyle) |
| JavaScript | [ESLint](https://eslint.org/) |
Expand Down
9 changes: 9 additions & 0 deletions en/references/tested/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Currently, the following languages are supported:

* Bash
* C (gcc)
* C++ (g++)
* Haskell (ghc)
* Java
* JavaScript (NodeJS)
Expand Down Expand Up @@ -95,6 +96,14 @@ void echo(char* what) {
}
```

```cpp [C++]
#include <iostream>

void echo(std::string what) {
std::cout << what;
}
```

```haskell [Haskell]
echo = putStrLn
```
Expand Down
60 changes: 30 additions & 30 deletions en/references/tested/types/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ The following table gives an overview of basic types supported by TESTed.
The first column contains all basic types,
and the other columns contain the mapping to the data types of the programming languages currently supported by TESTed.

| TESTed | Python | JavaScript | Java | Kotlin | Haskell | C | Bash |
|----------|---------|------------|---------------|-----------|-----------|----------|--------|
| integer | `int` | `number` | `int`/`long`¹ | `Int` | `Int` | `int` | - |
| real | `float` | `number` | `double` | `Double` | `Double` | `double` | - |
| boolean | `bool` | `boolean` | `boolean` | `Boolean` | `Bool` | `bool` | - |
| text | `str` | `String` | `String` | `String` | `String` | `char*` | `text` |
| sequence | `list` | `array` | `List` | `List` | `[]`² | - | - |
| set | `set` | `Set` | `Set` | `Set` | - | - | - |
| map | `dict` | `object` | `Map` | `Map` | - | - | - |
| nothing | `None` | `null` | `null` | `null` | `Nothing` | `void` | - |
| TESTed | Python | JavaScript | Java | Kotlin | Haskell | C | Bash | C++ |
|----------|---------|------------|---------------|-----------|-----------|----------|--------|-----------------|
| integer | `int` | `number` | `int`/`long`¹ | `Int` | `Int` | `int` | - | `std::intmax_t` |
| real | `float` | `number` | `double` | `Double` | `Double` | `double` | - | `double` |
| boolean | `bool` | `boolean` | `boolean` | `Boolean` | `Bool` | `bool` | - | `bool` |
| text | `str` | `String` | `String` | `String` | `String` | `char*` | `text` | `std::string` |
| sequence | `list` | `array` | `List` | `List` | `[]`² | - | - | `std::vector` |
| set | `set` | `Set` | `Set` | `Set` | - | - | - | `std::set` |
| map | `dict` | `object` | `Map` | `Map` | - | - | - | `std::map` |
| nothing | `None` | `null` | `null` | `null` | `Nothing` | `void` | - | `void` |

¹ depending on the value
² the built-in list type
Expand Down Expand Up @@ -78,26 +78,26 @@ and the second column contains their corresponding basic type.
The other columns contain the mapping to the data types of the programming languages currently supported by TESTed.
An explanation of the symbols used in the table follows after the table itself.

| TESTed | Basic | Python | JavaScript | Java | Kotlin | Haskell | C | Bash |
|------------------|----------|-----------|-------------|--------------|--------------|--------------------|------------------|------|
| int8 | integer | + | + | `byte` | `Byte` | `Data.Int.Int8` | + | - |
| uint8 | integer | + | + | + | `UByte` | `Data.Word.Word8` | + | - |
| int16 | integer | + | + | `short` | `Short` | `Data.Int.Int16` | `short` | - |
| uint16 | integer | + | + | + | `UShort` | `Data.Word.Word16` | `unsigned short` | - |
| int32 | integer | + | + | `int` | `Int` | `Data.Int.Int32` | `int` | - |
| uint32 | integer | + | + | + | `UInt` | `Data.Word.Word32` | `unsigned int` | - |
| int64 | integer | + | + | `long` | `Long` | `Data.Int.Int64` | `long` | - |
| uint64 | integer | + | + | + | `ULong` | `Data.Word.Word64` | `unsigned long` | - |
| bigint | integer | `int` | `BigInt` | `BigInteger` | `BigInteger` | `Integer` | - | - |
| single_precision | real | + | + | `float` | `Float` | `Float` | `float` | - |
| double_precision | real | + | + | `double` | `Double` | `Double` | `double` | - |
| double_extended | real | + | + | + | + | - | `double double` | - |
| fixed_precision | rational | `Decimal` | - | `BigDecimal` | `BigDecimal` | - | - | - |
| array | sequence | + | + | `array` | `Array` | - | - | - |
| list | sequence | `List` | + | `List` | `List` | `[]`² | - | - |
| tuple | sequence | `Tuple` | + | + | + | `()`¹ | - | - |
| char | text | + | + | `char` | `Char` | `Char` | `char` | + |
| undefined | nothing | + | `undefined` | + | + | + | + | - |
| TESTed | Basic | Python | JavaScript | Java | Kotlin | Haskell | C | Bash | C++ |
|------------------|----------|-----------|-------------|--------------|--------------|--------------------|------------------|------|-----------------|
| int8 | integer | + | + | `byte` | `Byte` | `Data.Int.Int8` | + | - | `std::int8_t` |
| uint8 | integer | + | + | + | `UByte` | `Data.Word.Word8` | + | - | `std::uint8_t` |
| int16 | integer | + | + | `short` | `Short` | `Data.Int.Int16` | `short` | - | `std::int16_t` |
| uint16 | integer | + | + | + | `UShort` | `Data.Word.Word16` | `unsigned short` | - | `std::uint16_t` |
| int32 | integer | + | + | `int` | `Int` | `Data.Int.Int32` | `int` | - | `std::int32_t` |
| uint32 | integer | + | + | + | `UInt` | `Data.Word.Word32` | `unsigned int` | - | `std::uint32_t` |
| int64 | integer | + | + | `long` | `Long` | `Data.Int.Int64` | `long` | - | `std::int64_t` |
| uint64 | integer | + | + | + | `ULong` | `Data.Word.Word64` | `unsigned long` | - | `std::uint64_t` |
| bigint | integer | `int` | `BigInt` | `BigInteger` | `BigInteger` | `Integer` | - | - | `std::intmax_t` |
| single_precision | real | + | + | `float` | `Float` | `Float` | `float` | - | `float` |
| double_precision | real | + | + | `double` | `Double` | `Double` | `double` | - | `double` |
| double_extended | real | + | + | + | + | - | `double double` | - | `long double` |
| fixed_precision | rational | `Decimal` | - | `BigDecimal` | `BigDecimal` | - | - | - | - |
| array | sequence | + | + | `array` | `Array` | - | - | - | `std::vector` |
| list | sequence | `List` | + | `List` | `List` | `[]`² | - | - | `std::list` |
| tuple | sequence | `Tuple` | + | + | + | `()`¹ | - | - | `std::tuple` |
| char | text | + | + | `char` | `Char` | `Char` | `char` | + | `char` |
| undefined | nothing | + | `undefined` | + | + | + | + | - | + |

¹ built-in tuple type
² built-in list type
Expand Down
3 changes: 2 additions & 1 deletion nl/guides/exercises/testsuites/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Om te controleren of dat een ingediende oplossing juist is, gebruikt Dodona test
Dat testplan bevat een reeks testgevallen, die ervoor zorgen dat je redelijk zeker bent of een oplossing juist is of niet.

In deze handleiding bespreken we kort de structuur, gevolgd door de verschillende mogelijkheden.
Hier gebruiken we TESTed: de aanbevolen manier om oefeningen te maken voor **Python**, **JavaScript**, **Java**, **Kotlin**, **C**, **C#**, **Haskell** en **Bash**.
Hier gebruiken we TESTed: de aanbevolen manier om oefeningen te maken voor **Python**, **JavaScript**, **Java**, **Kotlin**, **C**, **C#**, **C++**, **Haskell** en **Bash**.
Moest je iets willen doen dat TESTed niet kan of je wilt een andere programmeertaal gebruiken, kijk dan eerst naar het [overzicht van alle judges](/nl/references/judges).

Deze handleiding bevat geavanceerdere concepten.
Expand Down Expand Up @@ -333,6 +333,7 @@ In onderstaande voorbeeld wordt een functie opgeroepen met als argument de som v
testcases:
- expression:
c: "to_string(1+1)"
cpp: "to_string(1+1)"
haskell: "Submission.toString (1+1)"
runhaskell: "Submission.toString (1+1)"
java: "Submission.toString(1+1)"
Expand Down
2 changes: 1 addition & 1 deletion nl/guides/general/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Welkom bij de handleidingen voor Dodona.

## Wat is Dodona?

Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, sql en R.
Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, sql en R.

Afhankelijk van je rol, hebben we een specifieke handleiding voor het gebruik van Dodona:

Expand Down
2 changes: 1 addition & 1 deletion nl/guides/students/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Op deze pagina vind je alle informatie om vlot van start te gaan met Dodona als

## Wat is Dodona?

Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, sql en R.
Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, sql en R.

Dodona wordt gratis aangeboden voor educatieve doeleinden.

Expand Down
2 changes: 1 addition & 1 deletion nl/guides/teachers/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Alle informatie om vlot van start te gaan met Dodona als leerkracht.

## Wat is Dodona?

Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, bash, Prolog, Haskell, sql en R.
Dodona is een online oefenplatform om te leren programmeren. De webapplicatie werd ontwikkeld aan de Universiteit Gent om practica aan grote groepen studenten te ondersteunen. Dodona focust daarom in de eerste plaats op het automatisch testen en geven van feedback op ingediende oplossingen van programmeeroefeningen. Op dit moment ondersteunt Dodona onder andere de programmeertalen Python, JavaScript, Java, Kotlin, C#, C++, bash, Prolog, Haskell, sql en R.

Op Dodona kunnen lesgevers een eigen cursus aanmaken, opgebouwd uit verschillende oefeningenreeksen. Ze kunnen hiervoor beroep doen op bestaande cursussen en oefeningen, maar kunnen er ook voor kiezen om zelf aan de slag te gaan en eigen oefeningen en lesmateriaal op te stellen. Dankzij de ingebouwde *learning analytics* en datavisualisaties is het bovendien eenvoudig om de voortgang van studenten te meten.

Expand Down
2 changes: 1 addition & 1 deletion nl/references/judges/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ De SQL judge ondersteunt zowel query evaluatie (DML) als structurele database op
Deze judge wordt aanbevolen door het Dodona-team.
TESTed is een judge die voor meerdere programmeertalen gebruikt kan worden.
Het gebruikt een eenvoudig eigen testformaat, dat onafhankelijk is van de programmeertaal.\
**Programmeertalen:** Bash, C, C#, Haskell, Java, JavaScript, Kotlin, Python\
**Programmeertalen:** Bash, C, C#, C++, Haskell, Java, JavaScript, Typescript, Kotlin, Python\
**Aan de slag** [Documentatie](/nl/guides/exercises/), [voorbeelden](https://github.com/dodona-edu/example-exercises/tree/master/tested) \
**Gemaakt door:** [Team Dodona](mailto:dodona@ugent.be)

Expand Down
1 change: 1 addition & 0 deletions nl/references/tested/dsl/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@ Deze naam is programeertaalafhankelijk:
testcases:
- expression:
c: "to_string(1+1)"
cpp: "to_string(1+1)"
haskell: "Submission.toString (1+1)"
runhaskell: "Submission.toString (1+1)"
java: "Submission.toString(1+1)"
Expand Down
Loading