diff options
Diffstat (limited to 'testapp/exam')
-rw-r--r-- | testapp/exam/docs/sample.args | 2 | ||||
-rwxr-xr-x | testapp/exam/docs/sample.sh | 2 | ||||
-rw-r--r-- | testapp/exam/docs/sample_questions.py | 84 | ||||
-rw-r--r-- | testapp/exam/docs/sample_questions.xml | 43 | ||||
-rw-r--r-- | testapp/exam/settings.py | 6 |
5 files changed, 134 insertions, 3 deletions
diff --git a/testapp/exam/docs/sample.args b/testapp/exam/docs/sample.args new file mode 100644 index 0000000..4d9f00d --- /dev/null +++ b/testapp/exam/docs/sample.args @@ -0,0 +1,2 @@ +1 2 +2 1 diff --git a/testapp/exam/docs/sample.sh b/testapp/exam/docs/sample.sh new file mode 100755 index 0000000..e935cb3 --- /dev/null +++ b/testapp/exam/docs/sample.sh @@ -0,0 +1,2 @@ +#!/bin/bash +[[ $# -eq 2 ]] && echo $(( $1 + $2 )) && exit $(( $1 + $2 )) diff --git a/testapp/exam/docs/sample_questions.py b/testapp/exam/docs/sample_questions.py new file mode 100644 index 0000000..60f32cb --- /dev/null +++ b/testapp/exam/docs/sample_questions.py @@ -0,0 +1,84 @@ +from datetime import date + +questions = [ +[Question( + summary='Factorial', + points=2, + language='python', + type='code', + description=''' +Write a function called <code>fact</code> which takes a single integer argument +(say <code>n</code>) and returns the factorial of the number. +For example:<br/> +<code>fact(3) -> 6</code> +''', + test=''' +assert fact(0) == 1 +assert fact(5) == 120 +''', + snippet="def fact(num):" + ), +#Add tags here as a list of string. +['Python','function','factorial'], +], + +[Question( + summary='Simple function', + points=1, + language='python', + type='code', + description='''Create a simple function called <code>sqr</code> which takes a single +argument and returns the square of the argument. For example: <br/> +<code>sqr(3) -> 9</code>.''', + test=''' +import math +assert sqr(3) == 9 +assert abs(sqr(math.sqrt(2)) - 2.0) < 1e-14 + ''', + snippet="def sqr(num):" + ), +#Add tags here as a list of string. +['Python','function'], +], + +[Question( + summary='Bash addition', + points=2, + language='bash', + type='code', + description='''Write a shell script which takes two arguments on the + command line and prints the sum of the two on the output.''', + test='''\ +docs/sample.sh +docs/sample.args +''', + snippet="#!/bin/bash" + ), +#Add tags here as a list of string. +[''], +], + +[Question( + summary='Size of integer in Python', + points=0.5, + language='python', + type='mcq', + description='''What is the largest integer value that can be represented +in Python?''', + options='''No Limit +2**32 +2**32 - 1 +None of the above +''', + test = "No Limit" + ), +#Add tags here as a list of string. +['mcq'], +], + +] #list of questions ends here + +quiz = Quiz(start_date=date.today(), + duration=10, + description='Basic Python Quiz 1' + ) diff --git a/testapp/exam/docs/sample_questions.xml b/testapp/exam/docs/sample_questions.xml new file mode 100644 index 0000000..53c76f8 --- /dev/null +++ b/testapp/exam/docs/sample_questions.xml @@ -0,0 +1,43 @@ +<question_bank> + +<question> +<summary> +Factorial +</summary> +<description> +Write a function called "fact" which takes a single integer argument (say "n") +and returns the factorial of the number. +For example fact(3) -> 6 +</description> +<points>2</points> +<type>python</type> +<test> +assert fact(0) == 1 +assert fact(5) == 120 +</test> +<options> +</options> +</question> + +<question> +<summary> +Simple function +</summary> +<description> +Create a simple function called "sqr" which takes a single argument and +returns the square of the argument +For example sqr(3) -> 9. +</description> +<points>1</points> +<type>python</type> +<test> +import math +assert sqr(3) == 9 +assert abs(sqr(math.sqrt(2)) - 2.0) < 1e-14 +</test> +<options> +</options> +</question> + + +</question_bank> diff --git a/testapp/exam/settings.py b/testapp/exam/settings.py index 81605d9..55c82dc 100644 --- a/testapp/exam/settings.py +++ b/testapp/exam/settings.py @@ -23,7 +23,7 @@ code_evaluators = { "python": "python_code_evaluator.PythonCodeEvaluator", "c": "c_cpp_code_evaluator.CCPPCodeEvaluator", "cpp": "c_cpp_code_evaluator.CCPPCodeEvaluator", - "java": "java_evaluator.JavaCodeEvaluator", - "bash": "bash_evaluator.BashCodeEvaluator", - "scilab": "scilab_evaluator.ScilabCodeEvaluator", + "java": "java_code_evaluator.JavaCodeEvaluator", + "bash": "bash_code_evaluator.BashCodeEvaluator", + "scilab": "scilab_code_evaluator.ScilabCodeEvaluator", } |