After Width: | Height: | Size: 638 KiB |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 707 KiB |
After Width: | Height: | Size: 707 KiB |
After Width: | Height: | Size: 725 KiB |
After Width: | Height: | Size: 734 KiB |
After Width: | Height: | Size: 643 KiB |
@ -0,0 +1,50 @@
|
||||
# Reviews |
||||
|
||||
## Context |
||||
|
||||
Only unblocked bonus exercises can be reviewed, which are usually the last items of a quest. |
||||
Bonus exercises are available in quests 02 / 03 / 04 / 05 / 07 / 08 / 09. |
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.43.31" src="img/reviews/Screenshot 2019-10-17 at 02.43.31.png"> |
||||
|
||||
Making a review involves 2 students who are goning to review each other's exercise. |
||||
Each user has to : |
||||
|
||||
- **check** the code of the other one on Github |
||||
- **bet** if it is going to fail or succeed in the Review interface |
||||
- **run** his own exercise in the Review interface to give a result to compare with the bet, and state if it was right or wrong |
||||
|
||||
## Usage |
||||
|
||||
To submit an exercise to review and be reviewed, go to the `Review panel` on the right of the quest interface and click on the button to submit it : |
||||
|
||||
<img width="1073" alt="Screenshot 2019-10-17 at 01.59.32" src="img/reviews/Screenshot 2019-10-17 at 01.59.32.png"> |
||||
|
||||
Then, when a match with another student who also wants to review is found, you will be notified : |
||||
|
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.03.11" src="img/reviews/Screenshot 2019-10-17 at 02.03.11.png"> |
||||
|
||||
Once you and the other student have confirmed the match, you can go and check the code of the other student on his repository in the component `Your review` : |
||||
|
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.05.46" src="img/reviews/Screenshot 2019-10-17 at 02.05.46.png"> |
||||
|
||||
When you have checked his code, those 4 steps will have to be completed to achieve the review : |
||||
|
||||
- You have to bet if the exercise of the other student will fail or succeed after running the tester |
||||
- The other student has to do the same with your exercise and make his own bet, that you will see on the component `Review of your exercise` |
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.20.18" src="img/reviews/Screenshot 2019-10-17 at 02.20.18.png"> |
||||
|
||||
- Once the other student's bet is set, the tester button unblocks and you have to run it on your exercise to output the result determining if your exercise has failed or succeeded ; this result is compared to the other student's bet to determine if it was wrong or right |
||||
- The other student also has to run the tester on his exercise to determine his result and so if your bet was wrong or right |
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.22.30" src="img/reviews/Screenshot 2019-10-17 at 02.22.30.png"> |
||||
|
||||
In fact, a bet is succeeded if it is equal to the tester output : |
||||
<img width="1073" alt="Screenshot 2019-10-17 at 02.24.04" src="img/reviews/Screenshot 2019-10-17 at 02.24.04.png"> |
||||
|
||||
You can have those 4 cases : |
||||
|
||||
| bet | tester output | bet result | |
||||
| ------- | ------------- | ------------- | |
||||
| fail | failed | **succeeded** | |
||||
| fail | succeeded | **failed** | |
||||
| succeed | succeeded | **succeeded** | |
||||
| succeed | failed | **failed** | |
@ -0,0 +1,9 @@
|
||||
# Server requirements |
||||
|
||||
**Linux compatible only** |
||||
|
||||
| Component | Recommended specifications | |
||||
| --------- | --------------------------------- | |
||||
| Processor | 16 threads x86-64 (64 bits) | |
||||
| Memory | 64 GB ECC DDR4 2133 Mhz frequency | |
||||
| Disk | 500 GB SSD NVMe | |
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
# Install Exam app |
||||
|
||||
script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)" |
||||
cd $script_dir |
||||
. set.sh |
||||
|
||||
wget https://github.com/01-edu/public/releases/download/exam/exam.1.0.0.AppImage -O /usr/local/bin/exam.1.0.0.AppImage |
||||
chmod +x /usr/local/bin/exam.1.0.0.AppImage |
||||
|
||||
cat <<EOF> /home/student/.local/share/applications/appimagekit-exam.desktop |
||||
[Desktop Entry] |
||||
Name=exam |
||||
Comment=the exam client |
||||
Exec="/usr/local/bin/exam.1.0.0.AppImage" %U |
||||
Terminal=false |
||||
Type=Application |
||||
Icon=appimagekit-exam |
||||
StartupWMClass=exam |
||||
X-AppImage-Version=1.0.0 |
||||
MimeType=x-scheme-handler/exam; |
||||
Categories=Utility; |
||||
X-AppImage-BuildId=1RHp8aPhkSgD1PXGL1NW5QDsbFF |
||||
X-Desktop-File-Install-Version=0.23 |
||||
X-AppImage-Comment=Generated by /tmp/.mount_exam.1PqfsDP/AppRun |
||||
TryExec=/usr/local/bin/exam.1.0.0.AppImage |
||||
EOF |
||||
chown student:student /home/student/.local/share/applications/appimagekit-exam.desktop |
||||
|
||||
sudo -iu student xdg-mime default appimagekit-exam.desktop x-scheme-handler/exam |
||||
sudo -iu student go get github.com/01-edu/z01 |
@ -1,9 +1,9 @@
|
||||
#!/bin/bash |
||||
#!/usr/bin/env bash |
||||
|
||||
# Install FX: command-line JSON processing tool (https://github.com/antonmedv/fx) |
||||
|
||||
SCRIPT_DIR="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)" |
||||
cd $SCRIPT_DIR |
||||
script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)" |
||||
cd $script_dir |
||||
. set.sh |
||||
|
||||
npm install -g fx |
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash |
||||
#!/usr/bin/env bash |
||||
|
||||
# Install VSCode |
||||
|
||||
SCRIPT_DIR="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)" |
||||
cd $SCRIPT_DIR |
||||
script_dir="$(cd -P "$(dirname "$BASH_SOURCE")" && pwd)" |
||||
cd $script_dir |
||||
. set.sh |
||||
|
||||
apt-get -y install libreoffice |
||||
|
@ -0,0 +1,38 @@
|
||||
## atoibaseprog |
||||
|
||||
### Instructions |
||||
|
||||
Write a program that takes a `string` number and its `string` base as arguments and prints its conversion as an `int`. |
||||
|
||||
- If the base or the `string` number is not valid it returns `0`. |
||||
|
||||
- If the number of arguments is bigger or lower that two it should print a newline ("`\n`"). |
||||
|
||||
Validity rules for a base : |
||||
|
||||
- A base must contain at least 2 characters. |
||||
- Each character of a base must be unique. |
||||
- A base should not contain `+` or `-` characters. |
||||
|
||||
Only valid `string` numbers will be tested. |
||||
|
||||
The program **does not have** to manage negative numbers. |
||||
|
||||
### Expected output : |
||||
|
||||
```console |
||||
student@ubuntu:~/atoibaseprog$ go build |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 125 0123456789 |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 1111101 01 |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 7D 0123456789ABCDEF |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog uoi choumi | cat -e |
||||
125$ |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog bbbbbab -ab | cat -e |
||||
0$ |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 1111101 |
||||
|
||||
student@ubuntu:~/atoibaseprog$ |
||||
``` |
@ -0,0 +1,38 @@
|
||||
## atoibaseprog |
||||
|
||||
### Instructions |
||||
|
||||
Écrire un programme qui prend un nombre `string` et sa base `string` en paramètres et retourne sa conversion en `int`. |
||||
|
||||
- Si la base ou le nombre `string` n'est pas valide le programme retourne `0`: |
||||
|
||||
- Si le nombre d'argument est différent de deux alors le programme affiche un newline ("`\n`"). |
||||
|
||||
Règles de validité d'une base : |
||||
|
||||
- Une base doit contenir au moins 2 caractères. |
||||
- Chaque caractère d'une base doit être unique. |
||||
- Une base ne doit pas contenir les caractères `+` ou `-`. |
||||
|
||||
Seuls des nombres en `string` valides seront testés. |
||||
|
||||
La fonction **ne doit pas** gérer les nombres négatifs. |
||||
|
||||
### Expected output : |
||||
|
||||
```console |
||||
student@ubuntu:~/atoibaseprog$ go build |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 125 0123456789 |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 1111101 01 |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 7D 0123456789ABCDEF |
||||
125 |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog uoi choumi | cat -e |
||||
125$ |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog bbbbbab -ab | cat -e |
||||
0$ |
||||
student@ubuntu:~/atoibaseprog$ ./atoibaseprog 1111101 |
||||
|
||||
student@ubuntu:~/atoibaseprog$ |
||||
``` |