@jutge.org/toolkit 4.2.14 → 4.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/assets/problems/quizzes/demo-quiz.pbm/README.md +20 -0
  2. package/assets/problems/quizzes/demo-quiz.pbm/ca/fill-in-1.yml +48 -0
  3. package/assets/problems/quizzes/demo-quiz.pbm/ca/fill-in-2.yml +29 -0
  4. package/assets/problems/quizzes/demo-quiz.pbm/ca/handler.yml +1 -0
  5. package/assets/problems/quizzes/demo-quiz.pbm/ca/matchings.yml +22 -0
  6. package/assets/problems/quizzes/demo-quiz.pbm/ca/multiple-choice.py +6 -0
  7. package/assets/problems/quizzes/demo-quiz.pbm/ca/multiple-choice.yml +12 -0
  8. package/assets/problems/quizzes/demo-quiz.pbm/ca/open-ended.py +4 -0
  9. package/assets/problems/quizzes/demo-quiz.pbm/ca/open-ended.yml +6 -0
  10. package/assets/problems/quizzes/demo-quiz.pbm/ca/ordering.yml +14 -0
  11. package/assets/problems/quizzes/demo-quiz.pbm/ca/problem.ca.yml +3 -0
  12. package/assets/problems/quizzes/demo-quiz.pbm/ca/quiz.yml +35 -0
  13. package/assets/problems/quizzes/demo-quiz.pbm/ca/single-choice.py +11 -0
  14. package/assets/problems/quizzes/demo-quiz.pbm/ca/single-choice.yml +15 -0
  15. package/assets/problems/quizzes/demo-quiz.pbm/en/award.png +0 -0
  16. package/assets/problems/quizzes/demo-quiz.pbm/en/fill-in-1.yml +53 -0
  17. package/assets/problems/quizzes/demo-quiz.pbm/en/fill-in-2.yml +29 -0
  18. package/assets/problems/quizzes/demo-quiz.pbm/en/handler.yml +1 -0
  19. package/assets/problems/quizzes/demo-quiz.pbm/en/matchings.yml +24 -0
  20. package/assets/problems/quizzes/demo-quiz.pbm/en/multiple-choice.py +6 -0
  21. package/assets/problems/quizzes/demo-quiz.pbm/en/multiple-choice.yml +12 -0
  22. package/assets/problems/quizzes/demo-quiz.pbm/en/open-ended.py +4 -0
  23. package/assets/problems/quizzes/demo-quiz.pbm/en/open-ended.yml +6 -0
  24. package/assets/problems/quizzes/demo-quiz.pbm/en/ordering.yml +14 -0
  25. package/assets/problems/quizzes/demo-quiz.pbm/en/problem.en.yml +4 -0
  26. package/assets/problems/quizzes/demo-quiz.pbm/en/quiz.yml +34 -0
  27. package/assets/problems/quizzes/demo-quiz.pbm/en/single-choice.py +11 -0
  28. package/assets/problems/quizzes/demo-quiz.pbm/en/single-choice.yml +15 -0
  29. package/assets/problems/quizzes/the-answer-is-42.pbm/README.md +14 -0
  30. package/assets/problems/quizzes/the-answer-is-42.pbm/en/handler.yml +1 -0
  31. package/assets/problems/quizzes/the-answer-is-42.pbm/en/problem.en.yml +3 -0
  32. package/assets/problems/quizzes/the-answer-is-42.pbm/en/question.yml +28 -0
  33. package/assets/problems/quizzes/the-answer-is-42.pbm/en/quiz.yml +11 -0
  34. package/dist/index.js +280 -280
  35. package/package.json +9 -1
  36. package/toolkit/doctor.ts +1 -0
