Δημιουργεί ένα interactive τεστ/κουίζ διαρκείας 20 λεπτών από τα παλεότερα θέματα πολλαπλής επιλογής εξετάσεων, μην διαλέξετε το id άμα θέλετε το interactive quiz, αφήστε κενό, αλλιώς διαλέξτε το id άμα σας ενδιαφέρει να δείξετε κάποια πολλαπλής για σχόλιο.
- Παράδειγμα χωρίς id
/quiz subject:progintro
:
- Παράδειγμα με id
/quiz subject:progintro id:2
:
Δίνει εκφωνήσεις των ασκήσεων του Grader, το problem
έχει autocomplete και παίρνει συγκεκριμένες τιμές, άμα θέλετε να δείτε την λίστα όλων των ασκήσεων, μην επιλέξετε το problem
. Το progtech
επιλογή δίνει error γιατί δεν υπάρχουν ασκήσεις για αυτές ακόμα.
- Παράδειγμα χωρίς problem
/exercise subject:progintro
:
- Παράδειγμα με χρήση problem
/exercise subject:progintro problem:sndlast
:
Όλα τα παλιά θέματα εξετάσεων που υπάρχουν στο forum. Για να προσθέσετε περισσότερα θέματα, δείτε εδώ.
Γενικές πληροφορίες για την σχολή που είναι καλό όλοι οι φοιτητές να ξέρουν.
Κλονήστε το repository
git clone https://github.com/OpenNTUA/boNTUA.git
Αλλάξτε το directory με cd boNTUA
και μετά τρέξτε
npm install
Δημιουργήστε το αρχείο .env
στο root folder η οποία είναι boNTUA
και γράψτε
TOKEN=YOUR_TOKEN
CLIENT_ID=YOUR_CLIENT_ID
Για να αρχίσει το μποτάκι τρέξτε
npm start
Μπείτε στο φάκελο ./boNTUA/src/data
, εκεί θα δείτε δύο φακέλους progintro
και progtech
, και οι δύο μέσα περιέχουν αρχεία 'quizes.js' και exercises.js
. Και τα δύο παίρνουν περιεχόμενα ίδιας φόρμας. Ανάλογα με το μάθημα διαλέξτε το αρχείο, είναι ένα Map
object και κάθε φορά που θέλετε να προσθέσετε κάτι, κατεβείτε στο τέλος και κάντε Map.set(key, {...})
. Όμως όταν γράφεται πρέπει να είναι όμορφα γραμμένα, θα χρειαστεί να χρησιμοποιήσετε Markdown.
map.set('', {
questionId: number,
question: string,
answers: Array<string>,
correctAnswerIndex: number,
code: Array<string> | undefined,
year: string, // '' κενό string άμα δεν έχει έτος
imageURL: string | undefined,
});
Και πρέπει answers.length <= 5
. Για παράδειγμα
map.set('9', {
questionId: 9,
question: 'Ποια είναι η έξοδος από την εκτέλεση του παρακάτω κώδικα C++;',
answers: ['10',
'11',
'20',
'21'],
correctAnswerIndex: 2,
code: ['```cpp\n#include <iostream>\nusing namespace std;\n\nint main() {\n\tint arr[] = {10, 11, 12, 13};\n\tint *p = (arr + 1);\n\tcout << *arr + 10;\n}\n```'],
year: '2017',
imageURL: undefined,
});
map.set('Key', {
title: string,
description: string,
inputDescription: string | undefined,
outputDescription: string | undefined,
input: Array<string>| string | undefined,
// This follows input, if there is input, there must be an output, if there is no input, there must be no output.
output: Array<string>| string | undefined,
url: string | undefined,
constraints: string | undefined,
difficulty: string | undefined,
difficultyGrade: string | undefined,
});
Για παράδειγμα
map.set('count7', {
title: 'count7',
description: 'Να γράψετε ένα πρόγραμμα που να δέχεται ένα διψήφιο φυσικό αριθμό και να βρίσκει πόσα από τα ψηφία του είναι ίσα με 7.',
inputDescription: 'Μόνο μία γραμμή που θα περιέχει το διψήφιο φυσικό αριθμό.',
outputDescription: 'Μόνο μία γραμμή που θα περιέχει ακριβώς ένα φυσικό αριθμό μεταξύ 0 και 2 (συμπεριλαμβανομένων).',
input: ['17', '42', '77'],
output: ['1', '0', '2'],
url: 'http://grader.softlab.ntua.gr/?page=problem&id=72',
constraints: '⏱️: 1s 💻: 16MB',
difficulty: 'Εύκολο',
difficultyGrade: '1',
});