diff options
Diffstat (limited to 'yaksh/documentation')
38 files changed, 336 insertions, 221 deletions
diff --git a/yaksh/documentation/conf.py b/yaksh/documentation/conf.py index 39481c7..627217f 100644 --- a/yaksh/documentation/conf.py +++ b/yaksh/documentation/conf.py @@ -59,7 +59,7 @@ master_doc = 'index' # General information about the project. project = u'Yaksh' -copyright = u'2018, FOSSEE' +copyright = u'2020, FOSSEE' author = u'FOSSEE' # The version info for the project you're documenting, acts as replacement for @@ -67,9 +67,9 @@ author = u'FOSSEE' # built documents. # # The short X.Y version. -version = u'0.7' +version = u'0.13' # The full version, including alpha/beta/rc tags. -release = u'Feb 2018' +release = u'April 2020' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/yaksh/documentation/images/add_exercise.jpg b/yaksh/documentation/images/add_exercise.jpg Binary files differindex 2512f1a..47e7c49 100644 --- a/yaksh/documentation/images/add_exercise.jpg +++ b/yaksh/documentation/images/add_exercise.jpg diff --git a/yaksh/documentation/images/add_lesson.jpg b/yaksh/documentation/images/add_lesson.jpg Binary files differindex 6de272c..819d035 100644 --- a/yaksh/documentation/images/add_lesson.jpg +++ b/yaksh/documentation/images/add_lesson.jpg diff --git a/yaksh/documentation/images/add_module.jpg b/yaksh/documentation/images/add_module.jpg Binary files differnew file mode 100644 index 0000000..5f3f890 --- /dev/null +++ b/yaksh/documentation/images/add_module.jpg diff --git a/yaksh/documentation/images/add_question.jpg b/yaksh/documentation/images/add_question.jpg Binary files differindex b9b5bc7..3a4c73e 100644 --- a/yaksh/documentation/images/add_question.jpg +++ b/yaksh/documentation/images/add_question.jpg diff --git a/yaksh/documentation/images/add_quiz.jpg b/yaksh/documentation/images/add_quiz.jpg Binary files differindex 3264684..d2e7fd8 100644 --- a/yaksh/documentation/images/add_quiz.jpg +++ b/yaksh/documentation/images/add_quiz.jpg diff --git a/yaksh/documentation/images/bash_standard_testcase.jpg b/yaksh/documentation/images/bash_standard_testcase.jpg Binary files differindex a017445..3bbbdea 100644 --- a/yaksh/documentation/images/bash_standard_testcase.jpg +++ b/yaksh/documentation/images/bash_standard_testcase.jpg diff --git a/yaksh/documentation/images/course_details_features.jpg b/yaksh/documentation/images/course_details_features.jpg Binary files differindex 63b4b2e..34ea117 100644 --- a/yaksh/documentation/images/course_details_features.jpg +++ b/yaksh/documentation/images/course_details_features.jpg diff --git a/yaksh/documentation/images/course_features.jpg b/yaksh/documentation/images/course_features.jpg Binary files differindex 2da356e..d911188 100644 --- a/yaksh/documentation/images/course_features.jpg +++ b/yaksh/documentation/images/course_features.jpg diff --git a/yaksh/documentation/images/course_modules.jpg b/yaksh/documentation/images/course_modules.jpg Binary files differnew file mode 100644 index 0000000..4c16eb3 --- /dev/null +++ b/yaksh/documentation/images/course_modules.jpg diff --git a/yaksh/documentation/images/cpp_standard_testcase.jpg b/yaksh/documentation/images/cpp_standard_testcase.jpg Binary files differindex cfb1d89..59b801f 100644 --- a/yaksh/documentation/images/cpp_standard_testcase.jpg +++ b/yaksh/documentation/images/cpp_standard_testcase.jpg diff --git a/yaksh/documentation/images/create_course.jpg b/yaksh/documentation/images/create_course.jpg Binary files differindex bcf1eff..61d8329 100644 --- a/yaksh/documentation/images/create_course.jpg +++ b/yaksh/documentation/images/create_course.jpg diff --git a/yaksh/documentation/images/design_course.jpg b/yaksh/documentation/images/design_course.jpg Binary files differindex 287ebea..b6701db 100644 --- a/yaksh/documentation/images/design_course.jpg +++ b/yaksh/documentation/images/design_course.jpg diff --git a/yaksh/documentation/images/design_module.jpg b/yaksh/documentation/images/design_module.jpg Binary files differindex eda8825..3757586 100644 --- a/yaksh/documentation/images/design_module.jpg +++ b/yaksh/documentation/images/design_module.jpg diff --git a/yaksh/documentation/images/design_questionpaper.jpg b/yaksh/documentation/images/design_questionpaper.jpg Binary files differindex 05da597..d748754 100644 --- a/yaksh/documentation/images/design_questionpaper.jpg +++ b/yaksh/documentation/images/design_questionpaper.jpg diff --git a/yaksh/documentation/images/embed_video.jpg b/yaksh/documentation/images/embed_video.jpg Binary files differindex 84d18a2..e441a31 100644 --- a/yaksh/documentation/images/embed_video.jpg +++ b/yaksh/documentation/images/embed_video.jpg diff --git a/yaksh/documentation/images/float_testcase.jpg b/yaksh/documentation/images/float_testcase.jpg Binary files differindex 70b8a9f..a5c9ab0 100644 --- a/yaksh/documentation/images/float_testcase.jpg +++ b/yaksh/documentation/images/float_testcase.jpg diff --git a/yaksh/documentation/images/hook_testcase.jpg b/yaksh/documentation/images/hook_testcase.jpg Binary files differindex 4d404f6..49650fc 100644 --- a/yaksh/documentation/images/hook_testcase.jpg +++ b/yaksh/documentation/images/hook_testcase.jpg diff --git a/yaksh/documentation/images/integer_testcase.jpg b/yaksh/documentation/images/integer_testcase.jpg Binary files differindex 58ff6be..8d32cfd 100644 --- a/yaksh/documentation/images/integer_testcase.jpg +++ b/yaksh/documentation/images/integer_testcase.jpg diff --git a/yaksh/documentation/images/java_standard_testcase.jpg b/yaksh/documentation/images/java_standard_testcase.jpg Binary files differindex c13f618..949c783 100644 --- a/yaksh/documentation/images/java_standard_testcase.jpg +++ b/yaksh/documentation/images/java_standard_testcase.jpg diff --git a/yaksh/documentation/images/mcc_testcase.jpg b/yaksh/documentation/images/mcc_testcase.jpg Binary files differindex 7101833..11b3b0b 100644 --- a/yaksh/documentation/images/mcc_testcase.jpg +++ b/yaksh/documentation/images/mcc_testcase.jpg diff --git a/yaksh/documentation/images/mcq_testcase.jpg b/yaksh/documentation/images/mcq_testcase.jpg Binary files differindex afb51ca..dc705df 100644 --- a/yaksh/documentation/images/mcq_testcase.jpg +++ b/yaksh/documentation/images/mcq_testcase.jpg diff --git a/yaksh/documentation/images/moderator_dashboard.jpg b/yaksh/documentation/images/moderator_dashboard.jpg Binary files differindex 739d221..4486083 100644 --- a/yaksh/documentation/images/moderator_dashboard.jpg +++ b/yaksh/documentation/images/moderator_dashboard.jpg diff --git a/yaksh/documentation/images/python_standard_testcase.jpg b/yaksh/documentation/images/python_standard_testcase.jpg Binary files differindex a4d2ac8..5536aa8 100644 --- a/yaksh/documentation/images/python_standard_testcase.jpg +++ b/yaksh/documentation/images/python_standard_testcase.jpg diff --git a/yaksh/documentation/images/questions.jpg b/yaksh/documentation/images/questions.jpg Binary files differindex 1935541..4afa888 100644 --- a/yaksh/documentation/images/questions.jpg +++ b/yaksh/documentation/images/questions.jpg diff --git a/yaksh/documentation/images/scilab_standard_testcase.jpg b/yaksh/documentation/images/scilab_standard_testcase.jpg Binary files differnew file mode 100644 index 0000000..f7598e3 --- /dev/null +++ b/yaksh/documentation/images/scilab_standard_testcase.jpg diff --git a/yaksh/documentation/images/stdio_testcase.jpg b/yaksh/documentation/images/stdio_testcase.jpg Binary files differindex 9a041ba..1526e6b 100644 --- a/yaksh/documentation/images/stdio_testcase.jpg +++ b/yaksh/documentation/images/stdio_testcase.jpg diff --git a/yaksh/documentation/images/string_testcase.jpg b/yaksh/documentation/images/string_testcase.jpg Binary files differindex 6cd2b72..5c6a1e8 100644 --- a/yaksh/documentation/images/string_testcase.jpg +++ b/yaksh/documentation/images/string_testcase.jpg diff --git a/yaksh/documentation/images/view_lessons.jpg b/yaksh/documentation/images/view_lessons.jpg Binary files differdeleted file mode 100644 index 4229afe..0000000 --- a/yaksh/documentation/images/view_lessons.jpg +++ /dev/null diff --git a/yaksh/documentation/images/view_modules.jpg b/yaksh/documentation/images/view_modules.jpg Binary files differdeleted file mode 100644 index 5b535d3..0000000 --- a/yaksh/documentation/images/view_modules.jpg +++ /dev/null diff --git a/yaksh/documentation/images/view_quizzes.jpg b/yaksh/documentation/images/view_quizzes.jpg Binary files differdeleted file mode 100644 index 43bb36f..0000000 --- a/yaksh/documentation/images/view_quizzes.jpg +++ /dev/null diff --git a/yaksh/documentation/installation.rst b/yaksh/documentation/installation.rst index 1c90997..e74a6f0 100644 --- a/yaksh/documentation/installation.rst +++ b/yaksh/documentation/installation.rst @@ -2,33 +2,50 @@ Installation ============ +Requirements +------------ + +Python 3.6, 3.7, 3.8 + +Django 3.0.3 + Installing Yaksh ---------------- +If Python 3.6 and above is not available in the system, then we recommend using +miniconda + +**Installing Miniconda** + +1. Download miniconda from https://docs.conda.io/en/latest/miniconda.html according to the OS version. + +2. Follow the installation instructions as given in https://conda.io/projects/conda/en/latest/user-guide/install/index.html#regular-installation + +3. Restart the Terminal. **Pre-Requisite** * Ensure `pip <https://pip.pypa.io/en/latest/installing.html>`_ is installed -**For installing Yaksh** +**Installing Yaksh** 1. **Clone the repository**:: - $ git clone https://github.com/FOSSEE/online_test.git + git clone https://github.com/FOSSEE/online_test.git 2. **Go to the online_test directory**:: - $ cd ./online_test + cd ./online_test - 3. **Install the dependencies** - - * For Python 2 use:: + 3. **Install the dependencies**: - $ pip install -r ./requirements/requirements-py2.txt + * Install Django and dependencies:: - * For Python 3 (recommended) use:: + pip install -r ./requirements/requirements-common.txt - $ pip install -r ./requirements/requirements-py3.txt + * Install Code Server dependencies:: + sudo pip3 install -r requirements/requirements-codeserver.txt Quick Start ----------- @@ -93,9 +110,7 @@ Production Deployment :: - pip install -r requirements/requirements-py2.txt # For Python 2 - - pip3 install -r requirements/requirements-py3.txt # For Python 3 + pip3 install -r requirements/requirements-py3.txt # For Python 3.x 3. Install MySql Server 4. Install Python MySql support @@ -157,9 +172,6 @@ Production Deployment :: - $ sudo python -m yaksh.code_server # For Python 2.x - - $ sudo python3 -m yaksh.code_server # For Python 3.x Put this in the background once it has started since this will not @@ -298,25 +310,14 @@ Production Deployment * **Additional commands available** - We provide several convenient commands for you to use: + * **create_moderator** : Use this command to make a user as moderator. - - load\_exam : load questions and a quiz from a python file. See - docs/sample\_questions.py + :: - - load\_questions\_xml : load questions from XML file, see - docs/sample\_questions.xml use of this is deprecated in favor of - load\_exam. + python manage.py create_moderator <username> - - results2csv : Dump the quiz results into a CSV file for further - processing. - - - dump\_user\_data : Dump out relevalt user data for either all users - or specified users. - - For more information on these do this: + For more information on the command: :: - $ python manage.py help [command] - - where [command] is one of the above. + python manage.py help [command-name] diff --git a/yaksh/documentation/moderator_dashboard.rst b/yaksh/documentation/moderator_dashboard.rst index 4b5bfea..441106a 100644 --- a/yaksh/documentation/moderator_dashboard.rst +++ b/yaksh/documentation/moderator_dashboard.rst @@ -6,6 +6,21 @@ On logging in moderators see the following dashboard. .. image:: images/moderator_dashboard.jpg +There are two options available: + * **Add Course** + It allows to create a new course. + * **Create Demo Course** + It creates a demo course contaning sample lesson and quiz with questions. + +The dashboard contains all the courses. Each course provides two options + + * **Manage Course** + Click on this button to manage the course. See the Manage course section + in the :doc:`moderator_docs/creating_course` page for more details. + * **Details** + Clicking on the Details button shows all the quizzes in the course. + Click on the quiz link to monitor the quiz. + The following pages explain the various functions available for moderators diff --git a/yaksh/documentation/moderator_docs/creating_course.rst b/yaksh/documentation/moderator_docs/creating_course.rst index 5aaddf5..78e9907 100644 --- a/yaksh/documentation/moderator_docs/creating_course.rst +++ b/yaksh/documentation/moderator_docs/creating_course.rst @@ -23,11 +23,15 @@ Setting up a new course * **Code** If the course should be hidden and only accessible to students possessing the correct course code. * **Instructions** - Instructions for the course + Instructions for the course. * **Start Date and Time for enrollment of course** - If the enrollment of the course should be available only after a set date and time + If the enrollment of the course should be available only after a set date and time. * **End Date and Time for enrollment of course** - If the enrollment of the course should be available only before a set date and time + If the enrollment of the course should be available only before a set date and time. + * **Grading System** + Add a grading system to the course. + * **View Grade** + This field allows the student to view the grade if checked else grade is not visible to student. Features in Courses @@ -39,98 +43,114 @@ Features in Courses This page shows all the courses created by a moderator and all the courses allotted to a moderator. - The following features are available for courses + The following options are available in the courses page + * **My Courses** + Click to show all the courses created by you. + * **Add/Edit Course** + Click to add the details of a new course. + * **Add/View Grading Systems** + Add or view grading systems. More info on creating grading system + * **Search/Filter Courses** + Search the courses by name or filter the course with active and inactive status. * **Course Name** - Click on course name link to view all the enrolled, rejected and requested students list. Moderator can accept or reject the student. - * **Module Name** - Click to edit a module added to the course - * **Lesson or Quiz Name** - Click to edit a Lesson or Quiz added to the course - - In edit quiz you can also attempt the quiz in two modes - - * **God Mode** - In God mode you can attempt quiz without any time or eligibilty constraints. - * **User Mode** - In user mode you can attempt quiz the way normal users will attempt i.e. - - * Quiz will have the same duration as that of the original quiz. - * Quiz won't start if the course is inactive or the quiz time has expired. - * **Add Quizzes/Lessons for <module-name>** - Click to add/delete lessons or quizzes. - * **Design Course** - Click to add/delete modules of a course. - * **Add Teacher** - Click to add teachers for the course. The teachers can edit and modify only the specific course that are allotted to them. + Shows course name of all the created and allotted courses. + * **Edit Course** + Click this button to edit the corresponding course details. + * **Manage Course** + This provides more options for the course. For e.g. setting up modules, + lessons, quizzes, practice exercises, students enrollments etc. + * **Download** + This button provides two options. One is to download the course CSV containing student data, Other is to download entire course for offline viewing. * **Clone Course** Click to create a copy of a course along with its modules, lessons and quizzes. - * **Teachers added to the course** - This shows all the teachers added to a particular course. - * **Download CSV for the entire course** - This downloads the CSV file containing the performance of all students in every quiz for a given course. - * **Edit Course** - Click to edit the details of an existing course. - * **Deactivate/Activate Course** - Click to deactivate or activate the course. - * **My Courses** - Click to show all the courses created by you. - * **Allotted courses** - Click to view all the courses allotted to you. - * **Add New Course** - Click to open course form to create new course. - * **Add/View Quizzes** - Click to view all the quizzes created by you or add new quiz. - * **Add/View Lessons** - Click to view all the lessons created by you or add new lesson. - * **Add/View Modules** - Click to view all the modules created by you or add new module. - - -Design a Course ---------------- + * **Activate/Deactivate Course** + Toogle to activate or deactivate the course. - Clicking on **Design Course** will show the below page. - .. image:: ../images/design_course.jpg +Manage Course +-------------------------- - **Available Modules** contains all the modules that are not added to a course. + Click on the Manage course button to view the course details page. - To add a module to the course select the checkbox besides the desired module to be added and click **Add to course** button. + .. image:: ../images/course_details_features.jpg - **Chosen Modules** contains all the modules that are added to a course. + Following are the features for course details - - Following parameters can be changed while designing a course: + * **Enroll Students** + * **Upload Users** + Create and enroll users automatically by uploading a csv of the users. The mandatory fields for this csv are - **firstname, lastname, email**. Other fields like **username, password, institute, roll_no, department, remove** fields are optionals. + * **Requests** + This is a list of students who have requested to be enrolled in the course. Moderator can enroll or reject selected students. + * **Enrolled** + This is a list of students who have been enrolled in the course. Moderator can reject enrolled students. + * **Rejected** + This is a list of students who have been rejected for enrollment in a course. Moderator can enroll rejected students. + * **Course Modules** + Moderator can send mail to all enrolled students or selected students. - **Order** - Order in which modules are shown to a student. + .. image:: ../images/course_modules.jpg - To change a module's order change the value to a desired order in the textbox under **Order** column and click **Change order**. + * **Add Module** + Click on this button to add a module to the course. Fill the details + of the module and save it. - **Check Prerequisite** - Check if previous module is completed. Default value is **Yes**. - For e.g., Assuming a course contains modules **Demo Module** and **Python module** in the given order; a student has to first complete **Demo module** to attempt **Python Module** if the **Check Prerequisite** value for **Python Module** is checked **Yes**. + After creating a module for the course, following options are available: - **Currently** column shows the current value of **Check Prerequisite** which in this case is **Yes**. + * **Add Lesson** + Add lesson to the corresponding module. - Select the checkbox from **Change** column under **Check Prerequisite** and click **Change Prerequisite** button to change the value. + * **Add Quiz** + Add a graded quiz to the correspoding module. - To remove a module from the course select the checkbox beside every module and click **Remove from course** button. - + * **Add Exercise** + Add a ungraded practice exercise to the corresponding module. -Features in Course Details --------------------------- + * **Design Module** + This option allows you to change the order of the units added to + the module, check for prerequisites of the module and remove a unit from the module. + * **Design Course** + Clicking on **Design Course** will show the below page. - Click on a given course name to go to the course details page. + .. image:: ../images/design_course.jpg - .. image:: ../images/course_details_features.jpg + * **Available Modules** contains all the modules that are not added to a course. - Following are the features for course details - + To add a module to the course select the checkbox besides the desired module to be added and click **Add to course** button. + + * **Chosen Modules** contains all the modules that are added to a course. + + Following parameters can be changed while designing a course: + + * **Order** + Order in which modules are shown to a student. + + To change a module's order change the value to a desired order in the textbox under **Order** column and click **Change order**. + + * **Check Prerequisite Completion** + Check if previous module is completed. Default value is **Yes**. + + For e.g., Assuming a course contains modules **Demo Module** and **Trial for trial_course** in the given order; a student has to first complete **Demo module** to attempt **Trial for trial_course** if the **Check Prerequisite** value for **Trial for trial_course** is checked **Yes**. + + **Currently** column shows the current value of **Change Prerequisite Completion** which in this case is **Yes**. + + Select the checkbox from **Change** column under **Check Prerequisite Completion** and click **Change Prerequisite Completion** button to change the value. + + * **Check Prerequisite Passing** + Check if previous module is completed. Default value is **Yes**. This is similar to **Check Prerequisite Completion** except that it checks if all the quizzes in the module are passed or not. + + **Currently** column shows the current value of **Change Prerequisite Passing** which in this case is **Yes**. + + Select the checkbox from **Change** column under **Check Prerequisite Passing** and click **Change Prerequisite Passing** button to change the value. - * **Requests** - This is a list of students who have requested to be enrolled in the course. Moderator can enroll or reject selected students. - * **Enrolled** - This is a list of students who have been enrolled in the course. Moderator can reject enrolled students. - * **Rejected** - This is a list of students who have been rejected for enrollment in a course. Moderator can enroll rejected students. - * **Upload Users** - Create and enroll users automatically by uploading a csv of the users. The mandatory fields for this csv are - **firstname, lastname, email**. Other fields like **username, password, institute, roll_no, department, remove** fields are optionals. + * **Remove Module** + To remove a module from the course select the checkbox beside every module and click **Remove from course** button. + * **Course Progress** + It shows progress made by the students in the course. Moderator can also + download the course progress data. * **Send Mail** Moderator can send mail to all enrolled students or selected students. - * **View Course Status** - View students' progress through the course. + * **Add Teachers/TAs** + Moderator can search for the users by username, email, first name and last name to add as Teacher/TA to the course. + * **Current Teachers/TAs** + It shows all the added Teachers/TAs to the course. Added users can view and edit the course, modules, lessons and quizzes available in the course. diff --git a/yaksh/documentation/moderator_docs/creating_lessons_modules.rst b/yaksh/documentation/moderator_docs/creating_lessons_modules.rst index e057be0..b61789e 100644 --- a/yaksh/documentation/moderator_docs/creating_lessons_modules.rst +++ b/yaksh/documentation/moderator_docs/creating_lessons_modules.rst @@ -6,84 +6,89 @@ Lessons and Modules Courses can have lessons and quizzes encapsulated using a module. - * **What is a lesson?** - A lesson can be any markdown text with/or an embedded video of a particular topic. + * **What is a lesson?** + A lesson can be any markdown text with/or an embedded video of a particular topic. - * **What is a module?** - A Module is a collection of lessons and courses clubbed together by similar idea/content. A module can have its own description as a markdown text with/or an embedded video. + * **What is a module?** + A Module is a collection of lessons, quizzes and practice exercises clubbed together by similar idea/content. A module can have its own description as a markdown text with/or an embedded video. Setting up a Lesson ----------------------- - To create a new lesson or edit any existing lesson click on **Add/View Lessons** from courses page. + This page shows all the lessons created by you and added to a module. - .. image:: ../images/view_lessons.jpg + .. image:: ../images/course_modules.jpg - This page shows all the lessons created by you. + To create a new lesson click on **Add Lesson** button in the module. - Click on **Add new Lesson** to add new lesson. Click on the **lesson name** to edit a lesson. + .. image:: ../images/add_lesson.jpg - .. image:: ../images/add_lesson.jpg + * **Name** - Name of the lesson. + * **Description** - Description can be any markdown text or embedded video link. + * **Active** - Activate/Deactivate a lesson + * **Video File** - Upload a video file for the lesson + * **Lesson files** - Add files to the lesson which will be available for students to view and download. All the uploaded files will be shown below. - * **Name** - Name of the lesson. - * **Description** - Description can be any markdown text or embedded video link. - * **Active** - Activate/Deactivate a lesson - * **Lesson files** - Add files to the lesson which will be available for students to view and download. All the uploaded files will be shown below. + Click on **Save** to save a lesson. - Click on **Save** to save a lesson. + Click on **Preview Lesson Description** to preview lesson description. Markdown text from the description is converted to html and is displayed below. - Click on **Preview Lesson Description** to preview lesson description. Markdown text from the description is converted to html and is displayed below. + Select the checkbox beside each uploaded file and click on **Delete files** to remove files from the lesson. - Select the checkbox beside each uploaded file and click on **Delete files** to remove files from the lesson. + Click on **Embed Video Link** to embed a video. On clicking a pop-up will be shown. - Click on **Embed Video Link** to embed a video. On clicking a pop-up will be shown. + .. image:: ../images/embed_video.jpg - .. image:: ../images/embed_video.jpg - - Enter the url and click on **Submit** a html div is generated in the text area below. - Click on the button below the textarea to copy the textarea content. This html div can then be added in the lesson description. + Enter the url and click on **Submit** a html div is generated in the text area below. + Click on the button below the textarea to copy the textarea content. This html div can then be added in the lesson description. Setting up a Module ----------------------- - To create a new module or edit any existing module click on **Add/View Modules** from courses page. + To create a new module click on **Add Module** button from course modules + section of course details page. + + .. image:: ../images/add_module.jpg + + * **Name** - Name of the module. + * **Description** - Description can be any markdown text or embedded video link. - .. image:: ../images/view_modules.jpg + Click on **Save** to save a module. - This page shows all the modules created by you. + Click on **Preview Lesson Description** to preview lesson description. Markdown text from the description is converted to html and is displayed below. - Creating a new module or editing an existing module is similar to a lesson creation with a difference that a module has no option to upload files. + Click on **Embed Video Link** to embed a video. Design a Module --------------- - To add lessons or quizzes to a module click on **Add Quizzes/Lessons for <module-name>**. + To add lessons or quizzes to a module click on **Design Module**. - .. image:: ../images/design_module.jpg + .. image:: ../images/design_module.jpg - **Available Lessons and quizzes** contains all the lessons and quizzes that are not added to a module. + **Available Lessons and quizzes** contains all the lessons and quizzes that are not added to a module. - To add a lesson or a quiz to the module select the checkbox beside every lesson or quiz and click **Add to Module** button. + To add a lesson or a quiz to the module select the checkbox beside every lesson or quiz and click **Add to Module** button. - **Chosen Lesson and quizzes** contains all the lessons and quizzes that are added to a module. + **Chosen Lesson and quizzes** contains all the lessons and quizzes that are added to a module. - A lesson or quiz added to a module becomes a unit. A unit has following parameters to change: + A lesson or quiz added to a module becomes a unit. A unit has following parameters to change: - **Order** - Order in which units are shown to a student. + **Order** - Order in which units are shown to a student. - To change a unit's order change the value in the textbox under **Order** column and click **Change order**. + To change a unit's order change the value in the textbox under **Order** column and click **Change order**. - **Check Prerequisite** - Check if previous unit is completed. Default value is **Yes**. - For e.g. A student has to first complete **Yaksh Demo quiz** to attempt **Demo Lesson** if the **Check Prerequisite** value for **Demo Lesson** is checked **Yes**. + **Check Prerequisite** - Check if previous unit is completed. Default value is **Yes**. + For e.g. A student has to first complete **Yaksh Demo quiz** to attempt **Demo Lesson** if the **Check Prerequisite** value for **Demo Lesson** is checked **Yes**. - **Currently** column shows the current value of **Check Prerequisite** which in this case is **Yes**. + **Currently** column shows the current value of **Check Prerequisite** which in this case is **Yes**. - Select the checkbox from **Change** column under **Check Prerequisite** and click **Change Prerequisite** button to change the value. + Select the checkbox from **Change** column under **Check Prerequisite** and click **Change Prerequisite** button to change the value. - To remove a lesson or a quiz from the module select the checkbox beside every lesson or quiz and click **Remove from Module** button. + To remove a lesson or a quiz from the module select the checkbox beside every lesson or quiz and click **Remove from Module** button. diff --git a/yaksh/documentation/moderator_docs/creating_question.rst b/yaksh/documentation/moderator_docs/creating_question.rst index 3e878ea..2c52628 100644 --- a/yaksh/documentation/moderator_docs/creating_question.rst +++ b/yaksh/documentation/moderator_docs/creating_question.rst @@ -23,9 +23,7 @@ Setting up questions * **Points** - Points is the marks for a question. - * **Description** - The actual question description in HTML format. - - .. note:: To add code snippets in questions please use html <code> and <br> tags. + * **Description** - The actual question description. * **Tags** - Type of label or metadata tag making it easier to find specific type of questions. @@ -55,7 +53,9 @@ Setting up questions How to write Test cases ----------------------- - + After saving the question with the necessary details, you will be able to add + the test cases. A drop down **Add Test case** will be available to add the test case in the Test Cases section. + The following explains different methods to write test cases. * **Create Standard Test Case** @@ -200,10 +200,54 @@ How to write Test cases 2. Each argument should be separated by **space**. 3. This field can be left blank. + * **For Scilab** + .. image:: ../images/scilab_standard_testcase.jpg + :width: 80% + + Consider a Program to add two numbers. + The code in the Test case Field should be as follows: :: + + mode(-1) + exec("function.sci",-1); + i = 0 + p = add(3,5); + correct = (p == 8); + if correct then + i=i+1 + end + disp("Input submitted 3 and 5") + disp("Expected output 8 got " + string(p)) + p = add(22,-20); + correct = (p==2); + if correct then + i=i+1 + end + disp("Input submitted 22 and -20") + disp("Expected output 2 got " + string(p)) + p =add(91,0); + correct = (p==91); + if correct then + i=i+1 + end + disp("Input submitted 91 and 0") + disp("Expected output 91 got " + string(p)) + if i==3 then + exit(5); + else + exit(3); + end + + Assuming Students answer to be as below: :: + + funcprot(0) + function[c]=add(a,b) + c=a+b; + endfunction + - Check Delete Field if a test case is to be removed. + Check **Delete** Field if a test case is to be removed. - Finally click on Save to save the test case. + Finally click on **Save** to save the test case. * **Create Standard Input/Output Based Test Case** @@ -221,23 +265,7 @@ How to write Test cases Setting up Standard Input/Output Based questions is same for all languages. - * **Create MCQ or MCC Based Test Case** - - Select MCQ/MCC from Add Test Case field. - - Fig (a) showing MCQ based testcase - - .. image:: ../images/mcq_testcase.jpg - :width: 80% - - Fig (b) showing MCC based testcase - - .. image:: ../images/mcc_testcase.jpg - :width: 80% - - In Options Field type the option check the correct checkbox if the current option is correct and click on Save button to save each option. - - For MCC based question, check the correct checkbox for multiple correct options. + .. note:: Standard Input/Output Based questions is available only for the languages Python, C, C++, Java, Bash. * **Create Hook based Test Case** @@ -286,6 +314,24 @@ How to write Test cases .. image:: ../images/hook_testcase.jpg :width: 80% + * **Create MCQ or MCC Based Test Case** + + Select MCQ/MCC from Add Test Case field. + + Fig (a) showing MCQ based testcase + + .. image:: ../images/mcq_testcase.jpg + :width: 80% + + Fig (b) showing MCC based testcase + + .. image:: ../images/mcc_testcase.jpg + :width: 80% + + In Options Field type the option check the correct checkbox if the current option is correct and click on Save button to save each option. + + For MCC based question, check the correct checkbox for multiple correct options. + * **Create Integer Based Test Case** Select **Answer in Integer** from Type field. @@ -340,7 +386,7 @@ Features in Question * **Upload Questions** - Click on the **Upload and Download questions** tab in the + Click on the **Upload Questions** tab in the **Question Page**. One can upload Yaml file with extensions .yaml or .yml. Please note that you cannot upload files associated to a question. @@ -363,7 +409,7 @@ Features in Question Select questions from the list of question displayed on the Questions page. Click on Test selected button. This will take you to a quiz with the selected questions. - .. Note:: This will not create an actual quiz but a trial quiz. This quiz is hidden from the students and only for moderator to view. You can delete the quiz from moderator's dashboard. + .. Note:: This will not create an actual quiz but a trial quiz. This quiz is hidden from the students and only for moderator to view. * **Filter Questions** @@ -376,5 +422,5 @@ Features in Question 1. You can search the questions by tags added during question creation. 2. Click on the Available tags to view all the available tags. Select any tag from available tags and click **Search**. - 3. Enter the tag in the search bar and click on **Search** respective questions will be displayed. + 3. Enter the tag in the search bar and click on **Search Icon** respective questions will be displayed. diff --git a/yaksh/documentation/moderator_docs/creating_quiz.rst b/yaksh/documentation/moderator_docs/creating_quiz.rst index 8b93188..6c7cb93 100644 --- a/yaksh/documentation/moderator_docs/creating_quiz.rst +++ b/yaksh/documentation/moderator_docs/creating_quiz.rst @@ -4,85 +4,104 @@ Quizzes ======= -Quizzes are intrinsically associated with a course, hence to view and/or edit a quiz, we need to navigate to the courses page. +Quizzes are intrinsically associated with a course, hence to view and/or edit a quiz, we need to navigate to the course details page by clicking on **Manage Course** button. -Clicking on Add/View Quizzes from courses page will open the page as shown below +Clicking on **Course Modules** in the course details page will open the page as shown below -.. image:: ../images/view_quizzes.jpg +.. image:: ../images/course_modules.jpg -This page shows all the quizzes and exercise created. +This page shows all the modules with quizzes and exercises. Creating a Quiz ---------------- +--------------- - Click on **Add New Quiz** button to add a quiz. + Click on **Add Quiz** button to add a quiz. - .. image:: ../images/add_quiz.jpg - - .. note :: It is important to have created or uploaded questions before creating a quiz. + .. image:: ../images/add_quiz.jpg + + .. note :: It is important to have created or uploaded questions before creating a quiz. - * **Start Date and Time of quiz** - The date and time after which the quiz can be taken. - * **End Date and Time of quiz** - The date and time after which the quiz is deactivated and cannot be attempted. - * **Duration** - Duration of quiz to be written in minutes. - * **Active** - Check the checkbox to activate/deactivate quiz. - * **Description** - Description or name of the quiz. - * **Passing Percentage** - Minimum percentage required to pass the test. - * **Attempts allowed** - Number of attempts that a student can take of the current quiz. - * **Time Between Quiz Attempts in hours** - For a quiz with multiple attempts this value can be set so that student can attempt again after the specified time. - * **Instructions for students** - Additional instructions for students can be added. Some default instructions are already provided. - * **Allow student to view answer paper** - Click on this checkbox to allow student to view their answer paper. - * **Allow student to skip questions** - Click on this checkbox to allow/disallow student to skip questions for a quiz. Value defaults to allow skipping questions. - * **Weightage** - Every quiz will have weightage depending on which grades will be calculated. + * **Start Date and Time of quiz** - The date and time after which the quiz can be taken. + * **End Date and Time of quiz** - The date and time after which the quiz is deactivated and cannot be attempted. + * **Duration** - Duration of quiz to be written in minutes. + * **Active** - Check the checkbox to activate/deactivate quiz. + * **Description** - Description or name of the quiz. + * **Passing Percentage** - Minimum percentage required to pass the test. + * **Attempts allowed** - Number of attempts that a student can take of the current quiz. + * **Time Between Quiz Attempts in hours** - For a quiz with multiple attempts this value can be set so that student can attempt again after the specified time. + * **Instructions for students** - Additional instructions for students can be added. Some default instructions are already provided. + * **Allow student to view answer paper** - Click on this checkbox to allow student to view their answer paper. + * **Allow student to skip questions** - Click on this checkbox to allow/disallow student to skip questions for a quiz. Value defaults to allow skipping questions. + * **Weightage** - Every quiz will have weightage depending on which grades will be calculated. - Once a quiz parameters have been set click on **Save** button to save the quiz. + Once a quiz parameters have been set click on **Save** button to save the quiz. -To create a Question paper, Click on **Add** link located besides the created quiz. + To create a Question paper, Click on **Add Question Paper** link located + besides the created quiz. Creating a Exercise -------------------- +------------------- - Click on **Add New Exercise** button to add a exercise. + Click on **Add New Exercise** button to add a exercise. - .. image:: ../images/add_exercise.jpg + .. image:: ../images/add_exercise.jpg - Exercise is similar to quiz with a difference that exercise has infinite attempts and - infinite time. It also does not allow a student to skip the question. - Each question in an exercise can be timed i.e. time to solve a particular question. - Once the question time expires, question solution is shown to the student. + Exercise is similar to quiz with a difference that exercise has infinite attempts and + infinite time. It also does not allow a student to skip the question. + Each question in an exercise can be timed i.e. time to solve a particular question. + Once the question time expires, question solution is shown to the student. - All the parameters are set by default only below parameters can be changed. + All the parameters are set by default only below parameters can be changed. - * **Description** - Description or name of the exercise. - * **Allow student to view answer paper** - Click on this checkbox to allow student to view their answer paper. - * **Active** - Select the checkbox to activate/deactivate exercise. Default value is active. + * **Description** - Description or name of the exercise. + * **Allow student to view answer paper** - Click on this checkbox to allow student to view their answer paper. + * **Active** - Select the checkbox to activate/deactivate exercise. Default value is active. + + To create a Question paper, Click on **Add Question Paper** link located besides the created exercise. Designing Question Paper ------------------------ - .. image:: ../images/design_questionpaper.jpg + .. image:: ../images/design_questionpaper.jpg - A quiz/exercise can have fixed as well as random questions. Fixed questions are those question that are bound to appear for every student taking the quiz. In random questions a pool of questions is given and number of questions to be picked from the pool is set. Hence for different students, different questions from the pool will appear. + A quiz/exercise can have fixed as well as random questions. Fixed questions are those question that are bound to appear for every student taking the quiz. In random questions a pool of questions is given and number of questions to be picked from the pool is set. Hence for different students, different questions from the pool will appear. - To add questions to a questionpaper + To add questions to a questionpaper - * Select Question type and marks and a list of questions will be displayed will be in the **select questions to add** section. Do this for both fixed questions and random questions. - * After adding questions click on **Next** button to go to **Step 3 Finish**. - * Select shuffle paper if you want to jumble up the question sequence for every student and for every attempt. - * Click on save question paper to save it or preview question paper to preview it. + * Select Question type and marks and a list of questions will be displayed will be in the **select questions to add** section. Do this for both fixed questions and random questions. + * You can also search for questions using the tags added while creating the question. All the available tags are shown. + * After adding questions click on **Next** button to go to **Step 3 Finish**. + * Select **Shuffle questions' order for each student** if you want to jumble up the question sequence for every student and for every attempt. + * Select **Shuffle MCQ/MCC options for each student** if you want to jumble up the MCQ/MCC question options for every student and for every attempt. + * Click on **Save** to save it. Editing a Quiz/Exercise ----------------------- - Click on the quiz/exercise link to edit, change the parameters and click on Save. + Click on the quiz/exercise link to edit, change the parameters and click on Save. + Options Available once the Quiz is created. + + * **Preview Question Paper** + Click on the Preview Question Paper button located at the bottom of the + page to preview all the questions available in the question paper of the + quiz. + * **User Mode** + Attempt quiz the way student will attempt i.e. - + Quiz will have the same duration as that of the original quiz. + + Quiz won't start if the course is inactive or the quiz time has expired. + + * **God Mode** + Attempt quiz without any time or eligibilty constraints. Editing a QuestionPaper ----------------------- - Click on the Question Paper for a <Quiz-name/Exercise-name> besides Quiz/Exercise and follow steps from Design Question Paper. + Click on the **Edit Question Paper** besides Quiz/Exercise and follow steps from Design Question Paper. - If the questions are already added to a Question Paper then they are shown in the - **Fixed Questions currently in the paper** section. + If the questions are already added to a Question Paper then they are shown in the + **Fixed Questions currently in the paper** section. diff --git a/yaksh/documentation/moderator_docs/other_features.rst b/yaksh/documentation/moderator_docs/other_features.rst index 0b39788..bbd60dc 100644 --- a/yaksh/documentation/moderator_docs/other_features.rst +++ b/yaksh/documentation/moderator_docs/other_features.rst @@ -7,17 +7,26 @@ Grade User Grade User is a feature of Yaksh to access students' answer papers for each quiz and grade them where necessary. + Clicking on the **Grade User** link from the nav bar will show all the courses. + + Click on the **Details** button to show the quizzes associated to a particular course. + + Click on the **Grade User** button next to the quiz name to view all the students who have attempted the quiz. + + Click on the student name to view their submissions. + Monitor ------- Monitor is a feature of Yaksh where the moderator can monitor a quiz and view statistics. -Trial Papers ------------- + Clicking on the **Monitor** link from the nav bar will show all the courses. + + Click on the **Details** button to show the quizzes associated to a particular course. - When a moderator attempts a quiz in User or God mode or tests questions, a trial answer paper is created. Moderator can check the answer paper. + Click on the **Monitor** button next to the quiz name to view all the students who are attempting the quiz. - .. note:: It is advisable to delete these trial answer papers. + Click on the student name to view their submissions. Grader ------ |