Age | Commit message (Collapse) | Author |
|
|
|
Conflicts:
testapp/templates/demo_urls.py
|
|
|
|
- Update unanswered questions by model method not model field
- Validate unanswered question
|
|
- Remove Attempt later button on last question
- Improve mechanism for cycling through
- Add attempt summary on Quit or Completion
- Fix error paginator not displaying on error
|
|
|
|
- Change functions names in code_evaluator
|
|
- Rename files
- Create function for @classmethod call
- Fix current, add new testcases
- Fix views to fetch solution/ref_code_path fields in question post save
- Fix errors
|
|
- Add from_json classmethod
- Question language is passed directly to the code server
- Fix errors in evaluation of code
- Fix test cases
|
|
- Add subclasses for different languages
- Create seperate modules for different languages
- Dynamic selection of subclasses based on language used
- Add testcases
|
|
- Further commonify and simplify code_server, fix bugs
|
|
- make loop in consolidate_test_cases more readable
- split signal handler func definition into three seperate func
- pass seperate kwargs to TestCode class
- unpack json in CodeServer class and then pass to TestCode
|
|
- ref_code_path is now part of Question model
- MCQ/MCC answers checked using solution field in question model
- Formset should reload even after errors
- add_question page chould display solution field only in MCQ/MCC
|
|
- Pass question and test case info as json string (info_parameter)
- Return success status and error message as a json string
- Embed user answer and question lang in info_parameter
- Commonify Python code evaluations and assertion test
- Deprecate individual function call based on language
|
|
|
|
|
|
Conflicts:
testapp/exam/admin.py
testapp/exam/models.py
testapp/exam/views.py
|
|
Conflicts:
testapp/exam/models.py
testapp/exam/views.py
|
|
Added boolean field in Answer model to check whether the
answered is skipped or not.
|
|
|
|
Can have multiple attempts for a quiz.
Can also specify time lag between two successive attempts for a given
quiz.
Students can upload their code through the interface.
The code will be saved in the folder named after their roll number.
And the file name will be the question id.
|
|
The user answer will be retrieved when the same question is loaded again
later.
|
|
|
|
|
|
|
|
Added number of attempts option for quiz.
Also days lag between two attempts.
added test status and attempt number for the test.
Removed profile foreign key from answer paper models
since user foreign key is present in the answer paper model.
Urls slightly modified to include attemt number for a given quiz.
|
|
|
|
|
|
|
|
|
|
And changed variables to lowercases
|
|
|
|
|
|
Added shuffle option in the question paper.
Added language field, passing criteria and prerequisite quiz in quiz.
Added pass/fail result and percentage field in the answerpaper.
|
|
|
|
|
|
QuestionPaper model modified for generating random questions.
Added language field to Question model.
Removed tags from Quiz model.
Template and javascript for Add and Edit questions modified.
Added test cases for models.
|
|
Conflicts:
testapp/exam/forms.py
|
|
|
|
A method is created that checks the scilab function submitted by the
student.
The method removes the terminating commands in scilab.
If errors are present then it returns error,
else provides input to the function and checks for the
expected output.
If function returns correct output for all the inputs then
the function is graded correct, else throws the error message.
|
|
testing.
|
|
into deploy_server
Conflicts:
testapp/templates/exam/question.html
|
|
|
|
|
|
Added a function which compiles C and C++ code submitted by the student.
1) If compilation is successful, then the submitted code is tested using
test-cases.
2) To test the function written by the student, a C++ file calls the
function and passes the argument to the function. Then the function
checks for the expected return value.
3) If the return value is as expected, then a different set of arguments
are passed, and the output is checked.
4) If for all set of arguments the output is as expected then the student
code is graded correct else the error is displayed to the student.
Changed the way the code is graded.
Previously, the algorithm checked the student code for all test-cases.
If all the test-cases were satisfied, the last-line
of the program was reached and printed "All Correct". So at
any point if a test-case fails, the last line is not reached as
the program was terminate. When the string "All Correct" was
found in the output, the code was graded as RIGHT else WRONG.
This is not a proper way for code checking, as the student code *may*
contain a print statement with the string('All Correct'), and thus
can get program RIGHT even though it is WRONG.
So now the student code is tested as follows:
1) The code checks for all test-cases.
2) If all test-cases are satisfied then it returns 0.
3) If any one of the test-case fails, the program is terminated and will return 1.
4) Now depending on the return status(0 or 1), it will grade the code.
a) if 0 then RIGHT
b) if 1 then WRONG
This ensures, no manipulation from student side.
|
|
|
|
|
|
|
|
|
|
|