@@ -0,0 +1,20 @@
1
+ # Demo quiz
2
+
3
+ ## Features
4
+
5
+ - All types of questions supported:
6
+ - Fill in the blanks
7
+ - Single choice
8
+ - Multiple choice
9
+ - Open ended
10
+ - Ordering
11
+ - Matchings
12
+ - Fill in inside code blocks
13
+ - Hints and feedback
14
+ - Different scoring methods
15
+ - Randomized questions
16
+ - Multiple languages (English and Catalan)
17
+
18
+ ## Abstract
19
+
20
+ This problem is a comprehensive demo for quiz problems on Jutge.org using LaTeX, covering fill in the blanks, single choice, multiple choice, open ended, ordering, matchings, and more.
@@ -0,0 +1,48 @@
1
+ type: FillIn
2
+
3
+ text: "Omple els espais en blanc."
4
+
5
+ context: |
6
+
7
+ Un S1 és un conjunt autocontingut d'operacions pas a pas que s'han de realitzar per resoldre un problema.
8
+
9
+ Un S2 és una col·lecció d'instruccions que realitza una tasca específica quan l'executa un ordinador.
10
+
11
+ Les sis etapes del desenvolupament de programes en ordre lògic són: S3
12
+
13
+ Els algoritmes mai han de ser S4.
14
+
15
+ items:
16
+ S1:
17
+ correct: algorisme
18
+ options:
19
+ - programa
20
+ - algorisme
21
+ - pseudocodi
22
+ - recepta
23
+ - jutge
24
+
25
+ S2:
26
+ correct: programa
27
+ options:
28
+ - programa
29
+ - algorisme
30
+ - pseudocodi
31
+ - recepta
32
+ - jutge
33
+
34
+ S3:
35
+ correct: "Definir, Analitzar, Desenvolupar, Escriure, Provar i Depurar, Documentar"
36
+ options:
37
+ - "Definir, Analitzar, Escriure, Provar, Documentar, Depurar"
38
+ - "Definir, Analitzar, Desenvolupar, Escriure, Provar i Depurar, Documentar"
39
+ - "Definir, Escriure, Desenvolupar, Analitzar, Provar, Documentar"
40
+ - "Definir, Desenvolupar, Escriure, Provar, Documentar, Depurar"
41
+
42
+ S4:
43
+ correct: ambigus
44
+ options:
45
+ - lògics
46
+ - ambigus
47
+ - concisos
48
+ - precisos
@@ -0,0 +1,29 @@
1
+
2
+ type: FillIn
3
+
4
+ text: |
5
+
6
+ Omple els espais en blanc del programa donat perquè calculi la suma d'una llista de nombres.
7
+
8
+ context: |
9
+
10
+ ```python
11
+ def sum (L):
12
+ s = XXXX
13
+ for x in L:
14
+ s = s YYYY x
15
+ return s
16
+ ```
17
+
18
+ items:
19
+ XXXX:
20
+ maxlength: 5
21
+ correct: 0
22
+ YYYY:
23
+ correct: "+"
24
+ options:
25
+ - "+"
26
+ - "-"
27
+ - "*"
28
+ - "/"
29
+ - "."
@@ -0,0 +1 @@
1
+ handler: quiz
@@ -0,0 +1,22 @@
1
+
2
+ type: Matching
3
+
4
+ text: Emparella els països amb les seves capitals.
5
+
6
+ labels:
7
+ - Països
8
+ - Capitals
9
+
10
+ left:
11
+ - France
12
+ - Germany
13
+ - Spain
14
+ - Italy
15
+ - Andorra
16
+
17
+ right:
18
+ - Paris
19
+ - Berlin
20
+ - Madrid
21
+ - Rome
22
+ - Andorra la Vella
@@ -0,0 +1,6 @@
1
+
2
+ import random
3
+
4
+ a = random.randint(1, 10)
5
+ b = random.randint(1, 10)
6
+ s = a + b
@@ -0,0 +1,12 @@
1
+
2
+ type: MultipleChoice
3
+
4
+ text: "Quines de les següents expressions són `true`?"
5
+
6
+ choices:
7
+ - text: "`$s == $a + $b`"
8
+ correct: true
9
+ - text: "`$s != $a + $b`"
10
+ hint: "Ho sento..."
11
+ - text: "`$a + $b >= $s`"
12
+ correct: true
@@ -0,0 +1,4 @@
1
+ import random
2
+
3
+ names = ['John', 'Tina', 'Tim', 'Hermione', 'Rey', 'Julia']
4
+ name = random.choice(names)
@@ -0,0 +1,6 @@
1
+
2
+ type: OpenQuestion
3
+
4
+ text: Parla de tu mateix.
5
+
6
+ placeholder: 'El meu nom és **$name** i vull aprovar aquest curs.'
@@ -0,0 +1,14 @@
1
+
2
+ type: Ordering
3
+
4
+ text: Arrossega i deixa anar l'element per ordenar els llenguatges de programació per data d'aparició (més antics a dalt).
5
+
6
+ label: Llenguatge de programació
7
+
8
+ items:
9
+ - Fortran
10
+ - C
11
+ - C++
12
+ - Python
13
+ - Java
14
+ - Julia
@@ -0,0 +1,3 @@
1
+ title: Qüestionari de demostració
2
+ author: Jordi Petit
3
+ email: jpetit@cs.upc.edu
@@ -0,0 +1,35 @@
1
+ title: Qüestionari de demostració
2
+
3
+ statement: Aquest qüestionari mostra les possibilitats dels problemes de qüestionari a Jutge.org.
4
+
5
+ shuffle: true
6
+
7
+ questions:
8
+ - title: Pregunta d'elecció única
9
+ file: single-choice
10
+ score: 10
11
+ weight: 2
12
+
13
+ - title: Pregunta d'elecció múltiple
14
+ file: multiple-choice
15
+ score: 10
16
+
17
+ - title: Pregunta oberta
18
+ file: open-ended
19
+ score: 10
20
+
21
+ - title: Pregunta d'omplir amb selecció
22
+ file: fill-in-1
23
+ score: 20
24
+
25
+ - title: Pregunta d'omplir amb codi
26
+ file: fill-in-2
27
+ score: 20
28
+
29
+ - title: Pregunta d'ordenació
30
+ file: ordering
31
+ score: 10
32
+
33
+ - title: Pregunta d'emparellament
34
+ file: matchings
35
+ score: 20
@@ -0,0 +1,11 @@
1
+
2
+ import random
3
+
4
+ a = random.randint(1, 10)
5
+ b = random.randint(1, 10)
6
+
7
+ s1 = a + b
8
+ s2 = a + b - 1
9
+ s3 = a + b + 1
10
+ s4 = a - b
11
+ s5 = a * b
@@ -0,0 +1,15 @@
1
+
2
+ type: SingleChoice
3
+
4
+ text: "Quin és el resultat de l'avaluació de `$a + $b`?"
5
+
6
+ choices:
7
+ - text: "`$s1`"
8
+ correct: true
9
+ hint: "Ho has fet bé"
10
+ - text: "`$s2`"
11
+ hint: "Ho sento..."
12
+ - text: "`$s3`"
13
+ hint: "Pensa una mica!"
14
+ - text: "`$s4`"
15
+ - text: "`$s5`"
@@ -0,0 +1,53 @@
1
+
2
+ type: FillIn
3
+
4
+ text: "Fill in the blanks."
5
+
6
+ context: |
7
+
8
+ A/An S1 is a self-contained step-by-step set of operations to be performed to solve a problem.
9
+
10
+ A/An S2 is a collection of instructions that performs a specific task when executed by a computer.
11
+
12
+ The six stages of program development in logical order are: S3
13
+
14
+ Algorithms never must be S4.
15
+
16
+
17
+
18
+ items:
19
+ S1:
20
+ correct: algorithm
21
+ options:
22
+ - program
23
+ - algorithm
24
+ - pseudocode
25
+ - recipe
26
+ - judge
27
+
28
+ S2:
29
+ correct: program
30
+ options:
31
+ - program
32
+ - algorithm
33
+ - pseudocode
34
+ - recipe
35
+ - judge
36
+
37
+
38
+ S3:
39
+ correct: "Define, Analyze, Develop, Write, Test and Debug, Document"
40
+ options:
41
+ - "Define, Analyze, Write, Test, Document, Debug"
42
+ - "Define, Analyze, Develop, Write, Test and Debug, Document"
43
+ - "Define, Write, Develop, Analyze, Test, Document"
44
+ - "Define, Develop, Write, Test, Document, Debug"
45
+
46
+ S4:
47
+ correct: ambiguous
48
+ options:
49
+ - logical
50
+ - ambiguous
51
+ - consice
52
+ - precise
53
+
@@ -0,0 +1,29 @@
1
+
2
+ type: FillIn
3
+
4
+ text: |
5
+
6
+ Fill in the blanks of the given program so that it computes the sum of a list of numbers.
7
+
8
+ context: |
9
+
10
+ ```python
11
+ def sum (L):
12
+ s = XXXX
13
+ for x in L:
14
+ s = s YYYY x
15
+ return s
16
+ ```
17
+
18
+ items:
19
+ XXXX:
20
+ maxlength: 5
21
+ correct: 0
22
+ YYYY:
23
+ correct: "+"
24
+ options:
25
+ - "+"
26
+ - "-"
27
+ - "*"
28
+ - "/"
29
+ - "."
@@ -0,0 +1 @@
1
+ handler: quiz
@@ -0,0 +1,24 @@
1
+
2
+ type: Matching
3
+
4
+ text: Match the countries with their capitals.
5
+
6
+ partial_answer: true
7
+
8
+ labels:
9
+ - Countries
10
+ - Capitals
11
+
12
+ left:
13
+ - France
14
+ - Germany
15
+ - Spain
16
+ - Italy
17
+ - Andorra
18
+
19
+ right:
20
+ - Paris
21
+ - Berlin
22
+ - Madrid
23
+ - Rome
24
+ - Andorra la Vella
@@ -0,0 +1,6 @@
1
+
2
+ import random
3
+
4
+ a = random.randint(1, 10)
5
+ b = random.randint(1, 10)
6
+ s = a + b
@@ -0,0 +1,12 @@
1
+
2
+ type: MultipleChoice
3
+
4
+ text: "Which of the following expressions are `true`?"
5
+
6
+ choices:
7
+ - text: "`$s == $a + $b`"
8
+ correct: true
9
+ - text: "`$s != $a + $b`"
10
+ hint: "Sorry..."
11
+ - text: "`$a + $b >= $s`"
12
+ correct: true
@@ -0,0 +1,4 @@
1
+ import random
2
+
3
+ names = ['John', 'Tina', 'Tim', 'Hermione', 'Rey', 'Julia']
4
+ name = random.choice(names)
@@ -0,0 +1,6 @@
1
+
2
+ type: OpenQuestion
3
+
4
+ text: Talk about yourself. ![](FIG_DIR/award.png)
5
+
6
+ placeholder: 'My name is **$name** and I want to pass this course.'
@@ -0,0 +1,14 @@
1
+
2
+ type: Ordering
3
+
4
+ text: Drag and drop the item to order the programming languages by date of appearance (older on top).
5
+
6
+ label: Programming language
7
+
8
+ items:
9
+ - Fortran
10
+ - C
11
+ - C++
12
+ - Python
13
+ - Java
14
+ - Julia
@@ -0,0 +1,4 @@
1
+ title: Demo quiz
2
+ translator: Jordi Petit
3
+ translator_email: jpetit@cs.upc.edu
4
+ original_language: ca
@@ -0,0 +1,34 @@
1
+ title: Demo quiz
2
+
3
+ statement: This quiz showcases the possibilities of the quiz problems at Jutge.org.
4
+
5
+ shuffle: true
6
+
7
+ questions:
8
+ - title: Single choice question
9
+ file: single-choice
10
+ score: 10
11
+
12
+ - title: Multiple choice question
13
+ file: multiple-choice
14
+ score: 10
15
+
16
+ - title: Open ended question
17
+ file: open-ended
18
+ score: 10
19
+
20
+ - title: Fill in question with selection
21
+ file: fill-in-1
22
+ score: 20
23
+
24
+ - title: Fill in question with code
25
+ file: fill-in-2
26
+ score: 20
27
+
28
+ - title: Ordering question
29
+ file: ordering
30
+ score: 10
31
+
32
+ - title: Matchings question
33
+ file: matchings
34
+ score: 20
@@ -0,0 +1,11 @@
1
+
2
+ import random
3
+
4
+ a = random.randint(1, 10)
5
+ b = random.randint(1, 10)
6
+
7
+ s1 = a + b
8
+ s2 = a + b - 1
9
+ s3 = a + b + 1
10
+ s4 = a - b
11
+ s5 = a * b
@@ -0,0 +1,15 @@
1
+
2
+ type: SingleChoice
3
+
4
+ text: "What is the result of the evaluation of `$a + $b`?"
5
+
6
+ choices:
7
+ - text: "`$s1`"
8
+ correct: true
9
+ hint: "You did well"
10
+ - text: "`$s2`"
11
+ hint: "Sorry..."
12
+ - text: "`$s3`"
13
+ hint: "Think a bit!"
14
+ - text: "`$s4`"
15
+ - text: "`$s5`"
@@ -0,0 +1,14 @@
1
+ # The answers is 42
2
+
3
+ ## Features
4
+
5
+ - Simple quiz with only one question
6
+ - The answer is always 42
7
+
8
+ ## Abstract
9
+
10
+ This repository contains a simple implementation of a quiz application that asks a single question: "What is the answer to life, the universe, and everything?" The correct answer is always 42, inspired by Douglas Adams' "The Hitchhiker's Guide to the Galaxy."
11
+
12
+ ## Note
13
+
14
+ It is not yet possible to have more than language of a quiz problem in a single repository. Different languages require a language directory each (even if there is only one language).
@@ -0,0 +1,3 @@
1
+ author: Jordi Petit
2
+ title: The answer is 42
3
+ email: jpetit@lsi.upc.edu
@@ -0,0 +1,28 @@
1
+
2
+ type: FillIn
3
+
4
+ text: |
5
+
6
+ En aquest problema, suposeu que 1 és un nombre primer. Així, els nombres
7
+ primers amb un dígit són 1, 2, 3, 5 i 7.
8
+
9
+ Diem que un nombre és un superprimer
10
+ si totes les cadenes de dígits adjacents contingudes dins del nombre són nombres primers.
11
+ Per exemple, 137 és un superprimer, perquè 1, 3, 7, 13, 37 i 137 són tots nombres primers.
12
+
13
+
14
+
15
+
16
+ context: |
17
+
18
+ Quin és el nombre superprimer més gran?
19
+
20
+ XXXX
21
+
22
+ items:
23
+ XXXX:
24
+ maxlength: 20
25
+ placeholder: "?"
26
+ correct: 3137
27
+ ignorecase: true
28
+ trim: true
@@ -0,0 +1,11 @@
1
+ title: The answer is 42
2
+
3
+ statement: "What is the answer to life, the universe, and everything?"
4
+
5
+ shuffle: false
6
+
7
+ questions:
8
+
9
+ - title: Write the answer
10
+ file: question
11
+ score: 100