*[**Assignment Visibility and Deadlines**](WebLab/Assignment-Visibility-and-Deadlines)
*[**Assignment Visibility and Deadlines**](WebLab/Assignment-Visibility-and-Deadlines)
*[**Examination in WebLab**](WebLab/Examination-in-WebLab)
*[**Examination in WebLab**](WebLab/Examination-in-WebLab)
*[**Exam Ticket Setup**](WebLab/Exam-Tickets)
*[**Exam Ticket Setup**](WebLab/Exam-Tickets)
*[**Announcements and Discussions**](WebLab/Announcements-and-Discussions)
*[**Announcements and Discussions**](WebLab/Announcements-and-Discussions)
*[**Grading in WebLab**](WebLab/Grading-in-WebLab)
*[**Grading in WebLab**](WebLab/Grading-in-WebLab)
*[**WebLab Support**](WebLab/Support)
*[**WebLab Support**](WebLab/Support)
>>>
>>>
## The WebLab platform
## The WebLab platform
**WebLab** (https://weblab.tudelft.nl) is a learning management system developed at the faculty of Electrical Engineering, Mathematics, and Computer Science (EEMCS) by the Software Technology dept./Programming Languages group.
**WebLab** (https://weblab.tudelft.nl) is a learning management system developed at the faculty of Electrical Engineering, Mathematics, and Computer Science (EEMCS) by the [EIP subsection](https://eip.pages.ewi.tudelft.nl/eip-website/) of the [Computer Science & Engineering Teaching Team](https://www.tudelft.nl/en/eemcs/the-faculty/departments/software-technology/computer-science-engineering-teaching-team).
It supports various types of assignments (e.g., Multiple Choice, Open Question, Programming Question, File Submission Question) with automated and/or manual grading. On top of that, (remote) exams with built-in tooling to minimise fraud can be held by means of exam tickets, individual question order per student, timed questions, a randomly picked question from a set of question variants, and RPNow proctoring support.
It supports various types of assignments (e.g., Multiple Choice, Open Question, Programming Question, File Submission Question) with automated and/or manual grading. On top of that, (remote) exams with built-in tooling to minimise fraud can be held by means of exam tickets, individual question order per student, timed questions, a randomly picked question from a set of question variants, and RPNow proctoring support.
## Add Your Course to WebLab
## Add Your Course to WebLab
- Sign in using _TU Delft Single Sign On_ (_SSO_)
- Sign in using _TU Delft Single Sign On_ (_SSO_)
- Open the *[New Course Request page](https://weblab.tudelft.nl/newcourserequest)* (in top menu: '**About**' -\> '**Your Course in WebLab?**').
- Open the *[New Course Request page](https://weblab.tudelft.nl/newcourserequest)* (in top menu: '**About**' -\> '**Your Course in WebLab?**').
- To submit a request, fill in the '**Course Code**', the '**Course Name**', and an explanation on what you would like to use/try WebLab for in the '**Request**' section.
- To submit a request, fill in the '**Course Code**', the '**Course Name**', and an explanation on what you would like to use/try WebLab for in the '**Request**' section.
- When the WebLab administrators have accepted your request, you will receive a notification. You can then start setting up your course.
- When the WebLab administrators have accepted your request, you will receive a notification. You can then start setting up your course.
#### Set Up Course Dates & Course Rules
#### Set Up Course Dates & Course Rules
- When you have browsed the newly created course edition after having been accepted by the administrators, click '**Edit**' in the 'About' section.\
- When you have browsed the newly created course edition after having been accepted by the administrators, click '**Edit**' in the 'About' section.\
- Here you can set the dates of when the course should be accessible for enrolment by students. Furthermore, a '**Description**', '**Rules**', and other additional settings (e.g., group size) for the course can be set here as well.\
- Here you can set the dates of when the course should be accessible for enrolment by students. Furthermore, a '**Description**', '**Rules**', and other additional settings (e.g., group size) for the course can be set here as well.\
There are 4 functional roles within WebLab for course staff: '**Observer**', '**Reviewer**', '**Grader**' and, '**Manager**'. You need to be a '**Manager**' in order to create course content. '**Observer**'s can view all student submissions (role for staff who assist students during the course). '**Grader**'s (and '**Reviewer**'s) may grade student submissions and constitute the pool of graders to which submissions get assigned for grading.
There are 4 functional roles within WebLab for course staff: '**Observer**', '**Reviewer**', '**Grader**' and, '**Manager**'. You need to be a '**Manager**' in order to create course content. '**Observer**'s can view all student submissions (role for staff who assist students during the course). '**Grader**'s (and '**Reviewer**'s) may grade student submissions and constitute the pool of graders to which submissions get assigned for grading.
- Add course staff by typing the name of the staff member to be added. This person should have logged on WebLab at least once before in order to be listed here.\
- Add course staff by typing the name of the staff member to be added. This person should have logged on WebLab at least once before in order to be listed here.\
| **Multiple-Choice** | :ballot_box_with_check: | :ballot_box_with_check: | Multiple Choice questions have a question text and can have any number _n_ of alternatives, of which _m_ correct ones. A student answer is correct when _y ≤ m_ (configurable), correct alternatives are chosen, and no incorrect alternatives are chosen. Students score a `10.0` when answered correctly, `0.0` otherwise. |
| **Multiple-Choice** | :ballot_box_with_check: | :ballot_box_with_check: | Multiple Choice questions have a question text and can have any number _n_ of alternatives, of which _m_ correct ones. A student answer is correct when _y ≤ m_ (configurable), correct alternatives are chosen, and no incorrect alternatives are chosen. Students score a `10.0` when answered correctly, `0.0` otherwise. |
| **Essay/Open Question** | | :ballot_box_with_check: | Students are asked to submit a textual answer. Text markup is available through markdown syntax, and Latex/MathML through MathJax. A live preview is shown while answering the question. <br>Grading is done manually, i.e. using grading rubrics in form of checklist items with weights, or grade-based components (0.0-10.0). |
| **Essay/Open Question** | | :ballot_box_with_check: | Students are asked to submit a textual answer. Text markup is available through markdown syntax, and Latex/MathML through MathJax. A live preview is shown while answering the question. <br>Grading is done manually, i.e. using grading rubrics in form of checklist items with weights, or grade-based components (0.0-10.0). |
| **Programming** | :ballot_box_with_check: | :ballot_box_with_check: | WebLab has built-in support for Java, Scala, Python and C(++) assignments and supports any other language for which a Docker image with WebLab input/output handling can be provided. Students edit their `Solution` in the WebLab editor, and can test their solution against their own `User Tests`, or against the `Specification Tests` for which the code and output are hidden to students. Course managers can provide an initial `Solution` template, `User test` template, `Library` code, and `Specification tests` from which the grade will be computed. (TODO: separate page with more details) |
| **Programming** | :ballot_box_with_check: | :ballot_box_with_check: | WebLab has built-in support for Java, Scala, Python and C(++) assignments and supports any other language for which a Docker image with WebLab input/output handling can be provided. Students edit their `Solution` in the WebLab editor, and can test their solution against their own `User Tests`, or against the `Specification Tests` for which the code and output are hidden to students. Course managers can provide an initial `Solution` template, `User test` template, `Library` code, and `Specification tests` from which the grade will be computed. (TODO: separate page with more details) |
| **File Upload** | | :ballot_box_with_check: | Similar to Essay/Open Question. Students can upload a file as submission and optionally enter textual remarks (with markup). Managers can restrict on the file types supported for upload. |
| **File Upload** | | :ballot_box_with_check: | Similar to Essay/Open Question. Students can upload a file as submission and optionally enter textual remarks (with markup). Managers can restrict on the file types supported for upload. |
| **Peer-Review** | | :ballot_box_with_check: | For a peer-review assignment, the manager selects the target assignment from which submissions should get peer-reviewed by the students. Students get assigned a submission randomly from the target assignment. Reviewing is done in form of entering textual feedback by students. This feedback is not visible to the owner of the reviewed submission until the manager opens the reviews for inspection by the submission owners. The owner's name of a peer reviewed submission is hidden to the reviewer (except for name uploaded files, which are not touched by WebLab). |
| **Peer-Review** | | :ballot_box_with_check: | For a peer-review assignment, the manager selects the target assignment from which submissions should get peer-reviewed by the students. Students get assigned a submission randomly from the target assignment. Reviewing is done in form of entering textual feedback by students. This feedback is not visible to the owner of the reviewed submission until the manager opens the reviews for inspection by the submission owners. The owner's name of a peer reviewed submission is hidden to the reviewer (except for name uploaded files, which are not touched by WebLab). |
| **Grade-Only** (externally handed in) | | :ballot_box_with_check: | Administrative only (students don't submit anything). For exercises handed in outside WebLab, the grades can be uploaded (csv format) or entered manually. This is useful when you want to have the complete course grade administration in WebLab. |
| **Grade-Only** (externally handed in) | | :ballot_box_with_check: | Administrative only (students don't submit anything). For exercises handed in outside WebLab, the grades can be uploaded (csv format) or entered manually. This is useful when you want to have the complete course grade administration in WebLab. |
| **Pass/Fail** | | :ballot_box_with_check: | Administrative only (students don't submit anything). For administering things such as "performed task x", "present during lab". |
| **Pass/Fail** | | :ballot_box_with_check: | Administrative only (students don't submit anything). For administering things such as "performed task x", "present during lab". |
| **Generated Questions** (experimental) | :ballot_box_with_check: | :ballot_box_with_check: | An interface in Scala lets you define a Question Machinery with question generator and answer evaluator. The question generator returns a tuple with the question as String and an unexposed answer seed (e.g. the correct answer itself, or some identification sufficient to check a student answer for correctness). The answer evaluator takes the student answer (String) and answer seed and returns a tuple with the grade (hidden until grades are published) and textual feedback. |
| **Generated Questions** (experimental) | :ballot_box_with_check: | :ballot_box_with_check: | An interface in Scala lets you define a Question Machinery with question generator and answer evaluator. The question generator returns a tuple with the question as String and an unexposed answer seed (e.g. the correct answer itself, or some identification sufficient to check a student answer for correctness). The answer evaluator takes the student answer (String) and answer seed and returns a tuple with the grade (hidden until grades are published) and textual feedback. |
#### Organizing Assignments in Folders
#### Organizing Assignments in Folders
Assignment Folders lets you group assignments based on
Assignment Folders lets you group assignments based on
- Deadline (e.g. Labs Week 1, Labs Week 2, ...)
- Deadline (e.g. Labs Week 1, Labs Week 2, ...)
- Type of exercise (e.g. Analysis, Implementation, ...)
- Type of exercise (e.g. Analysis, Implementation, ...)
- Obligatory/Optional/Practice
- Obligatory/Optional/Practice
- Exams (Mid-term, Final, Resit)
- Exams (Mid-term, Final, Resit)
You can (a) create folders, (b) reorder assignments within the folder, or (c) (re)move assignments (from)/into a folder.
You can (a) create folders, (b) reorder assignments within the folder, or (c) (re)move assignments (from)/into a folder.
The folder level provides configuration options that apply at the folder level, including:
The folder level provides configuration options that apply at the folder level, including:
- option to display folder assignments on single page (e.g. when asking various questions about the same topic/problem/article). Programming questions are not supported in this view
- option to display folder assignments on single page (e.g. when asking various questions about the same topic/problem/article). Programming questions are not supported in this view
-[assignment visibility an deadline options](WebLab/Assignment-Visibility-and-Deadlines)(non-public/public, visible from/until)
-[assignment visibility an deadline options](WebLab/Assignment-Visibility-and-Deadlines)(non-public/public, visible from/until)
-[exam access setup](WebLab/Exam-Tickets)
-[exam access setup](WebLab/Exam-Tickets)
-[grade calculation options](WebLab/Grading-in-WebLab#pass-criteria)(set weights of individual assignments within this folder, criteria to pass)
-[grade calculation options](WebLab/Grading-in-WebLab#pass-criteria)(set weights of individual assignments within this folder, criteria to pass)
## Plagiarism scans
## Plagiarism scans
To request plagiarism scans for coding or essay questions, notify [Weblab support](weblab/WebLab-Support) and provide a link to the assignment and optionally some details of additional resources to scan against, such as solutions from previous years or external documents.
To request plagiarism scans for coding or essay questions, notify [Weblab support](weblab/WebLab-Support) and provide a link to the assignment and optionally some details of additional resources to scan against, such as solutions from previous years or external documents.
- To view plagiarism scans, navigate to the Plagiarism Scan tab:
- To view plagiarism scans, navigate to the Plagiarism Scan tab:
- On the results screen you can sort entries by clicking the table headers. You can filter entries in the boxes below the table headers, typical filters are minimum size to ignore irrelevant solutions and percentage of matching fragments. At the top is a global filter that removes low percentage matches entirely to speed up the page. If there are no matches at all, it can help to lower this global filter. To review a suspicious case, click the compare link to get a side-by-side view of the compared solutions.
- On the results screen you can sort entries by clicking the table headers. You can filter entries in the boxes below the table headers, typical filters are minimum size to ignore irrelevant solutions and percentage of matching fragments. At the top is a global filter that removes low percentage matches entirely to speed up the page. If there are no matches at all, it can help to lower this global filter. To review a suspicious case, click the compare link to get a side-by-side view of the compared solutions.
Student mode is available for course staff and allows you to view the course content the way a student would see it. This is useful for checking how course content is presented to students, or for testing an upcoming exam/assignment before it becomes available (requires Hybrid Mode)
Student mode is available for course staff and allows you to view the course content the way a student would see it. This is useful for checking how course content is presented to students, or for testing an upcoming exam/assignment before it becomes available (requires Hybrid Mode)
**To use student mode:**
**To use student mode:**
- Make sure you are enrolled as student for your course (i.e. check your enrolment status on the course edition's home page)
- Make sure you are enrolled as student for your course (i.e. check your enrolment status on the course edition's home page)
- At the right of the navigation bar, click Enable Student mode and choose between:
- At the right of the navigation bar, click Enable Student mode and choose between:
- Hybrid mode, in case you want to test an assignment as student, but with access to assignments not yet available
- Hybrid mode, in case you want to test an assignment as student, but with access to assignments not yet available
- Strict mode, where you see everything exactly as students see it (without exclusive access to hidden content).
- Strict mode, where you see everything exactly as students see it (without exclusive access to hidden content).
- The top bar on assignment pages will color differently to denote that you are using Student Mode.
- The top bar on assignment pages will color differently to denote that you are using Student Mode.
- You can disable student mode again by clicking the Student Mode-label
- You can disable student mode again by clicking the Student Mode-label
### Delete your submission/start over
### Delete your submission/start over
While testing (an exam), you might want to reset your submission as if you haven't attempted it yet. Course staff can delete their own submission from the `Submission Info` box:
While testing (an exam), you might want to reset your submission as if you haven't attempted it yet. Course staff can delete their own submission from the `Submission Info` box:
- Open Submission Info
- Open Submission Info
- Click "Open deletion page", after which you can permanently delete your submission.
- Click "Open deletion page", after which you can permanently delete your submission.