The edX Building and Running an Open edX Course guide is created using RST files and Sphinx. You, the user community, can help update and revise this documentation project on GitHub.
https://github.com/edx/edx-documentation/tree/master/en_us/open_edx_course_authors/source
The edX documentation team welcomes contributions from Open edX community members. You can find guidelines for how to contribute to edX Documentation in the GitHub edx/edx-documentation repository.
Learners, course teams, researchers, developers: the edX community includes groups with a range of reasons for using the platform and objectives to accomplish. To help members of each group learn about what edX offers, reach goals, and solve problems, edX provides a variety of information resources.
To help you find what you need, browse the edX offerings in the following categories.
All members of the edX community are encouraged to make use of the resources described in this preface. We welcome your feedback on these edX information resources. Contact the edX documentation team at docs@edx.org.
The edX Help Center for Learners includes topics to help you understand how to use the edX learning management system. The Help Center is also available when you select Help while you are in a course, and from your edX dashboard.
If you have a question about something you encounter in an edX course, try these options for getting an answer.
Note
If you find an error or mistake in a course, contact the course staff by adding a post in the course discussions.
To help you get started with the edX learning experience, edX offers a course (of course!). You can find the edX Demo course on the edx.org website.
When you are working in an edX course, you can select Help to access a help center with frequently asked questions and answers.
If you still have questions or suggestions, you can contact the edX Support team for help.
For opportunities to meet others who are interested in edX courses, check the edX Global Community meetup group.
The edX Partner Portal is the destination for partners to learn, connect, and collaborate with one another. Partners can explore rich resources and share success stories and best practices while staying up-to-date with important news and updates.
To use the edX Partner Portal, you must register and request verification as an edX partner. If you are an edX partner and have not used the edX Partner Portal, follow these steps.
After you create an account, you can sign up to receive email updates about edX releases, news from the product team, and other announcements. For more information, see Release Announcements by Email.
EdX partner course teams can get technical support in the edX Partner Portal. To access technical support, submit a support ticket, or review any support tickets you have created, go to partners.edx.org and select Course Staff Support at the top of the page. This option is available on every page in the Partner Portal.
The Open edX Portal is the destination for learning about hosting an Open edX instance, extending the edX platform, and contributing to Open edX. In addition, the Open edX Portal provides product announcements and other community resources.
All users can view content on the Open edX Portal without creating an account and logging in.
To comment on blog posts or the edX roadmap, or subscribe to email updates, you must create an account and log in. If you do not have an account, follow these steps.
To receive and share product and release announcements by email, you can subscribe to announcements on one of the edX portal sites.
You will now receive email messages when new announcements of the types you selected are posted.
For system-related notifications from the edX operations team, including outages and the status of error reports. On Twitter, you can follow @edxstatus.
Current system status and the uptime percentages for edX servers, along with the Twitter feed, are published on the edX Status web page.
Course teams include faculty, instructional designers, course staff, discussion moderators, and others who contribute to the creation and delivery of courses on edx.org or edX Edge.
The courses in the edX Course Creator Series provide foundational knowledge about using the edX platform to deliver educational experiences. These courses are available on edx.org.
The edX101 course is designed to provide a high-level overview of the course creation and delivery process using Studio and the edX LMS. It also highlights the extensive capabilities of the edX platform.
After you complete edX101, StudioX provides more detail about using Studio to create a course, add different types of content, and configure your course to provide an optimal online learning experience.
In BlendedX you explore ways to blend educational technology with traditional classroom learning to improve educational outcomes.
VideoX presents strategies for creating videos for course content and course marketing. The course provides step-by-step instructions for every stage of video creation, and includes links to exemplary sample videos created by edX partner institutions.
Documentation for course teams is available from the docs.edx.org web page.
Building and Running an edX Course is a comprehensive guide with concepts and procedures to help you build a course in Studio and then use the Learning Management System (LMS) to run a course.
You can access this guide by selecting Help in Studio or from the instructor dashboard in the LMS.
Using edX Insights describes the metrics, visualizations, and downloadable .csv files that course teams can use to gain information about student background and activity.
These guides open in your web browser. The left side of each page includes a Search docs field and links to the contents of that guide. To open or save a PDF version, select v: latest at the lower right of the page, then select PDF.
Note
If you use the Safari browser, be aware that it does not support the search feature for the HTML versions of the edX guides. This is a known limitation.
To receive and share information by email, course team members can:
The edX product team maintains public product roadmaps on the Open edX Portal and the edX Partner Portal.
The edX Partner Support site for edX partners hosts discussions that are monitored by edX staff.
At each partner institution, the data czar is the primary point of contact for information about edX data. To set up a data czar for your institution, contact your edX partner manager.
Data for the courses on edx.org and edX Edge is available to the data czars at our partner institutions, and then used by database experts, statisticians, educational investigators, and others for educational research.
Resources are also available for members of the Open edX community who are collecting data about courses running on their sites and conducting research projects.
The edX Research Guide is available on the docs.edx.org web page. Although it is written primarily for data czars and researchers at partner institutions, this guide can also be a useful reference for members of the Open edX community.
The edX Research Guide opens in your web browser, with a Search docs field and links to sections and topics on the left side of each page. To open or save a PDF version, select v: latest at the lower right of the page, and then select PDF.
Note
If you use the Safari browser, be aware that it does not support the search feature for the HTML versions of the edX guides. This is a known limitation.
Researchers, edX data czars, and members of the global edX data and analytics community can post and discuss questions in our public research forum: the openedx-analytics Google group.
The edX partner portal also offers community forums, including a Research and Analytics topic, for discussions among edX partners.
Important
Please do not post sensitive data to public forums.
Data czars who have questions that involve sensitive data, or that are institution specific, can send them by email to data.support@edx.org with a copy to your edX partner manager.
The edX Analytics team maintains the Open edX Analytics wiki, which includes links to periodic release notes and other resources for researchers.
The edx-tools wiki lists publicly shared tools for working with the edX platform, including scripts for data analysis and reporting.
Software engineers, system administrators, and translators work on extending and localizing the code for the edX platform.
Documentation for developers is available from the edX Developer Documentation landing page.
These are the main edX repositories on GitHub.
Additional repositories are used for other projects. Our contributor agreement, contributor guidelines and coding conventions, and other resources are available in these repositories.
The Getting Help page in the Open edX Portal lists different ways that you can ask, and get answers to, questions.
The Open edX Portal is the entry point for new contributors.
The edX Engineering team maintains an open Confluence wiki, which provides insights into the plans, projects, and questions that the edX Open Source team is working on with the community.
The edx-tools wiki lists publicly shared tools for working with the edX platform, including scripts and helper utilities.
Hosting providers, platform extenders, core contributors, and course staff all use Open edX. EdX provides release-specific documentation, as well as the latest version of all guides, for Open edX users. See the Open edX documentation page for a list of the documentation that is available.
Most current browsers will work on edX.org. For best performance, we recommend the latest versions of:
We also support the latest versions of:
Note
If you use the Safari browser, be aware that it does not support the search feature for the guides on docs.edx.org. This is a known limitation.
This topic describes the tools you use to build an Open edX course, and how to view your courses.
Studio is the tool you use to build your courses.
You use Studio to create a course structure, and then add problems, videos, and other resources for learners.
With Studio, you can also manage the course schedule, identify members of the course team, set the grading policy, publish your course, and more.
You use Studio directly through your browser. You do not need any additional software.
The LMS is the web-based tool where you view the courses you have created in Studio.
If you have not created a course, see Creating a New Course in Studio.
In Studio, locate your course on your dashboard and open your course.
On the Course Outline page, select View Live.
Your course enrollment page opens in a new browser tab.
Select Enroll to enroll in your course. After you enroll in your course, it opens in the LMS.
To continue working on your course, return to the browser tab that shows Studio.
Note
Your dashboard is available only from the LMS. If you are currently working in Studio, view the live version of your course to access your dashboard.
You can access course, account, or profile information from any page on the website, whether you are in a course or browsing the course catalog. Select the dropdown menu icon next to your username, and then choose one of the following menu options.
Your dashboard lists all of the courses that you are enrolled in. When you create an account or enroll in a course, you automatically go to your dashboard. You can also access your dashboard by selecting the dropdown menu icon next to your username at the top of any page.
You can find information about your courses and change course-specific email subscription settings on your dashboard. For more information, see Updating Course-Specific Settings.
On your dashboard, you can share the courses you are enrolled in on social media sites such as Facebook and Twitter.
This feature is available only if it has been enabled by your course provider.
Your personal profile allows you to optionally share information about yourself with other participants in the courses that you take. If you choose to add profile information, course teams and other learners in your courses can view the information that you share.
You can share either a limited profile or a full profile.
Note
If you are under 13 years of age, your limited profile only includes your username. You cannot add a profile picture.
A limited profile shares only your username. You can also add a profile picture, if you are over 13 years of age.
A full profile includes the following details.
A limited profile includes only your username and, optionally, an image.
Note
If you are under 13 years of age, your limited profile only includes your username. You cannot add a profile picture.
To add or update a limited profile, follow these steps.
At the top of any page, select Dashboard from the dropdown menu icon next to your username, then select the Profile tab.
In the header area of your profile page, for Profile Visibility, select Limited Profile.
(optional) Add an image that you want to associate with your username. Your image must be a .gif, .jpg, or .png file. The image must be between 100 bytes and 1 MB in size. If you do not add an image, the placeholder image appears as your profile image.
Move your cursor over the placeholder image, and click Upload an image.
In the file navigation window, select the image file that you want to use as your profile image, and then click Open.
To change or remove your profile image, move your cursor over your image, and then select either Change image or Remove. When you remove your profile image, the placeholder image appears as your profile image.
The site saves your changes automatically.
Note
You must specify your year of birth on the Account Settings page before you can share a full profile. If you are under 13 years of age, you can share only a limited profile.
If you create a full profile, you share the following information in addition to your username and profile image.
To add or update your profile, follow these steps.
At the top of any page, select Dashboard from the dropdown menu icon next to your username, then select the Profile tab.
In the header area of your profile page, for Profile Visibility, select Full Profile.
(optional) Add a profile image.
Your image must be a .gif, .jpg, or .png file that is less than 1 MB in size. If you do not add an image, the placeholder image appears as your profile image.
To change or remove your profile image, move your cursor over your image, and then select either Change image or Remove. When you remove your profile image, the placeholder image appears as your profile image.
On your profile page, move your cursor over the information that you want to change.
Click inside the field to choose an option from the list, or enter text.
The site saves your changes automatically.
Note
If you change your profile type from Full Profile to Limited Profile, your full name, location, language, and descriptive paragraph are no longer visible on your profile page. However, this information is saved, and becomes visible again to other learners and course teams if you change your profile back to Full Profile.
If you select the Full Profile option, you can add social media icons on your profile that link to your personal Twitter, Facebook, or LinkedIn account pages.
To add links to your social media accounts to your profile, follow these steps.
At the top of any page, select Account from the dropdown menu icon next to your username.
On the Account Settings page, under Social Media Links, enter either your username or the URL to the profile page for each social media account that you want to add to your profile.
For example, if your Facebook username is edx
, you can enter either
edx
or https://www.facebook.com/edx
.
For LinkedIn, note that your username might include numbers. For example,
if the URL of your LinkedIn profile page is https://www.linkedin.com/in
/firstname-lastname-123456/
, your LinkedIn username is firstname-
lastname-123456
.
The site saves your changes when you click outside the text field.
When you view your profile, icons for the social media icons that you added links for appear below your username. Other learners or course team members can click those icons to visit your social media account page.
You can view other learners’ profiles through their posts, responses, or comments in course discussions.
On the Discussion page, select the username of any learner in a post, a response, or a comment.
A page that displays the discussion activity only for the selected learner opens.
On the learner’s Discussion page, select their linked username.
The learner’s account profile page opens.
From the dashboard, access the courses that you are enrolled in and change course-specific settings. You can also unenroll from a course from the dashboard.
To subscribe or unsubscribe to emails from a course, follow these steps.
On your dashboard, locate the course.
Select the course settings icon. The course settings icon resembles a gear and appears next to View Course or View Archived Course.
Select Email Settings.
Select or clear the Receive course emails check box, and then select Save Settings.
Note
If you clear this check box, you will not receive any of the email messages that course teams send to communicate with enrolled learners in the course.
The core mission of edX is to expand access to education for everyone. Keep in mind that the courses and course content that you create should be accessible to everyone, regardless of any physical limitation that they might have, and regardless whether they are accessing your course using a Web browser or using mobile apps.
For information about accessibility best practices, see Accessibility Best Practices Guidance for Content Providers.
The percentage of learners who access MOOCs using smartphones is increasing every day. Most courses on edx.org can be viewed on smartphones using the edX Android and iPhone apps, although we still recommend that learners complete graded assignments on a desktop computer, depending on the type of assessments that their courses include. For information on which exercises and tools are mobile-ready, see the table in the Introduction to Exercises and Tools section.
To make the course experience for mobile learners as rewarding as it is for learners using desktop computers, keep the following best practices in mind as you design, test, and run your course.
If you have included some of the more complex problem types, or have highly customized the way course content displays, edX recommends that you test your course for multiple devices and displays.
To test the mobile experience of your course, sign in to your course using the edX Android or iPhone app, and view each course unit to make sure that it renders as you expect it to.
Note
Keep in mind that course updates that you make might not be immediately reflected in the edX mobile apps. In particular, newly published content can take up to an hour to update on the Android app.
The core mission of edX is to expand access to education for everyone. We expect courses and course content developed on our platform to be accessible to everyone, regardless of any physical limitation that they might have.
In furtherance of our mission, edX has entered into an agreement with the United States, under which we have agreed to incorporate accessibility into our website (http://www.edx.org), mobile applications, and platform to meet a wide variety of requirements of learners with disabilities and to enable content providers to develop accessible course content.
The topics in this section are intended to help course teams understand how to develop courses that can serve the widest possible audience.
Note
Course teams should familiarize themselves with this best practices guidance and distribute it to any members of their teams who are responsible for creating course content.
EdX measures and evaluates accessibility using the World Wide Web Consortium’s Web Content Accessibility Guidelines (WCAG) 2.0 (Dec. 11, 2008). All features that are merged into edX repositories are expected to conform to Level AA of this specification and satisfy the requirements outlined in the edX Website Accessibility Policy.
In addition, our guidance is based on principles of universal design (usable by all, to the greatest extent possible, without the need for adaptation or specialized design). Course teams who build courses based on these principles create an inclusive experience that considers the diverse set of learning styles and needs of all learners, including learners with disabilities, learners whose native language is not English, learners with technical issues such as low bandwidth internet or no access to audio.
For the purposes of this guidance, we assume that end users are equipped with the appropriate adaptive technology and compatible software. To supplement the accessibility you can achieve within our platform, we recommend that you engage the resources available at your institution to support learners with disabilities. Most institutions offer disability support services and information technology resources that provide accessibility advice and support. These professionals are trained in making disability accommodation decisions and can advise you on what accommodations may be appropriate in light of the goals of the course and the instructional methodologies employed.
For more information, see the following topics.
Almost one fifth of the world’s population has some kind of disability. Online courses can reduce many barriers to education for these learners by providing access to courses from any location, at any time, and through the use of assistive technologies.
EdX is dedicated to creating a platform that is not only itself accessible, but also enables course content creators to create accessible content. If you encounter platform issues that you believe might affect your ability to provide accessible course content, please contact us at accessibility@edx.org. We welcome any comments and questions.
Note
Use of authoring tools other than those provided by edX might result in inaccessible course content. However, for clarity, use of edX authoring tools does not ensure that your course content will be accessible.
In the following sections, we provide guidance on creating and delivering course content that allows students to use built-in accessibility functionality (such as text-to-speech and magnification features), assistive technologies, and alternative formats. These practices consider learners with diverse needs, such as those in the following list.
EdX highly recommends that you implement the best practices in this document and in other resources. If you cannot easily address any of these barriers to providing accessible course content, edX recommends that you consult with resources at your organization such as Disability Services, or assistive technology and accessibility specialists.
The following resources might also assist you in producing accessible course content.
While your ability to support students in the MOOC context might be different from supporting on-campus students, we encourage you to develop a plan to respond to students who inform you of accessibility barriers to learning. However, given the large numbers of learners enrolling in many of the courses, you will quickly see how important it is to address accessibility concerns when creating a course.
EdX is dedicated to creating a platform that is not only itself accessible, but also enables course content creators to create accessible content. If you encounter platform issues that you believe might affect your ability to provide accessible course content, please contact us using one of the following methods. We welcome any comments and questions.
Note
Use of authoring tools other than those provided by edX might result in inaccessible course content. However, for clarity, use of edX authoring tools does not ensure that your course content will be accessible.
The WCAG 2.0 guidelines are organized around several principles, one of which is that web content must be perceivable. That is, information and user interface components must be presentable to users in ways they can perceive; it cannot be invisible to all of their senses. In almost all cases, this means that the information should be available as text, which can be rendered or transformed into a format that can be perceived.
To produce content that is perceivable by all learners, follow these guidelines.
For any non-text content, provide text alternatives so that the content can be changed into other forms that people need, such as large print, braille, speech, symbols, or simpler language.
For non-text tests or exercises that would be invalid if presented in text, provide text alternatives that at least provide descriptions of the non-text content. Make sure that all images have useful alternative text that screen readers and other assistive technologies can read. For more information, see Use Best Practices for Describing Images.
For time-based media, including pre-recorded audio or video content, provide alternative equivalent information, such as captions, audio description or pre-recorded sign language interpretation. For more information, see Create Accessible Media.
Design your course content so that it can be presented in different ways without losing information or structure. If your content includes specific information, structure, and relationships (such as sequence) that is conveyed through presentation, make sure the same information, structure, and relationships can be programmatically determined or are available in text. HTML is an ideal format in which to publish course content, because it provides semantic elements with implied roles, states, and properties. Users of assistive technologies rely on such semantic elements to effectively and efficiently consume and navigate content. Publish your content in HTML whenever possible.
Make sure your course content does not rely solely on sensory characteristics such as shape, size, visual location, orientation, or sound to be understood by learners.
Make the default presentation as easy to perceive as possible, especially by making it easier for learners to distinguish foreground information from the background, in both visual and audio elements.
For visual elements, techniques include making sure the fonts you use are readable, and that there is sufficient contrast between the foreground and background. Do not use color as the sole means of visually distinguishing an element or conveying critical information. If you must create images that contain text, make sure that the text has a font size of at least 14 points and has good contrast with the background. Images of text cannot be scaled or color corrected as effectively as HTML text. Whenever possible, use the default font and color defined in the edX platform, which was designed to be easy to read. If you choose to override default font colors, make sure that the foreground and background colors have sufficient contrast.
For audio elements, make sure that foreground sounds are sufficiently louder than background sounds.
Make sure your course content is readable and understandable. EdX courses have a global and diverse audience, including learners whose native language is not the language in which you created your course, as well as learners who have a disability that affects reading, such as dyslexia or a visual impairment.
Learners will be better positioned to access concepts in your content if you write in clear, straightforward language and the content is well structured.
Avoid jargon. If unfamiliar words or phrases are relevant to the subject, explain them when they are first used, and include a glossary with your course materials. When you use an abbreviation or acronym, provide the full phrase the first time it appears. For example, “World Health Organization (WHO).”
The Center for Plain Language provides detailed resources on writing clearly and concisely, in language appropriate for your content and target audience.
When you use images (including diagrams, maps, charts, or icons) in your course content, you must provide text alternatives that provide information equivalent to the visual content, or that identify the purpose of such non-text content.
The text alternative for an image depends on the image’s context and purpose, and might not be a simple description of the image’s visual characteristics. In general, for every image, edX recommends that you provide a text alternative that provides the equivalent information that a sighted learner would obtain from viewing the image. If the image contains words that are important for understanding the content, include the words in the text alternative. If the image itself is being used as a link, the text alternative should describe the destination or action that will be performed when the link is activated.
The primary mechanism for providing a text alternative for an image in HTML is
the alt
attribute. The text value of this attribute is what screen reader
users hear when they encounter the image in your content.
Note
All images must include an alt
attribute. There are some
cases, noted below, when an empty alt
attribute (alt=""
) is
desirable. However, the alt
attribute must never be omitted.
Create useful and meaningful text alternatives for images in your course by following these guidelines for particular situations.
If your image serves as a link to additional content or is an interactive form
control such as a button, the value of the alt
attribute should describe
the destination of the link or the action that will be performed when the user
clicks the image. For example, if a linked image of an envelope opens an email
program to send an email, a useful text alternative is “Send message”, rather
than “Envelope.”
If your image contains text, the alt
attribute would typically consist of
exactly the same text as is contained in the image. However, there are a
couple of conditions when having an empty alt
attribute (alt=""
) is
the preferred solution.
If the text contained in the image is also available in nearby HTML, or
otherwise accessible text, including it in the alt
attribute would be
redundant. In this case, setting an empty alt
attribute (alt=""
) is
acceptable. Doing so effectively “hides” the image from screen reader users.
Note
All images must include an alt
attribute so do not omit
the alt
attribute entirely. If the alt
attribute is omitted
entirely, screen readers will read the value of the src
attribute (the
path to the image on a web server) as a fallback. This is rarely helpful to
the user and often results in a poor user experience.
If the text contained in the image is for decorative purposes only and adds no
value to the content of the page, an empty alt
attribute is also
acceptable.
If the image is a simple graphic or photograph that provides additional
context to the surrounding content, the alt
attribute should briefly
describe the image in a way that conveys that context.
Consider the following examples of meaningful alt attributes for a photo of the famous stone bridge, Ponte Vecchio in Florence, Italy.
alt
attribute would be “Photo of Ponte Vecchio, a famous
bridge and shopping center in Florence, Italy.”alt
attribute would be more specific: “Photo of Ponte Vecchio showing its three
stone arches which span the Arno River.”alt
attribute would include the details conveyed visually,
such as dimensions and materials used: “The Ponte Vecchio is a stone bridge
with three arches and a span-to-rise ratio of 5 to 1.”alt
attribute
would provide directions as text.If the image is a graph or represents a complex piece of information, include
the information contained in the image as accessible text adjacent to the
image, or provide a link to the information. The alt
attribute should
convey a summary of what the complex image conveys visually. For example, a
line graph that represents the price of a stock over time might be “The price
of the stock rises from $45 in January of 2015 to over $76 in June of 2015 with
a significant drop of 30% during the month of March.”
Consider using a caption to display long descriptions so that the information
is available to all learners. In the following example, the image element
includes the short description as the alt
attribute and the paragraph
element includes the long description.
<img src="image.jpg" alt="Photo of Ponte Vecchio"> <p>Photo of Ponte Vecchio showing its three stone arches and the Arno river</p>
Alternatively, provide long descriptions by creating an additional unit or downloadable file that contains the descriptive text and providing a link to the unit or file below the image.
<img src="image.jpg" alt="Illustration of Ponte Vecchio"> <p><a href="description.html">Description of Ponte Vecchio Illustration</a></p>
If a suitable text alternative is unknown at the time of publication (for
example, a webcam image that updates every 10 minutes) provide an alt
attribute that includes as much useful information as possible. For example,
“Traffic on Interstate 90 at 5:45 PM June 26, 2015.”
Images that do not provide information, including purely decorative images, do not need text descriptions. For example, an icon that is followed by link text that reads “Course Syllabus (EPUB)” does not need alternative text.
For non-informative images that should be skipped by screen reading software,
include an alt
attribute but leave it with an empty value (also known as a
NULL alt
attribute).
<img src="image.jpg" alt="">
Note
While it is appropriate to have an empty alt
attribute, it is
never acceptable to omit the alt
attribute entirely. If image elements do
not include an alt
attribute at all, a screen reader will read the path
to the image, or, in the case of a linked image, announce the linked URL.
This is rarely helpful to the user and often results in a poor user
experience.
Graphics are helpful for communicating concepts and information, but they can present challenges for people with visual impairments. For example, a chart that requires color perception or a diagram with tiny labels and annotations will likely be difficult to comprehend for learners with color blindness or low vision. All images present a barrier to learners who are blind.
EdX recommends that you follow these best practices for making information graphics accessible to visually impaired learners.
The source teaching materials for your course might exist in a variety of formats. For example, your syllabus might be in MS Word, your presentation slides in MS PowerPoint, and your textbooks in publisher-supplied PDF. It is important to consider how accessible these supplemental materials are before making them available through your course.
Carefully consider the document format you choose for publishing your course materials, because some formats support accessibility better than others. Whenever possible, create course materials in HTML format, using the tools available to you in edX Studio. When you make digital textbooks (ebooks) available within your course, ask digital book publishers for books in either DAISY or EPUB 3 format, or both. Both of these digital book formats include unparalleled support for accessibility. However, simply supporting accessibility does not always mean a document will be accessible. When you source ebooks from third parties, it helps to ask the right questions about accessibility.
Natively accessible formats like those mentioned above might not always be available options. Other popular document formats included in edX courses include PDF, Microsoft Word, Excel, or PowerPoint. Many of the same accessibility techniques and principles that apply to authoring web content apply to these document formats as well.
The information that follows provides some practical guidance to publishing accessible course materials in popular formats.
Not all ebooks are available in DAISY or EPUB 3 format. Portable Document Format (PDF) is another common format for course materials, including textbooks supplied by publishers. However, converting materials to PDF documents can create accessibility barriers, particularly for learners with visual impairments. Such learners rely on the semantic document structure inherently available in HTML, DAISY, or EPUB 3 to understand and effectively navigate PDF documents. For more information, see HTML Markup Resources).
Accessibility issues are very common in PDF files that were scanned from printed sources or exported from a non-PDF document format. Scanned documents are simply images of text. To make scanned documents accessible, you must perform Optical Character Recognition (OCR) on these documents, and proofread the resulting text for accuracy before embedding it within the PDF file. You must also add semantic structure and other metadata (headings, links, alternative content for images, and so on) to the embedded text.
When you export documents to PDF from other formats, it is important to ensure that the source document contains all the required semantic structure and metadata before exporting. Unfortunately, some applications do not include this information when exporting and require the author to add or “tag” the document manually using PDF editing software. You should carefully consider whether exporting to PDF is necessary at all.
Note
OpenOffice and LibreOffice will produce the best results when you export documents to PDF.
Note
When you export Microsoft Office documents as PDF, use the Save as PDF option. Make sure the Document Structure Tags for Accessibility option is selected (consult your software documentation for more details). PDFs generated from Windows versions of MS Office might be more accessible than those generated from Mac OS versions of MS Office. If you are using Mac OS, we highly recommend exporting from OpenOffice or LibreOffice.
Note
When you export from OpenOffice or LibreOffice, use the Export as PDF option. Make sure the Tagged PDF option is selected.
EdX highly recommends using the tools available in Adobe Acrobat Pro (for example, “Accessibility Checker”) to evaluate your PDF files for accessibility. Adobe Acrobat Pro also includes tools (for example, “Make Accessible”) for fixing most common accessibility issues.
Many of the same accessibility techniques and principles that apply to authoring web content also apply to creating Word documents.
In addition, follow these guidelines when you format Word documents.
Many of the same accessibility techniques and principles that apply to authoring data tables in HTML also apply to creating Excel spreadsheets.
Many of the same accessibility techniques and principles that apply to authoring web content also apply to creating PowerPoint presentations.
To make your content accessible and comprehensible to learners who use screen reading software, start in Outline view and include all of your content as text. After completing the outline, add design elements and images, and use the picture formatting options in MS PowerPoint to include detailed text descriptions of images that convey useful information to learners who cannot view the images. Use the Home > Drawing > Arrange > Selection Pane option to view the reading order of objects on each slide. If the reading order is not logical, change the order of the objects.
Math in online courses can be challenging to deliver in a way that is accessible to people with vision impairments. Non-scalable images of mathematical content cannot be sufficiently enlarged or navigated by low-vision users and are not accessible to blind users at all.
EdX uses MathJax to render math content in a format that is clear, readable, and accessible to people who use screen readers. MathJax works together with math notation such as LaTeX and MathML to render mathematical equations as text instead of images. EdX recommends that you use MathJax to author your math content. MathJax renders math in a variety of formats on the client side, offering the end user the ability to consume math content in their preferred format. EdX Studio supports authoring math directly in LaTeX using the LaTeX Source Compiler to transform LaTeX into MathJax.
Note
EdX has carefully designed an assessment workflow that is flexible enough to meet the needs of course authors, and accessible enough to be used by all learners. However, because of limitations with HTML and screen reader technology, screen readers may not be able to read math problems in edX courses by default. To work around this limitation, edX recommends that learners who use screen readers use one of the following methods.
Course authors do not need to make any changes to the way they create math content to work around this problem.
Using different content types in your courses can significantly add to the learning experience for your learners. This section covers how to design several custom content types so that your course content is accessible to all learners.
Simulations, including animated or gamified content, can enhance the learning experience. In particular, they benefit learners who might have difficulty acquiring knowledge from reading and processing textual content alone. However, simulations can also present some groups of learners with difficulties. To minimize barriers to learning, consider the intended learning outcome of the simulation. Is your goal to reinforce understanding that can also come from textual content or a video lecture, or is it to convey new knowledge that other course resources cannot cover? Providing alternative resources will help mitigate the impact of any barriers.
Although you can design simulations to avoid many accessibility barriers, some barriers, particularly in simulations supplied by third parties, might be difficult or impossible to address for technical or pedagogic reasons. Understanding the nature of these barriers can help you provide workarounds for learners who are affected. Keep in mind that attempted workarounds for simulations supplied by third parties might require the supplier’s consent if copyrighted material is involved. If you consider third party solutions, we encourage you to evaluate them for accessibility. The easiest way to do this is to contact the vendor and ask them about the accessibility of their product.
Consider the following questions when creating simulations, keeping in mind that as the course creator, you enjoy considerable freedom in selecting course objectives and outcomes. Additionally, if the visual components of a simulation are so central to your course design, providing alternative text description and other accommodations might not be practical or feasible.
Does the simulation require vision to understand? If so, provide text describing the concepts that the simulation conveys.
Is a computer mouse necessary to operate the simulation? If so, provide text describing the concepts that the simulation conveys.
Does the simulation include flashing or flickering content that could trigger seizures?
If so, and if this content is critical to the nature of the simulation, take these steps.
For each activity or assessment that you design, consider any difficulties that learners with disabilities might have in completing it, and consider using multiple assessment options. Focus on activities that can be completed and submitted by all learners.
Some learners take longer to read information and input responses, such as learners with visual or mobility impairments and learners who need time to comprehend the information. If an exercise has a time limit, consider whether the allowed time is enough for all learners to respond. Advance planning might help to reduce the number of learners requesting time extensions.
Some online exercise question types, such as the following examples, might be difficult for learners who have vision or mobility impairments.
If you include links to third-party content in your course, be mindful of the accessibility of such resources. EdX recommends that you evaluate third-party content prior to sharing it with learners.
You can use the eReader tool or Adding Files to a Course to incorporate third-party textbooks and other publications in PDF format into your course. You can also incorporate such materials into your course in HTML format. See Creating Accessible PDF Documents for guidance on working with third-party supplied PDFs, and Use Best Practices for HTML Markup for guidance on creating accessible HTML.
Media-based course materials help to convey concepts and can bring course information to life. We require all videos in edX courses to include timed text captions in SubRip (SRT) format. The edX media player displays caption files in an interactive sidebar that benefits a variety of learners, including learners who are hard of hearing or whose native language differs from the primary language of the media. This built-in universal design mechanism enhances your course’s accessibility. When you create your course, you need to factor in time and resources for creating timed text captions.
Timed text captions are essential to opening up a world of information for persons with hearing loss or literacy needs by making the readable equivalent of audio content available to them in a synchronized manner. Globally hearing loss affects about 10% of the population to some degree. It causes disability in 5% (360 to 538 million) and moderate to severe disability in 124 million people. Timed text captions also be helpful for learners whose native languages are languages other than the primary language of the media or who have cognitive conditions that benefit from visual. The edX media player displays timed text captions as links in an interactive area adjacent to the video, which allows all learners to navigate to a specific section of the video by selecting some location within the caption text.
Text caption files start with the text version of a video’s spoken content and any non-spoken audio that is important to understanding the context of the video, such as [BUZZER], [LAUGHTER], or [THUNDER]. If you created your video using a script, you have a great start on creating the text caption file. Simply review the recorded video and update the script as needed. Proper editing should maintain both the original meaning, content, and essential vocabulary. Text captions can be uploaded to YouTube along with the video to create a timed text file in SubRip (SRT) format. Otherwise, you will need to create the timed text caption file yourself or engage someone to do it. There are many companies that will create timed text captions (captions that synchronize the text with the video using time codes) for a fee. SRT files should be associated with video components in Studio. See Working with Video Components for details on how to associate text captions with videos.
If you choose to create your own timed text caption files yourself, you must follow these guidelines.
When you create video segments, consider how you will convey information to learners who cannot see what is happening in a video. Actions that are only visible on screen without any audible equivalent are not accessible to learners who have visual impairments.
For many topics, you can fully cover concepts in the spoken presentation. If it is practical to do so, you should audibly describe visual events as they happen in the video. For example, if you are illustrating dropping a coin and a feather together from a height, you should consider narrating your actions as you perform them. Ask yourself if your video would make sense if the learner were only listening to the audio content, for example while they were driving a car.
For both audio and video transcripts, consider including a text file that learners can download and review using tools such as word processing, screen reader, or literacy software. All learners can use transcripts of media-based learning materials for study and review.
HTML is the best format for creating accessible content. It is well supported and adaptable across browsers and devices. Also, the information in HTML markup helps assistive technologies, such as screen reader software, to provide information and functionality to people with vision impairments.
Most of the problem type templates in edX Studio conform to our recommended best practices in terms of good HTML markup. You can manually add appropriate HTML tagging even if it does not exist in the component template. Depending on the type of component you are adding to your course in edX Studio, the raw HTML data is available either automatically or by selecting the “Advanced Editor” or “HTML” views.
Keep the following guidelines in mind when you create HTML content.
Use HTML tags to describe the meaning of content, rather than changing its
appearance. For example, you should tag a section title with the appropriate
heading level (such as <h3>
) rather than making the text appear like
a heading by applying visual elements such as bold text and a larger font
size. Format list items into a list rather than using images of bullets or
indents. Using HTML to describe your content’s meaning is valuable for
learners who use screen readers, which, for example, can read through all
headings of a specific level or announce the number of items in a list.
Use HTML heading levels in sequential order to represent the structure of a document. Well-structured headings help learners and screen reader users to navigate a page and efficiently find what they are looking for.
In your HTML and problem components, be sure to apply only heading levels 3 through 6 to your content. Because the components that you add are part of a complete page, and heading levels 1 and 2 are already in use by other elements on the page, any text with a heading 1 or 2 style within an HTML or problem component can interfere with the functionality of tools such as screen readers.
Use HTML list elements to group related items and make content easier to skim and read. HTML offers three kinds of lists.
Use table elements to format information that works best in a grid format,
and include descriptive row and column headings. Tag row and column headers
with the <th>
element so screen readers can effectively describe the
content in the table.
Universal Design for Learning focuses on delivering courses in a format so that as many of your learners as possible can successfully interact with the learning resources and activities you provide them, without compromising on pedagogic rigor and quality.
The principles of Universal Design for Learning can be summarized by the following points.
Course teams can apply these principles in course design by following several guidelines.
When you begin to set up a course, the first step is to plan and specify two types of basic information about your course.
This section provides information about how to determine required course and course run information, as well as how to enter this information in Studio.
Course information remains true whether the course runs one time or multiple times. This section lists the optional and required information for courses, as well as guidelines to help you create an effective course and About page.
After you have determined the information for your course, you enter this information in Studio. For more information, see Creating a Course.
The course title (sometimes also called the course name) and number are important identifiers for your course. It is a good idea to use titles and numbers that are easy to understand and remember.
For information about how to add your course title and number, see Creating a New Course in Studio.
For guidelines for determining a course title and number, see the following topics.
When you determine the title of your course, consider the following guidelines.
For information about how to add your course name, see Creating a New Course in Studio.
Note
The title that you specify when you create your course becomes part of the course URL. The course URL cannot be changed. However, if you want to change the way that your course title appears in Studio and the LMS, see Change the Course Title.
The following course titles are for stand-alone courses.
The following course titles are for courses in a sequence or in a program such as an XSeries.
Course numbers have the following guidelines.
Note
The number that you specify when you create your course becomes part of the course URL. The course URL cannot be changed. However, if you want to change the way that your course number appears in Studio and the LMS, see Change the Course Number.
For information about how to add your course number, see Creating a New Course in Studio.
The About page for a course or program includes both a representative image and a short About video. The course or program image also appears in places such as learner dashboards and search engine results.
For information about how to add your course title and number, see Creating a New Course in Studio.
A representative image is an eye-catching, colorful image that captures the essence of a course or program. These images are visible in the following locations.
When you create a course or program image, keep the following guidelines in mind.
Images must follow specific size guidelines.
The course image that you add in Studio appears on the About page for the course and on the learner dashboard. It must be a minimum of 378 pixels in width by 225 pixels in height, and in .jpg or .png format. Make sure the image that you upload maintains the aspect ratio of those dimensions so that the image appears correctly on the dashboard.
The course About video should excite and entice potential learners to enroll, and reveal some of the personality that the course team brings to the course.
This video should answer these key questions.
This video should deliver your message as concisely as possible and have a run time of less than two minutes.
Before you upload a course About video, make sure that it follows the same video guidelines as your course content videos.
Note
For information about how to add an About video to your course About page, see Add a Course About Video.
Descriptive course information includes information such as the course short and long descriptions, as well as information about what learners will learn, the subject, and the difficulty level.
An effective short description follows these guidelines.
The first MOOC to teach positive psychology. Learn science-based principles and practices for a happy, meaningful life.
Given the diversity of online learners, be sure to review your course description to ensure that it clearly communicates the target audience, level, and prerequisites for your course. Use concrete, unambiguous phrasing, such as a prerequisite of “understand eigenvalue decomposition” rather than “intermediate linear algebra”.
An effective long description follows these guidelines.
Note
The first four lines of the course long description are visible when the About page opens. Learners can select “See More” to view the full description.
The following long description is a content-based example.
Want to learn computer programming, but unsure where to begin? This is the course for you! Scratch is the computer programming language that makes it easy and fun to create interactive stories, games and animations and share them online.
This course is an introduction to computer science using the programming language Scratch, developed by MIT. Starting with the basics of using Scratch, the course will stretch your mind and challenge you. You will learn how to create amazing games, animated images and songs in just minutes with a simple “drag and drop” interface.
No previous programming knowledge needed. Join us as you start your computer science journey.
The following long description is a skills-based example.
Taught by instructors with decades of experience on Wall Street, this M&A course will equip analysts and associates with the skills they need to rise to employment in the M&A field. Additionally, directors and managers who have transitioned, or hope to transition, to M&A from other areas such as equities or fixed income can use this course to eliminate skill gaps.
The “what you will learn” information describes the skills and knowledge learners will acquire in the course in an itemized list. EdX recommends that you format each item as a bullet with four to ten words.
A primary subject is required. Optionally, you can select up to two subjects in addition to the primary subject. Only the primary subject appears on the About page.
A particular course might specify the following subjects.
Use the following guidelines to select the level for your course.
Optionally, you can share additional information on your About page. This section describes this information.
You can add these optional items to your course About page. For more information, see Creating a Course About Page in Studio.
You might want to make sure that your learners have a specific set of skills and knowledge before they take your course. This information appears on the course About page.
Optionally, you can also require that learners complete a specific course before they enroll in your course, or that learners complete an entrance exam before they access course content. This information also appears on the About page, but you specify these prerequisites on the Schedule & Details page in Studio. For more information, see Prerequisite Courses and Require an Entrance Exam.
You add skill and knowledge prerequisites in Studio. For more information, see Creating a Course About Page in Studio.
When you require that your learners pass a particular course before they enroll in your course, learners see information about course prerequisites on the course About page.
If learners have not completed the prerequisite course, they can enroll in your course and then see your course on their learner dashboards. However, unlike with other courses, the dashboard does not provide a link to the course content. The dashboard includes a link to the About page for the prerequisite course. Learners can enroll in the prerequisite course from the About page.
You enter this information in Studio. For more information, see Prerequisite Courses.
You can require your learners to pass an entrance exam before they access your course materials. If you include an entrance exam, learners who enroll in your course can access only the Entrance Exam page until they pass the exam. After learners pass the exam, they can access all released materials in your course.
You enter this information in Studio. For more information, see Require an Entrance Exam.
We strongly recommend that you follow several guidelines to help you and your learners have a positive experience with entrance exams.
A syllabus is a review of content covered in your course, organized by week or module. To create an effective syllabus, keep the following guidelines in mind.
You can add the syllabus to your course About page. For more information, see Creating a Course About Page in Studio.
You can also add a syllabus to your course in Studio by creating a custom page or a handout. For more information, see Adding Custom Pages and Add a Course Handout.
Week 1: From Calculator to Computer
Introduction to basic programming concepts, such as values and expressions, as well as making decisions when implementing algorithms and developing programs.
Week 2: State Transformation
Introduction to state transformation, including representation of data and programs as well as conditional repetition.
To help prospective learners, you can add any frequently asked questions (FAQ) and the answers to those questions to your About page.
You can add the FAQ to your course About page. For more information, see Creating a Course About Page in Studio.
Q: Is the textbook required?
A: No, the textbook is not required. However, you will find that it more completely explains some of the concepts that we cover quickly in the course, and will add depth to your understanding.
Q: How much is the final exam worth?
A: The final exam is worth 30% of the total grade. You can find more information about the value of each assignment on your Progress page.
A learner testimonial is a quote from a learner in the course, demonstrating the value of taking the course.
To be effective, a testimonial should contain no more than 25-50 words.
You can add the learner testimonial to your course About page. For more information, see Creating a Course About Page in Studio.
You may need to be able to make certain custom information about your course available to entities such as customer relationship management (CRM) software, a marketing site, or other external systems. This information is not visible to learners.
For example, you might want to make the following information available.
You add this information as a JSON dictionary in Studio. For more information, see Add Course Metadata.
Course run information can change each time a course is run. This section lists the optional and required information for course runs, as well as guidelines to help you create an effective course and About page.
After you have determined the information for your course run, you enter this information in Studio. For more information, see Creating a Course.
You can designate a team of people to help you run your course.
You add staff members in Studio. For more information, see Adding Course Team Members in Studio.
Staff biographies for the course About page must include the following information.
Note
Additionally, biographies can optionally include the following information.
For information about how to enter this information in your course About page, see Creating a Course About Page in Studio.
To give team members access to Studio, the instructor dashboard in the LMS, and Insights, you assign one of these course team roles to them.
You can assign these privileged roles when you work in either the LMS or Studio. The people who have these roles can work on your course in Studio, the LMS, and Insights. For more information about assigning roles to team members in Studio, see Add Course Team Members.
You can also designate teams of people to beta test your course or to moderate and manage its discussions by assigning other roles in the LMS. Beta testers and discussion team members must be enrolled in your course, but they do not need to have the Staff or Admin role. For more information, see Beta Testing a Course and Assigning Discussion Moderation Roles.
For more information about how to add course team members, see Adding Course Team Members in Studio.
To provide access to features on the instructor dashboard in the LMS, you can assign the Staff role or the Admin role to course team members.
Team members who have either of these roles can work on your course in Studio immediately, and can also use the LMS and Insights. For more information about assigning roles while you run your course, see Planning Course Staff.
You can also designate teams of people to beta test your course and to moderate and manage its discussions by assigning other LMS roles. The beta testers and discussion administrators must be enrolled in your course, but they do not need to have Staff or Admin access. For more information, see Beta Testing a Course and Assigning Discussion Moderation Roles.
For more information about how to add course team members, see Adding Course Team Members in Studio.
Course team members who have the Staff role can complete the following tasks.
Course team members who have the Admin role can complete all the tasks that team members who have the Staff role can complete. In addition, they can complete the following tasks.
Access and modify grades for all learners in a course. For example, users with the Admin role can reset all learners’ attempts to answer a question.
Add team members to, and remove them from, the Staff role.
Add team members to, and remove them from, the Admin role.
Add and remove team members as beta testers.
Add team members to, and remove them from, the Discussion Admin or Discussion Moderator role.
Add enrolled learners to, and remove them from, the Community TA or Group Community TA role.
Note
To moderate course discussions, team members must explicitly be added to a discussion moderation role in addition to having the course team Staff or Admin role. For more information, see Assigning Discussion Moderation Roles.
Scheduling, which includes start and end dates as well as whether the course is self-paced or instructor-paced, changes with every course run.
After you determine scheduling for your course run, you enter this information in Studio before the course run begins. For more information, see Creating a Course About Page in Studio.
The start and end dates you set for your course are important for prospective and current learners. Current learners see your course start or end date on their dashboards. You should consider your course dates carefully.
The course start date and time specify when learners can access published course content. By default, the course start date and time are set to 01/01/2030 at 00:00 UTC to ensure that your course does not start before you intend it to.
The following guidelines can help you determine a course start date.
Although learners cannot access any part of your course before the course start date, course team members who are enrolled in the course and who have the staff, admin, or beta tester role can see published content in the course before the course start date. For information about testing your course content before the course start date, see Beta Testing a Course.
Note
You can set a different advertised start date for your course. You might do this if the exact start date is uncertain. For example, you could advertise the start date as “Coming Soon”. For more information, see Advertise a Different Start Date.
The course end date and time specify when learners can no longer earn credit toward certificates. Learners can continue to complete available coursework, but cannot earn credit after the course ends. Learners who have earned certificates can view the certificates soon after the course end date.
In self-paced courses, course teams can make certain course components unavailable based on the course end date. For example, course teams can make a final exam unavailable after the end date for a self-paced course. For more details, see Hide a Subsection Based on Date.
Important
If you do not set a course end date, learners cannot access earned certificates.
As soon as enrollment starts, prospective learners can see your course in the course catalog, view the course About page, and enroll in the course.
The enrollment start date and time specify when learners can start to enroll in the course. Ensure that the enrollment start date is early enough to allow learners to both enroll in and prepare for the course.
The enrollment end date and time specify when learners can no longer enroll in the course. Ensure that the enrollment end date is late enough to allow learners adequate time to enroll. The enrollment end date cannot be later than the course end date.
When learners browse courses, the start date for each course is visible in the course catalog and in the course’s About page.
To find the URL of your course’s About page in Studio, select Settings, and then select Schedule & Details.
After learners enroll in courses, the courses appear on their course dashboards. To access the dashboard, learners select their usernames and then select Dashboard. For a course that is in progress or has not yet started, the start date is visible. For a course that has ended, the course end date is visible.
This topic describes the difference between instructor-paced and self-paced courses.
When you create an edX course, you can set the schedule of the course, including due dates for assignments or exams, or you can allow learners to work at their own pace. Courses that follow a schedule that you set are known as instructor- paced courses. Courses that allow learners to submit assignments at any time before the course ends, without internal due dates, are known as self- paced courses.
An indicator for the pacing for your course appears on the Course Outline page. By default, courses are instructor-paced.
Note
You cannot change the course pacing after the course start date has passed.
Instructor-paced courses progress at the pace that the course author sets. You set release dates for content and due dates for assignments, and assignment due dates are visible in the LMS. Learners cannot access course content before its release date, and learners must complete assignments by their due dates.
In self-paced courses, learners can access all course materials when the course begins, and assignments do not have due dates. You do not have the option to set release dates for course content or due dates for assignments. The LMS shows indicators for graded assignments but no due dates. Learners can complete course material at any time before the course end date.
Note
If you set due dates for assignments or exams in an instructor-led course and later change the course to be self-paced, Studio stores the due dates that you previously set. If you change the course back to instructor- paced later, Studio restores the due dates.
Optional additional information that may change with each course run includes information about the languages that course content is available in, as well as the time you expect learners to spend with your course.
For information about how to enter this content in Studio, see Creating a Course About Page in Studio.
You are required to specify a language or languages for the following content.
Optionally, you can also specify additional languages for course videos.
Effort indicates the number of hours each week you expect learners to work on your course, rounded to the nearest whole number.
This topic describes how to use Studio to create and set up a course, as well as enable several different course features and create a course About page.
After you have selected the members of your course team, you are ready to add team members in Studio.
For more information about selecting course team members, see Planning Course Staff.
Course team members are users who help you build your course. To add someone to the course team, you must meet these prerequisites.
Other course team members can edit the course and perform all tasks except adding and removing other team members and granting Admin access.
Note
Any course team member can delete content created by other team members.
To add a course team member, follow these steps.
The new team member can now work on the course in Studio.
You can also assign privileged roles to users when you work in the LMS by selecting Instructor and then Membership.
Assigning a course team role to a user both adds the user to the course team and assigns the role to that user.
To assign the Staff or Admin role to a team member, you must meet these prerequisites.
To assign a privileged role to a course team member, follow these steps.
To remove an assigned role, view the list of users and then select Revoke access.
This topic describes how to use Studio to create and set up a course.
To create and run a course, you can either create an entirely new course in Studio, or you can re-run an existing course. For more information about re- running a course, see Re-running a Course.
You can also export and import courses as XML files. You can do this when you need to back up a course or edit the course in XML.
To create a course, follow these steps.
Sign in to Studio.
Select New Course.
Enter the following information about your course.
Important
The values that you enter for the organization, course number, and course run cannot be edited after you create your course.
For Course Name, enter the title of your course. For example, the name might be “Sets, Maps, and Symmetry Groups”. Use title capitalization for the course title, and normal spacing and punctuation.
For Organization, you enter the identifier for your organization. Do not include spaces or special characters.
For Course Number, you enter both a subject abbreviation and a number.
For example, for public health course number 207, enter PH207
. For
math course 101x, enter Math101x
. Do not include spaces or special
characters in the course number.
Note
If your course will be public, be sure to include the “x”. If it is exclusively an on campus offering, do not include the “x”.
For Course Run, you enter the term in which your course will run. For example, enter 2014SOND or T2_2014. Do not include spaces or special characters.
The value that you enter for the run does not affect the course start date that you define for the course. For more information, see Scheduling a Course Run.
The organization, course number, and course run values that you enter are used to create the URL for your course. Because URLs do not have an unlimited length, the total number of characters that you enter for these values must be 65 or fewer.
Select Create.
The Course Outline page opens. You can start developing course content. For more information, see Getting Started with Course Content Development.
After you create a course, the course opens in Studio automatically and you can begin editing. Your next steps might include adding other course team members, setting the course start and end dates, or developing the course outline.
When you return to Studio later, your My Courses dashboard page lists the courses that you created as well as any courses for which you have course team privileges.
Note
After the end date for a course has passed, the course moves to the Archived Courses tab on the Studio dashboard. If the course that you want to edit is not visible on the Courses tab, look for the course on the Archived Courses tab.
To edit a course, select the course name. The Studio Course Outline page appears.
The course title and number that you specify when you create your course become part of the course URL. The course URL cannot be changed. However, you can change the way that your course title and number appear in Studio and the LMS.
To change the way that your course title appears in Studio and the LMS, follow these steps.
Note
EdX does not recommended that you do this if your course is live.
In Studio and the LMS, your course title changes to the value that you specify in the Course Display Name field. The URL for your course does not change.
To change the way that your course number appears in Studio and the LMS, follow these steps.
Note
EdX does not recommended that you do this if your course is live.
In Studio and the LMS, your course number changes to the value that you specify in the Course Number Display String field. The URL for your course does not change.
To make certain information about your course available to entities such as customer relationship management (CRM) software, a marketing site, or other external systems, follow these steps.
After you determine the start and end dates for a course run, and whether you want your course run to be self-paced or instructor-paced, you specify these settings on the Schedule & Details page in Studio.
For more information about determining how to schedule your course, see Scheduling a Course Run.
To set dates and times for the course and for course enrollment in Studio, follow these steps.
Note
EdX recommends that you verify all important dates in Studio one week before you plan to start the course.
On the Settings menu, select Schedule & Details.
In the Course Schedule section, replace the placeholder dates and times with your own information.
When you make changes on this page, a panel with options to save or cancel your work appears.
Select Save Changes.
Note
The times that you set are in Coordinated Universal Time (UTC). You might want to verify that you have specified the times that you intend by using a time zone converter such as Time and Date Time Zone Converter.
You can advertise a start date for your course that is different from the course start date you set in the Schedule & Details page. You might want to do this if the exact start date is uncertain.
You can enter a specific date or a description. For example, you could advertise the start date as either “15 Oct 2016” or “Anytime, self-paced”.
To set an advertised start date in Studio, follow these steps.
On the Settings menu, select Advanced Settings.
Locate the Course Advertised Start Date field. The default value is
null
.
Enter the start date that you want learners to see for your course in MM/DD/YYYY format.
A date value entered in MM/DD/YYYY format appears to learners in DD Mon YYYY format. For example, 10/15/2016 appears as 15 Oct 2016.
Add quotation marks (" "
) before and after the start date value. An
example follows.
"Anytime, self-paced"
Select Save Changes.
A message lets you know whether your changes were saved successfully.
Note
If you do not change the default course start date (01/01/2030), and the
Course Advertised Start Date policy value is null
, no start date
appears for the course. Learners just see that the course has not yet started.
Before you can use this feature to set up a self-paced course, it must be enabled using the Open edX Django admin panel. Follow these steps, or contact your Open edX site administrator for assistance.
To set the pacing for your course, follow these steps.
Note
You cannot change the course pacing after the course start date has passed.
In Studio, you can specify that learners must complete a specific course before they can take another course. You can also require learners to complete an entrance exam before they can access your course content.
For more information about course prerequisite options, see Skill and Knowledge Prerequisites.
To define one course as the prerequisite for another, you must be the course creator in both the current course and in the prerequisite course.
To specify a prerequisite course, follow these steps.
Note
Currently, you can specify only one prerequisite course.
For more information about prerequisite courses, see Prerequisite Courses.
To require an entrance exam, follow these steps.
After you save your changes, Studio automatically creates an Entrance Exam section in your course outline. To add content to your entrance exam, go to the course outline.
You create your course entrance exam from the course outline in Studio. Creating entrance exam content is just like creating other course content. For more information, see Adding Course Components.
If you find an error in the exam after learners have taken it, and corrections to the exam are unavoidable, you have several options to rescore the exam for individual learners. These options are available on the instructor dashboard.
In the LMS, select Instructor to access the instructor dashboard, and then select Student Admin. In the Entrance Exam Grade Adjustment section, the following options are available.
Another option on the instructor dashboard is Show Background Task History for Student. If you reset learner attempts, rescore learner submissions, or delete learner state, the operation runs in the background. If you want to see a record of all the operations that have run for the entrance exam, select Show Background Task History for Student.
The course About page, sometimes called the course summary page, provides information about your course to learners. Learners can see the About page before they enroll in the course.
Note
If the CourseTalk widget is enabled for your instance of the Open edX platform, the About page for every course also includes the CourseTalk widget. Learners who have enrolled in your course use this widget to write reviews of your course on the Course page in the LMS. These reviews are then visible on the course About page. For more information, see Adding the CourseTalk Widget.
You add the contents of your course About page in Studio. For more information, see one of the following topics.
Learners see a description of your course on the course About page, under the heading “About this course”. The course description contains the following information about your course.
Additionally, a course description can contain the following information.
For more information about creating an effective course description, see Course Description.
To provide a description for your course, follow these steps.
From the Settings menu, select Schedule & Details.
In the Introducing Your Course section, locate the Course Overview field. This field contains a raw HTML template with placeholders for your course content.
Overwrite the placeholder content with information for your course, following the directions in the template. Do not edit HTML tags.
If you want to include information that does not have a specific section in the template, such as languages, you can add this information in the “About This Course” section.
To test how the description will appear to learners, locate the text that follows the Course Overview field, and then select your course summary page.
Select Save Changes.
For more information about effective course images, see Images and Videos for a Course or Program.
To add a course image in Studio, follow these steps.
To upload a course About video, follow these steps.
Upload the video file to YouTube. When the file is uploaded, copy the code that appears between watch?v= and &feature in the URL. This code is the YouTube video ID.
For example, in the following URL, B-EFayAA5_0 is the code.
https://www.youtube.com/watch?v=B-EFayAA5_0&feature=you.tube
From the Settings menu, select Schedule & Details.
Scroll down to the Course Introduction Video section.
In the field below the video box, enter the YouTube video ID that you copied in step 1. When you add the code, the video automatically loads in the video box.
When you make changes, a Save Changes option appears at the bottom right of the page. Select Save Changes after you add the course video.
View your course About page to test how the video will appear to learners.
The estimated effort that the course requires appears in the course About page.
To set the hours per week week estimate in Studio, follow these steps.
From the Settings menu, select Schedule & Details.
In the Requirements section, locate the Hours of Effort per Week field.
Enter the number of hours you expect learners to work on this course each week.
When you make changes on this page, a panel with options to save or cancel your work appears.
Select Save Changes.
View your course About page to test how the requirements will appear to learners.
This section describes how to create and manage certificates for your course.
For more information about certificates, see these additional topics.
For information about awarding badges for your course, see Enable or Disable Badges for Your Course.
Using Studio, you create and manage the certificates that learners can earn in your course.
By default, Studio automatically generates certificates as each learner passes the course for both self-paced and instructor-paced courses.
When certificates become available to learners, a link to the certificate is visible on the learner dashboard and the Progress page.
For more information about issuing certificates, see Issuing Certificates.
The design of certificates for your course, including your institution’s logo, are configured on your instance of Open edX. For more information, see Enabling Course Certificates in Installing, Configuring, and Running the Open edX Platform.
Note
If your course is configured to issue certificates, you cannot start the course until the required certificates are activated.
For information about starting the course, see Guidelines for Start and End Dates.
Before you can create certificates, you must enable certificates for your course.
true
.To create a certificate for your course, follow these steps.
Optionally, upload an image file showing the signature of each signatory.
The image file must be a transparent .png file, 450px by 150px.
When you have finished creating your certificate, select Create.
You can preview the certificate to see how it will appear to a learner taking the course in the selected mode.
Your course certificate is not available for issuing to learners until it is activated.
You can edit certificates before and after they are activated.
Only course team members with the Staff or Admin role can edit activated certificates.
Caution
As a best practice, do not make changes to certificates in a running course if it is possible that certificates have already been issued to learners, because different learners might be awarded certificates with different details for the same course.
If you must edit an activated certificate, you should deactivate the certificate before making changes to it.
To edit a certificate, follow these steps.
In Studio, from the Settings menu, select Certificates.
On the Certificates page, at the top of the certificate form, select the Edit icon.
When you have finished editing the certificate, select Save.
After you save your changes, you can preview the certificate to make sure it appears as you want it to. You then need to activate the certificate before certificates can be issued.
Optionally, you can specify an alternative course title to use on the certificate. You might want to use a different title on your course certificates if, for example, the official course name is too long to fit on the certificate.
You can also specify an alternative course number. To do this, see Set a Course Number Override.
Optionally, you can specify an alternative course number to use on the certificate.
You might want to use a different number on your course certificates if, for example, the official course number is meaningful only within your institution.
In Studio, select Settings, and then Advanced Settings.
Locate the Course Number Display String field. This field contains the course number you set to override the official course number on certificates.
Between quotation marks (" "
), enter the course number you want
displayed on certificates.
Select Save Changes.
A message lets you know whether your changes were saved successfully.
By default, certificates become available to learners 48 hours after your course ends. You can also specify a different date to make certificates available.
You can delete a certificate that is not activated.
Caution
Do not delete a certificate after the course has started. A learner who has already earned a certificate will no longer be able to access it.
To delete a certificate, follow these steps.
After you have finished editing your certificate, you can preview a certificate for verification purposes. You select from the available course modes (such as “verified”) to see how a certificate will appear to a learner taking the course in the selected mode.
In Studio, from the Settings menu, select Certificates.
On the Certificates page, select the course mode of the certificate you want to preview, then click Preview Certificate.
You see the web view for the certificate, as a learner in the selected course mode would see it.
After previewing the certificate, you can edit the certificate further or activate your certificate.
When you have verified your certificate, a course team member with the Admin or Staff role can activate the certificate.
Note
Course team members without the Admin or Staff role cannot activate a certificate.
To activate a certificate, follow these steps.
After certificates are activated, learners in your course who attain a passing grade or otherwise qualify receive certificates.
In some situations, after you have activated a certificate, you might need to deactivate the certificate to make changes.
As a best practice, do not make changes to certificates in a running course if the course has already issued certificates to learners.
To deactivate a certificate, follow these steps.
Note
Only course team members that have the Admin or Staff role can deactivate a certificate.
The certificate is no longer active and the course team can edit it. No new certificates can be issued to learners while it is deactivated. Learners who have already been issued certificates can continue to access them.
When you add signatory image files to a certificate, the uploaded files are listed in Studio on the Files & Uploads page.
When you delete a certificate, images that you uploaded for use with that certificate are also deleted. However, if you edit a certificate and replace images, the unused image files remain on the Files & Uploads page. You can manually remove unused images. For information, see Delete a File.
Badges provide a way for learners to share their course achievements. For courses that have course completion badges enabled, learners receive a badge at the same time as they receive a course certificate, and have the option of sharing their badges to a badging site such as Mozilla Backpack.
The Open edX platform supports Open Badges, an open standard developed by the Mozilla Foundation. For more information about Open Badges, see the Open Badges web site.
If badging is enabled for your platform, course completion badges are enabled by default for your course. If you are unsure whether badging is enabled for your platform, or if you need help with configuring your course badges, contact your platform administrator.
To stop issuing badges in your course, follow these steps.
True
.False
and save your changes.To enable badging for your course if it was previously disabled, change the
value of the key to True
.
Learners can search much of the content of your course, including the course title, description, text, and video transcripts. Learners can search inside individual courses, or they can search all the courses that they are enrolled in at one time. When learners search all their courses at one time, they can filter search results based on course subject, type, and language.
Before learners can search your course, Studio must index your course content. Studio indexes your course content automatically every time you make a change to the content. You can also manually begin an indexing operation in Studio. To do this, select Reindex in the upper right corner of the Course Outline page.
The search engine returns not only exact matches for search terms, but also matches that contain the search term. These matches must contain the entire search term. For example, a search for “grade” returns results for “grades” and “graded”, but a search for “graded” would not return “grade” or “grades”.
When the search engine returns results, either for an individual course or across all courses, learners can select any search result to view that result in the course body.
For more information about the learner experience, see Searching the Course.
Note
Studio indexes most content that learners see on the Course page. However, Studio does not index course exercises and problems, including homework and exam problems. Studio also does not index course handouts or discussions. However, learners can search course discussions by using the Search all posts field on the Discussions page.
This topic describes custom courses on the edX platform (CCX).
Section Contents
You can create a custom course in the edX platform (CCX) to reuse course content. By using a CCX, you can run some or all of an existing course for a group of learners on a new schedule.
A CCX can contain only content from an existing course; you cannot author new content in a CCX.
There are three roles involved in creating and running a CCX.
CCX for a course is disabled by default.
You enable CCX in Studio. Ensure you have access to the course in Studio, then complete the following steps.
Enable CCX
key and change the value to true
.Save Changes
.You can now add a CCX coach.
The first step to create a CCX is to create a CCX coach in an existing course. A CCX can have only one CCX coach.
You add a CCX coach through the Instructor Dashboard in the LMS. Ensure you have the Admin role in the course.
In addition, ensure that the user whom you would like to add as a CCX coach has registered in the LMS.
The user is added as a coach and enrolled in the course if she is not already enrolled.
If she’s enrolled when she’s added as a CCX coach, the coach will get an email to let her know.
When the CCX coach next logs into the LMS, the CCX Coach tab will be visible. The CCX coach dashboard is not accessible by course team members with other roles.
When you have been made the CCX coach for a course, you can then access the course and create a CCX.
Note
When entering a CCX name, consider that the name should distinguish your CCX from other CCXs based on the same course.
You can revisit your CCX by opening the original course and selecting
the CCX Coach
tab.
The CCX coach Dashboard provides the tools for you to manage the CCX. The CCX coach Dashboard contains four tabs, described in the following sections.
Note
CCX coaches do not have the same level of access and control over content that team members with the Admin or Staff roles do, and do not have access to the Instructor Dashboard.
On the Schedule tab, you select the course content from the original course that is to be included in the CCX.
Use the drop-down lists to drill down through the course content and select an items from the content hierarchy. You then add those items in the order needed.
Select add all units to include all of the source course’s content.
You can configure each unit to have its own start and due dates. You can select these before or after you add the unit to the CCX . After units are added, you can edit their start and due dates by hovering over or selecting that space on the CCX content hierarchy.
Select Save changes to save the content you configured.
On the Enrollment tab, you can invite learners to a course, enroll learners in a course automatically, and remove learners from a course.
To invite one or more learners to a course, enter one or more email addresses or usernames in the Batch Enrollment field, and then select Enroll under the field.
Note
If you want to enroll these learners automatically, select Auto Enroll under the Batch Enrollment field.
If you want these learners to receive an email invitation to the course, select Notify users by email. Learners are automatically enrolled in the course when they access the invitation.
To remove learners from the course, use one of the following methods.
If the learner or learners are enrolled in the course and have active accounts on the Open edX instance, locate the username or email address for each learner in the Student List Management list, and then select Revoke access for that learner.
Note
The Student List Management list contains only learners who are enrolled and have an active account.
If the learner or learners are enrolled in the course but do not have active accounts on the Open edX instance, enter the email addresses or usernames for the learners in the Batch Enrollment field, and then select Unenroll under the field.
You use the Student Admin tab to view the gradebook and download learner grades.
Use the Grading Policy tab to modify the grading policy for the CCX.
A CCX coach can modify the grading policy of the underlying course for their CCX.
Note
As a CCX coach, you can modify the grading policy of the original course on which the CCX was based. Only attempt this if you are confident that you understand how your changes will affect grading. Modifying the grading policy can make your CCX unusable.
The grading policy is in JSON format. Verify that it is well-formed before selecting Save Grading Policy.
For information about how to develop your course content in the Studio course outline, see Developing Your Course.
Use the topics in this section to understand how to develop your course content in the Studio Outline page.
For information on building specific course component types, see Adding Course Components.
For information on creating exercises and tools, see Adding Exercises and Tools.
For information on creating content libraries from which you can randomly draw content for randomized assigments, see Working with Content Libraries.
When you have finished setting up your course, you are ready to build your course content.
This section provides an outline of the steps involved in developing your course content, with links to more details.
Before you begin, you should understand the building blocks of an edX course.
Once you understand the way edX courses are structured, you can start organizing your content and entering it into Studio.
You create sections, subsections, and units in the course outline.
For graded subsections, you also set the assignment type and due date.
You create components in the unit page.
In addition, you control content visibility by setting release dates on the outline and publishing units.
The following diagram summarizes the content creation workflow:
It is recommended that you test course content throughout the creation process, including making sure that the content is available for learners who access courses using the edX mobile apps. For more information, see Designing Your Course For a Mobile Experience.
Note
Keep in mind that course updates that you make might take longer to appear in the edX mobile apps than on the edX site. In particular, newly published content can take up to an hour to update on the Android app.
Course content visibility depends on the following factors.
For more information, see Controlling Content Visibility and Access.
Learners can search course text in HTML components and video transcripts by using the Search box at the top of the Course page.
Before learners can search your course, Studio must index the content. Studio indexes all new course content automatically when you publish the content.
If necessary, you can manually reindex all of the content in your course at any time. Typically, you would only manually reindex your course content if learners see unexpected search results. To reindex your course content, select Reindex Content at the top of the Course Outline page. Reindexing usually takes less than 30 seconds.
You can revise your course content at any time.
The following diagram summarizes the content revision workflow and content visibility:
It is recommended that you test course content during the revision process, including making sure that the content is available for learners who access courses using the edX mobile apps. For more information, see Designing Your Course For a Mobile Experience.
Note
Keep in mind that course updates that you make might take longer to appear in the edX mobile apps than on the edX site. In particular, newly published content can take up to an hour to update on the Android app.
As you develop your course, you work primarily in the edX Studio course outline. This section includes the following information about working with the course outline.
See the following sections for information about working with the course building blocks in the course outline.
To view the course outline, follow these steps.
Sign in to edX Studio.
On the My Courses page, select the course you want to develop.
The course outline opens by default when you open a course.
To open the outline when you are working in a course, from the Content menu, select Outline.
The first time you view an outline for a course, it contains no content. The following message is visible.
You haven't added any content to this course yet.
To add content, you create a section.
Course authors build a course outline on the Course Outline page in Studio. Learners see this course outline in the LMS.
To view the course outline in the LMS, go to the Course Outline page in Studio, and then select either Preview or View Live.
In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.
The numbers represent the following levels.
Note
The Course Outline page does not show components. You add or access components by selecting the units that contain the components.
The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.
If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.
For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.
You can add content in the course outline by creating a new section, subsection, or unit, or by duplicating an existing unit, subsection, or section.
For information about adding content to a unit, see Developing Course Components.
Note
If you want to require an entrance exam for your course, you also create the exam in the course outline. Before you can create an exam, you must set your course to require an entrance exam in Studio. For more information, see Require an Entrance Exam.
To add a section, subsection, or unit by duplicating content that already exists in the course outline, select the Duplicate icon for the item that you want to duplicate. You see a Duplicating indicator at the bottom of the Studio page.
Duplicated items are added to the course outline immediately below the original item, with the name “Duplicate of <original item name>”.
Note
Duplicated items inherit the release date of the item that they are duplicated from, but you must explicitly publish duplicated subsections and units before they are visible to learners. For more information about release statuses and visibility of sections to learners, see Sections and Visibility to Learners.
You modify settings for sections, subsections, and units in the course outline. Specifically, you can complete the following tasks.
To modify settings for a section, subsection, or unit, select the Configure icon for that object. In the following example, the Configure icon is circled for a section, a subsection, and two units.
For more information, see the links above.
You can publish new and changed units for an entire section or subsection. You can also publish individual units.
To publish new and changed units, select the Publish icon for a section, subsection, or unit. In the following example, the Publish icon is circled for a section, subsection, and unit.
Note
The Publish icon only appears when there is new or changed content within the object.
For more information, see the following topics.
You can reorganize your course content by dragging and dropping sections, subsections, and units to new locations in the outline.
You can reorganize components by dragging and dropping them within the same unit, or by moving them from one unit to another unit. For more information, see Reorganizing Components.
To drag a section, subsection, or unit to another position in the course outline, move your cursor over the handle on the right of the object’s box until the cursor changes to a four-headed arrow. For example, in the image below, the handle for the subsection Lesson 1 - Getting Started is selected.
Then, select and drag the object to the location that you want.
If you expanded the section or subsection you are moving the object to, when you move the object, a blue line indicates where the object will land when you release the mouse button. For example, in the image below, the subsection Lesson 1 - Getting Started is being moved to the end of the section Introduction.
If you did not expand the section or subsection you are moving the object to, the outline of that section or subsection turns blue when you have moved the object to a valid location. You can then release the mouse button. For example, in the image below, the subsection Lesson 1 - Getting Started is being moved to the collapsed section Introduction.
Note
When you move a subsection to a different section, the release date and time for that subsection does not change.
You delete sections, subsections, and units from the course outline.
Warning
You cannot restore course content after you delete it. To ensure you do not delete content you may need later, you can move any unused content to a section in your course that you set to never release.
Select the Delete icon in the box for the object you want to delete.
You are prompted to confirm the deletion.
Note
When you delete an object, all objects that it contains are deleted. For example, when you delete a subsection, all units in that subsection are deleted.
To develop sections in your course, you must first understand the following topics.
A section is the topmost category in your course. A section can represent a time period in your course, a chapter, or another organizing principle. A section contains one or more subsections.
In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.
The numbers represent the following levels.
Note
The Course Outline page does not show components. You add or access components by selecting the units that contain the components.
The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.
If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.
For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.
Learners cannot see any content in a section if the section’s release date is unscheduled or has not passed.
If a section’s release date has passed, learners can see content in the section if:
As an course author, you control the release status of sections. For the content of a section to be visible to learners, the section must be released. See the following topics for more information about the possible release statuses of sections.
If you do not change the course start date
default value, 1/1/2030 00:00:00 UTC
, when you create a new section, its
release date will appear as Unscheduled
. When the section release date is
unscheduled, learners cannot see any content in that section, regardless of
the publishing status of that content.
If you have modified the course start date, when you create a new section, the default release date is the course start date.
To make the content available to learners, you must schedule the release date.
A section that is scheduled for release on a future date will not be visible to learners until after the release date. Regardless of the publishing status of content within the section, the entire section will not visible to learners.
The scheduled date must pass for the section to be visible to learners.
A section that is released is visible to learners; however, learners see only subsections within the section that are also released, and units that are published.
If you change a unit in a released section but do not publish the changes, learners see the last published version of the modified unit.
You must publish the unit for learners to see the updates.
A section can contain a unit that is hidden from learners and available to members of the course team only. That unit is not visible to learners, regardless of the release date of the section or subsection.
If you do not change the course start date
default value, 1/1/2030
, when you create a new section, its release date
will be Unscheduled
.
If you have modified the course start date, when you create a new section, the default release date is the course start date.
Caution
If the course start date is in the past, newly created sections are immediately visible to learners.
To create a new section, follow these steps.
On the Course Outline page, select New Section. This option appears at both the top of the page and below the current sections in the outline.
A new section appears at the end of the course content, with the section name selected.
Enter the name for the new section. A descriptive name can help learners locate content in the course. It can also help you select content when you analyze performance in edX Insights.
Add subsections to the new section as needed.
It is recommended that you test course content as you create new sections.
To edit a section name, move your cursor over the section name to show the Edit icon.
Select the Edit icon next to the section name. The name field becomes editable. Enter the new name, and then tab or click outside of the field to save the name.
To set the section release date, follow these steps.
Select the Configure icon in the section box.
The Settings dialog box opens.
Enter the release date and time for the section.
Note
The time that you set is in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.
For more information, see Release Dates.
If your Open edX system adminstrator has configured your instance of the Open edX platform to send course highlight emails, you can send automatic email messages to learners in your course that contain three to five “highlights” of upcoming course content. A highlight is a brief description of an important concept, idea, or activity in the section. Your Open edX system administrator provides the template for this course highlight email, and you enter the highlights for the email in Studio.
For more information, contact your Open edX system administrator.
Note
The highlights that you specify persist when you re-run your course.
To send weekly highlight emails to your learners, you must first set highlights for each section. When you have set section highlights, you then enable the Weekly Highlight Emails setting.
The number of highlights that you have set for a section is visible in the course outline, below the name of the section.
Note
If your Open edX system adminstrator has not configured your instance of the Open edX platform to send weekly course highlight messages, learners do not receive messages even if you enable highlights and enter highlights for each section.
To set highlights for a course section, follow these steps.
After you have set and reviewed the highlights for each course section, you enable weekly highlight emails.
To enable weekly highlight emails, follow these steps.
Note
If you do not enable highlights, the edX platform does not send weekly course highlight emails, even if you enter highlights for one or more sections.
You cannot disable weekly highlight emails after you enable them. If you do not want to send weekly highlight emails after you enable them, you can delete highlights in all sections.
To publish all new and changed units in a section, select the Publish icon in the box for the section.
Note
The Publish icon only appears when there is new or changed content within the section.
For more information about statuses and visibility to learners, see Unit Publishing Statuses.
You can hide all content in a section from learners, regardless of the status of subsections and units within the section.
For more information, see Visibility Settings.
To hide a section from learners, follow these steps.
Select the Configure icon in the section box.
The Settings dialog box opens.
In the Section Visibility section, select Hide from learners.
Select Save.
Now, none of the content in the section is visible to learners.
To make the section visible to learners, repeat these steps and deselect Hide from learners.
Warning
When you deselect Hide from learners for a section, not all content in the section is necessarily made visible to learners. If you explicitly set a subsection or unit to be hidden from learners, it remains hidden from learners. Unpublished units remain unpublished, and changes to published units remain unpublished.
When you delete a section, you delete all subsections and units within the section.
Warning
You cannot restore course content after you delete it. To ensure you do not delete content you may need later, you can move any unused content to a section in your course that you set to never release.
To delete a section, follow these steps.
To develop subsections in your course, you must first understand the following topics.
Sections are divided into subsections, which in turn contain one or more units. A subsection may represent a topic in your course, or another organizing principle. Subsections are sometimes called “lessons” or they might represent a week’s worth of material.
In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.
The numbers represent the following levels.
Note
The Course Outline page does not show components. You add or access components by selecting the units that contain the components.
The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.
If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.
For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.
Learners cannot see any content in a subsection until you schedule a release date, and that release date has passed.
If a subsection’s release date has passed, learners can see content in the subsection if the following conditions are met.
To control whether learners have access to the subsection and its units after a subsection’s release date, you can apply various visibility settings.
By default, the subsection and its units are available to learners, except for any units that you have explicitly hidden from learners.
You can also choose to entirely hide a subsection so that the subsection and its units are not visible to learners at all in the course navigation, or you can hide the contents of a subsection after the subsection due date has passed. For more information about subsection visibility settings, see Hiding a Subsection from Learners.
Note
Release dates and times that you set are in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.
Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.
As a course author, you control the release status of subsections. For the content of a subsection to be visible to learners, the subsection must be released. See the following topics for more information about the possible release statuses of subsections.
When you create a subsection, it is set by default to release on the same date and time as the section it is in. Therefore, published content in the subsection is visible to learners at the date and time the section is released.
When a subsection is in the “Scheduled with Section” state, and the section is scheduled, the subsection is visible in the outline with a vertical green bar next to the subsection’s display name.
You can change the release date for a subsection to be different from the section it is in. For more information, see Set a Subsection Release Date.
If the parent section is unscheduled, when you create a new subsection it will also be unscheduled.
Regardless of the publishing status of units within the subsection, no content in an unscheduled subsection is visible to learners.
When a subsection is unscheduled, the subsection is visible in the outline with a vertical gray bar next to the subsection’s display name.
Content in the subsection is not visible to learners until you set a release date and the date passes.
You can set a subsection to release on a date after the section releases.
Content in a subsection that is scheduled for release on a future date is not visible to learners, even if some or all of the units in the subsection are published.
When a subsection is scheduled, even if the subsection is scheduled to release later than the section, the subsection is visible in the outline with a vertical green bar next to the subsection’s display name.
The scheduled date must pass for the subsection to be visible to learners.
You can make changes to a published unit before its parent subsection is released.
In this situation, when the release date for the subsection passes, the last published version of units within the subsection are made visible to learners. The changes in units are not visible to learners until you publish them.
When a subsection is scheduled but has unpublished changes, the subsection is visible in the outline with a vertical yellow bar next to the subsection’s display name. When you expand the subsection, the unit that has unpublished changes is visible.
If you modify a unit within a released subsection, those modifications are not visible to students until you publish them.
When a subsection is scheduled but has unpublished changes, the subsection is visible in the outline with a vertical yellow bar next to the subsection’s display name. When you expand the subsection, the unit that has unpublished changes is visible.
A subsection that is released is visible to learners; however, learners see only units within the subsection that are published.
When a subsection is released, the subsection is visible in the outline with a vertical blue bar next to the subsection’s display name.
A subsection can contain a unit that is hidden from learners and available to members of the course team only. That unit is not visible to learners, even if the subsection has been released.
When a subsection contains a unit that has staff-only content, the subsection is visible in the outline with a vertical black bar next to the subsection’s display name.
To create a new subsection, follow these steps.
It is recommended that you test course content as you create new subsections.
To change a subsection name, select the Edit icon next to the subsection name. The name field becomes editable. Enter the new name, and then tab or click outside of the field to save the name.
To set the subsection release date, follow these steps.
Select the Configure icon in the subsection box.
The subsection settings dialog box opens.
On the Basic tab, under Release Date and Time, enter the release date and time for the subsection.
Note
The time that you set is in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.
Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.
Select Save.
For more information, see Release Dates.
You set the assignment type for problems at the subsection level.
When you set the assignment type for a subsection, all problems in the subsection are graded and weighted as a single type. For example, if you designate the assignment type for a subsection as Homework, then all problem types in that subsection are graded as homework.
Note
Unlike other problem types, ORA assignments are not governed by the subsection due date. Due dates for each ORA assignment are set in the assignment’s settings. For details, see Specify a Name and Dates.
To set the assignment type and due date for a subsection, follow these steps.
Select the Configure icon in the subsection box.
The subsection settings dialog box opens.
On the Basic tab, locate the Grading section.
In the Grade as list, select the assignment type for this subsection.
For Due Date and Due Time in UTC, enter or select a due date and time for problems in this subsection.
Note
The time that you set is in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.
Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.
Optionally, for a course that has the timed exam feature enabled, select the Advanced tab to set the subsection to be timed.
Select Save.
For more information, see Establishing a Grading Policy For Your Course.
By default, when learners submit answers to problems, they immediately receive the results of the problem: whether they answered the problem correctly, as well as their scores. However, you might want to temporarily hide problem results from learners when you run an exam, or permanently hide results when you administer a survey. You can do this by using the Assessment Results Visibility setting.
Note
The Assessment Results Visibility setting is a subsection setting. You cannot change the visibility of individual problems. The Assessment Results Visibility subsection setting overrides the Show Answer setting for individual problems. Answers to problems are not visible when results are hidden.
The Assessment Results Visibility setting can be used with the following common problem types.
The Assessment Results Visibility setting can be used with the following advanced problem types.
To change the results visibility for your subsection, follow these steps.
Select the Configure icon in the subsection box.
The Settings dialog box opens.
Select the Visibility tab, and locate Assessment Results Visibility.
Select one of the available options.
Always show results: This is the default setting. Problem results and subsection scores are visible immediately when learners and staff submit answers.
Never show results: Subsection scores are visible, but problem results are never visible to learners or to course staff.
Show results when subsection is past due: For learners, results are not visible until the subsection due date (for instructor-paced courses) or the course end date (for self-paced courses) has passed. For course staff, results are always visible unless the staff member is previewing or viewing the course as a learner.
Note
If the subsection does not have a due date, or the course does not have an end date, results are always visible.
Select Save.
To publish all new and changed units in a subsection, select the Publish icon in the box for the subsection.
Note
The Publish icon only appears when there is new or changed content within the subsection.
See Unit Publishing Statuses for information about statuses and visibility to learners.
You can hide a subsection from learners in the following ways.
You can also hide just the answers to problems in the subsection, leaving the problems visible. For more information, see Set Problem Results Visibility.
For more information, see Visibility Settings.
You can completely hide a subsection and its content from learners, regardless of the status of units within the section. Subsections hidden in this way are not shown in the course navigation, and are not included when grades are calculated.
To entirely hide a subsection from learners, follow these steps.
Select the Configure icon in the subsection box.
The subsection settings dialog box opens.
On the Visibility tab, locate Subsection Visibility, and then select Hide entire subsection.
Select Save.
None of the content in the subsection is visible to learners. In the course outline, the subsection is shown with a lock icon, indicating that it is available only to course staff.
To make the subsection visible to learners, repeat these steps and select Show entire subsection.
Warning
When you make a previously hidden subsection visible, not all content in the subsection is necessarily made visible to learners. Units that were explicitly hidden from learners remain hidden.
You can make a subsection’s content unavailable based on date. For example, you might want to make exam questions unavailable after a certain date. For instructor-led courses, this option uses the subsection’s due date. For self- paced courses, this option uses the course’s end date.
Subsections that are hidden in this way remain visible in the course navigation, and are included when grades are calculated. However, learners can no longer access the subsection’s content after the due date or the course end date.
Note
If you want to continue to show a subsection’s content, but hide learners’ results for problems in the subsection, see Set Problem Results Visibility.
To hide a subsection based on date, follow these steps.
Select the Configure icon in the subsection box.
The subsection settings dialog box opens.
On the Visibility tab, locate Subsection Visibility, and then select the appropriate option.
Select Save.
Learners who access the subsection after the due date or course end date has passed are shown a message indicating that the subsection is no longer available because the due date (or course end date) has passed.
In the course outline in Studio, the subsection is shown with an icon and a “Subsection is hidden after due date” or “Subsection is hidden after course end date” message under the subsection’s display name.
When you delete a subsection, you delete all units within the subsection.
Warning
You cannot restore course content after you delete it. To ensure you do not delete content that you might need later, you can move any unused content to a section in your course that you set to never release.
To delete a subsection, follow these steps.
To work with units in the course outline and develop your course, you need to understand the following concepts and complete the following tasks.
You add content to units with course components.
A unit is a part of a subsection that learners view as a single page.
A unit contains one or more components, such as text with HTML markup, problems, a discussion, or a video.
In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.
The numbers represent the following levels.
Note
The Course Outline page does not show components. You add or access components by selecting the units that contain the components.
The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.
If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.
For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.
In Studio, when you select a unit name in the outline, the Unit page opens.
The following example shows a unit page in Studio with two components, with circles and text to show different areas and controls in the page.
To a learner using the edX learning management system (LMS), each unit in the subsection is represented by an icon in the unit navigation bar at the top of the Course page. The current unit is indicated with bold underlining in the unit navigation bar. The components in the current unit appear below the unit navigation bar.
The following image shows a subsection in the LMS that contains several units.
A green check mark next to a unit icon indicates that a learner has completed the unit. A learner has completed the unit if the learner has completed all the following actions.
When you have set up the section and subsection in the course outline, you then work with units.
The typical workflow includes these steps.
You publish the unit after you add all of its components. If you make additional modifications, you must publish the unit again for the changes to be visible to learners.
As you work through these steps, the publishing status of the unit changes. The publishing status controls the content available to learners, along with release dates (in an instructor-paced course). See the next section for more information.
Note
Release dates apply only to instructor-paced courses. For more information about instructor-paced and self-paced courses, see Course Pacing.
The following information summarizes whether or not learners can see a unit.
For more information, see Controlling Content Visibility and Access. For information about testing content, see Testing Your Course Content.
As a course author, you work with units that have the following statuses.
When you create a new unit and add components to it, the unit’s publishing status is Draft (Never Published), as shown in the status panel.
Note
The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses. For more information about instructor-paced and self-paced courses, see Course Pacing.
In Studio, you see the draft content as you develop the unit. Though you do not see the unit in the LMS, you can preview the unit.
Learners never see a unit with this status, even after the release date (in an instructor-paced course). You must publish the unit for it to be included in the LMS.
You published the unit and have not modified it. The release dates for the section and subsection have passed (in an instructor-paced course). You, and enrolled learners, see the current version of the unit.
The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses. For more information, see Course Pacing.
You published the unit, but the release date is still in the future. Learners cannot see this unit until the release date passes.
This status applies only to instructor-paced courses. It does not apply to self-paced courses.
When you edit a published unit, whether or not it is released, the unit’s publishing status changes to Draft (Unpublished Changes), as shown in the status panel.
The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses.
In Studio, you see the draft content as you develop the unit. You can preview the changes to a unit to test how your changes will appear to learners after you publish the unit.
If the release date has passed in an instructor-paced course, learners see the last published version of the unit. If the release date is in the future, learners cannot see your content. You must publish the unit for learners to see your changes.
When you hide a unit from learners, the unit’s publishing status changes to Visible to Staff Only.
The publishing status of a unit also changes to Visible to Staff Only if you hide the parent section or subsection from learners.
Learners never see a unit with this status, even if it has been published and the release date has passed (in an instructor-paced course).
The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses.
You can create a unit from the outline or create a unit in the same subsection from the unit page.
To create a unit from the outline, follow these steps.
To create a unit from a unit page, follow these steps.
In the Unit Navigation Bar area, select New Unit.
The unit page for the new unit opens automatically.
On the unit page, the unit name is selected. Supply an identifying name. A descriptive name can help learners locate content in the course. It can also help you select content when you analyze performance in edX Insights.
Add components to the new unit as needed.
You must then publish the unit to make it visible to learners.
You can edit a unit in the following ways.
When you make any of these changes, if you previously published the unit, the state changes to Draft (Unpublished Changes). You must then publish the unit to make your edits visible to learners.
If you are designing your course to offer different content to different groups of learners, you can also Set access restrictions for the unit to specify which learner groups a unit is available to.
To edit a unit name, on the unit page in Studio, select Edit next to the name.
The name field becomes editable. Enter the new name, and then tab or click outside of the field to save the name.
You can reorganize components within a unit by dragging and dropping them to new locations.
To change the location of a component, move your mouse pointer over the Drag to reorder handle on the component toolbar. The pointer changes to a four- headed arrow. You can then drag the component to the location that you want.
In the image that follows, the handle for the discussion component is selected.
A blue outline indicates where the component will land when you release the mouse button. For example, in the image below, the discussion component is being moved to the top of the unit.
If you have more than one enrollment track in your course, or if you have enabled cohorts, you can limit a unit’s availability to specific groups of learners. For information about offering different content to different learner groups, see Offering Different Content to Different Learner Groups.
Note
A unit’s group access settings are inherited by components in the unit. If you set additional group access restrictions for a component, make sure the component access settings do not contradict the unit access settings. For example, you cannot give Group A of learners access to a component if Group A does not have access to the unit that contains the component.
Tp specify a unit’s access settings, follow these steps.
In Studio, select Content, and then select Outline.
For the unit that you want to restrict access to, select the Configure icon in the unit’s toolbar.
You can also access the Restrict access to option from the gear icon next to a unit’s name on a unit page in Studio.
In the unit’s Settings dialog box, for the Restrict access to option, select the group type by which you want to restrict access.
The Enrollment Track Groups option is available only if your course has more than one enrollment track. The Content Groups option is available only if you have created content groups for use with cohorts.
After you select a group type, you see a list of the groups that exist for that group type.
You preview a unit to review and test the content before it is visible to learners.
You can preview a unit before it is published and before the course is live. In a live course, after the unit is published and if there are no pending changes, previewing a unit is exactly the same as viewing the live version of the unit.
To preview the unit, select Preview above the status panel in the Studio unit page.
The unit opens in preview mode in the LMS.
Note
When you are revising a previously published unit, it can be helpful to preview your changes in one browser window and view the published unit in a second window.
For information about previewing and testing content, see Testing Your Course Content.
Publishing a unit makes the current version of the unit in Studio available to learners. In an instructor-paced course, the release dates for the section and subsection must also have passed for learners to access a published unit.
You publish a unit that has a status of Draft (Never Published) or Draft (Unpublished Changes). When you publish a unit, the status changes to Published and Live or Published Not Yet Released.
You can publish a unit from the unit page or the course outline.
For more information about instructor-paced and self-paced courses, see Course Pacing.
To publish the unit, select Publish in the status panel.
To publish a unit from the outline, select the Publish icon in the box for the unit.
Note
The Publish icon only appears when there is new or changed content in the unit.
When you modify a published unit, your changes are saved in Studio, though the changes are not visible to learners until you publish the unit again.
If you decide that you never want to publish your changes, you can discard the changes so that Studio reverts to the last published version of the unit.
To discard changes and revert the Studio version of the unit to the last published version, select Discard Changes in the status panel.
Caution
When you discard changes to a unit, the changes are permanently deleted. You cannot retrieve discarded changes or undo the action.
To view the last published version of a unit in the LMS, select View Live Version at the top of the page.
The unit page opens in the LMS in Staff view. You might be prompted to log in to the LMS.
If the unit status is Draft (Unpublished Changes), you do not see your changes in the LMS until you publish the unit again.
If the unit status is Draft (Never Published), View Live Version is not enabled.
For information about viewing and testing content, see Testing Your Course Content.
You can prevent learners from seeing a unit regardless of the unit status or the release schedules of the section and subsection.
For more information, see Visibility Settings.
You can hide a unit from learners using the course outline or the unit page.
In the status panel, select Hide from learners.
The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses.
For more information, see Controlling Content Visibility and Access.
You delete a unit from the course outline in Studio.
When you delete a unit, you delete all components within the unit.
Warning
You cannot restore course content after you delete it. To ensure that you do not delete any content that you need later, move the unit to a hidden section or subsection instead of deleting it.
To delete a unit, follow these steps.
This section describes how you develop course components.
For more information about specific component types, see the following topics.
A component is the part of a unit that contains your actual course content. A unit can contain one or more components.
By default, Studio includes four basic types of components for you to add to your course.
To add a component to the unit, follow these steps.
For more information, see the documentation for the specific component type that you want to work with.
After you add a component, it is not visible to learners until you publish the unit.
To edit a component, you select Edit in the component’s title bar in Studio.
Then, follow instructions for the type of component you are editing.
After you edit a component, the changes are not visible to learners until you publish the unit.
The display name identifies the component. This name appears as a heading above the component in the LMS, and it identifies the component for you in Insights.
The following illustration shows the display name of a problem in Studio, in the LMS, and in Insights.
Unique, descriptive display names help you and your learners identify components quickly and accurately.
To set the display name for a component, follow these steps.
Edit the component. A dialog box opens.
Edit the Display Name field.
Select Save.
Different types of components have different fields in the Settings dialog box, but all of them have a Display Name field.
If you have more than one enrollment track in your course, or if you have enabled cohorts, you can limit a component’s availability to specific groups of learners. For information about offering different content to different learner groups, see Offering Different Content to Different Learner Groups.
Note
Components inherit any group access restrictions that are set for their parent unit. If you set additional group access restrictions for a component, make sure the component access settings do not contradict the unit access settings. For example, you cannot give Group A of learners access to a component if Group A does not have access to the unit that contains the component.
To specify a component’s access settings, follow these steps.
In Studio, select Content, and then select Outline.
On a unit page, for each component for which you want to restrict access to, select the Access Settings icon.
In the Editing access dialog box, for the Restrict access to option, select the group type by which you want to restrict access.
Note
The Enrollment Track Groups option is available only if your course has more than one enrollment track. The Content Groups option is available only if you have created content groups for use with cohorts.
After you have selected a group type, you see a list of the groups that exist for that group type.
Select the checkbox for each group for which you want the current component to be available.
Select Save.
The groups which have access to the component are listed under the component title in the Studio course outline.
In addition, on the unit page in Studio, a message in the publishing status bar indicates that some content in the unit is restricted to specific groups of learners.
When you duplicate a component, a new copy of that component is added directly beneath the first component. You can then modify the duplicate. In many cases, duplicating a component and editing the copy is a faster way to create new content.
To duplicate a component, select the Duplicate icon in the component header.
Then, follow instructions for the type of component you are editing.
After you duplicate a component, the new component is not visible to learners until you publish the unit.
Note
Duplicating content experiments after you have configured them is not supported.
Caution
Be sure you want to delete the component. You cannot undo the deletion.
To delete a component, follow these steps.
After you delete a component in Studio, the component remains visible to learners until you publish the unit.
You can drag and drop components to a new position within their current unit, or you can move components from one unit to another unit.
To reorganize components within their current unit, you drag and drop components in the same way that you can drag and drop units, subsections, and sections on the Course Outline page. For more information, see Reorganize the Course Outline.
For components that consist of nested components (for example, a content experiment), you can also use drag and drop to move a child component into a different parent component, if both parents are expanded. For example, you can select the video component that is in Child Component A and drag it into Child Component B. Select the video component, and as you drag it into Child Component B, release the mouse button when a dashed outline of the component you are moving appears in the new location.
You can also drag a child component outside of a parent, so that the child moves to the same level as the parent.
To move components to another unit in the course outline, follow these steps.
Select the Move icon for the component that you want to move.
A dialog box appears that displays your course outline tree, starting at the section level.
In the Move dialog box, navigate to the location where you want to move the component by selecting the section, the subsection, and then the unit.
The Move button is enabled only when your selected location is a valid level and location for moving your component. For example, when you move a component, the Move button is enabled only when you have navigated to a unit to which the component can be moved.
Select Move.
The component moves to the new location. A success message appears that provides options to go to the new location or to undo the move.
Note
If the old and new locations of the component that you moved were previously published, your changes are not reflected in the learner’s view of the course until you republish the affected units.
For specific use cases, you configure course content so that components contain other components. For example, if you want to include conditional components or content experiments, you have to create components inside components. See Creating Content Experiments for more information.
The component that contains other components is referred to as the parent; the contained components are referred to as child components, or children.
On a unit page, a parent component appears with its display name and a View link.
A parent component does not directly contain content. Content such as HTML, videos, or problems are in the child components.
A parent component has a display name. When the unit is private or in draft, select Edit in the parent component to change the display name.
Note
Parent components of a specific type, such as content experiments, have additional attributes that you edit.
When you select View in the parent component, the parent component page opens, showing all child components. In this example, Child Component A contains an HTML component and a video.
Select the arrow next to a child component name to collapse it and hide the component’s contents. Select the arrow again to expand the component.
For more information, see the following topics.
If the containing unit is private or in draft, you can add a child component in its parent component.
To add a child component, open and expand the parent component. Then, select the component type that you want under Add New Component within the parent component.
For more information, see the section for the specific component type that you want.
You develop parent and child components in XML, then import the XML course into Studio to verify that the structure is as you intended.
For more information about working with your course’s XML files, including information about terminology, see the EdX Open Learning XML Guide.
The following examples show the XML used to create the unit and components shown in Studio above.
The XML for the unit is as follows.
<vertical display_name="Unit 1">
<html url_name="6a5cf0ea41a54b209e0815147896d1b2"/>
<vertical url_name="131a499ddaa3474194c1aa2eced34455"/>
</vertical>
The <vertical url_name="131a499ddaa3474194c1aa2eced34455"/>
element above
references the parent component file that contains the child components.
<vertical display_name="Parent Component">
<vertical url_name="2758bbc495dd40d59050da15b40bd9a5"/>
<vertical url_name="c5c8b27c2c5546e784432f3b2b6cf2ea"/>
</vertical>
The two verticals referenced by the parent component refer to the child components, which contain the actual content of your course.
<vertical display_name="Child Component A">
<html url_name="4471618afafb45bfb86cbe511973e225"/>
<video url_name="fbd800d0bdbd4cb69ac70c47c9f699e1"/>
</vertical>
<vertical display_name="Child Component B">
<html url_name="dd6ef295fda74a639842e1a49c66b2c7"/>
<problem url_name="b40ecbe4ed1b4280ae93e2a158edae6f"/>
</vertical>
Theoretically, there is no limit to the levels of component nesting you can use in your course.
For learners, all parent and child components appear on the unit page.
Note
The visibility of nested components depends on the visibility of the parent unit. The parent unit must be public for learners to see nested components. For more information, see Unit Publishing Status and Visibility to Learners.
The following example shows the learner view of the unit described above.
As a member of the course team, you must carefully control which content is available to which learners, and when. Visibility settings, together with publishing states, are used to hide content from learners while still allowing course staff to view it. Access settings are used to specify which learner groups can access particular components or units.
You can control content visibility and access using the following Studio features.
You can also configure Open edX so that courses or course outlines are visible to anyone, not just registered and enrolled learners. For information, see Enabling Public Course Content.
In instructor-paced courses, you can specify release dates and times for sections and subsections. By defining release dates, you ensure that course content is available to learners on a planned schedule, without requiring manual intervention while the course is running.
Note
Self-paced courses do not have release dates for sections and subsections. For more information about instructor-paced and self-paced courses, see Course Pacing.
By default, a subsection inherits the release date and time of the section it is in. You can change the release date of the subsection to another date.
Published units are not visible to learners until the scheduled release date and time. When the section and subsection have different release schedules, published units are not visible until both dates have passed.
Course team members can access content that has not been released by previewing the course.
Note
When you set release times in Studio, times are in Coordinated Universal Time (UTC). You might want to verify that you have specified the times that you intend by using a time zone converter such as Time and Date Time Zone Converter.
Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.
For more information about setting release dates in an instructor-paced course, see the following topics.
You publish units to make them visible to learners. In both instructor-paced and self-paced courses, units must be published to be visible to learners. Learners see the last published version of a unit if the section and subsection it is in are released.
Learners do not see units that have never been published, and they do not see unpublished changes to units or components within units. Therefore, you can make changes to units in released subsections without disrupting the learner experience.
For more information, see Unit Publishing Statuses.
You can publish all changes in a section or subsection at once, or publish changes to individual units. For more information about publishing units, see the following topics.
You can use the visibility controls in Studio to hide content from learners in both instructor-paced and self-paced courses.
You might choose to hide a unit from learners, for example, when that unit contains an answer to a problem in another unit in the same subsection. After the problem’s due date, you can make the unit that contains the answer visible. You might also permanently hide a unit from learners if that unit provides instructions or guidance that is intended only for the course team. Only course team members would see that unit in the course.
Content that is hidden by being excluded from the course outline is never available to learners, regardless of the release and publishing status.
Important
Content that you make “invisible” to learners by excluding it from the course outline is also excluded from grading. As a best practice, do not hide sections, subsections, or units that contain graded content by excluding them from the course outline.
Instead, if you want to prevent learners from accessing graded content at certain times, you can use options to hide content based on due date or course end date. For more information, see Hiding Graded Content and Hide a Subsection Based on Date.
You can hide content at different levels, as described in the following topics.
Note
Units and subsections inherit visibility settings from their parent subsections or sections. Be aware that when you make a previously hidden section or subsection visible to learners, all child subsections or units also become visible, unless you have explicitly hidden the subsection or unit. Subsections or units that are explicitly hidden remain hidden even when you change the visibility of their parent section or subsection.
Grading is affected if you hide sections, subsections, or units that contain graded problems in such a way that they are not included in the course navigation. When the platform performs grading for a learner, the grading process does not include problems that are not included in that learner’s course outline.
If you want the problems in the subsection to remain visible, but you want to hide learners’ results for these problems, see Set Problem Results Visibility.
Note
As a best practice, do not hide graded sections, subsections, or units by excluding them from the course outline. Content that is hidden in this way is not included when the platform performs grading for learners.
Instead, if you want to prevent learners from accessing the content of a subsection while the subsection itself remains visible in the course navigation, you can use the option to hide a subsection or timed exam’s content based on date. In instructor-led courses, you can hide a subsection based on its due date. In self-paced courses, you can hide a subsection based on the course’s end date. For more details, see Hide a Subsection Based on Date.
In the course outline in Studio, you can use access settings to specify which learner groups can access particular components or units. You can restrict access based on one group type, such as content group or enrollment track.
For example, if you have cohorts enabled in your course, you can use content groups to give access to particular components or units in your course only to learners in specific cohorts. If your course has more than one enrollment track, you might provide the same practice assignments to all learners yet provide learners in the certificate track with different exams from non- certificate learners.
For information about creating differentiated content based on cohorts, see Creating Cohort-Specific Course Content.
For information about creating differentiated content based on enrollment track, see Creating Course Content for Specific Enrollment Tracks.
You can lock subsections of your course until learners complete other, prerequisite subsections. If a subsection has a prerequisite, it is displayed in the course outline with a lock icon, and learners cannot view the subsection content until they have earned a minimum score in the prerequisite subsection.
Note
You must first Enabling Course Prerequisites before prerequisite course subsections can be used.
To enable prerequisite subsections in a course, follow these steps.
true
.To prevent learners from seeing a subsection of your course until they have earned a minimum score or completed a minimum portion in a prerequisite subsection, follow these steps.
Note
Make sure that you configure subsection prerequisites in the order that you intend for learners to encounter them in the course content. The prerequisite configuration controls do not prevent you from creating a circular chain of prerequisites that will permanently hide them from learners.
Note
You cannot use open response assessments that have a point value of 0 as the prerequisite for other course subsections.
Enable subsection prerequisites for your course. For more information, see Enable Subsection Prerequisites.
Select the Configure icon for the subsection that must be completed first. This is the prerequisite subsection.
Select the Advanced tab.
Under Use as a Prerequisite, select Make this subsection available as a prerequisite to other content.
Select Save.
Select the Configure icon for the subsection that will be hidden until the prerequisite is met.
Select the Advanced tab, and then locate the Limit Access section.
In the Prerequisite list, select the name of the subsection you want to specify as the prerequisite.
To require that learners achieve a minimum score in the prerequisite
subsection before the current subsection opens, enter the percent of the
total score that learners must earn in the Minimum Score field. If
the prerequisite section is not a problem set, set Minimum Score to
0
and set Minimum Completion Percentage to a value greater than
zero.
For example, if the prerequisite subsection includes four problems and each
problem is worth the same number of points, set the Minimum Score to
75
to require at least three correct answers.
To require that learners complete a minimum portion of the prerequisite subsection before the current subsection opens, enter the percent of the prerequisite subsection that learners must complete in the Minimum Completion Percentage field.
If you set both the Minimum Score field and the Minimum Completion
Percentage field to a value greater than zero, then learners must satisfy
both conditions in the prerequisite section before they can view the
current subsection. The default value for both the Minimum Score field
and the Minimum Completion Percentage field is 100
.
Select Save.
In the course outline, if a subsection has a prerequisite, the prerequisite name appears under the subsection name.
Note
Prerequisite course subsection settings are not retained when you export or import a course, or when you re-run a course.
You can specify licensing options for your course content as well as for each video in your course. By specifying the license, you communicate to learners whether and how they can reuse your course content.
You specify licensing options in Studio. For more information, see Set Course Content Licensing in Studio.
For your course content and for each video in your course, you can select one of the following license options.
All Rights Reserved indicates to learners that you own the copyright but reserve all rights for sharing copies of course content or videos. Learners cannot reuse or republish course content or videos that have All Rights Reserved licenses.
The Creative Commons license indicates to learners that you own the copyright but are granting certain permissions for reuse, depending on the license options that you select.
When you create a new course, the default terms are set to All Rights Reserved. You can change the terms for your course in the Schedule & Details page in Studio.
License Option | Description |
---|---|
Attribution | This option allows others to copy, distribute, display, and perform your copyrighted work but only if they give credit to you in the way that you request. This option is enabled for all Creative Commons licenses on edX course content. You cannot clear this option. |
Noncommercial | This option allows others to distribute, display, and perform your work – and derivative works based upon it – but for non-commercial purposes only. |
No Derivatives | This option allows others to distribute, display, and perform only verbatim copies of your work, not derivative works based upon it. You cannot use this option with the Share Alike option. |
Share Alike | This option allows others to distribute derivative works only under a license identical to the license that governs your work. You cannot use this option with the No Derivatives option. |
For more information, see the Creative Commons website.
When you have determined what licenses you want your course content to have, you set course content licensing in Studio.
For more information about licensing options, see Course Licensing.
When you create a new course, the license is set to All Rights Reserved. You can change the license for your course in the Schedule & Details page in Studio.
The license options that you select apply to all course content, including videos, unless you explicitly specify different licensing options for your videos. Learners see the license at the bottom of all pages in the course.
From the Settings menu, select Schedule & Details.
Scroll to the bottom of the page to view the Course Content License section.
Select the license option for your course.
To grant learners to right to share and use course content, select Creative Commons. The Creative Commons options are displayed.
Select the Creative Commons license options to apply.
To reserve all course content rights, select All Rights Reserved.
Select Save at the bottom of the page to save your changes.
If you intend for a specific video to have a different license than the course as a whole, you must set the license in the video advanced options.
For example, you might license for your course under Creative Commons, but use a video from another party that is copyrighted. In this case, you can set the license for that particular video to All Rights Reserved.
If a video is to have the same license as the course as a whole, you do not need to set the license for the video.
When they view content in the Course tab, learners see the license that you set for the course at the bottom of the page.
If the video has a different license than the course as a whole, learners see the license at the bottom right of the video player.
For the course and for videos, if you choose All Rights Reserved, learners see All Rights Reserved; if you choose Creative Commons and select any allowed combination of options, learners see Some Rights Reserved and can select the link to see details.
The way your course looks in Studio is different from the way that learners will see and experience it when it is live in the LMS. As a best practice, you should test content continually as you build your course, by interacting with the course content from a learner’s point of view.
The method that you choose for experiencing the course content as a learner depends on the publishing status of the content.
For more information, see the following topics.
Beta testing your course is another way to evaluate course content. For information about setting up a beta test for your course, see Beta Testing a Course.
To test content before a course has started, you can add yourself as a beta tester on the instructor dashboard. Make sure to set the course start date and the appropriate Days Early for Beta value. For more information, see Beta Testing a Course.
If your course has started, you can view published and released course content from the point of view of a learner. When you select View Live or View Live Version from the course outline in Studio, you can choose specific views in the LMS to experience the course content exactly as a particular learner would.
Note
For courses that have not started, View Live mode provides only Staff view, and you can only view content that has a publishing status of Published.
In courses that have started, when you use Staff view in View Live mode, keep the following points in mind.
For information about unit publishing statuses, see Unit Publishing Statuses.
To view published and released content as it would appear to members of different groups, follow these steps.
From the Studio Course Outline page, select View Live. Alternatively, from a unit page, select View Live Version.
A separate browser tab opens for the course in the LMS.
In the LMS, select one of the View this course as options, as described in Viewing Course Content Based on Roles.
The course view refreshes to present published course content as a learner in the selected group would see it.
For more information about each view, see Staff View, Learner View, or Specific Learner View. For more information about viewing cohort-specific course content, see Viewing Cohort-Specific Course Content.
Before your course has started, or before you release content to learners, you can test how the content will appear when it is released.
Similar to viewing published content, you can choose specific views in the LMS to experience draft or unreleased course content as learners belonging to different groups would, but you select Preview from the course outline in Studio instead of View Live.
In Preview mode, if you use one of the student-based View course as options, you can see draft course content unrestricted by release date. You see any content that has a publishing status of Published and Live as well as content with publishing statuses of Draft (Never Published) or Draft (Unpublished changes).
When you use Staff view in preview mode, you also see any content that is Visible to Staff Only.
To preview draft content and see how it would appear to members of different groups when it is released, follow these steps.
From a unit page in the Course Outline in Studio, select Preview.
A separate browser tab opens for the course in the LMS.
In the LMS, select one of the View this course as options, as described in Viewing Course Content Based on Roles.
The course view refreshes to present course content as it is currently configured in Studio, and as a learner in the selected group would see it.
Note
If you use randomized content blocks in your course, you cannot preview unpublished units that contain content from randomized content blocks, because the randomized content is not assigned until after the unit is published. For information about viewing the actual content that has been assigned to a particular learner from a randomized content block in a live course, see Specific Learner View.
When you select View Live or Preview from the course outline in Studio, you can see how it would appear to members of different groups by selecting one of the View this course as options in the LMS.
The following table summarizes the content that is available in either View Live mode or Preview mode when you choose a role for viewing the content.
“View this course as” Role | In “View Live” Mode | In “Preview” Mode |
---|---|---|
Staff | You see content that has any of the publishing statuses Published and Live, Published (not yet released), or Draft (Unpublished changes). In Staff view, you also see content that is Visible to Staff Only. | In addition to the content you would see in “View Live” mode, you also see content that is in Draft (Never Published) status. In Staff view, you also see content that is Visible to Staff Only. |
Learner | You see content that has a status of Published and Live, and that is intended for all learners. For example, you see content that is not intended for a specific cohort group. In Student view, you do not see content that is Visible to Staff Only. | In addition to the content that you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes). In Student view, you do not see content that is Visible to Staff Only. |
Specific Learner | You see content that has a status of Published and Live, and is intended for the specific learner whose email or username you enter. | Specific student view is not available for unpublished content or if the course has not started. |
Learner in a Specific Content Group | You see content that has a status of Published and Live that would be available to learners who belong to the specified content group. | In addition to the content you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes) that would be available to learners who belong to the specified content group. |
Learner in an Enrollment Track | You see content that has a status of Published and Live that would be available to learners who are in the specified enrollment track. | In addition to the content you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes) that would be available to learners who are in the specified enrollment track. |
Note
When a unit’s state is Published and Live, the preview and the live versions of the course are exactly the same. In this case, selecting either View Live or Preview gives you the same view of that unit.
Staff view displays content in your course as any member of the course team would experience it.
When you view your course content using Staff view, you can execute tests to make sure that your course works the way you intend. For example, before the release date of a subsection, members of the course team can work through the problems to verify that the correct answer receives a green check for correct, and that any answer other than the correct one receives a red X for incorrect.
When you use Staff view in the LMS, you can go back to Studio to edit course content in the following ways.
Learner view displays content in your course as an enrolled learner in your course would experience it.
Note
If your course uses randomized content blocks, or if your course is designed so that learners in different enrollment track groups or content groups are shown different content, you can select an option from the View Course As dropdown list to see the content that a specific learner sees, or that a learner in a specific group sees. For more information, see Specific Learner View or Viewing Cohort-Specific Course Content.
Note
This view is available only if your course has started, and only for content that has a status of Published and Live.
Specific learner view displays published content in your live course as the learner that you specify experiences it. When you view the Progress page, the page displays grades and progress for the learner that you have specified.
When you view your course content as Specific student, be aware of the following limitations.
This view displays content as a learner who belongs to the specified content group would experience it. You can use this view to verify that content designed for learners in a specific content group is displaying as intended.
For details about content groups, and about creating and previewing cohort-specific content, see Content Groups, Creating Cohort-Specific Course Content, and Viewing Cohort-Specific Course Content.
This view displays content as a learner who is in a specific enrollment track would experience it. You can use this view to verify that content designed for learners in a specific enrollment track is displaying as intended.
For more information about enrollment track groups, and about creating and previewing enrollment track based content, see Enrollment Track Groups and Creating Course Content for Specific Enrollment Tracks.
Use the topics in this section to understand how to create course content of different types.
For information on creating exercises and tools, see Adding Exercises and Tools.
For information on how to develop your course content in the Studio Outline page, see Developing Your Course.
This section describes how to work with HTML components in Studio.
HTML, or HyperText Markup Language, is the standard markup language used to create web pages. Web browsers present HTML code in a more readable format.
When students see text and images in your course, they are seeing HTML code that is formatted and presented by their browsers. For more information about HTML, see Wikipedia.
HTML components are the basic building blocks of your course content. You use HTML components to add and format text, links, images, and more. You can work with your HTML components in a “visual” or WYSIWYG editor that hides the HTML code details, or in a “raw” editor that requires you to mark up your content.
Note
Review Developing Your Course and Use Best Practices for HTML Markup before you start working with HTML components.
You can use two different editing interfaces to work with an HTML component.
With the visual editor you create, edit, and format content in a word processing-like interface, without using HTML markup directly. With the visual editor, you can more easily format your content, and add links and images. The visual editor includes an HTML option for you to review the HTML markup and make small formatting changes to your content. However, this HTML option does not provide the detailed control you can get with the raw HTML editor, and does not support custom formatting or scripts.
If you add an HTML component and select Text, when you select Edit the visual editor opens by default.
If you prefer to mark up your content directly with HTML markup, you can use the raw HTML editor. If you need to include custom formatting or scripts in your content, you must use the raw HTML editor.
If you add an HTML component and select Raw HTML, when you select Edit the raw HTML editor opens by default.
You can switch back and forth between these two editing interfaces at any time. For more information, see Set the Editor for an HTML Component.
Note
If you copy text from another source and paste it into either the visual or raw HTML editor, be sure to proofread the result carefully. Some applications automatically change quotation marks and apostrophes from the “straight” version to the “smart” or “curly” version. Both editors require “straight” quotation marks and apostrophes.
Warning
If you work with content in the raw HTML editor, then switch to the visual editor, custom HTML can be lost. If you need to create custom HTML, we recommend that you start by using the visual editor, and then switch to the raw HTML editor when you are ready to add the custom HTML.
The visual editor provides a “what you see is what you get” (WYSIWYG) interface that allows you to format text by selecting options at the top of the editor.
The following image shows callouts for the editing options and is followed by descriptions.
Select a formatting style for the selected text, such as paragraph,
preformatted
(monospace), or a heading level.
Note
The available heading levels in the HTML component editor begin with
heading 3 (<h3>
). HTML components are part of a complete page, and
elements outside the HTML component use heading levels 1 and 2 by default.
Because tools such as screen readers use heading levels to navigate
through pages, using heading levels 1 or 2 inside an HTML component can
interfere with the functionality of these tools.
Select a font family for selected text, such as Arial, Courier New, or Times New Roman.
Format the selected text in bold, or remove this formatting. The editor
inserts <strong>
tags around the selected text.
Format the selected text in italics, or remove this formatting. The editor
inserts <em>
tags around the selected text.
Underline the selected text, or remove this formatting. The editor encloses
the selected text in the tag <span style="text-decoration: underline;">
.
Change the color of the selected text. The editor encloses the selected text
in the tag <span style="color: color-hex-code;">
.
Format the selected text as a code block, or remove this formatting. The
editor inserts <code>
tags around the selected text, which is then
displayed in a monospace font.
Align text and images to the left. The editor adds style="text-align:
left;"
to the <p>
tags that surround the text.
Center text and images. The editor adds style="text-align: center;"
to
the <p>
tags that surround the text.
Align text and images to the right. The editor adds style="text-align:
right;"
to the <p>
tags that surround the text.
Justify text and images. The editor adds style="text-align: justify;"
to
the <p>
tags that surround the text.
Create a bulleted list, or remove this formatting. The editor inserts
<ul>
tags around the selected text, and encloses each paragraph in
<li>
tags.
Create a numbered list, or remove this formatting. The editor inserts
<ol>
tags around the selected text, and encloses each paragraph in
<li>
tags.
Decrease and increase the indentation of the selected paragraph.
Format the selected paragraph as a blockquote. The editor inserts
<blockquote>
tags around the selected text, which is then displayed as a
separate paragraph in a monospace font.
Create a hypertext link from the selected text. For more information, see Add a Link in an HTML Component.
Remove a hypertext link from the selected text.
Insert an image at the cursor. For more information, see Add an Image to an HTML Component.
Review the HTML markup.
Note
The visual editor is not available for course handouts.
To review the HTML markup added to content in the visual editor, select HTML from the visual editor’s toolbar. The HTML source code editor opens.
You can edit text and the HTML markup in this editor. However, you cannot add custom styles or scripts in this editor. Use the raw HTML editor instead.
Select OK to return to the visual editor. The visual editor attempts to correct any problems with the markup that you entered. For example, if you do not provide a close paragraph tag, the editor adds the tag for you.
You can then continue working in the visual editor.
Warning
Selecting OK in the source code editor does not save your changes to the HTML component. To save your changes and close the component, select Save in the visual editor. If you select Cancel, the changes you made in the HTML source code editor are discarded.
The raw HTML editor is a text editor. It does not offer a toolbar with formatting options.
When you use this editor, you must supply valid HTML. The raw HTML editor does not validate your HTML code. If you use this editor, you should thoroughly test the HTML content in your course.
Important
When you add a heading to an HTML component, make sure that you use only
heading level 3 <h3>
through heading level 6 <h6>
. HTML components are
part of a complete page, and elements outside the HTML component use heading
levels 1 and 2 by default. Because tools such as screen readers use heading
levels to navigate through pages, using heading levels 1 or 2 inside an HTML
component can interfere with the functionality of these tools.
Under Add New Component, select HTML.
Select the template.
The rest of these instructions assume that you selected Text, which creates an empty HTML component with the visual editor selected.
An empty HTML component appears at the bottom of the unit.
In the component, select Edit.
The HTML component opens in the visual editor.
Enter and format your content. You can review the HTML markup.
To enter a display name for the component, select Settings, and then enter text in the Display Name field.
Each HTML template supplies a default display name. Changing the default to a unique, descriptive display name can help you and your learners identify course content quickly and accurately. If you delete the default display name and do not enter your own identifying name, the platform shows “Text” as the name of the component.
To return to the visual editor, select Editor.
Select Save.
When you use the visual editor, you can also perform the following tasks.
When you create an HTML component, you select one of the following templates.
The raw HTML template uses the raw HTML editor by default. All of the other templates use the visual editor by default. You can switch between the editors in any HTML component. For more information, see Set the Editor for an HTML Component.
When you use the visual editor, to add a link to a website, course unit, or file in an HTML component, you work with the Insert link dialog box.
For more information, see the following tasks.
Note
When you create a link to another component, the unit of that destination component must be published for the link to work.
Obtain the location ID of the unit you want to link to.
In Studio, open the page for the unit that you want to link to in Studio, and then locate Unit Location in the right pane.
Under Unit Location, select and copy the alphanumeric text in the Location ID field.
Open the HTML component where you want to add the link.
Select the text that you want to make into the link.
Select the link icon in the toolbar.
In the Insert link dialog box, enter a value that resembles the following value in the URL field.
/jump_to_id/<location ID>
Make sure to replace <location ID> (including the brackets) with the location ID that you copied in step 1, and make sure that you include both forward slashes (/).
Caution
Ensure you use
/jump_to_id/<location ID>
as the URL value. Do not use the URL of the unit that you see in the browser address bar. If you do not use/jump_to_id/<location ID>
, the link will be broken if you export and then import the course.
Tip
When you add links to files, open the HTML component and the Files & Uploads page in separate browser windows. You can then more quickly copy file URLs.
You can add a link in an HTML component to any file that is uploaded for the course. For more information about uploading files, see Adding Files to a Course.
Note
Do not use this method to add images to HTML components. Instead, use the method in Add an Image to an HTML Component.
Note
You must use the Studio URL to link to the file, not the Web URL. For more information, see Adding Files to a Course.
In the HTML component where you want to add the link, select the text that you want to make into the link.
In the toolbar, select the link icon.
In the Insert link dialog box, paste the Studio URL for the file in the URL field. For example, the URL might resemble the following URL.
/static/FileName.pdf
Make sure that you include both forward slashes (/).
(optional) If you want the link to open in a new window, select the dropdown arrow next to the Target field, and then select New Window. If not, you can leave the default value.
Select OK.
Save the HTML component and test the link.
When you use the visual editor, you can add any image from your computer to an HTML component. You can see a preview of the image before you add it to the component.
Note
To add an image to an HTML component, you can use one of the following procedures.
In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.
In the Add an Image dialog box, drag an image from your computer into the Drag and Drop area.
As soon as your file uploads, the Edit Image Settings dialog box opens.
In the Edit Image Settings dialog box, add an image description.
alt
attribute in HTML
and is required for your course to be fully accessible. For more
information, see Use Best Practices for Describing Images.(optional) Specify the width and height of your image. For more information, see Change the Image Size.
Select Insert Image.
Save the HTML component and test the image.
In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.
In the Add an Image dialog box, Browse Your Computer.
In the dialog box that opens, locate the file that you want to add, and then select Open.
As soon as your file uploads, the Edit Image Settings dialog box opens.
In the Edit Image Settings dialog box, add an image description.
alt
attribute in HTML
and is required for your course to be fully accessible. For more
information, see Use Best Practices for Describing Images.(optional) Specify the width and height of your image. For more information, see Change the Image Size.
Select Insert Image.
Save the HTML component and test the image.
If you have not already added the image that you want to add, open the Files & Uploads page, and then upload the image. For more information about uploading images, see Adding Files to a Course.
When you upload an image, the image automatically becomes available in a list that opens when you add an image to an HTML component.
In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.
In the Add an Image dialog box, locate the image in the Select a previously uploaded image list, and then select Next.
In the Edit Image Settings dialog box, complete one of the following options.
alt
attribute in HTML
and is required for your course to be fully accessible. For more
information, see Use Best Practices for Describing Images.(optional) Specify the width and height of your image. For more information, see Change the Image Size.
Select Insert Image.
Save the HTML component and test the image.
You have several options for formatting an image in an HTML component.
To align your image to the right, the left, or the center, follow these steps.
To change the size of your image, follow these steps.
In the HTML component, select the image that you want to edit, and then select the image icon on the toolbar.
In the Edit Image Settings dialog box, locate Image Dimensions, and then enter the values that you want for the Width and Height options.
Note
To make sure that the image keeps the same proportions when you change the image size, make sure that Lock proportions is selected, and enter a number in only the Width field or the Height field. After you tab or click outside that field, the number in the other field changes to a value that maintains the image proportions.
Select Insert Image.
If you want to change the image back to the original size, clear the values in the Width and Height fields.
You can import LaTeX code into an HTML component. You might do this, for example, if you want to create “beautiful math” such as the math in the following image.
Warning
The LaTeX processor that Studio uses to convert LaTeX code to XML is a third party tool. We recommend that you use this feature with caution. If you use the tool, make sure that you work with your partner manager.
The LaTeX processor is not enabled by default. To enable it, you have to change the advanced settings in your course.
When the LaTeX processor is enabled, you can create an HTML component that contains LaTeX code.
In the unit where you want to create the component, select html under Add New Component, and then select E-text Written in LaTeX. The new component is added to the unit.
Select Edit to open the new component.
At the bottom of the component editor, select Launch Latex Source Compiler.
The LaTeX editor opens.
Add your LaTeX code. To do this, complete either of the following procedures.
Select Save & Compile to edX XML.
On the unit page, select Preview to verify that your content looks correct in the LMS.
If you see errors, go back to the unit page. Select Edit to open the component again, and then select Launch Latex Source Compiler to edit the LaTeX code.
You use video components to add videos to your course in Studio. In video components, you add the name and location of your video, as well as the video transcript. Learners view your videos in the LMS.
For information about the way learners interact with videos, see Watching Videos on the edX Video Player.
For more information about adding videos to your course, see Creating and Adding Video Content.
For more information about options in the video component, see Specifying Additional Video Options.
This section describes how to work with discussion components in Studio.
You can add discussion components to a unit to pose questions about other components, such as videos or text, in the unit. A discussion component gives learners a chance to respond to and interact with each other about a specific subject.
Discussion topics that you create by adding discussion components in your course are known as content-specific discussion topics.
For more information about discussions, see these topics.
Note
EdX recommends that you add an HTML component before each discussion component to introduce the topic that you want learners to discuss. The discussion component itself does not contain any text and can be easy for learners to overlook.
Under Add New Component, select Discussion.
Warning
You should always use these steps to create a discussion component. Do not create discussion components by using the Duplicate button in Studio. Duplicated discussion components result in discussion topics containing the same conversations, even if users post in different discussions.
In the discussion component that appears, select Edit.
Follow the guidelines in the editor to fill in the Category, the Display Name, and the Subcategory fields.
Note
Each Category/Subcategory pair for the discussion topics in your course must be unique.
The value in the Display Name field identifies the discussion in the course content. The default display name for new discussion components is “Discussion”. Changing the default to a unique, descriptive display name can help you and your learners identify different topics quickly and accurately. If you delete the default display name and do not enter your own identifying name, the platform supplies “discussion” for you.
The values in the Category (1) and Subcategory (2) fields are visible to learners in the list of discussion topics on the Discussion page.
Select Save.
Note
On the Discussion page, you cannot see category and subcategory names of discussion components that you created until after the course has started and the unit is released. For more details about when discussion topics are visible, see Understanding When Learners Can See Discussion Topics.
When you add a discussion component to a unit, in the LMS, learners see only the discussion, together with the display name of the discussion component, the category, and the subcategory. EdX recommends that you add an HTML component before each discussion component where you add some text to introduce the discussion topic.
In the following example, the discussion component follows an HTML component. Learners select Add a Post to post their own contributions.
Content-specific topics that you add using discussion components are included on the course Discussion page in the same way as course-wide discussion topics as included. In the following example, the category (1) and the subcategory (2) of the discussion component is shown in the list of discussion topics.
This section introduces the core set of problem types that course teams can add to any course by using the problem component. It also describes editing options and settings for problem components.
For information about specific problem types, and the other exercises and tools that you can add to your course, see Problems, Exercises, and Tools.
To add interactive problems to a course in Studio, in the course outline, at the unit level, you select Problem. You then choose the type of problem that you want to add from the Common Problem Types list or the Advanced list.
The common problem types include relatively straightforward CAPA problems such as multiple choice and text or numeric input. The advanced problem types can be more complex to set up, such as math expression input, open response assessment, or custom JavaScript problems.
The common and advanced problem types that the problem component lists are the core set of problems that every course team can include in a course. You can also enable more exercises and tools for use in your course. For more information, see Enabling Additional Exercises and Tools.
When you establish the grading policy for your course, you define the assignment types that count toward learners’ grades: for example, homework, labs, midterm, final, and participation. You specify one of these assignment types for each of the subsections in your course.
As you develop your course, you can add problem components to a unit in any subsection. The problem components that you add automatically inherit the assignment type that is defined at the subsection level. For example, all of the problem components that you add to a unit in the midterm subsection are graded.
For more information, see Set the Assignment Type and Due Date for a Subsection.
All problems on the edX platform have these component parts, some of which can be configured. For configurable options, you can specify whether and when an option is available in problems.
Problem text. The problem text can contain any standard HTML formatting.
Within the problem text for each problem component, you must identify a question or prompt, which is, specifically, the question that learners need to answer. This question or prompt also serves as the required accessible label, and is used by screen readers, reports, and Insights. For more information about identifying the question text in your problem, see The Simple Editor.
Response field. Learners enter answers in response fields. The appearance of the response field depends on the type of the problem.
Rendered answer. For some problem types, the LMS uses MathJax to render plain text as “beautiful math.”
Submit. When a learner selects Submit to submit a response for a problem, the LMS saves the grade and current state of the problem. The LMS immediately provides feedback about whether the response is correct or incorrect, as well as the problem score. The Submit option remains available if the learner has unused attempts remaining, so that she can try to answer the problem again.
Note
If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.
Attempts. You can set a specific number of attempts or allow unlimited attempts for a problem. By default, the course-wide Maximum Attempts advanced setting is null, meaning that the maximum number of attempts for problems is unlimited.
In courses where a specific number has been specified for Maximum Attempts in Advanced Settings, if you do not specify a value for Maximum Attempts for an individual problem, the number of attempts for that problem defaults to the number of attempts defined in Advanced Settings.
Save. The learner can select Save to save his current response without submitting it for grading. This allows the learner to stop working on a problem and come back to it later.
Reset. You can specify whether the Reset option is available for a problem. This setting at the problem level overrides the default setting for the course in Advanced Settings.
If the Reset option is available, learners can select Reset to clear any input that has not yet been submitted, and try again to answer the question.
Show Answer. You can specify whether this option is available for a problem. If a learner selects Show Answer, the learner sees both the correct answer and the explanation, if any.
If you specify a number in Show Answer: Number of Attempts, the learner must submit at least that number of attempted answers before the Show Answer option is available for the problem.
Feedback. After a learner selects Submit, an icon appears beside each response field or selection within a problem. A green check mark indicates that the response was correct, a green asterisk (*) indicates that the response was partially correct, and a red X indicates that the response was incorrect. Underneath the problem, feedback text indicates whether the problem was answered correctly, incorrectly, or partially correctly, and shows the problem score.
Note
If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.
In addition to the items above, which are shown in the example, problems also have the following elements.
Correct answer. Most problems require that you specify a single correct answer.
Note
If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.
Explanation. You can include an explanation that appears when a learner selects Show Answer.
Grading. You can specify whether a group of problems is graded.
Due date. The date that the problem is due. Learners cannot submit answers for problems whose due dates have passed, although they can select Show Answer to show the correct answer and the explanation, if any.
Note
Problems can be open or closed. Closed problems, such as problems whose due dates are in the past, do not accept further responses and cannot be reset. Learners can still see questions, solutions, and revealed explanations, but they cannot submit responses or reset problems.
There are also some attributes of problems that are not immediately visible. You can set these attributes in Studio.
When you select Problem and choose one of the problem types, Studio adds an example problem of that type to the unit. To replace the example with your own problem, you select Edit to open the example problem in an editor.
The editing interface that opens depends on the type of problem you choose.
For common problem types, the simple editor opens. In this editor, you use Markdown-style formatting indicators to identify the elements of the problem, such as the prompt and the correct and incorrect answer options.
For advanced problem types (with the exception of open response assessment), the advanced editor opens. In this editor you use open learning XML (OLX) elements and attributes to identify the elements of the problem.
For open response assessment problem types, you define the problem elements and options by using a graphical user interface. For more information, see Create an Open Response Assessment Assignment.
You can switch from the simple editor to the advanced editor at any time by selecting Advanced Editor from the simple editor’s toolbar.
Note
After you save a problem in the advanced editor, you cannot open it again in the simple editor.
When you edit one of the common problem types, the simple editor opens with a template that you can use as a guideline for adding Markdown formatting. The following templates are available.
Blank common problems also open in the simple editor but they do not provide a template.
The following image shows the multiple choice template in the simple editor.
The simple editor includes a toolbar with options that provide the required Markdown formatting for different types of problems. When you select an option from the toolbar, formatted sample text appears in the simple editor. Alternatively, you can apply formatting to your own text by selecting the text and then one of the toolbar options.
Descriptions of the Markdown formatting that you use in the simple editor follow.
=
) below it on the next line.( )
) before it. To identify the
correct answer option, you insert an x
within the parentheses:
((x)
).[ ]
) before it. To identify the correct
answer option or options, you insert an x
within the brackets:
([x]
).=
) before the answer value on the same line.=
) before the answer value on the same
line.[[ ]]
) around the list. To identify the correct answer option, you add
parentheses (( )
) around that option.[explanation]
tag to the lines before and after the text. The
explanation appears only after learners select Show Answer. You define
when the Show Answer option is available to learners by using the
Show Answer setting.>>
<<
) around the question text. For example, >>Is this the question?<<
.||
) between them. For
example, >>Which of the following choices is correct? ||Be sure to select
all that apply.<<
.You can also add text, without formatting, to a problem. Note that screen readers read all of the text that you supply for the problem, and then repeat the text that is identified as the question or prompt immediately before reading the answer choices for the problem. For problems that require descriptions or other text, you might consider adding an HTML component for the text immediately before the problem component.
When you enter unformatted text, note that the simple editor cannot interpret certain symbol characters correctly. These symbols are reserved HTML characters: greater than (>), less than (<), and ampersand (&). If you enter text that includes these characters, the simple editor cannot save your edits. To resolve this problem, replace these characters in your problem text with the HTML entities that represent them.
>
.<
.&
.To add mathematics, you can use LaTeX, MathML, or AsciiMath notation. Studio uses MathJax to render equations. For more information, see Using MathJax for Mathematics.
When you edit one of the advanced problem types, the advanced editor opens with an example problem. The advanced editor is an XML editor that shows the OLX markup for a problem. You edit the following advanced problem types in the advanced editor.
For the Open Response Assessment advanced problem type, a dialog box opens for problem setup.
Blank advanced problems do not provide an example problem, but they also open in the advanced editor by default.
The following image shows the OLX markup in the advanced editor for the same example multiple choice problem that is shown in the simple editor above.
For more information about the OLX markup to use for a problem, see the topic that describes that problem type.
In addition to the text of the problem and its Markdown formatting or OLX markup, you define the following settings for problem components. To access these settings, you edit the problem and then select Settings.
If you do not edit these settings, default values are supplied for your problems.
Note
If you want to temporarily or permanently hide problem results from learners, you use the subsection-level Results Visibility setting. You cannot change the visibility of individual problems. For more information, see Set Problem Results Visibility.
This required setting provides an identifying name for the problem. The display name appears as a heading above the problem in the LMS, and it identifies the problem for you in Insights. Be sure to add unique, descriptive display names so that you, and your learners, can identify specific problems quickly and accurately.
The following illustration shows the display name of a problem in Studio, in the LMS, and in Insights.
For more information about metrics for your course’s problem components, see Using edX Insights.
This setting specifies the number of times that a learner is allowed to try to answer this problem correctly. You can define a different Maximum Attempts value for each problem.
A course-wide Maximum Attempts setting defines the default value for this problem-specific setting. Initially, the value for the course-wide setting is null, meaning that learners can try to answer problems an unlimited number of times. You can change the course-wide default by selecting Settings and then Advanced Settings. Note that if you change the course-wide default from null to a specific number, you can no longer change the problem-specific Maximum Attempts value to unlimited.
Only problems that have a Maximum Attempts setting of 1 or higher are included in the answer distribution computations used in edX Insights and the Student Answer Distribution report.
Note
EdX recommends setting Maximum Attempts to unlimited or a large number when possible. Problems that allow unlimited attempts encourage risk taking and experimentation, both of which lead to improved learning outcomes. However, allowing for unlimited attempts might not be feasible in some courses, such as those that use primarily multiple choice or dropdown problems in graded subsections.
Note
The LMS scores all problems. However, only scores for problem components that are in graded subsections count toward a learner’s final grade.
This setting specifies the total number of points possible for the problem. In the LMS, the problem weight appears near the problem’s display name.
By default, each response field, or answer space, in a problem component is worth one point. You increase or decrease the number of points for a problem component by setting its Problem Weight.
In the example shown above, a single problem component includes three separate questions. To respond to these questions, learners select answer options from three separate dropdown lists, the response fields for this problem. By default, learners receive one point for each question that they answer correctly.
For information about how to define a problem that includes more than one question, see Including Multiple Questions in One Component.
The score that a learner earns for a problem is the result of the following formula.
Score = Weight × (Correct answers / Response fields)
Examples
The following are some examples of computing scores.
Example 1
A problem’s Problem Weight setting is left blank. The problem has two response fields. Because the problem has two response fields, the maximum score is 2.0 points.
If one response field contains a correct answer and the other response field contains an incorrect answer, the learner’s score is 1.0 out of 2 points.
Example 2
A problem’s weight is set to 12. The problem has three response fields.
If a learner’s response includes two correct answers and one incorrect answer, the learner’s score is 8.0 out of 12 points.
Example 3
A problem’s weight is set to 2. The problem has four response fields.
If a learner’s response contains one correct answer and three incorrect answers, the learner’s score is 0.5 out of 2 points.
Note
This Randomization setting serves a different purpose from “problem randomization”. This Randomization setting affects how numeric values are randomized within a single problem and requires the inclusion of a Python script. Problem randomization presents different problems or problem versions to different learners. For more information, see Problem Randomization.
For problems that include a Python script to generate numbers randomly, this setting specifies how frequently the values in the problem change: each time a different learner accesses the problem, each time a single learner tries to answer the problem, both, or never.
Note
This setting should only be set to an option other than Never for problems that are configured to do random number generation.
For example, in this problem, the highlighted values change each time a learner submits an answer to the problem.
If you want to randomize numeric values in a problem, you complete both of these steps.
The edX Platform has a 20-seed maximum for randomization. This means that learners see up to 20 different problem variants for every problem that has Randomization set to an option other than Never. It also means that every answer for the 20 different variants is reported by the Answer Distribution report and edX Insights. Limiting the number of variants to a maximum of 20 allows for better analysis of learner submissions by allowing you to detect common incorrect answers and usage patterns for such answers.
For more information, see Student Answer Distribution in this guide, or Review Answers to Graded Problems or Review Answers to Ungraded Problems in Using edX Insights.
Important
Whenever you choose an option other than Never for a problem, the computations for the Answer Distribution report and edX Insights include up to 20 variants for the problem, even if the problem was not actually configured to include randomly generated values. This can make data collected for problems that cannot include randomly generated values, (including, but not limited to, all multiple choice, checkboxes, dropdown, and text input problems), extremely difficult to interpret.
You can choose the following options for the Randomization setting.
Option | Description |
---|---|
Always | Learners see a different version of the problem each time they select Submit. |
On Reset | Learners see a different version of the problem each time they select Reset. |
Never | All learners see the same version of the problem. For most courses, this option is supplied by default. Select this option for every problem in your course that does not include a Python script to generate random numbers. |
Per Student | Individual learners see the same version of the problem each time they look at it, but that version is different from the version that other learners see. |
This setting adds a Show Answer option to the problem. The following options define when the answer is shown to learners.
Always | Always present the Show Answer option. Note: If you specify Always, learners can submit a response even after they select Show Answer to see the correct answer. |
Answered | Show the answer only after the learner answers the problem correctly. If the problem can be, and is, reset, the answer is not shown until the learner tries the problem again after resetting. (When a learner answers a problem, the problem is considered to be both attempted and answered. When the problem is reset, the problem is still considered to have been attempted, but is not considered to be answered.) |
Attempted | Show the answer only after the learner tries to answer the problem. If the problem can be, and is, reset, the answer continues to show. (When a learner answers a problem, the problem is considered to be both attempted and answered. When the problem is reset, the problem is still considered to have been attempted, but is not considered to be answered.) |
Closed | Show the answer only after the learner has used up all his attempts to answer the problem or if the due date has passed. |
Finished | Show the answer after the learner has answered the problem correctly, if the learner has no attempts remaining, or if the problem due date has passed. |
Correct or Past Due | Show the answer only after the learner has answered the problem correctly or if the problem due date has passed. |
Past Due | Show the answer only after the due date for the problem has passed. |
Never | Never show the answer. In this case, the Show Answer option does not appear next to the problem in Studio or in the LMS. If your problem does not include a correct answer to show to learners, make sure you select Never. |
This setting limits when learners can select the Show Answer option for a problem. Learners must submit at least the specified number of attempted answers for the problem before the Show Answer option is available to them.
This setting defines whether a Reset option is available for the problem.
Learners can select Reset to clear any input that has not yet been submitted, and try again to answer the problem.
If the learner has already submitted an answer, selecting Reset clears the submission and, if the problem contains randomized variables and randomization is set to On Reset, changes the values in the problem.
If the number of Maximum Attempts that was set for this problem has been reached, the Reset option is not visible.
This problem-level setting overrides the course-level Show Reset Button for Problems advanced setting.
This setting specifies the number of seconds that a learner must wait between submissions for a problem that allows multiple attempts. If the value is 0, the learner can attempt the problem again immediately after an incorrect attempt.
Adding required wait time between attempts can help to prevent learners from simply guessing when multiple attempts are allowed.
If a learner attempts a problem again before the required time has elapsed, she sees a message below the problem indicating the remaining wait time. The format of the message is, “You must wait at least {n} seconds between submissions. {n} seconds remaining.”
In some cases, you might want to design an assessment that combines multiple questions in a single problem component. For example, you might want learners to demonstrate mastery of a concept by providing the correct responses to several questions, and only giving them credit for problem if all of the answers are correct.
Another example involves learners who have slow or intermittent internet connections. When every problem appears on a separately loaded web page, these learners can find the amount of time it takes to complete an assignment or exam discouraging. For these learners, grouping several questions together can promote increased engagement with course assignments.
When you add multiple questions to a single problem component, the settings that you define, including the display name and whether to show the Reset button, apply to all of the questions in that component. The answers to all of the questions are submitted when learners select Submit, and the correct answers for all of the questions appear when learners select Show Answer. By default, learners receive one point for each question they answer correctly. For more information about changing the default problem weight and other settings, see Defining Settings for Problem Components.
Important
To assure that the data collected for learner interactions with your problem components is complete and accurate, include a maximum of 10 questions in a single problem component.
To design an assignment that includes several questions, you add one problem
component and then edit it to add every question and its answer options, one
after the other, in that component. Be sure to identify the text of every
question or prompt with the appropriate Markdown formatting (>> <<
) or OLX
<label>
element, and include all of the other required elements
for each question.
---
) on a new line
to separate one question and its answer options from the next.<multiplechoiceresponse>
for a multiple choice question or
<formularesponse>
for a math expression input question.[explanation]
) or OLX <solution>
element.As a best practice, edX recommends that you avoid including unformatted paragraph text between the questions. Screen readers can skip over text that is inserted among multiple questions.
The questions that you include can all be of the same problem type, such as a series of text input questions, or you can include questions that use different problem types, such as both numerical input and math expression input.
Note
You cannot use a Custom JavaScript Display and Grading Problem in a problem component that contains more than one question. Each custom JavaScript problem must be in its own component.
An example of a problem component that includes a text input question and a numerical input question follows. In the simple editor, the problem has the following Markdown formatting.
>>Who invented the Caesar salad?||Be sure to check your spelling.<<
= Caesar Cardini
[explanation]
Caesar Cardini is credited with inventing this salad and received a U.S. trademark for his salad dressing recipe.
[explanation]
---
>>In what year?<<
= 1924
[explanation]
Cardini invented the dish at his restaurant on 4 July 1924 after the rush of holiday business left the kitchen with fewer supplies than usual.
[explanation]
That is, you include three hyphen characters (---
) on a new line to
separate the problems.
In the advanced editor, the problem has the following OLX markup.
<problem>
<stringresponse answer="Caesar Cardini" type="ci">
<label>Who invented the Caesar salad?</label>
<description>Be sure to check your spelling.</description>
<textline size="20"/>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Caesar Cardini is credited with inventing this salad and received
a U.S. trademark for his salad dressing recipe.</p>
</div>
</solution>
</stringresponse>
<numericalresponse answer="1924">
<label>In what year?</label>
<formulaequationinput/>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Cardini invented the dish at his restaurant on 4 July 1924 after
the rush of holiday business left the kitchen with fewer supplies
than usual.</p>
</div>
</solution>
</numericalresponse>
</problem>
You can add feedback, hints, or both to the following core problem types.
By using hints and feedback, you can provide learners with guidance and help as they work on problems.
You can add feedback that displays to learners after they submit an answer.
For example, the following multiple choice problem provides feedback in response to the selected option when the learner selects Submit. In this case, feedback is given for an incorrect answer.
The immediacy of the feedback available to learners is a key advantage of online instruction and difficult to do in a traditional classroom environment.
You can target feedback for common incorrect answers to the misconceptions that are common for the level of the learner (for example, elementary, middle, high school, college).
In addition, you can create feedback that provides some guidance to the learner about how to arrive at the correct answer. This is especially important in text input and numeric input problems, because without such guidance, learners might not be able to proceed.
You should also include feedback for the correct answer to reinforce why the answer is correct. Especially in questions where learners are able to guess, such as multiple choice and dropdown problems, the feedback should provide a reason why the selection is correct.
You can add one or more hints that are displayed to learners. When you add hints, the Hint button is automatically displayed to learners. Learners can access the hints by selecting Hint beneath the problem. A learner can view multiple hints by selecting Hint multiple times.
For example, in the following multiple choice problem, the learner selects Hint after having made one incorrect attempt.
The hint text indicates that it is the first of two hints. After the learner selects Next Hint, both of the available hints appear. When all hints have been used, the Hint or Next Hint option is no longer available.
To ensure that your hints can assist learners with varying backgrounds and levels of understanding, you should provide multiple hints with different levels of detail.
For example, the first hint can orient the learner to the problem and help those struggling to better understand what is being asked.
The second hint can then take the learner further towards the answer.
In problems that are not graded, the third and final hint can explain the solution for learners who are still confused.
You create problems with feedback and hints in Studio. Templates with feedback and hints configured are available to make creating your own problems easier.
While editing a unit, in the Add New Component panel, select Problem. In the list that opens, select Common Problem Types. Templates for problems with feedback and hints are listed.
Add the problem type you need to the unit, then edit the component. The exact syntax you use to configure hints and feedback depends on the problem type. See the topic for the problem type for more information.
You can configure the following problem types so that learners can receive partial credit for a problem if they submit an answer that is partly correct.
By awarding partial credit for problems, you can motivate learners who have mastered some of the course content and provide a score that accurately demonstrates their progress.
For more information about configuring partial credit, see the topic for each problem type.
Learners receive partial credit when they submit an answer in the LMS.
In the following example, the course team configured a multiple choice problem to award 25% of the possible points (instead of 0 points) for one of the incorrect answer options. The learner selected this incorrect option, and received 25% of the possible points.
When a learner receives partial credit for a problem, the LMS only adds the points that the learner earned to the grade. However, the LMS reports any problem for which a learner receives credit, in full or in part, as correct in the following ways.
Events that the system generates when learners receive partial credit for a
problem indicate that the answer was correct. Specifically, the
correctness
field has a value of correct
.
For more information about events, see Problem Interaction Events in the EdX Research Guide.
The AnswerValue in the Student Answer Distribution report is 1, for correct.
The edX Insights insights:student performance reports count the answer as correct.
Course teams can see that a learner received partial credit for a problem in
the learner’s submission history. The submission history shows the score that
the learner received out of the total available score, and the value in the
correctness
field is partially-correct
. For more information, see
Learner Answer Submissions.
To help learners understand terminology or other aspects of a problem, you can add inline tooltips. Tooltips show text to learners when they move their cursors over a tooltip icon.
The following example problem includes two tooltips. The tooltip that provides a definition for “ROI” is being shown.
Note
For learners using a screen reader, the tooltip expands to make its associated text accessible when the screen reader focuses on the tooltip icon.
To add the tooltip, you wrap the text that you want to appear as the tooltip in
the clarification
element. For example, the following problem contains two
tooltips.
<problem>
<text>
<p>Given the data in Table 7 <clarification>Table 7: "Example PV
Installation Costs", Page 171 of Roberts textbook</clarification>,
compute the ROI <clarification><strong>ROI</strong>: Return on
Investment</clarification> over 20 years.
</p>
. . .
Presenting different learners with different problems or with different versions of the same problem is referred to as “problem randomization”.
You can provide different learners with different problems by using randomized content blocks, which randomly draw problems from pools of problems stored in content libraries. For more information, see Randomized Content Blocks.
Note
Problem randomization is different from the Randomization setting that you define in Studio. Problem randomization presents different problems or problem versions to different learners, while the Randomization setting controls when a Python script randomizes the variables within a single problem. For more information about the Randomization setting, see Randomization.
Creating randomized problems by exporting your course and editing some of your course’s XML files is no longer supported.
Warning
Be careful when you modify problems after they have been released. Changes that you make to published problems can affect the learner experience in the course and analysis of course data.
After a learner submits a response to a problem, the LMS stores that response, the score that the learner received, and the maximum score for the problem. For problems with a Maximum Attempts setting greater than 1, the LMS updates these values each time the learner submits a new response to a problem. However, if you change a problem or its attributes, existing learner information for that problem is not automatically updated.
For example, you release a problem and specify that its answer is 3. After some learner have submitted responses, you notice that the answer should be 2 instead of 3. When you update the problem with the correct answer, the LMS does not update scores for learners who originally answered 2 for the problem and received the wrong score.
For another example, you change the number of response fields to three. Learners who submitted answers before the change have a score of 0, 1, or 2 out of 2.0 for that problem. Learners who submitted answers after the change have scores of 0, 1, 2, or 3 out of 3.0 for the same problem.
If you change the weight setting for the problem in Studio, however, existing scores update when the learner’s Progress page is refreshed. In a live section, learners will see the effect of these changes.
If you have to modify a released problem in a way that affects grading, you have two options to ensure that every learner has the opportunity to submit a new response and be regraded. Note that both options require you to ask your learners to go back and resubmit answers to a problem.
For information about how to review and adjust learner grades in the LMS, see Adjust Grades for One or All Learners.
This section describes how to work with content libraries in Studio.
In Studio, you can create a library to build a pool of components for use in randomized assignments in your courses. You can add HTML components, problems, and video components to a library. Open response assessment and discussion components are not supported in libraries.
Note
Content libraries are available only for courses that have course
identifiers in this format: {key type}:{org}+{course}+{run}
. For
example, course-v1:edX+DemoX+Demo_2015
. Your course identifier appears
in the browser address bar as the final part of the URL when you open your
course in Studio. For more details, see Create a Course.
After creating a library and adding components to it, if you have enabled content libraries in your course, you can use these library components in randomized assignments in your course. You do this by adding a randomized content block to a course unit and specifying the name of the library from which the randomized content is to drawn. You also specify the number and type of problems that each learner is assigned. For information about randomized content blocks, see Randomized Content Blocks.
Libraries have separate users and levels of access from courses. Initially, only the person who created the library has access. She can add other users to the library. For details, see Give Other Users Access to Your Library. The libraries that you create or have access to are listed on the Libraries tab on the Studio Home page.
Use content libraries to build a pool of components that can be used in randomized assignments in your courses.
To create a new library, follow these steps.
Log in to Studio.
Select New Library.
Enter the required information for your new library, then select Create.
Note
Enter new library information carefully. The values in these fields become part of the URL for your library, therefore the total number of characters in the Library Name, Organization, and Library Code fields must be 65 or fewer.
- For Library Name, enter the public display name for your library. Choose a meaningful name that will help you and other course team members to identify the library. For example, “Level 200 Math Problems”. When you add a randomized content block to a course unit, you use the library name to specify this library as a source for the randomized assignment.
- For Organization, enter the identifier for your university. For example, enter HarvardX or MITx. Do not include spaces or special characters.
- For Library Code, enter an identifier for your library that is unique within your organization. This code becomes part of the URL for your library, so do not include spaces or special characters in the code.
You see the new library, to which you can now add components. For information about adding components to a library, see Add Components to a Library.
After you create a library, you are automatically assigned an Admin role for the library. For information about adding other users to a library after you create it, see Give Other Users Access to Your Library.
After you create a library, the only change you can make to the initial library information is to the name. However, at any time, you can make changes to the components in your library, including adding or deleting components or editing the settings of components. For details about editing the contents of a library, see Edit Components in a Library and Add Components to a Library.
To change the name of a library, follow these steps.
Log in to Studio.
Select Libraries, then select the library whose name you want to edit.
Select the Edit icon next to the library name.
The library name field becomes editable.
In the library name field, make edits or enter a new library name.
Select anywhere outside the library name field to save your changes.
For details about giving other users access to the library, see Give Other Users Access to Your Library.
To add new components to your library, follow these steps.
For more information about the types of components you can add to a library, see these topics.
After you add a component to a library, you can edit its settings. These settings are retained when the component is selected from the library and used in a course.
When a component from the library is used in a randomized content block, you can further edit the component as it exists in the unit, without affecting the original version in the library. For details, refer to Edit Components in a Library and Getting the Latest Version of Library Content.
To view the entire contents of a library in Studio, follow these steps.
The components in the library are shown in the order in which they were added, with the most recently added at the bottom. If your library has more than 10 components, additional components are shown on other pages.
The range of the components shown on the current page, and the total number of components, are shown at the top of the page.
You can navigate through the pages in the following ways.
Use the < and > buttons at the top and bottom of the list to navigate to the previous and next pages.
At the bottom of the page, you can edit the first number in the page range. Select the number to place your cursor in the field, then enter the page number you want to jump to.
To view the list of matching components in the library, see View the Matching Components in a Randomized Content Block.
To view the randomized content that was assigned to a specific learner, see Specific Learner View.
After you have added components to a library, you can edit, duplicate, or delete them.
For step-by-step instructions for editing, duplicating, or deleting components, refer to the following topics.
Note
If you modify components in your library that are in use in a course, these updates in the “source” library are not reflected in the course unless you manually update the randomized content block in the course unit. For details about updating library components used in your course to match the latest version in the library, see Getting the Latest Version of Library Content.
You cannot delete a library. Instead, you can discontinue use of an unwanted library. To do so, first make sure that none of its components are in use in any courses, then delete all components in the library. You can also edit the name of the library to make it clear to other course team members that the library should not be used as a source of randomized assignment content in courses.
For details about deleting components in a library, see Edit Components in a Library.
When you create a library, you are automatically assigned an Admin role in that library.
You can give other Studio users access to your library. Depending on the level of access that you give them in the library, additional library users can view and use library content in courses, edit library content, or add and manage other library users. All users to whom you give library access must be registered with Studio and have an active account.
These are the levels of access for libraries.
Note
The levels of access for libraries are hierarchical. You can add new library members only with the User level of access, after which you can give them the Staff level of access. You can give the Admin level of access only to people who already have the Staff level of access.
To grant a user initial User access to a library, follow these steps.
Note
Only library users with the Admin level of access can add users to the library.
Ensure that the new library member has an active Studio account.
On the Studio home page, select the Libraries tab and locate the library to which you are adding this user.
From the Settings menu select User Access.
On the User Access page, select Add a New User.
Enter the new user’s email address, then select ADD USER.
The new user is added to the list of library members with the User level of access.
You can remove users from the library at any time, regardless of the level of access that they have.
To remove a user from the library, follow these steps.
In Studio, select the Libraries tab and locate your library.
From the Settings menu select User Access.
On the User Access page, locate the user that you want to remove.
Hover over the user’s box and select the trash can icon.
You are prompted to confirm the deletion.
Select Delete.
The user is removed from the library.
The levels of access for libraries are hierarchical. You can add new library members only with the User level of access, after which you can give them the Staff level of access. You can give the Admin level of access only to people who already have the Staff level of access.
To give a library member a higher level of access to the library, follow these steps.
- If he currently has User access, select Add Staff Access.
- If he currently has Staff access, select Add Admin Access.
The user’s display listing is updated to indicate the new level of access. In addition, their listing now includes a button to remove their current level of access and move them back to their previous level of access. For details about reducing a user’s level of access to a library, see Remove Staff or Admin Access.
After you have granted users Staff or Admin access, you (or other Admin library users) can reduce their levels of access.
To remove Staff or Admin access from a library user, follow these steps.
- If she currently has Staff access, select Remove Staff Access.
- If she currently has Admin access, select Remove Admin Access.
The user’s display listing is updated to indicate the new role.
Note
There must always be at least one Admin for a library. If there is only one user with the Admin role, you cannot remove him or her from the Admin role unless you first assign another user to the Admin role.
You can export and import a content library in Studio.
Warning
When you import a library, the imported library completely replaces the existing library and its contents. You cannot undo a library import. Before you proceed, we recommend that you export the current library, so that you have a backup copy of it.
There are several reasons why you might want to export your library.
When you export your library, Studio creates a .tar.gz file (that is, a .tar file compressed using GNU Zip). This export file contains the problems in the library, including any customizations you made in the library to problem settings. The export does not include library settings such as user access permissions.
To export a library, follow these steps.
When the export process finishes, you can access the .tar.gz file on your computer.
You might want to import a library if you developed or updated library content outside of Studio, or if you want to overwrite a problematic or outdated version of the library.
Warning
When you import a library, the imported library completely replaces the existing library and its contents. You cannot undo a library import. Before you proceed, we recommend that you export the current library, so that you have a backup copy of it.
The library file that you import must be a .tar.gz file (that is, a .tar file compressed using GNU Zip). This .tar.gz file must contain a library.xml file.
To import a library, follow these steps.
In Studio, select the Libraries tab.
Locate the library to which you want to import the new library content.
From the Tools menu, select Import.
Select Choose a File to Import and select the .tar.gz file that you want to import.
Select Replace my library with the selected file.
Warning
The import process has five stages. During the first two stages (Uploading and Unpacking), do not navigate away from the Library Import page. Doing so causes the import process to end. You can leave the page only after the Unpacking stage completes. We recommend that you do not make important changes to the library until all stages of the import process have finished.
When the import process finishes, select View Updated Library to view the imported library.
Note
If your imported library includes changes to components that are in use in a course, the course does not reflect these library updates until you manually update the randomized content block in the course unit. For details about updating library components used in your course to match the latest version in the content library, see Getting the Latest Version of Library Content.
Videos in a course supplement active learning components, such as discussions and problems. Videos can be effective for presenting motivating material, showing experiments, reducing cognitive load for complex content, and other purposes.
When you create video content, you need to keep various guidelines in mind. This section describes these guidelines, as well as video technical specifications, how to add video content to your course, and how to specify options for your videos.
For more information about how learners can interact with course videos, see Watching Videos on the edX Video Player.
Important
It is very important that all of your videos are accessible to learners with disabilities. Be sure to review Create Accessible Media before you create videos for your course.
The following diagram outlines the general process for adding videos to a course.
Before you add a video to a course, you need the following items.
For more information, see the following topics.
You must work with a third party hosting site to make your videos available for streaming or download.
To host your videos, you can use any video hosting site that you want, such as Amazon S3 or YouTube.
When you select a video hosting site, we strongly recommend that you keep the following information in mind.
The hosting site might have to handle high traffic volume.
Not all hosting sites are available in all countries or regions. We recommend that you upload videos to more than one hosting site.
Learners’ internet connections vary widely. We recommend that you make your videos available for both download and streaming.
The URL for your videos must end in .mp4, .mpeg, .webm, or .ogg. The video player cannot support videos that you upload on sites such as Vimeo, Dailymotion, or other sites that use their own player.
Note
To help make sure all standard browsers can play your video, we strongly recommend that you use .mp4 format.
Your videos can contain whatever content you want to include in the course. The following resources can help you to create good video content that is based on extensive experimental research in student learning.
When you create video files, keep the following guidelines in mind.
To facilitate identifying and tracking video files, we strongly recommend that organizations define and use a naming convention for all video files in all courses. At a minimum, your naming convention should include these elements.
For example, you might use the following naming convention.
{course number}_{year}_{section}_{subsection}_{unit}_{version}.{type}
This convention might yield the following file name.
SPU27_2015_S1_SS3_U4_v2.mp4
Additionally, when you name your video files, we recommend that you follow these guidelines.
Transcripts are required for all videos. Transcripts help learners with hearing impairments understand audio content, and they are helpful for learners who speak other languages.
Transcripts are available to learners in the following ways.
When you work with a transcript provider, you send your videos to the transcript provider, and the provider sends you the completed transcripts. You later upload the transcripts when you create a video component.
To prevent errors when you upload your video transcripts, we recommend the following conventions for naming your transcript files.
.srt
) is in lowercase.To make a video visible in your course, you create a video component in a unit in Studio, and then you add the following information for the video to the video component.
To upload a video to a third party hosting site, follow the instructions for that site. Keep the following guidelines in mind.
The URL for the video that you upload on a third party hosting site must end in .mp4, .mpeg, .webm, or .ogg. The video player cannot support videos that you upload on sites such as Vimeo, Dailymotion, or other sites that use their own player.
To help make sure all standard browsers can play your video, edX strongly recommends that you use .mp4 format.
The video URL might resemble the following example.
https://s3.amazonaws.com/edx-course-videos/edx-edx101/EDXSPCPJSP13-G030300.mp4
If you have copies of a video in multiple resolutions, you must upload each copy to the hosting site. For more information, see General Guidelines.
After you upload a video on a hosting site, you must make sure you have the URL for that copy of the video. If you upload copies of your video on more than one hosting site, make sure you have the URL for each video location.
For more information about hosting your videos, see Set Up a Hosting Service.
To make a video visible in your course, you create a video component in a unit in Studio, and then you add the following information for the video to the video component.
A display name for the component.
The video location.
The video location is the video URL that is created when you upload the video to the hosting site. The video URL might resemble the following example.
https://s3.amazonaws.com/edx-course-videos/edx-edx101/EDXSPCPJSP13-G030300.mp4
The video transcript.
To add a video and its transcript, follow these steps.
In Studio, locate the unit that you want, and then select Video under Add New Component.
When the new video component appears, select Edit.
The video editor opens to the Basic page.
In the Component Display Name field, enter the name that you want learners to see for this video.
This name appears as a heading above the video in the LMS, and it identifies the video for you in Insights. If you do not enter a display name, the platform specifies “video” for you.
Locate the Default Video URL field, and then enter the location of your video. This is the URL that was created when you uploaded the video to the hosting site.
Note
If you have created multiple versions that use different encodings or hosting services, add the URL for each video by selecting Add URLs for additional versions below the Default Video URL field. The first listed video that is compatible with the learner’s computer plays.
For the best experience for mobile users, make sure that the URL for the 360p version of the video is the first URL in the list.
Add the .srt transcript to the video. To do this, locate Default Timed Transcript, and then select one of the following options.
If Studio already has a transcript for this video, Studio automatically adds the transcript in the Default Timed Transcript field. This situation can occur when you reuse a video from an existing course. You do not have to make any changes.
If Studio does not have a transcript for the video, and the transcript uses the .srt format, select Upload New Transcript to upload the .srt transcript file from your computer.
Note
Only use this option for transcripts in .srt format. If you want to provide a transcript in any other format, such as .pdf, see Add a Supplemental Downloadable Transcript.
Optionally, select Advanced to set more options for the video. For a description of each option, see Set Advanced Options.
Select Save to save the video component.
To test the transcript with the video, after you have saved the video, select the Show transcript (”) icon in the video player’s control bar. The transcript file scrolls while the video file plays. You can also test the transcript by selecting the CC icon.
When you create a video component, you can specify additional options such as download options for the video and transcript, video license options, and a start and stop time for the video.
You can allow learners to download videos and transcript files that you have provided so that they can view them offline.
To enable video and transcript downloads, follow these steps.
To test transcript downloads for the video, select Download transcript in the video player’s control bar. You can download either the SubRip (.srt) format or text (.txt) format.
The following options appear on the Advanced page of the video component.
Component Display Name | The name that you want your learners to see. This is the same as the Display Name field on the Basic page. |
Default Timed Transcript | This is the same as the Default Timed Transcript setting on the Basic page. You can specify the default timed transcript on either page. |
Download Transcript Allowed | Specifies whether you want to allow learners to download the .srt or .txt transcript. (By default, Studio creates a .txt transcript when you upload an .srt transcript.) If you select True, a link to download the file appears below the video. If you want to provide a downloadable transcript in a different format as well, such as .pdf, see Add a Supplemental Downloadable Transcript. |
Downloadable Transcript URL | The URL for a non-.srt version of the transcript file posted on the internet. Learners see a link to download the non-.srt transcript below the video. Important When you add a transcript to the Downloadable Transcript URL field, only the transcript that you add is available for download. The .srt and .txt transcripts become unavailable. If you want to provide a downloadable transcript in addition to the .srt and .txt transcripts, edX recommends that you upload a handout for learners by using the Upload Handout field. For more information, see Add a Supplemental Downloadable Transcript. |
License | Optionally, you can set the license for the video, if you want to release the video with a license different from the overall course license.
|
Show Transcript | Specifies whether the transcript appears next to the video by default. If this is set to False, learners can still view transcripts by selecting the Show Transcript (”) icon. |
Transcript Languages | The transcript files for any additional languages. For more information, see Add a Transcript in Another Language. |
Upload Handout | Allows you to upload a handout to accompany the video, such as a PDF transcript or other handout. Learners can download the handout by selecting Download Handout under the video. The procedure for adding handouts is the same as the procedure for adding a supplemental transcript. For more information, see Add a Supplemental Downloadable Transcript. |
Video Available on Web Only | If you select True, learners can only play this video in a web browser. If you select False, learners can use any compatible application to play the video, including web browsers and mobile apps. |
Video Download Allowed | Specifies whether learners can download the video. If you select True, you must add at least one URL in the Video File URLs field. |
Video File URLs | The URL or URLs where you posted different versions of the video. On the Basic tab, if you added URLs by selecting Add URLs for additional versions below the Default Video URL field , the URLs are listed in the fields next to Video File URLs. Every URL must end in .mp4, .mpeg, .webm, or .ogg. Learners will view the first listed video that is compatible with their computer or mobile device. For the best experience for mobile users, make sure that the URL for the 360p version of the video is the first URL in the list. To help make sure all standard browsers can play your video, we strongly recommend that you use the .mp4 format. |
Video ID | The identifier that the video process assigns to the video. This field is the same as the Video ID setting on the Basic page. Only courses on edx.org use this field. |
Video Start Time | The time you want the video to start if you do not want the entire video to play. Use HH:MM:SS format. The maximum value is 23:59:59. Note Learners who play video in the mobile app see the entire video file. Only videos that play in a browser start playing at the specified start time. |
Video Stop Time | The time you want the video to stop if you do not want the entire video to play. Use HH:MM:SS format. The maximum value is 23:59:59. Note Learners who play video in the mobile app see the entire video file. Only videos that play in a browser stop playing at the specified stop time. |
YouTube IDs | As of March 2018, edX no longer supports videos on YouTube. |
If you want to edit an existing .srt video transcript, follow these steps.
Note
You can also use this procedure to upload a different kind of handout for learners to download, such as an image or a chart.
By default, a .txt file is created when you upload an .srt file, and learners can download either the .srt or .txt transcript when you allow transcript downloads. For more information about allowing transcript downloads, see Enable Video and Transcript Downloads.
In addition, you can provide a downloadable transcript in a format such as .pdf. To do this, you upload the additional transcript in the video player as a handout. Learners see an option to download the handout below the video.
To add another downloadable transcript, follow these steps.
You can provide transcripts for your video in more than one language. To do this, you work with a third-party service to obtain an .srt transcript file for each language, and then associate the .srt file with the video in Studio.
Before you add a transcript file, make sure that each file has a unique name. If you use the same transcript name more than once, only the most recently added transcript will appear for every video component that is set up to use a transcript with that name. To avoid this problem, a best practice is to name additional transcript files by appending the transcript’s language to the video file name.
For example, you have two videos, named video1.mp4 and video2.mp4, and their original transcripts are named video1.srt and video2.srt. When you add Hindi transcripts for these videos, you name them video1_hi.srt and video2_hi.srt. When you add Spanish transcripts for the videos, you name them video1_es.srt and video2_es.srt.
To add a transcript to a video component, follow these steps.
When your learners view the video, they can select the Language menu to select a language.
When you use video, you might experience one of the following problems.
If you (or your beta testers or learners) encounter an error when you view a course video, try one of the following troubleshooting methods.
Verify that the viewer’s browser is up to date. For example, some older versions of the Mozilla Firefox browser did not play .mp4 video files. These problems do not occur in more recent browser versions.
For more information, see Media formats supported by the HTML audio and video elements.
Verify that file metadata, particularly the MIME type, is correctly set on
the host site. For example, when edX offered support for Internet Explorer
10 browsers, videos did not play if the MIME type was not set. The HTTP
header Content-Type
had to be set to video/mp4 for an .mp4 file.
As an example of how you might set metadata on a video host site, the Console User Guide for Amazon Simple Storage Service (S3) provides information about editing object metadata.
If two sets of captions appear when you select CC on the video player, YouTube and your course might both be providing captions for the video. This problem can occur when YouTube is the host service for the video and your YouTube account settings for playback are set to always show captions. To correct this problem, select CC again or change your YouTube account settings.
Use the topics in this section to understand how to add exercises and tools to your course, including the various problem types that you can add using the problem component.
For information about how to develop your course content in the Studio Outline page, see Developing Your Course.
For information about building specific course component types, see Adding Course Components.
You can add a wide variety of different types of problems, exercises, and tools to your course outline. By default, a core set of problem types is available in Studio for you to include in your course. You have the option to expand the initial set of core problem types by enabling additional exercises and tools.
Note
The support level definitions described in this section and the level of support designated for each exercise, problem type, or tool are applicable only to edx.org.
The level of support that edX provides for each problem, exercise, or tool varies. The levels of support are categorized as full, provisional, or no support. This table provides the definition for each level of support.
In Studio, the support level for each exercise, problem type, or tool is represented with an icon when you select Advanced, HTML, or Problem to add a new component to your course. By default, only fully supported or provisionally supported exercises, problem types, or tools are available for adding to your course. To add unsupported problem types and tools, see Adding Unsupported Problem Types and Exercises.
Level of Support | Description |
---|---|
Full support | Fully supported tools and features are available on edx.org, are fully tested, have user interfaces where applicable, and are documented in the official edX guides that are available on docs.edx.org. |
Provisional support | Provisionally supported tools and features are available on edx.org, but might lack the robustness of functionality that your courses require. Third party tools are classified as provisionally supported because edX does not have control over the quality of the software, or of the content that can be provided using such tools. You should test provisionally supported tools thoroughly before using them in your course, especially in graded sections. Complete documentation might not be available for provisionally supported tools, or documentation might be available from sources other than the official edX guides. |
Not supported | Exercises and tools with no support are not maintained by edX, and might be deprecated in the future. They are not recommended for use in courses due to non-compliance with one or more of the base requirements, such as testing, accessibility, internationalization, and documentation. |
“Exercises and tools” is a general way to refer to the robust variety of content that you can integrate into an online course. Software developers use the XBlock component architecture to contribute new exercises and tools to the Open edX platform and provide new and varied options for reaching learners. Exercises enhance the core set of problem types by challenging learners to complete graded and ungraded assessments. Tools deliver a variety of other types of course content.
The topics in this section introduce the core set of problem types and a selection of other exercises and tools that you can add to your course.
The problem types that you can include in any course, without taking any other steps to identify or enable additional exercises or tools, are the core problem types. When you add a problem component in Studio, the core problem types are classified as either Common Problem Types or Advanced.
When you select any of the common problem types in Studio the simple editor opens.
Problem Type | Description | Support |
---|---|---|
Checkbox Problem | In checkbox problems, learners select one or more options from a list of possible answers. To answer the problem correctly, a learner must select all of the options that are correct answers, and none of the options that are incorrect. | Full support; mobile-ready |
Dropdown Problem | In dropdown problems, learners choose one answer from a set of possible answers, which are presented in a dropdown list after the learner selects the dropdown arrow. | Full support; mobile-ready |
Multiple Choice Problem | In multiple choice problems, learners select one answer from a set of possible answers, which are visible directly below the question. | Full support; mobile-ready |
Numerical Input Problem | In numerical input problems, learners enter numbers or specific and relatively simple mathematical expressions to answer a question. These problems allow only integers and a few select constants. You can specify a margin of error, and you can specify a correct answer either explicitly or by using a Python script. | Full support; mobile-ready |
Text Input Problem | In text input problems, learners enter text into a response field. The response can include numbers, letters, and special characters such as punctuation marks. | Full support; mobile-ready |
By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem. When you choose one of the following common problem types, a template provides additional guidance for these options. All of these problem types also have full support and are mobile-ready.
When you select any of the advanced problem types in Studio the advanced editor opens.
Note
Some advanced problem types are unsupported and are not available in the list of problem types unless you enable a setting in Studio. For more information, see Unsupported Advanced Problem Types and Adding Unsupported Problem Types and Exercises.
Type | Description | Support |
---|---|---|
Custom JavaScript Display and Grading | Custom JavaScript display and grading problems (also called custom JavaScript problems or JS input problems) allow you to create a custom problem or tool that uses JavaScript and then add the problem or tool directly into Studio. | Full support |
Write-Your-Own-Grader Problem | In custom Python-evaluated input (also called “write-your-own-grader”) problems, the grader uses a Python script that you create and embed in the problem to evaluate a learner’s response or provide hints. These problems can be any type. | Provisional support |
Math Expression Input Problems | Learners enter mathematical expressions to answer a question. These problems can include unknown variables and more complex symbolic expressions. You can specify a correct answer either explicitly or by using a Python script. | Full support; mobile-ready |
Open Response Assessment | Learners receive feedback on responses that they submit and give feedback to other course participants. Open response assessments include self assessment, peer assessment, and optionally, staff assessment. | Full support |
The following advanced problem types are not supported by edX. You can enable an option to make unsupported problem types available in Studio. For more information, see Adding Unsupported Problem Types and Exercises.
Type | Description | Support |
---|---|---|
Circuit Schematic Builder Problem | Learners arrange circuit elements such as voltage sources, capacitors, resistors, and MOSFETs on an interactive grid. They then submit a DC, AC, or transient analysis of their circuits to the system for grading. | Not supported |
Drag and Drop Problem (Deprecated) | Learners respond to a question by dragging text or objects to a specific location on an image. This version of the drag and drop problem type is deprecated and should not be added to a course. For more information about the fully supported drag and drop problem type, see Drag and Drop Problem. | Not supported |
Image Mapped Input Problem | Learners answer prompts by selecting a defined area in an image. You define the area by including coordinates in the body of the problem. | Not supported |
Molecular Structure | Learners draw molecules that follow the rules for covalent bond formation and formal charge, even if the molecules are chemically impossible, are unstable, or do not exist in living systems. | Not supported |
Problem with Adaptive Hint | A problem with an adaptive hint evaluates a learner’s response, then gives the learner feedback or a hint based on that response so that the learner is more likely to answer correctly on the next attempt. These problems can be text input or multiple choice problems. | Not supported |
This table lists the fully or provisionally supported additional exercises and tools that you can add to your course.
Note
Some additional exercises and tools are not supported by edX. You can enable an option to make unsupported exercises and tools available in Studio. For more information, see Unsupported Additional Exercises and Tools and Adding Unsupported Problem Types and Exercises.
Note
In addition to the following exercises and tools, Open edX offers the Notes tool. The Notes tool allows learners to highlight and make notes about what they read in the course. This tool is not available for courses on edx.org.
Type | Description | Support |
---|---|---|
Calculator Tool | Learners can enter input that includes Greek letters, trigonometric
functions, and scientific or e notation in addition to common
operators. The calculator tool is available for every course through the
course advanced settings. When the calculator tool is enabled, it
appears on every unit page. |
Provisional support |
Conditional Module | You can create a conditional module to control versions of content that groups of learners see. For example, learners who answer “Yes” to a poll question then see a different block of text from the learners who answer “No” to that question. | Provisional support |
Drag and Drop Problem | Learners respond to a question by dragging text or objects to a specific location on an image. | Full support; mobile-ready |
External Grader | An external grader is a service that receives learner responses to a problem, processes those responses, and returns feedback and a problem grade to the edX platform. You build and deploy an external grader separately from the edX platform. An external grader is particularly useful for software programming courses where learners are asked to submit complex code. | Provisional support |
Google Calendar Tool | Learners see a Google calendar embedded in your course. You can use a Google calendar to share quiz dates, office hours, or other schedules of interest to learners. | Provisional support |
Google Drive Files Tool | Learners see a Google Drive file, such as a document, spreadsheet, or image, embedded in your course. | Provisional support |
Iframe Tool | With the iframe tool, you can integrate ungraded exercises and tools from any Internet site into an HTML component in your course. | Provisional support |
LTI Component | LTI components allow you to add an external learning application or non- PDF textbook to Studio. | Full support |
Oppia Exploration Tool | You can embed Oppia explorations in your course so that learners can interact with them directly in the course body. | Provisional support |
Peer Instruction Tool | This type of exercise offers the experience of the Peer Instruction learning system within your online course. | Full support |
Poll Tool | You can include polls in your course to gather learners’ opinions on various questions. You can use the Poll Tool in Studio. | Full support |
Qualtrics Survey Tool | You can import surveys that you have created in Qualtrics. The survey appears inside an iframe in your course. | Provisional support |
Survey Tool | You can include surveys in your course to collect learner responses to multiple questions. | Full support |
Word Cloud Tool | Word clouds arrange text that learners enter in response to a question into a colorful graphic. | Provisional support |
The following additional exercises and tools are not supported by edX. You can enable an option to make unsupported exercises and tools available in Studio. For more information, see Adding Unsupported Problem Types and Exercises.
Type | Description | Support |
---|---|---|
Annotation Problem | Learners respond to questions about a specific block of text. The question appears above the text so that learners can think about the question as they read. | Not supported |
Chemical Equation Problem | Learners enter a value that represents a chemical equation into a text box. The grader uses Python script that you create and embed in the problem to evaluate learner responses. | Not supported |
Completion Tool | Learners mark sections of course content as completed. This tool helps learners track their progress through sections of the course (including ungraded activities such as reading text, watching videos, or participating in course discussions), and gives them a way to indicate to both themselves and course staff that they completed an activity. | Not supported |
Full Screen Image Tool | Learners can enlarge an image in the entire browser window. This tool is useful for detailed images that are easier to view when enlarged. | Not supported |
Gene Explorer Tool | The gene explorer (GeneX) simulates the transcription, splicing, processing, and translation of a small hypothetical eukaryotic gene. Learners make specific mutations in a gene sequence, and this tool calculates and displays the effects of the mutations on the mRNA and protein. | Not supported |
Multiple Choice and Numerical Input Problem | Learners not only choose one answer from a set of possible options, they are also prompted to provide more specific information, if necessary. | Not supported |
Molecule Viewer Tool | Learners view three-dimensional representations of molecules that you create. | Not supported |
Periodic Table Tool | An interactive periodic table of the elements that shows detailed information about each element when learners move the pointer over each element. | Not supported |
Poll Tool for OLX | You can run polls in your course so that your learners can share opinions on different questions. You can only add this type of poll to a course by using OLX (open learning XML). Support for this tool in Studio is not available. For more information, see the EdX Open Learning XML Guide. | Not supported |
Problem Written in LaTeX | If you have a problem that is already written in LaTeX, you can use this problem type to convert your code into XML. | Not supported |
Protex Protein Builder Tool | Learners create specified protein shapes by stringing together amino acids. | Not supported |
Recommender Tool | RecommenderXBlock can hold a list of resources for misconception remediation, additional reading, and so on. This tool allows the course team and learners to work together to maintain the list of resources. For example, team members and learners can suggest new resources, vote for useful ones, or flag abuse and spam. | Not supported |
Zooming Image Tool | Learners can view sections of an image in detail. You specify the sections in an image that can be enlarged. | Not supported |
Learners can read and submit answers for the following types of problems while they use the edX mobile app.
Questions that have other problem types do not appear in the edX mobile app. Instead, a message appears with a link to open the applicable problem component in a web browser.
Note
These instructions are applicable only to edx.org.
In general, you should use only problem types and exercises that are either fully or provisionally supported by edX. By default, only supported problem types and exercises are available in Studio for adding to courses.
However, in some situations, you might choose to use exercises and problem types that edX does not support.
To add unsupported problem types, exercises, and tools to your course, follow these steps.
true
.After you enable this setting, unsupported problem types, exercises, and tools are available in the lists of new components that you can add to your course in Studio.
Studio includes a default set of core problem types that can be added to any course, including CAPA problems like text input, multiple choice, and math expression input. To add these problem types to a course, you select Problem on the unit page.
You can expand the types of content you include in your course by enabling additional exercises and tools. After you enable an exercise or tool for use with your course, when you add a component to a unit, that type of content might be listed as one of the Advanced, HTML, or Problem options
To enable an advanced exercise or tool, follow these steps.
In Studio, select Settings, and then Advanced Settings.
Locate the Advanced Module List field. This field lists any exercises and tools that have been added to your course.
If the Advanced Module List field is empty, place your cursor between
the brackets ([ ]
).
If the list already contains one or more keys, place your cursor after the
first bracket ([
).
Enter the key for the exercise or tool that you want to add.
Add quotation marks (" "
) before and after the key.
If you are adding the key to a list of keys, follow the
closing quotation mark with a comma character (,
).
Review your entry to verify that the key is accurate and that it is surrounded by quotation marks. If there is a list of keys, they must be comma separated.
In this example, the key for the annotation problem tool is the only value in the list.
["annotatable"]
In this example, the key for the annotation problem tool is added at the beginning of a list of other keys.
["annotatable",
"word_cloud",
"split_test"
]
Select Save Changes.
Studio checks the syntax of your entry and reformats your entry to add line feeds and indentation. A message lets you know whether your changes were saved successfully.
Note
EdX does not support this problem type.
In an annotation problem, you highlight specific text inside a larger text block and then ask questions about that text. The questions appear when learners move their cursors over the highlighted text. The questions also appear in a section below the text block, along with space for learners’ responses.
Before you can add annotation problems to your course, you must enable annotation problems in Studio.
To enable annotation problems in Studio, you add the "annotatable"
key to
the Advanced Module List on the Advanced Settings page. (Be sure to
include the quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
To create an annotation problem, you add the Instructions and Guided Discussion segments of the problem, and then the Annotation problem segment of the problem.
To add the Instructions and Guided Discussion segments of the problem, follow these steps.
To add the Annotation problem segment of the problem, follow these steps.
Under the annotation component, create a new blank advanced problem component.
Paste the following code in the advanced problem component, replacing placeholders with your own information.
<problem>
<annotationresponse>
<annotationinput>
<text>PLACEHOLDER: Text of annotation</text>
<comment>PLACEHOLDER: Text of question</comment>
<comment_prompt>PLACEHOLDER: Type your response below:</comment_prompt>
<tag_prompt>PLACEHOLDER: In your response to this question, which tag below do you choose?</tag_prompt>
<options>
<option choice="incorrect">PLACEHOLDER: Incorrect answer (to make this option a correct or partially correct answer, change choice="incorrect" to choice="correct" or choice="partially-correct")</option>
<option choice="correct">PLACEHOLDER: Correct answer (to make this option an incorrect or partially correct answer, change choice="correct" to choice="incorrect" or choice="partially-correct")</option>
<option choice="partially-correct">PLACEHOLDER: Partially correct answer (to make this option a correct or partially correct answer, change choice="partially-correct" to choice="correct" or choice="incorrect")
</option>
</options>
</annotationinput>
</annotationresponse>
<solution>
<p>PLACEHOLDER: Detailed explanation of solution</p>
</solution>
</problem>
Select Save.
Note
EdX offers provisional support for this tool.
Learners can use the edX calculator tool to perform simple and complex calculations. Learners can enter input including numbers, operators, Greek letters, affixes, trigonometric functions, and more.
The calculator is available for every edX course, but it is not visible by default. To make the calculator visible, you must enable it in the course advanced settings.
When the calculator is visible in a course, the calculator icon appears at the bottom of every unit page.
When learners select the calculator icon, the calculator opens along the lower edge of the browser window.
The calculator includes an information page that learners can use if they have
questions about entering input in the calculator. Learners access the
calculator’s information page by selecting the i
icon next to the input
field.
Learners close the calculator by selecting the X.
To enable the calculator tool, follow these steps.
false
to true
.Note
EdX offers full support for this problem type.
The checkbox problem type is a core problem type that can be added to any course. At a minimum, checkbox problems include a question or prompt and several answer options. By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem.
For more information about the core problem types, see Working with Problem Components.
In checkbox problems, learners select one or more options from a list of possible answers. To answer the problem correctly, a learner must select all of the options that are correct answers, and none of the options that are incorrect. The course team must set up each checkbox problem to have at least one correct answer.
As a best practice, be sure that all of the answer choices are unambiguous, and avoid trick questions. Checkbox problems with ambiguity can be frustrating to learners, especially if the problems have a limited number of attempts.
In the LMS, learners complete a checkbox problem by selecting the answer options that they believe are correct as well as leaving unselected the answer options that they believe are incorrect. An example of a completed checkbox problem follows.
This problem was incorrectly answered because the learner selected only two of the three required answer options. This example also shows that the learner selected Show Answer to reveal the correct answer and an explanation.
To add the example problem illustrated above, in Studio you use the simple editor to enter the following text and Markdown formatting.
>>Learning about the benefits of preventative health care can be particularly difficult.||Check all of the options below that might be reasons why.<<
[x] A large amount of time passes between undertaking a preventative measure
and seeing the result.
[ ] Non-immunized people will always fall sick.
[x] If others are immunized, fewer people will fall sick regardless of a
particular individual's choice to get immunized or not.
[x] Trust in health care professionals and government officials is fragile.
[explanation]
People who are not immunized against a disease might still not fall sick
from the disease. If someone is trying to learn whether or not preventative
measures against the disease have any impact, he or she might see these
people and conclude, since they have remained healthy despite not being
immunized, that immunizations have no effect. Consequently, he or she would
tend to believe that immunization (or other preventative measures) have
fewer benefits than they actually do.
[explanation]
The OLX (open learning XML) markup for this example checkbox problem follows.
<problem>
<choiceresponse>
<label>Learning about the benefits of preventative health care can be
particularly difficult.</label>
<description>Check all of the options below that might be reasons why.</description>
<checkboxgroup>
<choice correct="true">A large amount of time passes between
undertaking a preventative measure and seeing the result.</choice>
<choice correct="false">Non-immunized people will always fall sick.</choice>
<choice correct="true">If others are immunized, fewer people will fall
sick regardless of a particular individual's choice to get immunized
or not.</choice>
<choice correct="true">Trust in health care professionals and
government officials is fragile.</choice>
</checkboxgroup>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>People who are not immunized against a disease might still not
fall sick from the disease. If someone is trying to learn whether
or not preventative measures against the disease have any impact,
he or she might see these people and conclude, since they have
remained healthy despite not being immunized, that immunizations
have no effect. Consequently, he or she would tend to believe that
immunization (or other preventative measures) have fewer benefits
than they actually do.</p>
</div>
</solution>
</choiceresponse>
</problem>
For the checkbox problems in your course, you can use edX Insights to review aggregated learner performance data and examine submitted answers. For more information, see Using edX Insights.
You add checkbox problems in Studio by selecting the Problem component type and then using either the simple editor or the advanced editor to specify the prompt and the answer options.
Note
You can begin work on the problem in the simple editor, and then switch to the advanced editor. However, after you save any changes you make in the advanced editor, you cannot switch back to the simple editor.
When you add a checkbox problem, you can choose one of these templates.
These templates include the Markdown formatting that you use in the simple editor to add a problem without, or with, hints and feedback.
To use the simple editor to add a problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Problem.
From the list of Common Problem Types, select the type of problem you want to add. Studio adds a template for the problem to the unit.
Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.
Replace the guidance provided by the template to add your own text for the question or prompt, answer options, explanation, and so on.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can use the advanced editor to identify the elements of a checkbox problem with OLX. For more information, see Checkbox Problem OLX Reference.
To use the advanced editor to add a problem, follow these steps.
Follow steps 1-3 for creating the problem in the simple editor.
Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and explanation.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Update the OLX to add optional elements and attributes required for your problem.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
For an overview of feedback in problems, see Adding Feedback and Hints to a Problem. For checkbox problems, you can add feedback for each of the answer options you provide in the problem. You can also identify different combinations of answer options that learners are likely to select, and add compound feedback for those combinations.
You can add feedback to a checkbox problem using the simple editor or the advanced editor.
In checkbox problems, you can provide feedback for each option that a learner can select, with distinct feedback depending on whether or not the learner selects that option. This means that there are several possible types of feedback.
You can configure the checkbox problem to provide compound feedback. Compound feedback is feedback given for a specific combination of options. For example, if you have three possible option in the problem, you can define specific feedback for when a learner selects each combination of possible options.
For problems with more than three options, providing specific feedback for each combination can become difficult. For such problems, you might choose to define compound feedback for more likely combinations of option or for combinations of option that reflect common learner misunderstandings. If you do not define feedback for a combination that a learner selects, the learner receives feedback for the individual selections.
You can configure individual option or compound feedback in the simple editor. When you create a new checkbox problem, select the template Checkboxes with Hints and Feedback. This template has example formatted feedback that you can replace with your own text.
In the simple editor, you configure individual option feedback with the following Markdown formatting.
[x] answer {{ selected: Feedback when learner selects this option. },
{unselected: Feedback when the learner does not select this option.}}
Note
You can use S
for selected
and U
for unselected.
For example, the following problem has feedback for every answer option, whether learners select a given option or leave it unselected.
>>Which of the following is an example of a fruit?||Select all that apply.<<
[x] apple {{ selected: You are correct that an apple is a fruit because it
is the fertilized ovary that comes from an apple tree and contains seeds. },
{ unselected: Remember that an apple is also a fruit.}}
[x] pumpkin {{ selected: You are correct that a pumpkin is a fruit because it
is the fertilized ovary of a squash plant and contains seeds.}, { unselected:
Remember that a pumpkin is also a fruit.}}
[ ] potato {{ U: You are correct that a potato is a vegetable because it is
an edible part of a plant in tuber form.}, { S: A potato is a vegetable, not
a fruit, because it does not come from the flower on a plant or tree and does
not contain seeds.}}
[x] tomato {{ S: You are correct that a tomato is a fruit because it is the
fertilized ovary of a tomato plant and contains seeds. }, { U: Many people
mistakenly think a tomato is a vegetable. However, because a tomato is the
fertilized ovary of a tomato plant and contains seeds it is classified as a
fruit.}}
In the simple editor, you configure compound feedback after the possible options, with the following syntax.
{{ ((Answer Combination)) Feedback when learner selects this combination of
options.}}
For example, the following compound feedback is used when learners select options A, B, and D or A, B, C, and D.
{{ ((A B D)) An apple, pumpkin, and tomato are all fruits as they are all the
fertilized ovaries of a plant and contain seeds. }}
{{ ((A B C D)) You are correct that an apple, pumpkin, and tomato are all
fruits as they are all the fertilized ovaries of a plant and contain seeds.
However, a potato is not a fruit as it is an edible part of a plant in tuber
form and is classified as a vegetable. }}
Note
If you configure individual option feedback for every answer, and you also provide compound feedback, when learners select the exact combination of answer choices defined, they only see the compound feedback. In this example, learners who select apple (A), pumpkin (B), and tomato (D) see the message “An apple, pumpkin, and tomato are all fruits as they are all the fertilized ovaries of a plant and contain seeds.” They do not also see the individual feedback for selecting A, B, and D, and for leaving C unselected.
You can configure individual option and compound feedback in the advanced editor.
In the advanced editor, you configure individual option feedback with the following syntax.
<choice correct="true">Choice label
<choicehint selected="true">Feedback for when learner selects this
answer.</choicehint>
<choicehint selected="false">Feedback for when learner does not select
this answer.</choicehint>
</choice>
For example, the following problem has feedback for each option, selected or unselected.
<problem>
<choiceresponse>
<label>Which of the following is an example of a fruit?</label>
<description>Select all that apply.</description>
<checkboxgroup>
<choice correct="true">apple
<choicehint selected="true">You are correct that an apple is a fruit
because it is the fertilized ovary that comes from an apple tree and
contains seeds.</choicehint>
<choicehint selected="false">Remember that an apple is also a
fruit.</choicehint>
</choice>
<choice correct="true">pumpkin
<choicehint selected="true">You are correct that a pumpkin is a fruit
because it is the fertilized ovary of a squash plant and contains
seeds.</choicehint>
<choicehint selected="false">Remember that a pumpkin is also a
fruit. </choicehint>
</choice>
<choice correct="false">potato
<choicehint selected="true">A potato is a vegetable, not a fruit,
because it does not come from the flower on a plant or tree and does
not contain seeds.</choicehint>
<choicehint selected="false">You are correct that a potato is
classified as a vegetable because it is an edible part of a plant in
tuber form.</choicehint>
</choice>
<choice correct="true">tomato
<choicehint selected="true">You are correct that a tomato is
classified as a fruit because it is the fertilized ovary of a tomato
plant and contains seeds.</choicehint>
<choicehint selected="false">Many people mistakenly think a tomato is
a vegetable. However, because a tomato is the fertilized ovary of a
tomato plant and contains seeds it is classified as a fruit.</choicehint>
</choice>
</checkboxgroup>
</choiceresponse>
</problem>
In the advanced editor, you define compound feedback by adding a
<compoundhint>
element within the <checkboxgroup>
element.
.
.
.
</choice>
<compoundhint value="Answer Combination">Feedback when learner selects
this combination of answers.</compoundhint>
</checkboxgroup>
For example, the following compound feedback is used when learners select options A, B, and D or A, B, C, and D.
.
.
.
</choice>
<compoundhint value="A B D">An apple, pumpkin, and tomato are all
fruits as they all are fertilized ovaries of a plant and contain
seeds.</compoundhint>
<compoundhint value="A B C D">You are correct that an apple, pumpkin,
and tomato are all fruits as they all are fertilized ovaries of a
plant and contain seeds. However, a potato is not a fruit as it is an
edible part of a plant in tuber form and is classified as a vegetable.
</compoundhint>
</checkboxgroup>
You can add hints to a checkbox problem using the simple editor or the advanced editor. For an overview of hints in problems, see Adding Feedback and Hints to a Problem.
In the simple editor, you configure hints with the following syntax.
||Hint 1||
||Hint 2||
||Hint n||
Note
You can configure any number of hints. The learner views one hint at a time and views the next one by selecting Hint again.
For example, the following problem has two hints.
||A fruit is the fertilized ovary from a flower.||
||A fruit contains seeds of the plant.||
In the advanced editor, you add the <demandhint>
element immediately before
the closing </problem>
tag, and then configure each hint using the
<hint>
element.
.
.
.
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For example, the following OLX for a multiple choice problem shows two hints.
.
.
.
</multiplechoiceresponse>
<demandhint>
<hint>A fruit is the fertilized ovary from a flower.</hint>
<hint>A fruit contains seeds of the plant.</hint>
</demandhint>
</problem>
You can configure a checkbox problem to award partial credit to learners who submit an answer that is partly correct. You must use the advanced editor to configure partial credit.
For an overview of partial credit in problems, see Awarding Partial Credit for a Problem.
In the following example, the learner selected two of the three correct choices, and did not select any incorrect choices. The learner therefore had four out of five correct answers. Because the course team set this problem up to award partial credit for every correct answer selected and every incorrect answer left unselected (known as every decision counts), the learner earned 80% of the points for this problem.
You can use the following methods to award partial credit in a checkbox problem.
You can configure a checkbox problem so that every selection a learner makes for the checkbox problem is evaluated and scored. This method is known as every decision counts (EDC).
With EDC, if “n” is the number of possible options, learners earn 1/n of the total possible score for each correct option they select. Learners receive partial credit for every correct answer selected and every incorrect answer left unselected.
For example, if there are four options, every option that a learner matches is worth 25% of the total score. A learner also gains 25% for each incorrect answer that a learner does NOT select.
The following table shows how the different combinations of learner selections would score for one EDC problem whose answers are as follows.
Learner’s Selections | Score | Explanation |
---|---|---|
A, B, D | 100% | The learner matched each of the 3 correct answers for 75%, and also gained 25% for not selecting the incorrect answer. |
A, B | 75% | The learner matched 2 of the correct answers for 50%, and also gained 25% for not selecting the incorrect answer. |
A, B, C | 50% | The learner matched 2 of the correct answers for 50%, but selected the incorrect answer. |
A, C | 25% | The learner matched 1 of the correct answers for 25%, but selected the incorrect answer. |
To configure an EDC checkbox problem, you add the partial_credit="EDC"
attribute to the <choiceresponse>
element in the problem OLX.
For example, the following OLX shows the checkbox problem template after it is updated to provide partial credit.
<problem>
<choiceresponse partial_credit="EDC">
<label>Which of the following is a fruit?</label>
<description>Select all that apply.</description>
<checkboxgroup>
<choice correct="true">apple</choice>
<choice correct="true">pumpkin</choice>
<choice correct="false">potato</choice>
<choice correct="true">tomato</choice>
</checkboxgroup>
</choiceresponse>
</problem>
You can configure a checkbox problem so that for every option that a learner gets wrong, either by not selecting a correct option or by selecting an incorrect option, half of the remaining points are deducted from the learner’s score. This method is known as scoring by halves.
Note
By design, partial credit by halves requires the number of answer options to be more than twice the number of incorrect answers. In addition, partial credit is not given for more than two wrong answers, regardless of the total number of answer options. In other words, two wrong answers is scored at 25% only if there are at least 5 answer options. Three or more wrong answers is always scored at 0%, regardless of the number of total answer options.
Partial credit using the by halves method is calculated as follows.
The following tables illustrate partial credit score using the halves method, for problems with an increasing number of total answer options.
Number of Incorrect Answers | Number of Answer Options | Credit Given (%) |
---|---|---|
0 | 2 | 100 |
1 | 2 | 0 |
2 | 2 | 0 |
Number of Incorrect Answers | Number of Answer Options | Credit Given (%) |
---|---|---|
0 | 3 | 100 |
1 | 3 | 0 |
2 | 3 | 0 |
3 | 3 | 0 |
Number of Incorrect Answers | Number of Answer Options | Credit Given (%) |
---|---|---|
0 | 4 | 100 |
1 | 4 | 50 |
2 | 4 | 0 |
3 | 4 | 0 |
4 | 4 | 0 |
Number of Incorrect Answers | Number of Answer Options | Credit Given (%) |
---|---|---|
0 | 5 | 100 |
1 | 5 | 50 |
2 | 5 | 25 |
3 | 5 | 0 |
4 | 5 | 0 |
5 | 5 | 0 |
Number of Incorrect Answers | Number of Answer Options | Credit Given (%) |
---|---|---|
0 | 7 | 100 |
1 | 7 | 50 |
2 | 7 | 25 |
3 | 7 | 0 |
4 | 7 | 0 |
5 | 7 | 0 |
To configure a by halves checkbox problem, you add the
partial_credit="halves"
attribute to the <choiceresponse>
element in
the problem OLX.
The following example shows a checkbox problem that provides partial credit by halves.
<problem>
<choiceresponse partial_credit="halves">
<label>Which of the following is a fruit?</label>
<description>Select all that apply.</description>
<checkboxgroup>
<choice correct="true">apple</choice>
<choice correct="true">pumpkin</choice>
<choice correct="false">potato</choice>
<choice correct="true">tomato</choice>
</checkboxgroup>
</choiceresponse>
</problem>
Note
You can also set attributes and options by adding a <script>
element.
For more information, see Using the Script Element.
<problem>
<choiceresponse>
<label>Question or prompt text</label>
<description>Information about how to answer the question</description>
<checkboxgroup>
<choice correct="false">Answer option A (incorrect)</choice>
<choice correct="true">Answer option B (correct)</choice>
<choice correct="true">Answer option C (correct)</choice>
</checkboxgroup>
<solution>
<div class="detailed-solution">
<p>Optional header for the explanation or solution</p>
<p>Optional explanation or solution text</p>
</div>
</solution>
</choiceresponse>
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
</demandhint>
</problem>
For checkbox problems, the <problem>
element can include this hierarchy of
child elements.
<choiceresponse>
<label>
<description>
<checkboxgroup>
<choice>
<choicehint>
<compoundhint>
<solution>
<demandhint>
<hint>
In addition, standard HTML tags can be used to format text.
<choiceresponse>
¶Required. Indicates that the problem is a checkbox problem.
Attribute | Description |
---|---|
partial_credit |
Optional. Specifies the type of partial credit given. EDC or
halves . |
<label>
<description>
<checkboxgroup>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<checkboxgroup>
¶Required. Indicates the beginning of the list of options.
None.
<choice>
<compoundhint>
<choice>
¶Required. Designates an answer option.
Attribute | Description |
---|---|
correct |
Indicates a correct or incorrect answer.
|
<choicehint>
<choicehint>
¶Optional. Specifies feedback for the answer.
Attribute | Description |
---|---|
selected |
Required. true or false . Indicates if the feedback is given
when the answer option is selected, or when it is not selected. |
None.
<compoundhint>
¶Optional. Specifies feedback for a specific combination of answers.
Attribute | Description |
---|---|
value (at least one required) |
Indicates the combination of selected answers that triggers this feedback. Answers are identified by uppercase letters, in ascending alphabetical order. |
None.
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that contains more than one question.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
You can use the <script>
element to programmatically set attributes and
options for your checkbox problems. You could use this feature to display
different questions/answers depending on variable factors, like time of day, or
randomly generated numbers.
You must use the advanced editor to configure a
<script>
element.
The contents of the <script>
element must be enclosed in <![CDATA[
…
]]>
markers, to indicate that the enclosed code should not be interpreted
as XML.
The code in the <script>
element is run on the server before the problem is
shown to learners. Note that only Python script types are supported.
The following OLX example uses random numbers to generate different answer choices for each learner, and mathematical operators to determine each choice’s correctness.
<problem>
<script type="text/python">
<![CDATA[
random.seed(anonymous_student_id) # Use different random numbers for each student.
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
ok0 = c % 2 == 0 # check remainder modulo 2
text0 = "$a + $b is divisible by 2"
ok1 = c % 3 == 0 # check remainder modulo 3
text1 = "$a + $b is divisible by 3"
ok2 = c % 5 == 0 # check remainder modulo 5
text2 = "$a + $b is divisible by 5"
ok3 = not any([ok0, ok1, ok2])
text3 = "None of the above statements is true."
]]>
</script>
<choiceresponse>
<label>Which statements about the number $a+$b are true? Select all that apply.</label>
<checkboxgroup direction="vertical">
<choice correct="$ok0">$text0 ... (should be $ok0)</choice>
<choice correct="$ok1">$text1 ... (should be $ok1)</choice>
<choice correct="$ok2">$text2 ... (should be $ok2)</choice>
<choice correct="$ok3">$text3 ... (should be $ok3)</choice>
</checkboxgroup>
</choiceresponse>
</problem>
Note
EdX does not support this problem type.
The chemical equation problem type allows the learner to enter text that represents a chemical equation into a text box. The system converts that text into a chemical equation below the text box. The grader evaluates the learner’s response by using a Python script that you create and embed in the problem.
Note
You can make a calculator available to your learners on every unit page. For more information, see Calculator Tool.
Chemical equation problems use MathJax to create formulas. For more information about using MathJax in Studio, see Using MathJax for Mathematics.
To create the above chemical equation problem, follow these steps.
<problem>
<startouttext/>
<p>Some problems may ask for a particular chemical equation. Practice by writing out the following reaction in the box below.</p>
\( \text{H}_2\text{SO}_4 \longrightarrow \text { H}^+ + \text{ HSO}_4^-\)
<customresponse>
<chemicalequationinput size="50" label="Enter the chemical equation"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'H2SO4 -> H^+ + HSO4^-'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<p>Some tips:</p>
<ul>
<li>Use real element symbols.</li>
<li>Create subscripts by using plain text.</li>
<li>Create superscripts by using a caret (^).</li>
<li>Create the reaction arrow (\(\longrightarrow\)) by using "->".</li>
</ul>
<endouttext/>
<solution>
<div class="detailed-solution">
<p>Solution</p>
<p>To create this equation, enter the following:</p>
<p>H2SO4 -> H^+ + HSO4^-</p>
</div>
</solution>
</problem>
<problem>
<startouttext/>
<p>Problem text</p>
<customresponse>
<chemicalequationinput size="NUMBER" label="LABEL TEXT"/>
<answer type="loncapa/python">
if chemcalc.chemical_equations_equal(submission[0], 'TEXT REPRESENTING CHEMICAL EQUATION'):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<endouttext/>
<solution>
<div class="detailed-solution">
<p>Solution or Explanation Header</p>
<p>Solution or explanation text</p>
</div>
</solution>
</problem>
<customresponse>
: Indicates that this problem has a custom response.<chemicalequationinput>
: Specifies that the answer to this problem is a
chemical equation.<answer type=loncapa/python>
: Contains the Python script that grades the
problem.Tag: <customresponse>
Indicates that this problem has a custom response. The <customresponse>
tags must surround the <chemicalequation>
tags.
Attributes
(none)
Children
<chemicalequationinput>
<answer>
Tag: <chemicalequationinput>
Indicates that the answer to this problem is a chemical equation and creates a response field where the learner enters an answer.
Attributes
Attribute Description size Specifies the size of the response field, in characters. label (required) Contains the text of the principal question in the problem. Children
(none)
Tag: <answer>
Contains the Python script that grades the problem.
Attributes
Attribute Description type (required) Must be “loncapa/python”. Children
(none)
Note
EdX does not support this problem type.
In circuit schematic builder problems, students can arrange circuit elements such as voltage sources, capacitors, resistors, and MOSFETs on an interactive grid. They then submit a DC, AC, or transient analysis of their circuit to the system for grading.
Problem Code
The illustration above shows a condensed version of an actual problem from MITx’s 6.002.1x. To create the entire problem, paste the following code into the advanced editor.
<problem>
<p>A circuit that combines two or more signals is called a <i>mixer</i>. In
this lab, your goal is to build a mixer that combines the signals generated
by two voltage sources, V1 and V2, where:</p>
<ul style="margin-left:2em;">
<li>
<p>V1 is a 1 kHz square wave that varies between 0V and +1V, and</p>
</li>
<li>
<p>V2 is a 5 kHz sine wave that varies between -1V and +1V.</p>
</li>
</ul>
<p>Please design a circuit that mixes V1 and V2 to produce Vout such that</p>
<center>\[V_\mathrm{out} \approx \frac{1}{2}V_1 + \frac{1}{6}V_2.\]</center>
<p>The resulting output should be similar to that shown in Figure 1. The
maximum value of the output is approximately \(667mV\) and the minimum value
is approximately \(-167mV\).</p>
<center><img src="/static/images/circuits/Lab2B_1.png"/><br/>Figure 1. Desired output waveform</center>
<p>Hint: Figure 2 shows a simple resistive mixer for combining two signals.</p>
<center><img src="/static/images/circuits/Lab2B_2.png"/><br/>Figure 2. Simple resistive mixer</center>
<p>Enter your circuit below, using the appropriate configuration of
resistors. Please do not modify the wiring or parameters of the voltage
sources -- your goal is to take the signals they generate and combine them,
not to change what is generated. Run a 5ms transient analysis to verify the
correct operation of your circuit. We will be checking for the transient
waveform at the "output" node.</p>
<schematicresponse>
<center>
<schematic height="500" width="650" parts="g,r,s" analyses="dc,tran" submit_analyses="{"tran":[["output",0.00025,0.00035,0.00065,0.00075]]}" initial_value="[["v",[56,48,0],{"name":"V1","value":"square(0,1,1k)","_json_":0},["2","0"]],["g",[56,96,0],{"_json_":1},["0"]],["v",[56,128,0],{"name":"V2","value":"sin(0,1,5k,0,0)","_json_":2},["1","0"]],["g",[56,176,0],{"_json_":3},["0"]],["w",[56,48,88,48]],["w",[56,128,88,128]],["L",[224,48,3],{"label":"output","_json_":6},["output"]],["w",[224,48,200,48]],["w",[224,48,224,128]],["w",[224,128,200,128]],["s",[224,48,0],{"color":"magenta","_json_":10},["output"]],["view",0,0,2,"5","10","10MEG",null,"100","5ms"]]"/>
</center>
<answer type="loncapa/python">
# for a schematic response, submission[i] is the json representation
# of the diagram and analysis results for the i-th schematic tag
def get_tran(json,signal):
for element in json:
if element[0] == 'transient':
return element[1].get(signal,[])
return []
output = get_tran(submission[0],'output')
answer = [[0.00025, 0.666],
[0.00035, 0.333],
[0.00065, 0.166],
[0.00075, -0.166]]
okay = True
if not output or output[0][1] == 'undefined': # No transient or output node floating
okay = False
else:
for (at,av) in answer:
for (t,v) in output:
if at==t and abs(av - v) < 0.05*abs(av):
# found a good match for this answer, on to the next one
break
else:
print 'check',at,av
# no submission matched answer, complain
okay = False;
break;
correct = ['correct' if okay else 'incorrect']
</answer>
</schematicresponse>
<p>When you're done or if you wish to save your work, please click CHECK.
The checker will be verifying the voltage of the output node at several
different times, so you'll earn a point only <i>after</i> you've performed
the transient simulation so that the checker will have a waveform to check!</p>
<solution>
<div class="detailed-solution"><p>Explanation:</p>
<p>The goal is to design a mixer circuit with characteristics of
\(V_{out}=\frac{1}{2}\cdot V_1+\frac{1}{6}\cdot V_2\)
You might have started to design your mixer with two resistors only as the example suggests.
But working through the math, soon you'll realize that the equations return no non-zero value for the resistor components.
Thus you have to change the design. The next simplest design will be to add a resistor \(R_3\) that connects the node Vout to ground.
See the schematic below:</p>
<img src="/static/images/circuits/lab2fmt.png"/>
<p>Since we are going to use only linear elements in this circuit
(resistors are linear), superposition will hold
and thus one can look at the effect of each source \(V_1\) and \(V_2\)
one at the time:</p>
[mathjax] V_{out1} = V_1 \cdot \frac{\left(R_2 \parallel R_3\right)}
{\left(R_2 \parallel R_3+R_1\right)}\\ V_{out2} = V_2 \cdot
\frac{\left(R_1 \parallel R_3\right)}{\left(R_1 \parallel R_3+R_2\right)}
\\ V_{out} = V_{out 1} + V_{out 2} \\ V_{out} = V_1 \cdot
\frac{\left(R_2 \parallel R_3\right)}{\left(R_2\parallel R_3+R_1\right)} +
V_2 \cdot \frac{\left(R_1 \parallel R_3\right)}{\left(R_1 \parallel R_3 +
R_2\right)} = \frac{1}{2} \cdot V_1+\frac{1}{6} \cdot V_2 [/mathjax]
<p>Therefore:</p>
[mathjax] \frac{ \left(R_2 \parallel R_3 \right) }
{ \left( R_2 \parallel R_3 + R_1 \right)} =
\frac{1}{2} \\\frac{\left( R_1 \parallel R_3 \right) }
{ \left(R_1 \parallel R_3 + R_2 \right)} = \frac{1}{6} [/mathjax]
<p>So we have to solve for the resistors given these two equations. You
might notice that we have 2 equations and 3 unknowns, and that there is
therefore not a unique solution. That is okay, though. We only have to
worry if there is no solution, not if there are too many solutions. We will
simply find one of the many possible correct answers by arbitrarily
choosing a value for one of the variables later.</p>
<p>The first equation simplifies to \( R_1 = R_2\parallel R_3\) and the
second simplifies to \(R_2 = 5 \cdot R_1\parallel R_3\)
Expanding the notation gives: </p>
[mathjax]\frac{1}{R_1}=\frac{1}{R_2}+\frac{1}{R_3}
\tag{*} \\\frac{1}{R_1}+\frac{1}{R_3}=\frac{5}{R_2} [/mathjax]
<p>Subtracting these two equations will yield \(R_2 = 2 \cdot R_3\)
And putting this back to the starred equation , will result in
\(R_1 = \frac{2}{3} \cdot R_3\)
So now we have \(R_2\) and \(R_1\) in terms of \(R_3\) with the following
ratios:</p>
[mathjax]R_2 = 2 \cdot R_3 \\ R_1 = \frac{2}{3} \cdot R_3 \\[/mathjax]
<p>Since the design hadn't mentioned anything about the resistances, one can
use a simple value of \(R_3= 3Ω\) and find the rest accordingly:</p>
[mathjax]R_1= 2Ω \\
R_2= 6Ω \\
R_3= 3Ω \\
[/mathjax]
<p>With these resistor values, doing a transient analysis shows a result which meets the required specs of \(V_{out}\).</p>
</div>
</solution>
</problem>
Note
EdX does not support this tool.
The completion tool provides learners with a way to mark sections of the course as completed. It helps learners to track their progress through sections of the course, including for ungraded activities such as reading text, watching video, or participating in course discussions.
The completion tool provides learners with a way to indicate both to themselves and to the course team that they have completed an activity.
The completion tool is itself a graded component and is therefore always included on the learner Progress page. However, depending on whether it is used in a graded or ungraded section of the course, it appears either as a part of the learner’s final grade or as a practice score, respectively.
If you use the completion tool in an ungraded section of the course, the score for completing the activity that it is associated with is listed as a practice score on the Progress page. Practice scores are not included in the learner’s final grade for the course.
You can also use the completion tool in graded sections of the course. If you do so, a score for completing the activity is included in learners’ final grades. For example, if you include a completion component in a particular unit of the course content, learners who use the component to mark the unit as complete receive 1/1 points, while learners who do not mark the unit as complete receive 0/1 points. These scores are included in learners’ final grades on the Progress page.
Note
EdX recommends using the completion tool primarily to track progress for ungraded activities such as reading assigned texts, watching videos, or participating in course discussions.
When you add a completion component to a unit, learners see a control that is labeled Mark as complete. In this example, the completion component follows an HTML component.
After a learner selects this control, the label changes to Unmark. Learners who revisit their work in a unit and want to change the completion status can select this control as many times as needed.
Before you can add a completion component to your course, you must enable the completion tool in Studio.
To enable the completion tool in Studio, add the "done"
key to the
Advanced Module List on the Advanced Settings page, then select Save
Changes. (Be sure to include the quotation marks around the key value.) For
more information, see Enabling Additional Exercises and Tools.
After you have enabled the completion tool in Studio, to add a completion component to a unit in a course, follow these steps.
Note
Select Edit in the completion component for information about the tool.
Note
EdX offers provisional support for this problem type.
A conditional module controls the content that learners see after a response that they make meets a certain condition. For example, learners who answer “Yes” to a poll question see a different block of text from the learners who answered “No” to the same question.
The main tag of conditional module input is conditional
.
<conditional> ... </conditional>
conditional
can include any number of any Xmodule tags (html
,
video
, poll
, etc.) or show
tags.
conditional
Tag¶The main container for a single instance of a conditional module. The following attributes can be specified for this tag.
sources - location id of required modules, separated by ';'
[message | ""] - message for case, where one or more are not passed. Here you can use variable {link}, which generate link to required module.
[submitted] - map to `is_submitted` module method.
(pressing RESET button makes this function to return False.)
[correct] - map to `is_correct` module method
[attempted] - map to `is_attempted` module method
[poll_answer] - map to `poll_answer` module attribute
[voted] - map to `voted` module attribute
show
Tag¶Symlink to some set of Xmodules. The following attribute can be specified for this tag.
sources - location id of modules, separated by ';'
<conditional sources="i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset" poll_answer="man"
message="{link} must be answered for this to become visible.">
<html>
<h3>You see this because your vote value for "First question" was "man"</h3>
</html>
</conditional>
<conditional sources="i4x://MITx/0.000x/poll_question/first_real_poll_seq_with_reset" poll_answer="man"
message="{link} must be answered for this to become visible.">
<html>
<show sources="i4x://MITx/0.000x/problem/test_1; i4x://MITx/0.000x/Video/Avi_resources; i4x://MITx/0.000x/problem/test_1"/>
</html>
</conditional>
<conditional sources="i4x://MITx/0.000x/problem/Conditional:lec27_Q1" attempted="True">
<html display_name="HTML for attempted problem">You see this because "lec27_Q1" was attempted.</html>
</conditional>
<conditional sources="i4x://MITx/0.000x/problem/Conditional:lec27_Q1" attempted="False">
<html display_name="HTML for not attempted problem">You see this because "lec27_Q1" was not attempted.</html>
</conditional>
Note
EdX offers full support for this problem type.
Custom JavaScript display and grading problems (also called custom JavaScript problems or JS input problems) allow you to create a custom problem or tool that uses JavaScript and then add the problem or tool directly into Studio. When you create a JS input problem, Studio embeds the problem in an inline frame (an HTML iframe element) so that your learners can interact with it in the LMS. You can grade your learners’ work using JavaScript and some basic Python, and the grading is integrated into the edX grading system.
The JS input problem that you create must use HTML, JavaScript, and cascading style sheets (CSS). You can use any application creation tool, such as the Google Web Toolkit (GWT), to create your JS input problem.
Caution
title
attribute on the jsinput
tag. This title
is used for the title attribute on the generated inline frame.Note
All problems include more than one resource. If all the resources in
a problem have the same protocol, host, and port, then the problem conforms
to the same-origin policy (SOP). For example, the resources
http://store.company.com:81/subdirectory_1/JSInputElement.html
and
http://store.company.com:81/subdirectory_2/JSInputElement.js
have the
same protocol (http
), host (store.company.com
), and port (81
).
If any resources in your problem use a different protocol, host, or port,
you need to bypass the SOP. For example,
https://info.company.com/JSInputElement2.html
uses a different
protocol, host, and port from
http://store.company.com:81/subdirectory_1/JSInputElement.html
.
To bypass the SOP, change sop="true"
to sop="false"
. In the example
problem code, this attribute is just before the closing customresponse
tag.
If you bypass the same-origin policy, you require an additional file.
The example problem uses the file jschannel.js
to bypass the SOP.
For more information, see the same-origin policy page on the Mozilla Developer Network site or on Wikipedia.
The following code recreates the JavaScript Input problem example shown in the overview. The example problem uses these files.
sop="false"
)<problem>
<customresponse cfn="check_function">
<script type="loncapa/python">
<![CDATA[
import json
def check_function(e, ans):
"""
"response" is a dictionary that contains two keys, "answer" and
""state".
The value of "answer" is the JSON string that "getGrade" returns.
The value of "state" is the JSON string that "getState" returns.
Clicking either "Submit" or "Save" registers the current state.
"""
response = json.loads(ans)
# You can use the value of the answer key to grade:
answer = json.loads(response["answer"])
return answer == "correct"
# Or you can use the value of the state key to grade:
"""
state = json.loads(response["state"])
return state["selectedChoice"] == "correct"
"""
]]>
</script>
<p>This is paragraph text displayed before the iframe.</p>
<jsinput
gradefn="JSInputDemo.getGrade"
get_statefn="JSInputDemo.getState"
set_statefn="JSInputDemo.setState"
initial_state='{"selectedChoice": "incorrect1", "availableChoices":
["incorrect1", "correct", "incorrect2"]}'
width="600"
height="100"
html_file="https://files.edx.org/custom-js-example/jsinput_example.html"
title="Dropdown with Dynamic Text"
sop="false"/>
</customresponse>
</problem>
Note
Keep the following points in mind about this example problem.
correct
option is selected in
the dropdown control when the user selects Submit.JSInput allows problem authors to turn stand-alone HTML files into problems that can be integrated into the edX platform. Since its aim is flexibility, it can be seen as the input and client-side equivalent of CustomResponse.
A JSInput exercise creates an inline frame (iframe) in a static HTML page, and passes the return value of author-specified functions to the enclosing response type (generally CustomResponse). JSInput can also store and retrieve state.
The following is the basic format of a JSInput problem.
<problem>
<script type="loncapa/python">
def all_true(exp, ans): return ans == "hi"
</script>
<customresponse cfn="all_true">
<jsinput gradefn="gradefn"
height="500"
get_statefn="getstate"
set_statefn="setstate"
html_file="/static/jsinput.html"
title="iframe Title"/>
</customresponse>
</problem>
The accepted attributes are:
Attribute Name | Value Type | Required | Default |
---|---|---|---|
html_file | URL string | Yes | None |
title | string | Yes | Problem Remote Content |
gradefn | Function name | Yes | gradefn |
set_statefn | Function name | No | None |
get_statefn | Function name | No | None |
height | Integer | No | 300 |
width | Integer | No | 400 |
title | String | No | None |
html_file
The html_file attribute specifies the HTML file that the iframe will point to. The HTML file must be located in the content directory.
The iframe is created using the sandbox attribute. Although pop-ups, scripts, and pointer locks are allowed, the iframe cannot access its parent’s attributes.
The HTML file must contain a gradefn function that the JSInput file can access. To determine whether the gradefn function is accessible, in the console, make sure that gradefn returns the right thing. When JSInput uses the gradefn function, gradefn is called with gradefn.call(obj), where obj is the object-part of gradefn. For example, if gradefn is myprog.myfn, JSInput calls myprog.myfun.call(myprog).
The HTML file has no specific requirements other than the gradefn
function. Note that inheriting CSS or JavaScript from the parent (except for
the Chrome-only seamless attribute, which is set to True
by default)
is not currently supported.
title
The title attribute specifies the title for the generated iframe. Generally, the title attribute on the iframe should match the title tag of the HTML file that is hosted within the iframe.
gradefn
The gradefn attribute specifies the name of the function that will be
called when a user selects Submit, and that returns the learner’s answer.
Unless both the get_statefn and set_statefn attributes are also
used, this answer is passed as a string to the enclosing response type. In
the customresponse example above, this means cfn will be passed this
answer as ans
.
If the gradefn function throws an exception when a learner attempts to
submit a problem, the submission is aborted, and the learner receives a
generic alert. The alert can be customized by making the exception name
Waitfor Exception
; in that case, the alert message will be the exception
message.
Important
To make sure the learner’s latest answer is passed correctly, make sure that the gradefn function is not asynchronous. Additionally, make sure that the function returns promptly. Currently the learner has no indication that her answer is being calculated or produced.
set_statefn
Sometimes a problem author will want information about a learner’s previous answers (“state”) to be saved and reloaded. If the attribute set_statefn is used, the function given as its value will be passed the state as a string argument whenever there is a state, and the learner returns to a problem. The function has the responsibility to then use this state appropriately.
The state that is passed is:
It is the responsibility of the iframe to do proper verification of the argument that it receives via set_statefn.
get_statefn
Sometimes the state and the answer are quite different. For instance, a problem that involves using a JavaScript program that allows the learner to alter a molecule may grade based on the molecule’s hydrophobicity, but from the hydrophobicity it might be incapable of restoring the state. In that case, a separate state may be stored and loaded by set_statefn. Note that if get_statefn is defined, the answer (i.e., what is passed to the enclosing response type) will be a json string with the following format:
{
answer: `[answer string]`
state: `[state string]`
}
The enclosing response type must then parse this as json.
height and width
The height and width attributes are straightforward: they specify the height and width of the iframe. Both are limited by the enclosing DOM elements, so for instance there is an implicit max-width of around 900.
In the future, JSInput may attempt to make these dimensions match the HTML
file’s dimensions (up to the aforementioned limits), but currently it
defaults to 300
and 400
for height and width, respectively.
Note
EdX offers full support for this problem type.
In drag and drop problems, learners respond to a question by dragging text or images to a specific location on a background image. This section explains how to use drag and drop problems in your course.
Note
This drag and drop problem type is intended as a replacement for an older drag and drop problem type. This drag and drop problem type includes significant improvements and you should use it for any new course development. For more information about the previous, deprecated drag and drop problem type, see Drag and Drop Problem (Deprecated).
A drag and drop problem includes a background image and one or more items that learners can drag into target zones on the background image. You can include as many draggable items and as many target zones as you need. You can include decoy items that do not have a target, and you can include decoy targets that do not correspond to draggable items.
When learners view a drag and drop problem in the LMS, the problem includes a top section and a bottom section. Learners drag items from the top section on to the background image in the section below it.
The way that a learner selects, or grabs, an item depends on the type of browser that the learner uses. For example, a learner might click and hold on a draggable item with a mouse pointer to select it, drag the item to a target, and release the mouse pointer to drop the item on the target. A learner who accesses the problem on a mobile device with a touch screen might swipe an item from the top section into a target zone. A learner who uses a keyboard interface might use the navigation keys to select an item and then match it to a target zone.
You can configure a drag and drop problem to give learners unlimited attempts to match items to target zones or you can configure it to behave restrictively, like a test.
For more information about assessment mode and standard mode, see Choosing a Drag and Drop Problem Mode.
The following image shows an example drag and drop problem.
The following image shows the success feedback message that learners see when they match a draggable item with its target zone. Each draggable item has its own success feedback message.
The following image shows the error feedback message that learners see when they match a draggable item with an incorrect target zone. Each draggable item has its own error feedback message.
The following image shows a completed drag and drop problem. The final feedback message informs the learner that the problem is complete.
The background image for a drag and drop problem is the surface that learners drag items onto.
A target zone is a rectangular area on the background image. You can show or hide the borders of a zone for learners. You can add titles for zones or leave the Title field empty. However, you must fill in the Description field for each zone. The description is only exposed to screen readers. The description must describe the content of the zone for visually impaired learners. For example, a zone that includes an apple might have a description that says “A round, red fruit with a stem.”
A background image must fit within the course screen. The LMS automatically scales images that are too wide. If you choose a background image that is extremely large, you should consider how it appears to learners after scaling. The width of the course screen depends on the device and browsing software that a learner uses.
You define a target zone by specifying its width, height, horizontal offset
(x
), and vertical offset (y
). Each specification is in pixels. The
horizontal offset is the distance between the left side of the background image
and the left side of the target zone. The vertical offset is the distance
between the top of the background image and the top of the target zone.
The following image shows a background image and target zones in the drag and drop problem editing dialog box. For more information about editing drag and drop problems, see Creating a Drag and Drop Problem.
Note
The pixel coordinates that you use to specify the size and location of target zones are also used by common image editing software. You can open a background image in an image editing program to find the pixel coordinates of a target zone.
A draggable item is a rectangle that contains either a label or an image. Learners grab draggable items from the top of a drag and drop problem and drag them to targets on the background image.
You can set the size of the rectangle for a draggable item as a percentage of the width of the problem. If you do not specify the size, the LMS sets it based on the length of the text in the label or the size of the image in it. You can set the background color and the label text color for the items in a problem.
Each draggable item can match one target zone on the background image, multiple target zones, or no target zones.
Each item must have a text label to identify it in the drag and drop problem. If you include only a text label, that label appears in the draggable item. If you include both a text label and an image for an item, the image appears as its label.
The following image shows draggable items with images. For examples of items with text, see Overview of Drag and Drop Problems.
Images for draggable items have alternative image descriptions. The alternative description explains the image content in text. If a learner cannot access the visual image content, the text description helps that learner to complete the problem.
Images for draggable items must fit within the top section of the problem. The LMS automatically scales large images to fit. If you use a large image in a draggable item, you should consider how that image appears after scaling.
Note
If an image file is unavailable, or cannot be displayed, the LMS displays the text description as the button label.
You can configure drag and drop problems to allow learners to experiment with matching draggable items to target zones until all items are matched correctly, or to require that learners match all items to target zones without any input and then submit their attempts for grading. You can choose either Standard Mode or Assessment Mode to control the behavior of the problem.
Standard mode configures a drag and drop problem to give learners unlimited attempts to match draggable items with target zones until all of the items are matched to the correct targets. Each time a learner drops an item on a target zone, the problem reports whether the match is correct. If the match is not correct, the draggable item is returned to the item bank for a new attempt.
A learner completes a drag and drop problem in standard mode when all of the items are matched to target zones correctly. Learners receive the maximum score for the problem when the problem is complete.
Assessment mode configures a drag and drop problem to behave like a test. In assessment mode, learners must match all of the draggable items to target zones before the problem reveals whether the items are matched correctly.
Learners select Submit when they believe that they have completed the problem. If all items are matched correctly, the problem is complete. If any items are not matched correctly, and the maximum number of attempts has not been reached, the learner can correct items and select Submit again. When the learner reaches the maximum number of attempts, the problem is complete.
The score for the problem is calculated by dividing the maximum score based on the percent of draggable items that are matched correctly. If a learner attempts the problem multiple times, the score for the best attempt is the final score for the problem.
In assessment mode, you can specify the number of times that learners can submit a drag and drop problem. If you allow more than one attempt, the problem reveals which items are correctly matched and gives learners an opportunity to move items that are not correct. If you do not specify a limit, learners have unlimited attempts.
To create a drag and drop problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Advanced.
From the list of advanced components, select Drag and Drop.
Studio adds the drag and drop problem to the unit.
Select Edit. The Editing dialog box opens.
Configure your drag and drop problem. For detailed information about individual controls in the Editing dialog box, see Understanding the Drag and Drop Editing Controls.
The Editing dialog box includes multiple screens. Configure each screen and select Continue. On the final screen, select Save to exit the configuration dialog box and save your changes.
In particular, configure the aspects of the drag and drop problem described below.
Edit the problem title, problem text, introductory feedback, and final feedback for the problem. For more information about how the text in these fields appears in a drag and drop problem, see Overview of Drag and Drop Problems.
Specify a background image in the Background URL field. Enter the URL of a file you have added to your course or the URL of an image on the web. For more information about working with course files, see Adding Files to a Course. For more information about background images, see Understanding Background Images.
Select Change background after you enter the URL for your background image.
If you specify the URL of an image on the web, make sure that you are legally authorized to use the image and that the image is available to learners around the world.
Remove the target zones for the example drag and drop problem. Select Add a zone to add each target zone for your problem. For more information about target zones, see Understanding Background Images.
Remove the draggable items for the example drag and drop problem. Select Add an item to add draggable items for your problem. Select a matching target zone for each item in the Zone field. Add a label, success feedback text, and error feedback text. For more information about how the text in these fields appears, see Overview of Drag and Drop Problems. For more information about draggable items, see Understanding Draggable Items.
The following table explains the controls in the Editing dialog box.
Control | Explanation |
---|---|
Problem title | The heading that appears above the drag and drop problem. For an example, see Overview of Drag and Drop Problems. |
Show title | Controls whether the problem title appears above the problem in the LMS. |
Problem mode | Controls whether the problem allows learners to experiment with matching draggable items to target zones (standard mode) or requires learners to match all items before providing feedback and optionally restricts the number of attempts (assessment mode). For more information, see Choosing a Drag and Drop Problem Mode. |
Maximum attempts (assessment mode only) | Controls the number of times that learners can match items to target zones and submit the problem for grading. If you do not enter a maximum number, learners have unlimited attempts. For more information, see Choosing a Drag and Drop Problem Mode. |
Maximum score | The total number of points that learners receive for completing the problem. For more information about scores and grading, see Establishing a Grading Policy For Your Course. |
Problem text | Text that appears above the problem in the LMS. You can use this text to provide instructions or explain the problem. For an example, see Overview of Drag and Drop Problems. |
Show “Problem” heading | Controls whether the word Problem appears above the problem text. |
Introductory Feedback | The text that appears in the feedback section of the problem before a learner begins. |
Final Feedback | The text that appears in the feedback section of the problem after a learner matches all items to their target zones. |
Background URL | The URL of the image that contains target zones for the problem. The URL can be relative to a file you add to your course or to a file on the web. For more information, see Understanding Background Images. You must select Change background when you enter a new URL in this field. If you do not select Change background, the new value will not be saved when you save other changes in the Editing dialog box. |
Background description | A description of the background image. This description is used by learners who cannot access the visual image. |
Display label names on the image | Controls whether the text for target zones appears on the background image in the LMS. |
Display zone borders on the image | Controls whether the outlines of target zones appear on the background image in the LMS. |
Zone Text | A name for a target zone. You select the name of a target zone in the configuration for draggable items. |
Zone Description | Text that describes a target zone. This description is available to learners who cannot access the target zone visually. |
Zone width | The horizontal size of a target zone in pixels. |
Zone height | The vertical size of a target zone in pixels. |
Zone X | The horizontal distance (in pixels) between the left edge of the background image and the left edge of a target zone. |
Zone Y | The vertical distance (in pixels) between the top edge of the background image and the top edge of a target zone. |
Zone Alignment | Controls the way that the problem aligns draggable items after learners drop them on a target zone. Available options are “left”, “center”, and “right”. |
Add a zone | Adds a set of controls for a new zone to the Editing dialog box. |
Background color | The color that appears behind the text or image label of a draggable
item. You can specify the color using a hexadecimal color code
(including the # character) or any other valid CSS color
specification. For more information, see the W3C CSS color
specification. This is an optional configuration. If you do not set
the background color, the LMS will apply the default color to your
draggable items. |
Text color | The color of the text label for a draggable item. You can specify the
color using a hexadecimal color code (including the # character) or
any other valid CSS color specification. For more information, see the
W3C CSS color specification. This is an optional configuration. If
you do not set the background color, the LMS will apply the default
color to your text. |
Item Text | Controls the text that appears on the draggable item in the problem. |
Item Zones | Controls the target zones that match the draggable item. Learners must drag the item to any one of the target zones that you select. |
Item Image URL | (Optional) the URL of an image that appears on a draggable item. The image appears on the draggable item in the problem. The URL can be relative to a file you add to your course or to a file on the web. |
Item Image description | Text that describes the image label for a draggable item. The description is used by learners who cannot access the visual image label. |
Item Success Feedback | The text message that appears above the background image when a learner places a draggable item on its matching target zone. For an example, see Overview of Drag and Drop Problems. This is an optional configuration. If you do not enter a success feedback message, the LMS will not display one. |
Item Error Feedback | The text message that appears above the background image when a learner places a draggable item on an incorrect matching target zone. For an example, see Overview of Drag and Drop Problems. This is an optional configuration. If you do not enter an error feedback message, the LMS will not display one. |
Item Show advanced settings | Opens additional controls for configuring a draggable item. |
Item Preferred width | The horizontal size of a draggable item as a percent of the problem width. The percent value must be a whole number between 0 and 100. |
Add an item | Adds a set of controls for a new draggable item to the Editing dialog box. |
You can change the visual appearance of drag and drop problems in your courses.
The Background color and Text color controls for the draggable items in a drag and drop problem set the appearance of items for an individual problem. You can choose colors for the background and text of items when you create or edit a drag and drop problem.
You can develop a Python programming language module and include a custom Cascading Style Sheet (CSS) file for drag and drop problems in your Open edX site. For more information, see Styling Drag and Drop Problems.
Note
EdX does not support this problem type.
This drag and drop problem type has been replaced by a newer drag and drop problem type. The newer drag and drop problem type includes significant improvements and you should use it for any new course development. For more information about the replacement drag and drop problem type, see Drag and Drop Problem.
Warning
This deprecated drag and drop problem type is not accessible for learners with some disabilities, and it does not work correctly on mobile phones and other devices that use touch screen interfaces. If you use this kind of problem, make sure that you include an alternative for learners who cannot access drag and drop problems, or leave these problems ungraded.
For more information about creating accessible content, see Accessibility Best Practices for Developing Course Content.
The Show Answer button does not work for drag and drop problems. By default, the Show Answer option is set to Never. If you change this option in the problem component, a Show Answer button appears in the LMS, but the button does not work.
In drag and drop problems, learners respond to a question by dragging text or objects to a specific location on an image.
Before you can include problems that use this deprecated problem type in your course, you must configure your course to add unsupported problems.
To create a drag and drop problem, you upload the image that you want learners to drag labels onto, and then create a problem component.
On the Files & Uploads page, upload your image file. For more information about uploading files, see Adding Files to a Course.
In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
Click Drag and Drop.
In the component that appears, click Edit.
In the component editor, replace the example text with the text of your problem.
In the <drag_and_drop_input>
tag, replace
https://studio.edx.org/c4x/edX/DemoX/asset/L9_buckets.png with the URL
of your image file on the Files & Uploads page (for example,
/static/Image.png).
For at least one <draggable>
tag, replace the text of the label
attribute with the text of the label you want learners to drag. For example,
if you want learners to drag the word “Iceland” onto your image, the new tag
would resemble the following:
<draggable id="1" label="Iceland"/>
Repeat the previous step for all the labels that you want to use. Make sure
that the id attribute is different for each <draggable>
tag.
Determine the coordinates and radius of the correct area on the image.
Under correct_answer = {
, add an entry for each label, using the
following format. These values are in pixels:
'id': [[x coordinate, y coordinate], radius]
For example, if your image is 600 pixels wide and 400 pixels high, and you want your learners to drag the Iceland label to an area in the upper-left part of the image and drag a Sweden label near the lower-right part of your image, the code would resemble the following (where 2 is the ID for the Sweden label).
correct-answer = { '1': [[50, 50], 75] '2': [[550, 350], 75]}Note
Make sure the code contains the closing curly brace (
}
).
Click Save.
To create the drag and drop problem that appears in the image above, you download two files from edX, upload these files to the Files & Uploads page, and then add the code for the problem to a problem component.
- Allopurinol.gif
- AllopurinolAnswer.gif
To download both these files in a .zip archive, click http://files.edx.org/DragAndDropProblemFiles.zip.
Problem Code:
<problem>
<p> Allopurinol is a drug used to treat and prevent gout, a very painful form of arthritis. Once only a “rich man’s disease”, gout has become more and more common in recent decades – affecting about 3 million people in the United States alone. Deposits of needle-like crystals of uric acid in connective tissue or joint spaces cause the symptoms of swelling, stiffness and intense pain. Individuals with gout overproduce uric acid because they cannot eliminate it efficiently. Allopurinol treats and prevents gout by stopping the overproduction of uric acid through inhibition of an enzyme required for the synthesis of uric acid. </p>
<p> You are shown one of many possible molecules. On the structure of allopurinol below, identify the functional groups that are present by dragging the functional group name listed onto the appropriate target boxes on the structure. If you want to change an answer, you have to drag off the name as well. You may need to scroll through the names of functional groups to see all options. </p>
<customresponse>
<drag_and_drop_input no_labels="true" one_per_target="true" target_outline="true" img="/static/Allopurinol.gif">
<draggable can_reuse="true" label="methyl" id="1"/>
<draggable can_reuse="true" label="hydroxyl" id="2"/>
<draggable can_reuse="true" label="amino" id="3"/>
<draggable can_reuse="true" label="carboxyl" id="4"/>
<draggable can_reuse="true" label="aldehyde" id="5"/>
<draggable can_reuse="true" label="phosphate" id="6"/>
<draggable can_reuse="true" label="sulfhydryl" id="7"/>
<draggable can_reuse="true" label="phenyl" id="8"/>
<draggable can_reuse="true" label="none" id="none"/>
<target id="0" h="53" w="66" y="55.100006103515625" x="131.5"/>
<target id="1" h="113" w="55" y="140.10000610351562" x="181.5"/>
</drag_and_drop_input>
<answer type="loncapa/python">
correct_answer = [
{'draggables': ['2'], 'targets': ['0' ], 'rule':'unordered_equal' },
{'draggables': ['none'], 'targets': ['1' ], 'rule':'unordered_equal' }]
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
<solution>
<img src="/static/AllopurinolAnswer.gif"/>
</solution>
</problem>
<problem>
<customresponse>
<p>Drag each word in the scrollbar to the bucket that matches the number of
letters in the word.</p>
<drag_and_drop_input img="https://studio.edx.org/c4x/edX/DemoX/asset/L9_buckets.png">
<draggable id="1" label="a"/>
<draggable id="2" label="bog"/>
<draggable id="3" label="droll"/>
<draggable id="4" label="oboe"/>
<draggable id="5" label="swain"/>
<draggable id="6" label="in"/>
<draggable id="7" label="onyx"/>
<draggable id="8" label="of"/>
<draggable id="9" label="tap"/>
<draggable id="10" label="strop"/>
<draggable id="11" label="few"/>
</drag_and_drop_input>
<answer type="loncapa/python">
correct_answer = {
'1': [[70, 150], 121],
'6': [[190, 150], 121],
'8': [[190, 150], 121],
'2': [[310, 150], 121],
'9': [[310, 150], 121],
'11': [[310, 150], 121],
'4': [[420, 150], 121],
'7': [[420, 150], 121],
'3': [[550, 150], 121],
'5': [[550, 150], 121],
'10': [[550, 150], 121]}
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
</problem>
<problem>
<customresponse>
<p>Label the hydrogen atoms connected with the left carbon atom.</p>
<drag_and_drop_input img="https://studio.edx.org/c4x/edX/DemoX/asset/ethglycol.jpg"
target_outline="true" one_per_target="true" no_labels="true"
label_bg_color="rgb(222, 139, 238)">
<draggable id="1" label="Hydrogen" />
<draggable id="2" label="Hydrogen" />
<target id="t1_o" x="10" y="67" w="100" h="100"/>
<target id="t2" x="133" y="3" w="70" h="70"/>
<target id="t3" x="2" y="384" w="70" h="70"/>
<target id="t4" x="95" y="386" w="70" h="70"/>
<target id="t5_c" x="94" y="293" w="91" h="91"/>
<target id="t6_c" x="328" y="294" w="91" h="91"/>
<target id="t7" x="393" y="463" w="70" h="70"/>
<target id="t8" x="344" y="214" w="70" h="70"/>
<target id="t9_o" x="445" y="162" w="100" h="100"/>
<target id="t10" x="591" y="132" w="70" h="70"/>
</drag_and_drop_input>
<answer type="loncapa/python">
correct_answer = [{
'draggables': ['1', '2'],
'targets': ['t2', 't3', 't4' ],
'rule':'anyof'
}]
if draganddrop.grade(submission[0], correct_answer):
correct = ['correct']
else:
correct = ['incorrect']
</answer>
</customresponse>
</problem>
<customresponse>
: Indicates that the problem is a custom response
problem.<drag_and_drop_input>
: Indicates the custom response problem is a drag
and drop problem.<draggable>
: Specifies a single object that a learner will drag onto the
base image.<target>
: Specifies the location on the base image where a draggable must
be dropped.Tag: <drag_and_drop_input>
Attributes
Attribute Description img (required) Relative path to an image that will be the base image. All draggables can be dragged onto it. target_outline Specifies whether an outline (gray dashed line) should be drawn around targets (if they are specified). It can be either ‘true’ or ‘false’. If not specified, the targets do not have outlines. one_per_target Specify whether to allow more than one draggable to be placed onto a single target. It can be either ‘true’ or ‘false’. If not specified, the default value is ‘true’. no_labels (required) The default is false. In default behavior, if label is not set, label is obtained from id. If no_labels is true, labels are not automatically populated from id, and one cannot set labels and obtain only icons. Children
<draggable>
<target>
Tag: <draggable>
Specifies a single draggable object in a drag and drop problem.
A draggable is what the user must drag out of the slider and drop onto the base image. After a drag operation, if the center of the draggable is located outside the rectangular dimensions of the image, it will be returned to the slider.
For the grader to work, each draggable must have a unique ID.
Attributes
Attribute Description id (required) Unique identifier of the draggable object. label (optional) Text label that the user sees. icon (optional) For draggables that are images, the relative path to the image file. can_reuse The default is false. If true, the same draggable can be used multiple times. Children
(none)
Tag: <target>
Specifies the location on the base image where a learner must drop a draggable item. By design, if the center of a draggable lies within the target (i.e. in the rectangle defined by [[x, y], [x + w, y + h]], it is within the target. Otherwise, it is outside.
If you specify at least one target, and a learner drops a draggable item on a location that is outside a target, the draggable item returns to the slider.
If you don’t specify a target, a learner can drop a draggable item anywhere on the base image.
Attributes
Attribute Description id (required) Unique identifier of the target object. x X-coordinate on the base image where the top left corner of the target will be positioned. y Y-coordinate on the base image where the top left corner of the target will be positioned. w Width of the target, in pixels. h Height of the target, in pixels. Children
(none)
Sometimes it is not enough to have targets only on the base image, and all of the draggables on these targets. If a complex problem exists where a draggable must become itself a target (or many targets), then the following extended syntax can be used.
...
<draggable {attribute list}>
<target {attribute list} />
<target {attribute list} />
<target {attribute list} />
...
</draggable>
...
The attribute list in the tags above (draggable
and target
) is the same
as for normal draggable
and target
tags. The only difference is when
you will be specifying inner target position coordinates. Use the x
and
y
attributes to set the offset of the inner target from the upper-left
corner of the parent draggable (that contains the inner target).
Currently there is a limitation to the level of nesting of targets.
Even though you can pile up a large number of draggables on targets that themselves are on draggables, the drag and drop problem will be graded only if there is a maximum of two levels of targets. The first level are the base targets. They are attached to the base image. The second level are the targets defined on draggables.
Another limitation is that the target bounds are not checked against other targets.
You must make sure that there is no overlapping of targets. You should also ensure that targets on draggables are smaller than the actual parent draggable. Technically this is not necessary, but from the usability perspective it is desirable.
You can have targets on draggables only in the case when there are base targets defined (base targets are attached to the base image).
If you do not have base targets, then you can only have a single level of nesting (draggables on the base image). In this case the client side will be reporting (x,y) positions of each draggable on the base image.
For specifying answers for targets on draggables, see Answer format for targets on draggables.
There are two correct answer formats: short and long.
In short form, the correct answer is mapping of draggable_id
to
target_id
:
correct_answer = {'grass': [[300, 200], 200], 'ant': [[500, 0], 200]}
correct_answer = {'name4': 't1', '7': 't2'}
In long form, the correct answer is list of dicts. Every dict has 3 keys:
draggables
, targets
and rule
. For example:
correct_answer = [
{
'draggables': ['7', '8'],
'targets': ['t5_c', 't6_c'],
'rule': 'anyof'
},
{
'draggables': ['1', '2'],
'targets': ['t2_h', 't3_h', 't4_h', 't7_h', 't8_h', 't10_h'],
'rule': 'anyof'
}]
“Draggables” is the list of draggable IDs. “Target” is the list of target IDs that draggables must be dragged to.
Caution
Draggables in dicts inside the correct_answer
list must not intersect.
Wrong (for draggable id 7):
correct_answer = [
{
'draggables': ['7', '8'],
'targets': ['t5_c', 't6_c'],
'rule': 'anyof'
},
{
'draggables': ['7', '2'],
'targets': ['t2_h', 't3_h', 't4_h', 't7_h', 't8_h', 't10_h'],
'rule': 'anyof'
}]
The values for rule
follow.
exact
: Targets for draggable IDs in user_answer
are the same as
targets from the correct answer. For example, for draggables 7 and 8, the
user must drag 7 to target1 and 8 to target2 if the correct_answer
is:
correct_answer = [
{
'draggables': ['7', '8'],
'targets': ['tartget1', 'target2'],
'rule': 'exact'
}]
unordered_equal
: Allows draggables be dragged to targets unordered. For
learners to drag 7 to target1 or target2 and 8 to target2 or target1 and 7
and 8 must be in different targets, then correct answer must be:
correct_answer = [
{
'draggables': ['7', '8'],
'targets': ['tartget1', 'target2'],
'rule': 'unordered_equal'
}]
anyof
: Allows draggables to be dragged to any target. For learners to
drag 7 and 8 to target1 or target2, any of these are correct with the anyof
rule:
correct_answer = [
{
'draggables': ['7', '8'],
'targets': ['tartget1', 'target2'],
'rule': 'anyof'
}]
If can_reuse
is true, then you have draggables a,b,c and 10 targets. These
will allow you to drag 4 a
draggables to [target1
, target4
,
target7
, target10
]; you do not need to write a
four times. Also
this will allow you to drag the b
draggable to target2 or target5 for
target5 and target2.:
correct_answer = [
{
'draggables': ['a'],
'targets': ['target1', 'target4', 'target7', 'target10'],
'rule': 'unordered_equal'
},
{
'draggables': ['b'],
'targets': ['target2', 'target5', 'target8'],
'rule': 'anyof'
},
{
'draggables': ['c'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'unordered_equal'
}]
Sometimes you want to allow learners to drag only two b
draggables. In this
case you should use the anyof+number
or unordered_equal+number
rule:
correct_answer = [
{
'draggables': ['a', 'a', 'a'],
'targets': ['target1', 'target4', 'target7'],
'rule': 'unordered_equal+number'
},
{
'draggables': ['b', 'b'],
'targets': ['target2', 'target5', 'target8'],
'rule': 'anyof+number'
},
{
'draggables': ['c'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'unordered_equal'
}]
When there are no multiple draggables per targets (one_per_target=``true``),
for the same number of draggables, anyof
is equal to unordered_equal
.
If can_reuse=true
, then you must use only the long form of the correct
answer.
As with the cases described above, an answer must provide precise positioning for each draggable (on which targets it must reside). In the case when a draggable must be placed on a target that itself is on a draggable, then the answer must contain the chain of target-draggable-target.
For example, suppose we have three draggables - up
, s
, and p
.
Draggables s
and p
have targets on themselves. More specifically,
p
has three targets - 1
, 2
, and 3
. The first requirement is
that s
and p
are positioned on specific targets on the base image. The
second requirement is that draggable up
is positioned on specific targets
of draggable p
. Below is an excerpt from a problem:
<draggable id="up" icon="/static/images/images_list/lcao-mo/up.png" can_reuse="true" />
<draggable id="s" icon="/static/images/images_list/lcao-mo/orbital_single.png" label="s orbital" can_reuse="true" >
<target id="1" x="0" y="0" w="32" h="32"/>
</draggable>
<draggable id="p" icon="/static/images/images_list/lcao-mo/orbital_triple.png" can_reuse="true" label="p orbital" >
<target id="1" x="0" y="0" w="32" h="32"/>
<target id="2" x="34" y="0" w="32" h="32"/>
<target id="3" x="68" y="0" w="32" h="32"/>
</draggable>
...
correct_answer = [
{
'draggables': ['p'],
'targets': ['p-left-target', 'p-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['s'],
'targets': ['s-left-target', 's-right-target'],
'rule': 'unordered_equal'
},
{
'draggables': ['up'],
'targets': ['p-left-target[p][1]', 'p-left-target[p][2]', 'p-right-
target[p][2]', 'p-right-target[p][3]',],
'rule': 'unordered_equal'
}
]
Note that you must specify rules for all draggables, even if a draggable gets included in more than one chain.
The learner’s answer and the correct answer are parsed to the same format.
group_id: group_draggables, group_targets, group_rule
group_id
is ordinal number, for every dict in correct answer incrementalgroup_id
is assigned: 0, 1, 2, …Draggables from the user answer are added to the same group_id where identical draggables from the correct answer are, for example:
If correct_draggables[group_0] = [t1, t2] then user_draggables[group_0] are all draggables t1 and t2 from the user answer: [t1] or [t1, t2] or [t1, t2, t2] etc..
For every group from the user answer, for that group’s draggables, if
number
is in the group rule, set() is applied. If number
is not in
rule, set is not applied:
set() : [t1, t2, t3, t3] -> [t1, t2, ,t3]
For every group, at this step, draggables lists are equal.
+number
cases¶set()
and +number
are needed only for the case of reusable draggables.
For other cases there are no equal draggables in list, so set() does nothing.
The set()
operation allows you to create a rule for the case of “any
number of the same draggable can be dragged to targets”:
{
'draggables': ['draggable_1'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'anyof'
}
The number
rule is used for the case of reusable draggables, when you
want to fix number of draggable to drag. In this example only two instances
of draggables_1 are allowed to be dragged:
{
'draggables': ['draggable_1', 'draggable_1'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'anyof+number'
}
Note, that in using rule exact
, one does not need number
, because you
cannot recognize from the user interface which reusable draggable is on which
target. For example:
{
'draggables': ['draggable_1', 'draggable_1', 'draggable_2'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'exact'
}
Correct handling of this example is to create different rules for
draggable_1 and draggable_2.
For unordered_equal
(or exact
) you don’t need number
if you have
only the same draggable in the group, as the target length will provide
the constraint for the number of draggables:
{
'draggables': ['draggable_1'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'unordered_equal'
}
This means that only draggable_1
can be dragged.
But if you have more than one different reusable draggable in the list, you
may use the number
rule:
{
'draggables': ['draggable_1', 'draggable_1', 'draggable_2'],
'targets': ['target3', 'target6', 'target9'],
'rule': 'unordered_equal+number'
}
If you do not use number
, the draggables list will be set to
[draggable_1
, draggable_2
].
Note
EdX offers full support for this problem type.
The dropdown problem type is a core problem type that can be added to any course. Dropdown problems include a question or prompt and several answer options with a single correct answer. By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem.
For more information about the core problem types, see Working with Problem Components.
In dropdown problems, learners select one option from a list of answer options. Unlike multiple choice problems, where the answer choices are always visible directly below the question, the answer options for dropdown problems do not appear until the learner selects the dropdown arrow.
Dropdown problems can only have one correct answer per question, we reccomend adding a “Both B & C” option where multiple multiple selections could be correct.
In the LMS, learners select a single answer option to complete a dropdown problem. An example of a completed dropdown problem follows.
In this example, a single problem component contains multiple questions, all of them using the dropdown problem type. To add the example illustrated above, you enter the following text and Markdown formatting in the simple editor in Studio. Then, select Settings for the problem to define settings. To specify that each question is worth one point, leave the Problem Weight field empty.
>>What type of data is age?<<
[[Nominal, Discrete, (Continuous)]]
---
>>What type of data is age, when rounded to the nearest year?<<
[[
Nominal
(Discrete)
Continuous
]]
---
>>What type of data is life stage, such as infant, child, or adult?<<
[[(Nominal), Discrete, Continuous]]
Note
You separate multiple questions in a problem component with three hyphen (---
)
characters. You can separate the answer options with either comma (,
)
characters or new lines. Each question can ONLY have a single correct answer.
The OLX markup for this example problem follows.
<problem>
<optionresponse>
<label>What type of data is age?</label>
<optioninput options="('Nominal','Discrete','Continuous')"
correct="Continuous"></optioninput>
</optionresponse>
<optionresponse>
<label>What type of data is age, when rounded to the nearest year?</label>
<optioninput options="('Nominal','Discrete','Continuous')"
correct="Discrete"></optioninput>
</optionresponse>
<optionresponse>
<label>What type of data is life stage, such as infant, child, or adult?</label>
<optioninput options="('Nominal','Discrete','Continuous')"
correct="Nominal"></optioninput>
</optionresponse>
</problem>
For the dropdown problems in your course, you can use edX Insights to review aggregated learner performance data and examine submitted answers. For more information, see Using edX Insights.
You add dropdown problems in Studio by selecting the Problem component type and then using either the simple editor or the advanced editor to specify the prompt and the answer options.
Note
You can begin work on the problem in the simple editor, and then switch to the advanced editor. However, after you save any changes you make in the advanced editor, you cannot switch back to the simple editor.
When you add a dropdown problem, you can choose one of these templates.
These templates include the Markdown formatting that you use in the simple editor to add a problem without, or with, hints and feedback.
To use the simple editor to add a problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Problem.
From the list of Common Problem Types, select the type of problem you want to add. Studio adds a template for the problem to the unit.
Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.
Replace the guidance provided by the template to add your own text for the question or prompt, answer options, explanation, and so on.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can use the advanced editor to identify the elements of a dropdown problem with OLX. For more information, see Dropdown Problem OLX Reference.
To use the advanced editor to add a problem, follow these steps.
Follow steps 1-3 for creating the problem in the simple editor.
Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and explanation.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Update the OLX to add optional elements and attributes required for your problem.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
For an overview of feedback in problems, see Adding Feedback and Hints to a Problem. You can add feedback for each of the answer options you provide in the problem. Use the following guidelines when providing feedback.
You can add feedback in a dropdown problem using the simple editor or the advanced editor.
You can configure feedback in the simple editor. When you add a dropdown problem, select the template Dropdown with Hints and Feedback. This template has example feedback syntax that you can replace.
[[
Wrong Answer {{Feedback for learners who select this answer.}}
Wrong Answer {{Feedback for learners who select this answer.}}
(Correct Answer) {{Feedback for learners who select this answer.}}
]]
Note
When you include feedback, you might find it more convenient to use new lines to separate the answer options.
For example, the following problem has feedback for each possible answer.
>>A/an ________ is an example of a vegetable.<<
[[
apple {{An apple is the fertilized ovary that comes from an apple tree and
contains seeds classifying it as a fruit.}}
pumpkin {{A pumpkin is the fertilized ovary of a squash plant and contains
seeds classifying it as a fruit.}}
(potato) {{A potato is an edible part of a plant in tuber form and is
classified as a vegetable}}
tomato {{Many people mistakenly think a tomato is a vegetable. However,
because a tomato is the fertilized ovary of a tomato plant and contains
seeds it is classified as a fruit.}}
]]
In the advanced editor, you configure answer feedback with the following syntax.
<option correct="False">Option Label
<optionhint>Feedback for when a learner selects this incorrect answer.</optionhint>
</option>
For example, the following problem has feedback for each answer.
<problem>
<optionresponse>
<label>A/an ________ is an example of a vegetable.</label>
<optioninput>
<option correct="False">apple
<optionhint>An apple is the fertilized ovary that comes from an
apple tree and contains seeds classifying it as a fruit.</optionhint>
</option>
<option correct="False">pumpkin
<optionhint>A pumpkin is the fertilized ovary of a squash plant and
contains seeds classifying it as a fruit.</optionhint>
</option>
<option correct="True">potato
<optionhint>A potato is an edible part of a plant in tuber form and
is classified as a vegetable.</optionhint>
</option>
<option correct="False">tomato
<optionhint>Many people mistakenly think a tomato is a vegetable.
However, because a tomato is the fertilized ovary of a tomato plant
and contains seeds it is classified as a fruit.</optionhint>
</option>
</optioninput>
</optionresponse>
</problem>
By default, the feedback labels shown to learners are Correct and Incorrect. If you do not define feedback labels, learners see these terms when they submit an answer, as in the following example.
Incorrect:
An apple is the fertilized ovary that comes from an apple tree and contains
seeds classifying it as a fruit.
You can configure the problem to override the default labels. For example, you can configure a custom label for a specific wrong answer.
Not Quite:
Many people mistakenly think a tomato is a vegetable. However, because a
tomato is the fertilized ovary of a tomato plant and contains seeds it is
classified as a fruit.
Note
The default labels Correct and Incorrect display in the learner’s requested language. If you provide custom labels, they display as you define them to all learners. They are not translated into different languages.
In the simple editor, you configure custom feedback labels with the following syntax.
[[
Incorrect Answer {{Label:: Feedback for learners who select this answer.}}
.
.
.
]]
That is, you provide the label text, followed by two colon (:) characters, before the feedback text.
For example, the following feedback is configured to use a custom label.
[[
tomato {{Not Quite:: Many people mistakenly think a tomato is a
vegetable. However, because a tomato is the fertilized ovary of a tomato
plant and contains seeds, it is a fruit.}}
.
.
.
]]
In the advanced editor, you configure custom feedback labels with the following syntax.
<option correct="False">Answer
<optionhint label="Custom Label">Feedback for learners who select this answer.</optionhint>
</option>
For example, the following feedback is configured to use a custom label.
<option correct="False">tomato
<optionhint label="Not Quite">Many people mistakenly think a tomato is a
vegetable. However, because a tomato is the fertilized ovary of a tomato
plant and contains seeds it is classified as a fruit.</optionhint>
</option>
You can add hints to a dropdown problem using the simple editor or the advanced editor. For an overview of hints in problems, see Adding Feedback and Hints to a Problem.
In the simple editor, you configure hints with the following syntax.
||Hint 1||
||Hint 2||
||Hint n||
Note
You can configure any number of hints. The learner views one hint at a time and views the next one by selecting Hint again.
For example, the following problem has two hints.
||A fruit is the fertilized ovary from a flower.||
||A fruit contains seeds of the plant.||
In the advanced editor, you add the <demandhint>
element immediately before
the closing </problem>
tag, and then configure each hint using the
<hint>
element.
.
.
.
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For example, the following OLX for a multiple choice problem shows two hints.
.
.
.
</multiplechoiceresponse>
<demandhint>
<hint>A fruit is the fertilized ovary from a flower.</hint>
<hint>A fruit contains seeds of the plant.</hint>
</demandhint>
</problem>
<problem>
<optionresponse>
<label>Question or prompt text</label>
<description>Optional information about how to answer the question</description>
<option correct="False">Option Label
<optionhint>Feedback for when learner selects this answer.</optionhint>
</option>
<option correct="True">Option Label
<optionhint>Feedback for when learner selects this answer.</optionhint>
</option>
<solution>
<div class="detailed-solution">
<p>Explanation or Solution Header</p>
<p>Explanation or solution text</p>
</div>
</solution>
</optionresponse>
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For dropdown problems, the <problem>
element can include this
hierarchy of child elements.
<optionresponse>
<label>
<description>
<optioninput>
<option>
<optionhint>
<solution>
<demandhint>
<hint>
In addition, standard HTML tags can be used to format text.
<optionresponse>
¶Required. Indicates that the problem is a dropdown problem.
None.
<label>
<description>
<optioninput>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<optioninput>
¶Required. Designates an answer option.
Attribute | Description |
---|---|
options |
Either this attribute or a set of
|
correct |
Used if the options attribute is set. Required. Indicates
which of the answer options is correct. |
<option>
<optionhint>
<option>
¶Designates an answer option. Either a set of <option>
child elements or the
options
attribute for <optioninput>
is required.
Attribute | Description |
---|---|
correct |
Required. Indicates whether the answer option is correct or incorrect.
When set to "true" , the choice is a correct answer. At least one
required. When set to "false" , the choice is an incorrect answer. |
If the <option>
element is used, <optionhint>
is a child of
<option>
.
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that contains more than one question.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
Note
EdX offers provisional support for this tool.
An external grader is a service that receives learner responses to a problem, processes those responses, and returns feedback and a problem grade to the platform. Course teams build and deploy a grader on an external platform, such as Amazon Web Services (AWS) or Azure, and then link their external grader to the platform using an interface called XQueue. XQueue is a Representational State Transfer (RESTful) interface that uses JavaScript Object Notation (JSON) objects.
For more information, see the following sections.
XQueue uses the following workflow for external grader problems.
For the code for the XQueue interface, see the urls.py
file in the edX
XQueue repository.
An external grader is particularly useful for software programming courses where learners are asked to submit complex code. The grader can run tests that you define on that code and return results to a learner.
For example, you define a problem that requires learners to submit Python code, and create a set of tests that an external grader can run to verify the submissions. When a learner enters Python code for the problem and selects Submit, the LMS sends the code to the grader for testing. If the code passes all tests, the grader returns the score and a message indicating that the solution is correct. The learner can see the message by selecting See full output. A message can be useful when the learner’s solution is not correct and you want to return information about the failed tests, as in the following example.
An external grader problem in Studio must have the following requirements.
Before you can add an external grader problem, you must obtain a public GNU Privacy Guard (GPG) key. For information about how to obtain a GPG key, see the GnuPG website.
The external grader problems in your course must use a specific XQueue name. You create the name for the XQueue that your course uses when you request account credentials.
To request account credentials, contact the system administrator for your instance of the Open edX platform.
We strongly recommend that you test your XQueue credentials when you receive them. To test your XQueue credentials, run the following commands at a command prompt. Replace the placeholder values with the values for your credentials.
curl -v -d "username=&password=" "https://xqueue.edx.org/xqueue/login/"
curl -v -b "sessionid=returnedbylogin" "https://xqueue.edx.org/xqueue/get_queuelen/?queue_name=your_q"
curl -v -d "username=&password=" "https://xqueue.edx.org/xqueue/login/"
curl -v -b "sessionid=returnedbylogin" "https://xqueue.edx.org/xqueue/get_queuelen/?queue_name=your_queue_name"
Both the learner submission that XQueue sends to the grader, and the response that the grader sends to XQueue, are JSON objects.
Note
XQueue does not send the learner ID to the external grader. Your grader cannot access IDs or associate learner IDs with submissions.
The grader must receive a JSON object as a learner submission. The JSON object has the following keys.
xqueue_header
: A dictionary that the grader uses to identify the
submission when the grader returns the submission to XQueue. Do not edit this
dictionary. Return this dictionary to XQueue in the same xqueue_header
part of the JSON object.xqueue_files
: A dictionary of key/value pairs that contains a list of
files that the learner submitted. In this dictionary, each key is a file
name, and each value is the location of the file.xqueue_body
: A dictionary that contains the actual submission as JSON.student_info
: A dictionary that contains the following information
about the student in relation to this submission.anonymous_student_id
: A string that contains an anonymized identifier
of the student.submission_time
: A string that contains a timestamp with the time of
submission in YYYYMMDDHHMMSS
format.random_seed
: If a randomization script is attached to the problem,
random_seed
is an integer that contains the seed that initializes the
randomization script.student_response
: A string that contains the learner’s code submission.
A learner can submit code by entering a string in the LMS or by attaching a
file. XQueue stores files that learners upload in xqueue_files
.grader_payload
: An optional string that you can specify when you create
the problem. For more information, see Create an External Grader Problem in Studio.An example JSON object for a learner submission follows.
{
"xqueue_header": {
"submission_id": 72,
"submission_key": "ffcd933556c926a307c45e0af5131995"
}
"xqueue_files": {
"helloworld.c": "http://download.location.com/helloworld.c"
}
"xqueue_body":
"{
"student_info": {
"anonymous_student_id": "106ecd878f4148a5cabb6bbb0979b730",
"submission_time": "20160324104521",
"random_seed": 334
},
"student_response": "def double(x):\n return 2*x\n",
"grader_payload": "problem_2"
}"
}
After the grader runs tests and records the results for a submission, the grader must return information by posting a JSON response. The JSON string contains a value that indicates the following information.
In the following example external grader response, the learner’s submission was correct, the score was 1, and the tests created a brief message.
{
“xqueue_header”: {
Identical to what was received from the xqueue
},
“xqueue_body”: {
"correct": true,
"score": 1,
"msg": "<p>The code passed all tests.</p>"
}
}
The course team builds and deploys the external grader.
When you build your external grader, keep the following requirements in mind.
To communicate with XQueue, the grader must accept and return JSON objects. For more information, see XQueue JSON Objects.
The external grader must actively retrieve, or pull, submissions from the XQueue through a RESTful interface at regular intervals.
The following repositories contain examples of external graders that use pull mode.
The grader must be scalable. Many learners might submit responses at one time, such as shortly before an exam is due. The grader must be able to process many submissions in a limited time, without failure or unexpected delays.
The grader must not constantly send queries unless the grader detects that
the queuelen
value is growing. If XQueue receives too many requests from
a grader, the XQueue system administrator may apply throttling to the grader.
The grader must implement security features.
You are responsible for the server that runs the code that learners submit. Your system must protect against learners who might submit malicious code and ensure that the external grader runs only code that is relevant to the course problems. Your specific security implementation depends on the programming language that you are using and your deployment architecture. You must ensure that malicious code will not damage your server.
If you know the grader will be unavailable at a certain time for maintenance, you should add a course update.
To create an external grader problem in Studio, you create an Open Learning XML (OLX) definition of the problem, and then add the code to a problem component.
The OLX definition of a problem contains the following information.
queuename
attribute that specifies the name of the XQueue that you
created. For more information, see XQueue Name.<label>
element that contains the instructions for the problem.<textbox>
: The learner enters code in a browser field while the learner
views the course unit.<filesubmission>
: The learner attaches and submits a code file in the
unit.<grader_payload>
element to
tell the grader which tests to run for a problem.The following example shows the OLX definition of a problem that uses an external grader.
<problem>
<coderesponse queuename="my_course_queue">
<label>Write a program that prints "hello world".</label>
<textbox rows="10" cols="80" mode="python" tabsize="4"/>
<codeparam>
<initial_display>
# students write your program here
print ""
</initial_display>
<answer_display>
print "hello world"
</answer_display>
<grader_payload>
{"output": "hello world", "max_length": 2}
</grader_payload>
</codeparam>
</coderesponse>
</problem>
To create a code response problem in Studio, follow these steps.
Note
To validate your external grader and test a problem, you must view the component in a published unit in the LMS. If you test a problem in Studio, you receive an “Error: No grader has been set up for this problem” message.
For more information about creating problems in Studio, see Working with Problem Components.
Note
EdX does not support this problem type.
Some large images are difficult for learners to view in the courseware. The full screen image tool allows learners to enlarge the image, so they can see all the detail in context.
The learner sees the full screen image in a unit page. When the learner moves the cursor over the image, the Fullscreen option appears.
When the learner selects Fullscreen, the image opens and expands in the full browser window. Close, Zoom In, and Zoom Out options appear.
The learner can then zoom in on the image, and drag the image to view a specific part of it.
Upload your image file to the Files & Uploads page. For more information, see Adding Files to a Course.
Under Add New Component, select HTML, and then select Full Screen Image Tool.
In the new component that appears, select Edit.
In the component editor, replace the default title, remove the instructional paragraph, and add text as needed.
Select HTML from the toolbar to edit the HTML source code.
Scroll down in the file, and then replace the following placeholders with your own content.
Replace the value of the <a>
element’s href
attribute with the
path to your image. Do not change the value of the class attribute. For
example:
<a href="/static/Image1.jpg" class="modal-content">
Replace the value of the <img>
element’s src
attribute with the
path to your image. For example:
<img alt="Full screen image" src="/static/Image1.jpg"/>
Ensure that the value of the href
and src
attributes are the same,
and that you do not change the class attribute. Your sample code should
look like the following example.
<h3>Sample Image Modal</h3>
<a href="/static/Image1.jpg" class="modal-content">
<img alt="Full screen image" src="/static/Image1.jpg"/>
</a>
Note
You can use this same HTML code in any HTML component, not just those components you created as full screen images.
Select Save.
Note
EdX does not support this tool.
The gene explorer (GeneX), from the biology department at UMB, simulates the transcription, splicing, processing, and translation of a small hypothetical eukaryotic gene. GeneX allows learners to make specific mutations in a gene sequence, and it then calculates and displays the effects of the mutations on the mRNA and protein.
Specifically, the gene explorer does the following:
For more information about the gene explorer, see The Gene Explorer.
<problem>
<p>Make a single base pair substitution mutation in the gene below that results in a protein that is longer than the protein produced by the original gene. When you are satisfied with your change and its effect, click the <b>SUBMIT</b> button.</p>
<p>Note that a "single base pair substitution mutation" is when a single base is changed to another base; for example, changing the A at position 80 to a T. Deletions and insertions are not allowed.</p>
<script type="loncapa/python">
def genex_grader(expect,ans):
if ans=="CORRECT": return True
import json
ans=json.loads(ans)
return ans["genex_answer"]=="CORRECT"
</script>
<customresponse cfn="genex_grader">
<editageneinput width="818" height="1000" dna_sequence="TAAGGCTATAACCGAGATTGATGCCTTGTGCGATAAGGTGTGTCCCCCCCCAAAGTGTCGGATGTCGAGTGCGCGTGCAAAAAAAAACAAAGGCGAGGACCTTAAGAAGGTGTGAGGGGGCGCTCGAT" genex_dna_sequence="TAAGGCTATAACCGAGATTGATGCCTTGTGCGATAAGGTGTGTCCCCCCCCAAAGTGTCGGATGTCGAGTGCGCGTGCAAAAAAAAACAAAGGCGAGGACCTTAAGAAGGTGTGAGGGGGCGCTCGAT" genex_problem_number="2"/>
</customresponse>
</problem>
In this code:
Note
EdX offers provisional support for this tool.
This topic describes how to embed Google Calendars in your course.
Before you make content from an external site available through your course, be sure to review the content to ensure that it is accessible to people with disabilities. For more information, see Accessibility Best Practices for Developing Course Content.
You can also add Google Drive files, such as documents, spreadsheets, and images, to your course. For more information, see Google Drive Files Tool.
Note
Google services are not available in some regions and countries. If Google services are not available in a learner’s area, the learner might see an “image unavailable” message in the place of the Google Drive file or Google Calendar. EdX strongly suggests that you provide alternative resources for learners in these areas.
You can embed a Google Calendar in your course so that learners see the calendar in the course body. You can use a Google Calendar to share quiz dates, office hours, or other schedules of interest to learners.
To embed a Google Calendar in your course, follow these steps.
Before you can add Google Calendars to your course, you must enable the Google Calendars tool in Studio or OLX (open learning XML).
To enable the Google Calendars tool in Studio, you add the
"google-calendar"
key to the Advanced Module List on the Advanced
Settings page. (Be sure to include the quotation marks around the key
value.) For more information, see Enabling Additional Exercises and Tools.
Alternatively, you can use OLX to enable the Google Calendars tool.
To enable Google Calendars in your course, you edit the XML file that defines
the course structure. You locate the course
element’s advanced-modules
attribute, and add the string google-calendar
to it.
For example, the following XML code enables Google Calendars in a course. It also enables Google Drive files.
<course advanced_modules="["google-document",
"google-calendar"]" display_name="Sample Course"
start="2014-01-01T00:00:00Z">
...
</course>
For more information, see OLX Course Building Blocks in the EdX Open Learning XML Guide.
Before you can add a Google Calendar to your course, you must make the Calendar public and obtain its ID.
Important
The tasks described in this section rely on the use of third-party software. Because the software is subject to change by its owner, the steps provided here are intended as guidelines and not as an exact procedure.
Open the Google Calendar.
From the Settings menu, select Settings.
Select the Calendars tab.
You might have multiple calendars on the Calendars tab. Find the calendar that you want to share in your course.
In the row for the calendar to share, in the Sharing column, select Edit Settings.
Select the Share this Calendar tab, and then select Make this calendar public.
Select Save.
The Calendar Settings page closes, and you return to the Calendars tab. You continue by obtaining the Google Calendar’s ID.
On the Calendars tab, select the name of the calendar.
Select the Calendar Details tab.
Next to the Calendar Address label, look to the right of the three colored XML, ICAL, and HTML buttons. In parentheses, you can see the calendar ID.
The calendar ID resembles the following text.
abcdefghijklmnop1234567890@group.calendar.google.com
Select and copy the calendar ID. You use this value to configure the Google Calendar component in your course.
To add a Google calendar in the course body, you create an advanced component in Studio or create a Google Calendar XBlock in OLX.
Make sure that you enable Google Calendars for your course before you add a Google Calendar component.
To add a Google Calendar component, follow these steps.
On the Course Outline page, open the unit where you want to add the Google Calendar component.
Under Add New Component, select Advanced, and then select Google Calendar.
The new component is added to the unit, with the default edX Google Calendar embedded.
In the new component, select Edit.
In the Display Name field, type the name for the component.
In the Public Calendar ID field, paste the calendar ID you copied in the Obtain the Google Calendar ID task.
For the Default View field, select Month, Week, or Agenda.
This is the initial view that your learners have of the calendar. Each learner can change his or her view.
Select Save.
You can then Previewing Draft Content to see how the unit with the Google Calendar will appear to learners.
To add a Google Calendar XBlock in OLX, create the google-calendar
element.
You can embed this element in the vertical
element, or you can embed this
element in its own file that is referenced within the vertical. For more
information, see OLX Course Building Blocks in the EdX Open
Learning XML Guide.
An example follows.
<google-calendar url_name="4115e717366045eaae7764b2e1f25e4c"
calendar_id="abcdefghijklmnop1234567890@group.calendar.google.com"
default_view="1" display_name="Class Schedule"/>
The value of the calendar_id
attribute is the calendar ID that you copied
in the Obtain the Google Calendar ID task.
Note
The edX Learning Management System sets the height and width values for Google Calendars. If you add these attributes, the LMS overrides your changes.
When you make changes to a Google Calendar that is embedded in your course, learners see the updates immediately. You make changes to calendars with the Google user interface. You do not need to edit the Google Calendar component.
Note
EdX offers provisional support for this tool.
This topic describes how to embed Google Drive files, such as documents, spreadsheets, and images, in your course.
Before you make content from an external site available through your course, be sure to review the content to ensure that it is accessible to people with disabilities. For more information, see Accessibility Best Practices for Developing Course Content.
You can also use Google calendars in the course body. For more information, see Google Calendar Tool.
Note
Google services are not available in some regions and countries. If Google services are not available in a learner’s area, the learner might see an “image unavailable” message in the place of the Google Drive file or calendar. EdX strongly suggests that you provide alternative resources for learners in these areas.
You can embed a Google Drive file in your course so that learners see the file in the course body. For example, you can share a Google spreadsheet with learners.
You can embed the following types of Google Drive files.
To embed a Google Drive file in your course, follow these steps.
Before you can add Google Drive files to your course, you must enable the Google Drive tool in Studio or OLX (open learning XML).
To enable the Google Drive tool in Studio, you add the "google-document"
key to the Advanced Module List on the Advanced Settings page. For
more information, see Enabling Additional Exercises and Tools.
Alternatively, you can use OLX to enable the Google Drive tool.
To enable Google Drive files in your course, you edit the XML file that
defines the course structure. You locate the course
element’s
advanced-modules
attribute, and add the string google-document
to it.
For example, the following XML code enables Google Drive files in a course. It also enables Google calendars.
<course advanced_modules="["google-document",
"google-calendar"]" display_name="Sample Course"
start="2014-01-01T00:00:00Z">
...
</course>
For more information, see OLX Course Building Blocks in the EdX Open Learning XML Guide.
Before you can add a Google Drive file to your course, you must publish the file to the web and obtain the embed code for the file.
Important
The task described in this section relies on the use of third-party software. Because the software is subject to change by its owner, the steps provided here are intended as guidelines and not as an exact procedure.
Open the Google Drive file.
From the File menu, select Publish to the web.
Select Publish, and then select OK to confirm the action.
Select the Embed tab.
Copy the complete string in the Embed field, including the <iframe>
tags.
Note
Google images do not have an <iframe>
tag. To embed an image, you copy
the complete img
tag.
You use that string to configure the Google Drive file component.
To add a Google Drive file in the course body, you create an advanced component in Studio or create a Google Document XBlock in OLX.
Ensure you enable Google Drive files before you add the component.
To add a Google Drive file component, follow these steps.
On the Course Outline page, open the unit where you want to add the Google Drive component.
Under Add New Component, select Advanced, and then select Google Document.
The new component is added to the unit, with the default Google presentation embedded.
In the new component, select Edit.
In the Display Name field, enter the name for the component.
In the Embed Code field, paste the embed code that you copied in the Obtain the Google Drive File Embed Code task.
Select Save.
You can then Previewing Draft Content to see how the unit with the Google drive file will appear to learners.
To add a Google Drive file XBlock in OLX, you create the
google-document
element. You can embed the google-document
element in the vertical
element, or you can create the
google-document
element as a stand-alone file that you reference
in the vertical.
For more information, see OLX Course Building Blocks in the EdX Open Learning XML Guide.
For example:
<google-document url_name="c5804436419148f68e2ee44abd396b12"
embed_code="<iframe
frameborder="0" src="https://docs.google.com/spreadsheet/pub
?key=0AuZ_5O2JZpH5dGVUVDNGUE05aTFNcEl2Z0ZuTUNmWUE&output=html&widge
t=true"></iframe>" display_name="Google Document"/>
The value of the embed_code
attribute is the embed code you copied in the
Obtain the Google Drive File Embed Code task.
Note
The edX Learning Management System sets the height and width values for Google Drive files. If you add these attributes, the LMS overrides your changes.
When you edit and save a Google Drive file that is embedded in your course, learners see the updates immediately. You make changes to files with the Google user interface. You do not need to edit the Google Document component.
Note
EdX offers provisional support for this tool.
The iframe tool allows you to integrate ungraded exercises and tools from any Internet site into the body of your course. It places an iframe inside an HTML component, and then the exercise or tool appears inside the iframe. The iframe can include your own tools or third-party tools.
Before you make content or a tool from an external site available through your course, be sure to review the content or tool to ensure that it is accessible to people with disabilities. For example, in addition to testing the iframe components that you add to your course, you can ask third party providers to confirm that a tool is accessible, and, if available, contact your on campus accessibility support services for additional guidance. For more information, see Accessibility Best Practices for Developing Course Content.
Iframes are well-suited for tools that demonstrate a concept, but that are not graded or used to store student data. If you want to add a graded tool or exercise, add the tool as a custom JavaScript problem or an LTI component.
For more information about iframes, see the iframe: The Inline Frame element.
To add an exercise or tool in an iframe, you create an iframe HTML component and add the URL of the page that contains the exercise or tool to the component. You can also add text and images both before and after the iframe.
Note
The URL of the page that contains the exercise or tool must start
with https
instead of http
. If the URL starts with http
, work with
the owner of that page to find out if an https
version is available. Some
websites do not allow their content to be embedded in iframes.
Under Add New Component, select HTML, and then select IFrame Tool.
In the new component, select Edit.
In the visual editor toolbar, select HTML.
In the HTML source code editor, locate the following HTML (line 7). This
HTML includes the <iframe>
element.
<p><iframe src="https://studio.edx.org/c4x/edX/DemoX/asset/eulerLineDemo.html" width="402" height="402" marginwidth="0" marginheight="0" frameborder="0" scrolling="no">You need an iFrame capable browser to view this.</iframe></p>
Replace the default URL in the src
attribute
(https://studio.edx.org/c4x/edX/DemoX/asset/eulerLineDemo.html
) with the
URL of the page that contains the exercise or tool. This URL must start
with https. Make sure that you do not delete the quotation marks that
surround the URL.
Change the attributes in the iframe element to specify any other settings
that you want. For more information about these settings, see Iframe Settings. You can also change the text between the opening and closing
<iframe>
tags. Learners see this text only when they use a browser that
does not support iframes.
Select OK to close the HTML source code editor and return to the visual editor.
In the visual editor, replace the default text with your own text.
Select Save.
To specify settings for your iframe, you add, remove, or change the
attributes inside the opening <iframe>
tag. The <iframe>
tag must
contain a src
attribute and a title
attribute. Other attributes are
optional.
You can add these attributes in any order you want.
Attribute | Description |
---|---|
src (required) |
Specifies the URL of the page that contains the exercise or tool, beginning with https. |
title (required) |
Describes the content or its purpose in the context of the course. |
width and height (optional) |
Specify the width and height of the iframe, in pixels or as a percentage. To specify the value in pixels, enter numerals. To specify a percentage, enter numerals followed by a percent sign. If you do not specify the width and height, the iframe uses the dimensions that the linked page has set. These dimensions vary by website. If you change the width and height of the iframe, the content from the linked page might be resized, or only part of the content may appear. |
marginwidth and marginheight (optional) |
Specify the size of the space between the edges of the iframe and your exercise or tool, in pixels. |
frameborder (optional) |
Specifies whether a border appears around your iframe. If the value is 0, no border appears. If the value is any positive number, a border appears. |
scrolling (optional) |
For an iframe that is smaller than the exercise or tool it contains, specifies whether a scrollbar appears to help users access all of the iframe’s content. For example, if the content in your iframe is very tall, you can set the iframe’s height to a smaller number and add a vertical scroll bar for users, as in the first image below. |
For example, compare how the different settings in each of the <iframe>
elements below affect the iframe.
<p><iframe src="https://studio.edx.org/c4x/edX/DemoX/asset/eulerLineDemo.html" width="442" height="200" marginwidth="20" marginheight="20" frameborder="1" scrolling="yes">You need an iFrame capable browser to view this.</iframe></p>
<p><iframe src="https://studio.edx.org/c4x/edX/DemoX/asset/eulerLineDemo.html" width="550" height="250" marginwidth="30" marginheight="60" frameborder="1" scrolling="no">You need an iFrame capable browser to view this.</iframe></p>
For more information about iframe attributes, see iframe: The Inline Frame element.
Note
EdX does not support this problem type.
In an image mapped input problem, also known as a “pointing on a picture” problem, students click inside a defined region in an image. You define this region by including coordinates in the body of the problem.
You can specify the following types of regions.
Note
When you create a problem that contains an image, you must include alt text for your image to make the image accessible. For more information about alt text, see Use Best Practices for Describing Images.
To create an image mapped input problem, follow these steps.
To create an image mapped input problem, you need the following elements.
- The height and width of the image in pixels.
- Coordinate pairs that define the region or regions where you want learners to click.
To collect the information you need about your image, use an image editing tool such as Microsoft Paint.
Note
The coordinate pairs for all images start with (0,0) in the upper-left corner of the image and increase in value toward the lower-right corner, similar to the progression of reading English.
To specify a rectangular region, you need two coordinate pairs: the upper-left corner and the lower-right corner.
To specify more than one rectangle, you need the coordinate pairs for the upper-left and lower-right corners of each rectangle.
To specify an irregular region, you need three or more coordinate pairs. Studio creates the simplest possible shape based on these coordinate pairs. You can enter the coordinate pairs in any order.
For example, for a triangle, you need three coordinate pairs. For an octagon, you need eight coordinate pairs.
<imageinput>
element, follow these steps.src
attribute with the file
path for your image.width
and height
attributes
with the dimensions for your image.rectangle
attribute to reflect the shape and size
of the region that you want to specify. For more information, see
Specify a Rectangular Region, Specify Multiple Rectangular Regions, or Specify an Irregular Region.To specify a rectangular region, edit the rectangle
attribute in the
<imageinput>
element.
For example, the following rectangle
attribute creates one rectangle from
two coordinate pairs:
rectangle="(338,98)-(412,168)"
Problem Code:
<problem>
<p>What country is home to the Pyramids as well as the cities of
Cairo and Memphis? Click the country on the map below.</p>
<imageresponse>
<imageinput src="/static/Africa.png" width="600" height="638"
rectangle="(338,98)-(412,168)" alt="Map of Africa" />
</imageresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Egypt is home to not only the Pyramids, Cairo, and Memphis, but also the
Sphinx and the ancient Royal Library of Alexandria.</p>
</div>
</solution>
</problem>
You can specify more than one rectangular region in an image.
To specify multiple rectangular regions, edit the rectangle
attribute in
the <imageinput>
element.
For example, the following rectangle
attribute creates three rectangles:
rectangle="(62,94)-(262,137);(306,41)-(389,173);(89,211)-(187,410)"
Problem Code:
<problem>
<p>In the following image, click inside any of the rectangles.</p>
<imageresponse>
<imageinput src="/static/imageresponse_multipleregions.png" width="450"
height="450" rectangle="(62,94)-(262,137);(306,41)-(389,173);(89,211)-
(187,410)" alt="Three rectangles on a white background" />
</imageresponse>
</problem>
You can specify one non-rectangular region.
To specify an irregular region, edit the rectangle
attribute in the
<imageinput>
element.
rectangle
to region
.For example, the following regions
attribute creates a pentagon.
regions="[[219,86], [305,192], [305,381], [139,381], [139,192]]"
Problem Code:
<problem>
<p>In the following image, click inside the pentagon.</p>
<imageresponse>
<imageinput src="/static/imageresponse_irregularregions.jpg" width="600"
height="204" regions="[[219,86], [305,192], [305,381], [139,381],
[139,192]]" alt ="A series of 10 shapes including a circle, triangle,
trapezoid, pentagon, star, and octagon" />
</imageresponse>
</problem>
<problem>
<p>Problem text</p>
<imageresponse>
<imageinput src="IMAGE FILE PATH" width="NUMBER" height="NUMBER"
rectangle="(X-AXIS,Y-AXIS)-(X-AXIS,Y-AXIS)" alt="DESCRIPTION OF
IMAGE" />
</imageresponse>
</problem>
<imageresponse>
: Indicates that the problem is an image mapped input
problem.<imageinput>
: Specifies the image file and the region in the file that
the learner must click.Tag: <imageresponse>
Indicates that the problem is an image mapped input problem.
Attributes
(none)
Children
<imageinput>
Tag: <imageinput>
Specifies the image file and the region in the file where learners must click.
Attributes
Attribute Description src
(required)The URL of the image height
(required)The height of the image, in pixels width
(required)The width of the image, in pixels rectangle
(required) (or, for irregular regions,region
)An attribute with two or more coordinate pairs that define the region where learners should click alt
(required)A description of the image, used for accessibility Children
(none)
Note
EdX offers full support for this tool.
You can integrate remote learning tools, such as applications and textbooks, into your course with the learning tools interoperability (LTI) component. The LTI component is based on the IMS Global Learning Tools Interoperability version 1.1.1 specifications.
Before you make tools from an external site available through your course, be sure to review the tools to ensure that they are accessible to people with disabilities. For example, in addition to testing the LTI components that you add to your course, you can ask third party providers to confirm that a tool is accessible, and, if available, contact your on campus accessibility support services for additional guidance. For more information, see Accessibility Best Practices for Developing Course Content.
You can use an LTI component in several ways.
For example, the following LTI component integrates a Cerego tool that learners interact with into the LMS for a course.
When you add an LTI component to your course, the edX Learning Management System (LMS) is the LTI tool consumer, and the external tool or content is the LTI tool provider.
Be sure to review all supplemental materials to ensure that they are accessible before making them available through your course. For more information, see Accessibility Best Practices for Developing Course Content.
You can also integrate content from a course into a remote learning management system such as Canvas or Blackboard.
For more information about how to use Studio as an LTI tool provider, see Using Open edX as an LTI Tool Provider.
Some LTI tools require users to provide authentication credentials. If the LTI tool you are including in your course requires authentication, you must add an LTI passport for that tool to your course configuration.
An LTI passport is a string of text that contains the authentication key and shared secret for one LTI tool. A passport also contains the LTI ID for the tool. When you add an LTI component to your course, assign it a matching LTI ID so that it can use the LTI passport that it requires.
For more information about creating and registering LTI passports, see the following sections.
Each LTI passport includes three component text strings that are separated by colon characters. The component strings are: the LTI ID, the client key, and the client secret.
The LTI ID is a value that you create to refer to the remote LTI tool provider. You should create an LTI ID that you can remember easily.
The LTI ID can contain uppercase and lowercase alphanumeric characters, as
well as underscore characters (_). It can be any length. For example, you
can create an LTI ID that is as simple as test_lti_id
, or your LTI ID
can be a string of numbers and letters such as id_21441
or
book_lti_provider_from_new_york
.
The client key is a sequence of characters that you obtain from the LTI
tool provider. The client key is used for authentication and can contain any
number of characters. For example, your client key might be
b289378-f88d-2929-ctools.school.edu
.
The client secret is a sequence of characters that you obtain from the
LTI tool provider. The client secret is used for authentication and can
contain any number of characters. For example, your client secret can be
something as simple as secret
, or it might be a string of numbers and
letters such as 23746387264
or yt4984yr8
.
To create an LTI passport, combine the LTI ID, client key, and client secret in the following format (be sure to include the colons).
{your_lti_id}:{client_key}:{client_secret}
The following example LTI passports show the format of the passport string.
test_lti_id:b289378-f88d-2929-ctools.school.edu:secret
id_21441:b289378-f88d-2929-ctools.school.edu:23746387264
book_lti_provider_from_new_york:b289378-f88d-2929-ctools.company.com:yt4984yr
8
To add an LTI passport for an LTI tool to the configuration for your course, follow these steps.
From the Studio Settings menu, select Advanced Settings.
In the LTI Passports field, place your cursor between the brackets.
Enter the LTI passport string surrounded by quotation marks.
The following example shows an LTI passport string.
"test_lti_id:b289378-f88d-2929-ctools.umich.edu:secret"
For more information about creating your key, see LTI Authentication Information.
If you use more than one LTI provider in your course, separate each LTI passport string with commas. Make sure to surround each entry with quotation marks. The following example shows multiple LTI passports in the LTI Passports field.
[
"test_lti_id:b289378-f88d-2929-ctools.umich.edu:secret",
"id_21441:b289378-f88d-2929-ctools.school.edu:23746387264",
"book_lti_provider_from_new_york:b289378-f88d-2929-ctools.company.com:yt4984yr8"
]
Select Save Changes.
The page refreshes automatically, reformats your entry in the LTI Passports field, and displays a notification that your changes have been saved.
Before you can add LTI components to your course, you must enable the LTI tool in Studio.
To enable the LTI tool in Studio, add the "lti_consumer"
module to the
Advanced Module List on the Advanced Settings page. For more
information, see Enabling Additional Exercises and Tools.
Note
The lti_consumer
module replaces a previous version of the LTI component.
The name of the module for the previous LTI component is lti
and it may
appear in the Advanced Module List for older courses.
The lti_consumer
module includes all of the functionality of the previous
LTI component and it should be used for all new courses. Courses that include
the previous LTI component will continue to work correctly, even if the
lti
module is no longer present in the Advanced Module List.
To add an LTI component to a course unit, follow these steps.
If the LTI tool requires authentication, register the key and shared secret for the LTI tool in the configuration for your course. For more information about registering authentication credentials, see LTI Authentication Information.
Edit the unit in which you want to add the remote LTI tool and select Advanced from the Add New Component section. Select LTI Consumer.
If the Advanced component type is not available, make sure you have enabled LTI components. To do this, see Enabling LTI Components for a Course.
Select Edit in the component that appears.
Configure the LTI component in the component editor. For more information about each setting, see LTI Component Settings.
Select Save.
To test an LTI component, use the Preview feature or view the live version in the LMS. For more information, see Testing Your Course Content.
Setting | Description |
---|---|
Display Name | Specifies the name of the component. This name appears as a heading above the problem. Unique, descriptive display names help you identify problems quickly and accurately for analysis. |
LTI Application Information | The description of the remote LTI application. If the application requires a username or email address, use this field to inform learners that their information will be forwarded to the external application. |
LTI ID | Specifies the LTI ID for the remote LTI tool provider. This value must match the LTI ID that you entered as part of the LTI passport string for the LTI tool. For more information about LTI passports, see LTI Authentication Information. |
LTI URL | Specifies the URL of the remote LTI tool that this component launches. |
Custom Parameters | Sends additional parameters that are required by the remote LTI tool. The parameters that you send depend on the specific LTI tool you are using. Supply a key and value for each custom parameter. The key is an identifier for the parameter. Use the following format.
For example, an LTI tool that displays an e-book might accept a ["page=144"]
|
LTI Launch Target | Controls the way that the course page will open and display the remote LTI tool. Options are:
|
Button Text | Enter a custom label for the button that opens the external LTI tool. |
Inline Height | Specifies the on-screen height of the LTI tool in pixels. This setting is only applied if the LTI Launch Target is set to Inline. |
Modal Height | Specifies the on-screen height of the LTI content window as a percentage of the visible web browser window height. Enter the percentage in whole numbers. This setting is only applied if the LTI Launch Target control is set to Modal. |
Modal Width | Specifies the on-screen width of the LTI content window as a percentage of the web browser window width. Enter the percentage in whole numbers. This setting is only applied if the LTI Launch Target control is set to Modal. |
Scored | Indicates whether the LTI component receives a numerical score from the remote LTI tool provider. By default, this value is set to False. |
Weight | Specifies the number of points possible for a problem. By default, if a remote LTI tool provider grades the problem, the problem is worth one point, and a learner’s score can be any value between zero and one. This setting is only applied if Scored is set to True. For more information about problem weights and computing point scores, see Problem Weight. |
Hide External Tool | Controls whether the LTI component will display the remote LTI tool on the course page. Set the value to True to prevent the course page from displaying the remote LTI tool. For example, you might use an LTI component to synchronize with a remote grading system. In that situation, the LTI component should not appear on the course page. Set the value to False to display the remote LTI tool and allow learners to interact with it. |
Accept grades past deadline | Specifies whether third party systems are allowed to post grades after the deadline. By default, this value is set to True. |
Request user’s email | Sends the learner’s email address to the remote LTI tool. An LTI component will only send learners’ email addresses if the LTI Launch Target control is set to New Window. When the new window launches, the learners are warned that if they continue, their email address will be shared with the LTI provider. By default, this setting is not available in Studio. To make this setting available, a system administrator must enable the setting in the Django administration console. |
Request user’s username | Sends the learner’s username to the remote LTI tool. This is the username that the learner used to register for the course. An LTI component will only send learners’ usernames if the LTI Launch Target control is set to New Window. When the new window launches, the learners are warned that if they continue, their username will be shared with the LTI provider. By default, this setting is not available in Studio. To make this setting available in Studio, a system administrator must enable the setting in the Django administration console. |
Note
EdX offers full support for this problem type.
The math expression input problem type is a core problem type that can be added to any course. At a minimum, math expression problems include a question or prompt and a response field for a numeric answer.
For more information about the core problem types, see Working with Problem Components.
In math expression input problems, learners enter text that represents a mathematical expression. The text is converted to a symbolic expression that appears below the response field. Unlike numerical input problems, which only allow integers and a few select constants, math expression input problems can include unknown variables and more complicated symbolic expressions.
For more information about how learners enter expressions, see math formatting in the EdX Learner’s Guide or Completing Mathematical and Scientific Assignments in the Open edX Learner’s Guide.
Note
You can make a calculator tool available to your learners on every unit page. For more information, see Calculator Tool.
For math expression input problems, the grader uses numerical sampling to determine whether a learner’s response matches the math expression that you provide, to a specified numerical tolerance. You specify the allowed variables in the expression as well as the range of values for each variable.
When you create a math expression input problem in Studio, you use MathJax to format text strings into “beautiful math.” For more information about how to use MathJax in Studio, see Using MathJax for Mathematics.
Note
Math expression input problems currently cannot include negative numbers raised to fractional powers, such as (-1)^(1/2). Math expression input problems can include complex numbers raised to fractional powers, or positive non-complex numbers raised to fractional powers.
In the LMS, learners enter a value into a response field to complete a math expression input problem. The following example shows a completed math expression input problem that contains two questions.
The open learning XML (OLX) markup for this example math expression input problem follows.
<problem>
<formularesponse inline="1" type="cs" samples="R,omega,E,rho,L@0.1,0.1,0.1,0.1,0.1:10,10,10,10,10#10" answer="(rho*omega^2*L^2)/E*((11*L)/48 +(3*R)/8)">
<label>Find a symbolic expression for the displacement of the blade mid-section, \( u_{x}(L/2) \), in terms of \(R\), \(L\), \(\rho\), \(\omega\), and \(E\).</label>
<description>\(u_x(L/2) = \)</description>
<responseparam type="tolerance" default="1%"/>
<textline inline="1" math="1"/>
<solution>
<div class="worked-solution">
<p><b>Obtaining the displacement at the mid-section \( u_{x}(x = L / 2)\):</b></p><p>According to the definition of strain,</p>
\[ \frac {du_{x}(x)} {dx} = \epsilon_a(x).\]
<p>Therefore, we can obtain the displacement field as</p>
\[ u_x(x) = u_x(0) + \int_0^x \epsilon_a (x') dx' = u_x(0) + \left[ \frac{\rho \omega^2}{E} \left(\frac{L^2x'}{2} - \frac{(x')^3}{6} + RLx' - \frac{R(x')^2}{2} \right) \right]_0^x\]
<p>Since the bar is fixed at x=0, therefore \(u_x(0)=0\). Hence we obtain</p>
\[\Rightarrow u_x(x) = \frac{\rho\omega^2}{E} \left( \frac{L^2x}{2} - \frac{x^3}{6} + RLx - \frac{Rx^2}{2} \right).\]
<p>The displacement of the bar at \(x=L/2\) is </p>
\[u_{x}(L/2) = \frac {\rho\omega^2L^2}{E} \left( \frac {11L}{48} + \frac {3R}{8} \right).\]
</div>
</solution>
</formularesponse>
<formularesponse inline="1" type="cs" samples="R,omega,E,rho,L@0.1,0.1,0.1,0.1,0.1:10,10,10,10,10#10" answer="(rho*omega^2)/E*(L^3/3 + (R*L^2)/2)">
<label>Find a symbolic expression for the blade elongation \( \delta \) in terms of \(R\), \(L\), \(\rho\), \(\omega\), and \(E\).</label>
<description>\(\delta = \)</description>
<responseparam type="tolerance" default="1%"/>
<textline inline="1" math="1"/>
<solution>
<div class="worked-solution">
\[ \delta = \frac {\rho \omega^2}{E} \left( \frac {L^3} {3} + \frac { RL^2} {2} \right) \]
<p><b>Obtaining the total elongation of the blade \( \delta \):</b></p>
<p>The strain field in the bar is</p>
\[ \epsilon_a(x) = \frac {\mathcal{N}(x)}{EA} = \frac {\rho \omega^2 \left( \frac {L^2 - x^2}{2} + R\left(L-x\right)\right)}{E}. \]
<p>We can now calculate the elongation of the bar as the following.</p>
\[ \delta = \int_0^L \epsilon_{a}(x)dx = \int_0^L \frac {\rho \omega^2}{E} \left( \frac {L^2 - x^2}{2} + R\left(L-x\right)\right)dx. \]
\[ \Rightarrow \delta= \left[ \frac { \rho \omega^2}{E} \left( \frac {L^2x}{2} - \frac {x^3}{6} + RLx - \frac {Rx^2}{2} \right)\right]_0^L.\]
\[ \Rightarrow \delta = \frac {\rho \omega^2}{E} \left( \frac {L^3}{2} - \frac{L^3}{6} + RL^2 - \frac {RL^2}{2} \right).\]
\[\Rightarrow \delta= \frac {\rho \omega^2}{E} \left( \frac {L^3}{3} + \frac {RL^2}{2} \right). \]
</div>
</solution>
</formularesponse>
</problem>
For the math expression input problems in your course, you can use edX Insights to review aggregated learner performance data and examine submitted answers. For more information, see Using edX Insights.
You add math expression input problems in Studio by selecting the Problem component type and then using the advanced editor to specify the prompt and the acceptable answer or answers.
To create a math expression input problem, follow these steps.
Note
The following template includes a Python script. When you add a
script to a problem component, do not add to or change its internal
indentation. A “jailed code” error message appears when you save
the problem in Studio if the <script>
element is indented.
<problem>
<formularesponse type="ci" samples="R_1,R_2,R_3@1,2,3:3,4,5#10" answer="$computed_response">
<label>Problem text</label>
<responseparam type="tolerance" default="0.00001"/>
<formulaequationinput size="20" />
<script type="loncapa/python">
computed_response = PYTHON SCRIPT
</script>
<solution>
<div class="detailed-solution">
<p>Explanation or solution header</p>
<p>Explanation or solution text</p>
</div>
</solution>
</formularesponse>
</problem>
This template includes a placeholder value for the samples
attribute of
samples="R_1,R_2,R_3@1,2,3:3,4,5#10"
. You enter values for this attribute
in the following format:
samples="VARIABLES@LOWER_BOUNDS:UPPER_BOUNDS#NUMBER_OF_SAMPLES"
. Additional detail follows in the description of the <formularesponse>
element.
For math expression input problems, the <problem>
element can include this
hierarchy of child elements.
<problem>
<formularesponse>
<label>
<description>
<formulaequationinput>
<responseparam>
<script>
<solution>
In addition, standard HTML tags can be used to format text.
<formularesponse>
¶Required. Indicates that the problem is a math expression input problem.
The <formularesponse>
tag is similar to the <numericalresponse>
tag
used by numerical input problem types, but
<formularesponse>
allows unknown variables.
Attribute | Description |
---|---|
type |
Can be "cs" for case sensitive, which is the default, or "ci"
for case insensitive, so that capitalization does not matter in variable
names. |
answer |
The correct answer to the problem, given as a mathematical expression. If you precede a variable name in the problem with a dollar sign ($), you can include a script in the problem that computes the expression in terms of that variable. |
samples |
Specifies important information about the problem in the following lists.
Commas separate items inside each of the four individual lists. The at sign (@), colon (:), and hash tag (#) characters separate the lists. An example of the format follows.
For example, a
|
Variable names must be at least one character long. They must start with a letter, which can be followed by letters, numbers and underscores. We strongly recommend only using one underscore, which renders to students as a subscript.
Tensor notation is also supported, as Name_{ijk}^{123}
, where the name must start with a letter, but can otherwise contain letters or numbers, subscripts are contained in the lower braces, and superscripts are contained in the raised braces. Superscripts and subscripts must only be letters or numbers. No other underscores can appear in the name. Note that the subscript must come first, and the braces ensure that the superscripts are not confused with exponentiation.
All variable names (standard and tensor formats) may contain one or more apostrophes (primes) at the end of the variable name, for example, to indicate a derivative or new coordinate system. Note that some students may have trouble entering primes, which some browsers/operating systems automatically convert to a “smart apostrophe” (tablets are most likely to have this issue). We recommend providing a variable name that students may copy and paste to get around this problem.
The following are examples of valid variable names: V_out
, m_1
, G_{ij}
, H^{xy}
, f'
, x_1''
, and H_{ij}^{12}''
.
<label>
<description>
<formulaequationinput>
<responseparam>
<script>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<formulaequationinput>
¶Required. Creates a response field in the LMS where learners enter a response.
Learners also see a second field below the response field that displays a typeset version of the entered response. The parser that renders a learner’s plain text into typeset math is the same parser that evaluates the response for grading.
Attribute | Description |
---|---|
size |
Optional. Defines the width, in characters, of the response field in the LMS. |
None.
<responseparam>
¶Used to define an upper bound on the variance of the numerical methods used to approximate a test for equality.
Attribute | Description |
---|---|
type |
"tolerance" defines a tolerance for a number. |
default |
Required. A number or a percentage specifying how close the learner and grader expressions must be. If you do not include a tolerance, the expression is vulnerable to rounding errors during sampling. The result of such unavoidable errors is that the grader can mark some learner input as incorrect, even if it is algebraically equivalent. |
None.
<script>
¶Optional. Specifies a script that the grader uses to evaluate a learner’s
response. A problem behaves as if all of the code in all of the script elements
were in a single script element. Specifically, any variables that are used in
multiple <script>
elements share a namespace and can be overridden.
As with all Python code, indentation matters, even though the code is embedded in XML.
Attribute | Description |
---|---|
type |
Required. Must be set to loncapa/python . |
None.
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that contains more than one question.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
Note
EdX does not support this tool.
Learners can use the molecule editor to learn how to create molecules. The molecule editor allows learners to draw molecules that follow the rules for covalent bond formation and formal charge, even if the molecules are chemically impossible, are unstable, or do not exist in living systems. The molecule editor warns learners if they try to submit a structure that is chemically impossible.
The molecule editor incorporates two tools: the JSME molecule editor created by Peter Erl and Bruno Bienfait, and JSmol, a JavaScript-based molecular viewer from Jmol. (You don’t need to download either of these tools–Studio uses them automatically.) For more information about the JSME molecule editor, see JSME Molecule Editor. For more information about JSmol, see JSmol.
To create a molecule editor, you need the following files.
To download all of these files in a .zip archive, go to http://files.edx.org/MoleculeEditorFiles.zip.
Note
The molecule that appears when the tool starts is a dopamine molecule. To use a different molecule, download the .mol file for that molecule from the list of molecules on the BioTopics website. Then, upload the .mol file to the Files & Uploads page for your course in Studio, and change “dopamine.mol” in the example code to the name of your .mol file.
To create the molecule editor that appears in the image above, you need an HTML component followed by a problem component.
- In the unit where you want to create the problem, click HTML under Add New Component, and then click HTML.
- In the component that appears, click Edit.
- In the component editor, paste the HTML component code from below.
- Make any changes that you want, and then click Save.
- Under the HTML component, click Problem under Add New Component, and then click Blank Advanced Problem.
- In the component that appears, click Edit.
- In the component editor, paste the problem component code from below.
- Click Save.
To create the molecule editor, you need an HTML component and a problem component.
<h3>Molecule Editor</h3>
<p>The molecule editor makes creating and visualizing molecules easy. A chemistry professor may have you build and submit a molecule as part of an exercise.</p>
<div>
<script type="text/javascript">// <![CDATA[
function toggle2(showHideDiv, switchTextDiv) {
var ele = document.getElementById(showHideDiv);
var text = document.getElementById(switchTextDiv);
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "+ open";
}
else {
ele.style.display = "block";
text.innerHTML = "- close";
}
}
// ]]></script>
</div>
<div>
<style type="text/css"></style>
</div>
<div id="headerDiv">
<div id="titleText">Using the Molecule Editor<a id="myHeader" href="javascript:toggle2('myContent','myHeader');">+ open </a></div>
</div>
<div id="contentDiv">
<div id="myContent" style="display: none;">
<p>In this problem you will edit a molecule using the molecular drawing program shown below:</p>
<img alt="" src="/static/MoleculeEditor_HTML.png" /></div>
</div>
<p> </p>
<div id="headerDiv">
<div id="titleText">Are the molecules I've drawn chemically possible?<a id="IntroductionHeader" href="javascript:toggle2('IntroductionContent','IntroductionHeader');">+ open </a></div>
</div>
<div id="contentDiv">
<div id="IntroductionContent" style="display: none;">
<p>The chemical editor you are using ensures that the structures you draw are correct in one very narrow sense, that they follow the rules for covalent bond formation and formal charge. However, there are many structures that follow these rules that are chemically impossible, unstable, do not exist in living systems, or are beyond the scope of this course. The editor will let you draw them because, in contrast to the rules of formal charge, these properties cannot be easily and reliably predicted from structures.</p>
<p>If you submit a structure that includes atoms that are not possible or are beyond the scope of this course, the software will warn you specifically about these parts of your structure and you will be allowed to edit your structure and re-submit. Submitting an improper structure will not count as one of your tries. In general, you should try to use only the atoms most commonly cited in this course: C, H, N, O, P, and S. If you want to learn about formal charge, you can play around with other atoms and unusual configurations and look at the structures that result.</p>
</div>
</div>
<div id="ap_listener_added"> </div>
<problem>
<p>The dopamine molecule, as shown, cannot make ionic bonds. Edit the dopamine molecule so it can make ionic bonds.</p>
<p>When you are ready, select Submit. If you need to start over, select Reset.</p>
<script type="loncapa/python">
def check1(expect, ans):
import json
mol_info = json.loads(ans)["info"]
return any(res == "Can Make Ionic Bonds" for res in mol_info)
</script>
<customresponse cfn="check1">
<editamoleculeinput file="/static/dopamine.mol">
</editamoleculeinput>
</customresponse>
<solution>
<img src="/static/MoleculeAnswer.png"/>
</solution>
</problem>
Problem 2
<problem>
<p>The dopamine molecule, as shown, cannot make strong hydrogen bonds. Edit the dopamine molecule so that it can make strong hydrogen bonds.</p>
<script type="loncapa/python">
def grader_1(expect, ans):
import json
mol_info = json.loads(ans)["info"]
return any(res == "Cannot Make Strong Hydrogen Bonds" for res in mol_info)
</script>
<customresponse cfn="grader_1">
<editamoleculeinput file="/static/dopamine.mol">
</editamoleculeinput>
</customresponse>
</problem>
Problem 3
<problem>
<p>The dopamine molecule has an intermediate hydrophobicity. Edit the dopamine molecule so that it is more hydrophobic.</p>
<script type="loncapa/python">
def grader_2(expect, ans):
import json
mol_info = json.loads(ans)["info"]
hydrophobicity_index_str=mol_info[0]
hydrophobicity_index=float(hydrophobicity_index_str[23:])
return hydrophobicity_index > .490
</script>
<customresponse cfn="grader_2">
<editamoleculeinput file="/static/dopamine.mol">
</editamoleculeinput>
</customresponse>
</problem>
Note
EdX does not support this tool.
Studio offers two tools that you can use in discussions of molecules.
Both tools use JSmol, a JavaScript-based molecular viewer from Jmol. (You don’t need to download this tool; Studio uses it automatically.) For more information about JSmol, see JSmol.
The following image shows the molecule viewer tool in a course.
Note
To create a molecule viewer tool, you must have permission to upload files to a third-party file hosting site such as Amazon Web Services Simple Storage Service (AWS S3). When you create the molecule viewer, you’ll upload a folder that contains a large number of files to the file hosting site.
Creating a molecule viewer tool has several steps.
iframe
element in Studio. The
iframe references the files that you upload to the file hosting site.Create or download a .mol file for the molecule that you want to show. You can download a variety of .mol files from the BioTopics website. Save the file in a place where you can easily find it.
Download the MoleculeViewerFiles.zip file from edX.
Unzip the MoleculeViewerFiles.zip file that you downloaded.
When you unzip the file, it contains a MoleculeViewerFiles folder with the following folders and files.
- data (folder)
- j2s (folder)
- js (folder)
- MoleculeViewer.html (file)
Move the .mol file that you downloaded from BioTopics into the data folder that you downloaded from edX.
Edit the MoleculeViewer.html file:
In a text editor, open the MoleculeViewer.html file.
In line 19 of the MoleculeViewer.html file, change Example.mol to the name of your .mol file. For example, if you downloaded the Glucose.mol file, line 19 in your file will look like the following:
script: "set antialiasDisplay; background black; load data/Glucose.mol;"
Save the MoleculeViewer.html file.
Make sure that your MoleculeViewerFiles folder contains the following folders and files.
Upload the entire MoleculeViewerFiles folder to your file hosting site.
Note
Because this folder contains many files, uploading the folder may take several minutes, even over a fast connection.
In Studio, open the unit where you want to add the molecule viewer.
Under Add New Component, select HTML, and then select IFrame Tool.
In the component editor that opens, replace the existing content with your own text.
In the toolbar, select HTML.
In the HTML Source Code box, enter the following line in the place where you want the molecule viewer to appear.
<p><iframe name="moleculeiframe" src="https://path_to_folder/MoleculeViewerFiles/MoleculeViewer.html" width="500" height="500"></iframe></p>
Replace path_to_folder
with the URL of your file hosting site. The
revised line might look like this example.
<p><iframe name="moleculeiframe" src="https://myfiles.example.com/MoleculeViewerFiles/MoleculeViewer.html" width="500" height="500"></iframe></p>
Select OK to close the HTML Source Code box, and then select Save.
Select Preview to see your component as a student would see it.
Note
EdX offers full support for this problem type.
The multiple choice problem type is a core problem type that can be added to any course. At a minimum, multiple choice problems include a question or prompt and several answer options. By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem.
For more information about the core problem types, see Working with Problem Components.
In multiple choice problems, learners select one option from a list of answer options. Unlike dropdown problems, where the answer choices do not appear until the learner selects the dropdown arrow, answer choices for multiple choice problems are immediately visible directly below the question.
Multiple choice problems can also have several advanced options, such as reordering, or shuffling, the set of answer choices for each learner. For more information about these options, see Advanced Options for Multiple Choice Problems.
In the LMS, learners select a single answer option to complete a multiple choice problem. An example of a completed multiple choice problem follows.
To add the example problem illustrated above, you enter the following text and Markdown formatting in the simple editor in Studio.
>>Lateral inhibition, as was first discovered in the horseshoe crab:<<
( ) is a property of touch sensation, referring to the ability of crabs
to detect nearby predators.
( ) is a property of hearing, referring to the ability of crabs to detect
low frequency noises.
(x) is a property of vision, referring to the ability of crabs' eyes to
enhance contrasts.
( ) has to do with the ability of crabs to use sonar to detect fellow
horseshoe crabs nearby.
( ) has to do with a weighting system in the crab's skeleton that allows
it to balance in turbulent water.
[Explanation]
Horseshoe crabs were essential to the discovery of lateral
inhibition, a property of vision present in horseshoe crabs as well as in
humans that enables enhancement of contrast at edges of objects as was
demonstrated in class. In 1967, Haldan Hartline received the Nobel prize
for his research on vision and in particular his research investigating
lateral inhibition using horseshoe crabs.
[Explanation]
The open learning XML (OLX) markup for this example problem follows.
<problem>
<multiplechoiceresponse>
<label>Lateral inhibition, as was first discovered in the horseshoe crab:</label>
<choicegroup type="MultipleChoice">
<choice correct="false">is a property of touch sensation, referring to
the ability of crabs to detect nearby predators.</choice>
<choice correct="false">is a property of hearing, referring to the
ability of crabs to detect low frequency noises.</choice>
<choice correct="false">is a property of vision, referring to the
ability of crabs' eyes to enhance contrasts.</choice>
<choice correct="true">has to do with the ability of crabs to use
sonar to detect fellow horseshoe crabs nearby.</choice>
<choice correct="false">has to do with a weighting system in the
crab's skeleton that allows it to balance in turbulent water.</choice>
</choicegroup>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Horseshoe crabs were essential to the discovery of lateral
inhibition, a property of vision present in horseshoe crabs as well
as humans that enables enhancement of contrast at edges of objects
as was demonstrated in class. In 1967, Haldan Hartline received the
Nobel prize for his research on vision and in particular his
research investigating lateral inhibition using horseshoe crabs.</p>
</div>
</solution>
</multiplechoiceresponse>
</problem>
For the multiple choice problems in your course, you can use edX Insights to review aggregated learner performance data and examine the submitted answers. For more information, see Using edX Insights.
EdX recommends the use, whenever possible, of authentic assessment rather than multiple choice questions for graded problems. The use of authentic assessment in online courses tends to lead to better learning outcomes. In addition, authentic assessment allows for infinite attempts, mastery learning, and more intellectual risk taking, which lead to substantially better learning outcomes.
Multiple choice questions do have these uses.
Fortunately, multiple choice questions are among the best studied in assessment literature. A few guidelines for the creation of such questions follow.
You add multiple choice problems in Studio by selecting the Problem component type and then using either the simple editor or the advanced editor to specify the prompt and the answer options.
Note
You can begin work on the problem in the simple editor, and then switch to the advanced editor. However, after you save any changes you make in the advanced editor, you cannot switch back to the simple editor.
When you add a multiple choice problem, you can choose one of these templates.
These templates include the Markdown formatting that you use in the simple editor to add a problem without, or with, hints and feedback.
To use the simple editor to add a problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Problem.
From the list of Common Problem Types, select the type of problem you want to add. Studio adds a template for the problem to the unit.
Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.
Replace the guidance provided by the template to add your own text for the question or prompt, answer options, explanation, and so on.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can use the advanced editor to identify the elements of a multiple choice problem with OLX. For more information, see Multiple Choice Problem OLX Reference.
To use the advanced editor to add a problem, follow these steps.
Follow steps 1-3 for creating the problem in the simple editor.
Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and explanation.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Update the OLX to add optional elements and attributes required for your problem.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
Note
On editing and saving please make sure that a multiple choice problem is encapsulated inside <problem> tag. The problem will render correctly in Studio but will fail when exported and then imported to a course. For a sample XML structure, see Multiple Choice Problem OLX Reference.
For an overview of feedback in problems, see Adding Feedback and Hints to a Problem. You can add feedback for each of the answer options you provide in the problem. Use the following guidelines when providing feedback.
You can add feedback in a multiple choice problem using the simple editor or the advanced editor.
You can configure feedback in the simple editor. When you add a multiple choice problem, select the template Multiple Choice with Hints and Feedback. This template has example feedback syntax that you can replace.
( ) answer {{Feedback for learners who select this answer.}}
For example, the following problem has feedback for every answer option.
>>Which of the following is an example of a vegetable?||You can select only one option.<<
( ) apple {{An apple is the fertilized ovary that comes from an apple tree
and contains seeds classifying it as a fruit.}}
( ) pumpkin {{A pumpkin is the fertilized ovary of a squash plant and
contains seeds classifying it as a fruit.}}
(x) potato {{A potato is an edible part of a plant in tuber form and is
classified as a vegetable}}
( ) tomato {{Many people mistakenly think a tomato is a vegetable. However,
because a tomato is the fertilized ovary of a tomato plant and contains
seeds it is classified as a fruit.}}
In the advanced editor, you configure feedback with the following syntax.
<choice correct="false">Choice Label
<choicehint>Feedback for when learner selects this answer.</choicehint>
</choice>
For example, the following problem has feedback for each answer.
<problem>
<multiplechoiceresponse>
<label>Which of the following is an example of a vegetable?</label>
<description>You can select only one option.</description>
<choicegroup type="MultipleChoice">
<choice correct="false">apple
<choicehint>An apple is the fertilized ovary that comes from an apple
tree and contains seeds classifying it as a fruit.</choicehint>
</choice>
<choice correct="false">pumpkin
<choicehint>A pumpkin is the fertilized ovary of a squash plant
and contains seeds classifying it as a fruit.</choicehint>
</choice>
<choice correct="true">potato
<choicehint>A potato is an edible part of a plant in tuber form and
is classified as a vegetable.</choicehint>
</choice>
<choice correct="false">tomato
<choicehint>Many people mistakenly think a tomato is a vegetable.
However, because a tomato is the fertilized ovary of a tomato plant
and contains seeds it is classified as a fruit.</choicehint>
</choice>
</choicegroup>
</multiplechoiceresponse>
</problem>
By default, the feedback labels shown to learners are Correct and Incorrect. If you do not define feedback labels, learners see these terms when they submit an answer, as in the following example.
Incorrect: A pumpkin is the fertilized ovary of a squash plant and contains
seeds classifying it as a fruit.
You can configure the problem to override the default labels. For example, you can configure a custom label for a specific wrong answer.
Not Quite: Many people mistakenly think a tomato is a vegetable. However,
because a tomato is the fertilized ovary of a tomato plant and contains seeds
it is classified as a fruit.
Note
The default labels Correct and Incorrect display in the learner’s requested language. If you provide custom labels, they display as you define them to all learners. They are not translated into different languages.
In the simple editor, you configure custom feedback labels with the following syntax.
( ) Answer {{Label:: Feedback for learners who select this answer.}}
That is, you provide the label text, followed by two colon (:) characters, before the feedback text.
For example, the following feedback is configured to use a custom label.
( ) tomato {{Not Quite:: Many people mistakenly think a tomato is a
vegetable. However, because a tomato is the fertilized ovary of a tomato
plant and contains seeds, it is a fruit.}}
In the advanced editor, you configure custom feedback labels with the following syntax.
<choice correct="true or false">Answer
<choicehint label="Custom Label">Feedback for learners who select this
answer.</choicehint>
</choice>
For example, the feedback for the following answer option is configured to use a custom label.
<choice correct="false">tomato
<choicehint label="Not Quite">Many people mistakenly think a tomato is a
vegetable. However, because a tomato is the fertilized ovary of a tomato
plant and contains seeds, it is a fruit.</choicehint>
</choice>
You can add hints to a multiple choice problem using the simple editor or the advanced editor. For an overview of hints in problems, see Adding Feedback and Hints to a Problem.
In the simple editor, you configure hints with the following syntax.
||Hint 1||
||Hint 2||
||Hint n||
Note
You can configure any number of hints. The learner views one hint at a time and views the next one by selecting Hint again.
For example, the following problem has two hints.
||A fruit is the fertilized ovary from a flower.||
||A fruit contains seeds of the plant.||
In the advanced editor, you add the <demandhint>
element immediately before
the closing </problem>
tag, and then configure each hint using the
<hint>
element.
.
.
.
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For example, the following OLX for a multiple choice problem shows two hints.
.
.
.
</multiplechoiceresponse>
<demandhint>
<hint>A fruit is the fertilized ovary from a flower.</hint>
<hint>A fruit contains seeds of the plant.</hint>
</demandhint>
</problem>
You can configure a multiple choice problem so that specific incorrect answers award learners partial credit for the problem. You must use the advanced editor to configure partial credit.
In the following example, the learner selected a wrong answer and received partial credit.
You can specify what percentage of the points for the problem a learner receives for an incorrect answer. If you do not specify the percentage, the system uses the default of 50%.
For an overview of partial credit in problems, see Awarding Partial Credit for a Problem.
To configure a multiple choice problem to award partial credit for a specific answer, you add the following attributes to the problem OLX.
partial_credit="points"
attribute to the
<multiplechoiceresponse>
element.<choice>
element set the value of the correct
attribute to "partial"
.point_value
attribute to the <choice>
element, and
enter its value as a decimal. For example, add point_value="0.25"
to
award 25% of the points to learners who select that answer. The percentage
awarded should reflect how close the learner has gotten to a full
understanding of the concept. If you do not add the point_value
attribute, the system uses the default of 50%.For example, the following OLX shows a multiple choice problem that provides partial credit of 25% for an answer option.
<problem>
<multiplechoiceresponse partial_credit="points">
<label>Which of the following is a vegetable?</label>
<choicegroup type="MultipleChoice">
.
.
.
<choice correct="partial" point_value="0.25">tomato </choice>
</choicegroup>
</multiplechoiceresponse>
</problem>
Note
You can also set attributes and options by adding a <script>
element.
For more information, see Using the Script Element.
<problem>
<multiplechoiceresponse>
<label>Question or prompt text</label>
<description>Optional information about how to answer the question</description>
<choicegroup type="MultipleChoice">
<choice correct="false" name="a">Incorrect choice
<choicehint>Hint for incorrect choice.</choicehint>
</choice>
<choice correct="true" name="b">Correct choice
<choicehint>Hint for correct choice.</choicehint>
</choice>
</choicegroup>
<solution>
<div class="detailed-solution">
<p>Optional header for the explanation or solution</p>
<p>Optional explanation or solution text</p>
</div>
</solution>
</multiplechoiceresponse>
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
</demandhint>
</problem>
For multiple choice problems, the <problem>
element can include this
hierarchy of child elements.
<multiplechoiceresponse>
<label>
<description>
<choicegroup>
<choice>
<choicehint>
<solution>
<demandhint>
<hint>
In addition, standard HTML tags can be used to format text.
<multiplechoiceresponse>
¶Required. Indicates that the problem is a multiple choice problem.
Attribute Description partial_credit
Optional. Specifies that the problem can award partial credit. If used, must be set to "points"
.
<label>
<description>
<choicegroup>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<choicegroup>
¶Required. Indicates the beginning of the list of answer options.
Attribute | Description |
---|---|
type |
Required. Must be set to "MultipleChoice" . |
Additional attributes are available to support advanced options.
<choice>
<choice>
¶Required. Lists an answer option.
Attribute | Description |
---|---|
correct |
Indicates a correct, incorrect, or partially correct answer.
You can specify more than one correct or partially correct answer, but learners can select only one choice to submit as their answer. |
point_value |
When correct="partial" , indicates the percentage, as a decimal, of
the points the learner receives for selecting this option. If
point_value is not specified for a partial credit answer, 50% is
used by default. |
name |
A unique name that is used internally to refer to the choice. |
Additional attributes are available to support advanced options.
<choicehint>
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that includes multiple questions.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
Multiple choice problems have several advanced options. You can change the order of answers in the problem, include explanations that appear when a learner selects a specific incorrect answer, or present a random set of choices to each learner. For more information, see the following sections.
Optionally, you can configure a multiple choice problem so that it shuffles the order of possible answers.
For example, one view of a problem could be as follows.
What Apple device competed with the portable CD player?
( ) The iPad
( ) Napster
( ) The iPod
( ) The vegetable peeler
Another view of the same problem, for a different learner or for the same learner on a subsequent view of the unit, could be as follows.
What Apple device competed with the portable CD player?
( ) The iPad
( ) The iPod
( ) The vegetable peeler
( ) Napster
You can also shuffle some answers, but not others. For example, you might want to include the answer “All of the above” and have it always appear at the end of the list, but shuffle the other answers.
You can configure the problem to shuffle answers using the simple editor or advanced editor. To shuffle the answers, you also edit the problem to set Randomization to a value other than Never. For more information, see Randomization.
You can configure the problem to shuffle answers in the
simple editor. To add shuffling to this problem, you add
an exclamation point character !
between the parentheses formatting for
the first answer option.
>>What Apple device competed with the portable CD player?<<
(!) The iPad
( ) Napster
(x) The iPod
( ) The vegetable peeler
To make the location of an answer fixed in a shuffled list, add @
between
the parentheses formatting for that answer.
>>What Apple device competed with the portable CD player?<<
(!) The iPad
( ) Napster
(x) The iPod
( ) The vegetable peeler
(@) All of the above
You can combine symbols within the parentheses as necessary. For example, to
show the correct answer in a fixed location, you can use both x
and @
.
(x@) The iPod
After you complete problem setup in the simple editor, select Edit and then Settings to specify an option other than Never for the Randomization setting.
You can configure the problem to shuffle answers by editing the OLX in the advanced editor.
To add shuffling to a problem, you add shuffle="true"
to the
<choicegroup>
element.
<problem>
<multiplechoiceresponse>
<label>What Apple device competed with the portable CD player?</label>
<choicegroup type="MultipleChoice" shuffle="true">
<choice correct="false">The iPad</choice>
<choice correct="false">Napster</choice>
<choice correct="true">The iPod</choice>
<choice correct="false">The vegetable peeler</choice>
</choicegroup>
</multiplechoiceresponse>
</problem>
To make the location of an answer fixed in a shuffled list, add
fixed="true"
to the choice
element for the answer.
<problem>
<multiplechoiceresponse>
<label>What Apple device competed with the portable CD player?</label>
<choicegroup type="MultipleChoice" shuffle="true">
.
.
.
<choice correct="false" fixed="true">All of the above</choice>
</choicegroup>
</multiplechoiceresponse>
</problem>
Then, you select Settings to specify an option other than Never for the Randomization setting.
You can configure a multiple choice problem so that explanations for specific answers are automatically shown to learners. You can use these explanations to guide learners towards the right answer. Therefore, targeted feedback is most useful for multiple choice problems for which learners are allowed multiple attempts.
You configure the problem to provide targeted feedback by editing the OLX in the advanced editor.
targeted-feedback
attribute to the <multiplechoiceresponse>
element, with no value: <multiplechoiceresponse targeted-feedback="">
.explanation-id
attribute with a unique value to each of the
<choice>
elements: <choice correct="false"
explanation-id="feedback1">
.<solution>
element for the correct answer.<targetedfeedbackset>
element after the
<multiplechoiceresponse>
element.<targetedfeedbackset>
, add one or more <targetedfeedback>
elements.<targetedfeedback>
element, add one of the unique identifying
explanation-id
attributes to map that feedback to a specific answer
choice.<targetedfeedback>
element use HTML formatting, such as
<p></p>
tags, to enter your explanation for the specified answer option.For example, the OLX for a multiple choice problem follows, showing a unique ID for each answer choice. This is immediately followed by OLX that defines the targeted feedback.
<problem>
<multiplechoiceresponse targeted-feedback="">
<label>What Apple device competed with the portable CD player?</label>
<choicegroup type="MultipleChoice">
<choice correct="false" explanation-id="feedback1">The iPad</choice>
<choice correct="false" explanation-id="feedback2">Napster</choice>
<choice correct="true" explanation-id="correct">The iPod</choice>
<choice correct="false" explanation-id="feedback3">The vegetable peeler</choice>
</choicegroup>
<solution explanation-id="correct">
<div class="detailed-solution">
<p>The iPod directly competed with portable CD players.</p>
</div>
</solution>
</multiplechoiceresponse>
<targetedfeedbackset>
<targetedfeedback explanation-id="feedback1">
<div class="detailed-targeted-feedback">
<p>Targeted Feedback</p>
<p>The iPad came out later and did not directly compete with
portable CD players.</p>
</div>
</targetedfeedback>
<targetedfeedback explanation-id="feedback2">
<div class="detailed-targeted-feedback">
<p>Targeted Feedback</p>
<p>Napster was not an Apple product.</p>
</div>
</targetedfeedback>
<targetedfeedback explanation-id="feedback3">
<div class="detailed-targeted-feedback">
<p>Targeted Feedback</p>
<p>Vegetable peelers do not play music.</p>
</div>
</targetedfeedback>
</targetedfeedbackset>
</problem>
You can configure a multiple choice problem so that a random subset of choices are shown to each learner. For example, you can add 10 possible choices to the problem, and each learner views a set of five choices.
The answer pool must have at least one correct answer. It can have more than one correct answer. In each set of choices shown to a learner, one correct answer is included. For example, you can configure two correct answers in the set of choices. One of the two correct answers is included in each set that a learner views.
You configure the problem to provide answer pools by editing the OLX for the problem in the advanced editor.
<choicegroup>
element, add the answer-pool
attribute, with the
numerical value indicating the number of answer options to show to learners.
For example, <choicegroup answer-pool="4">
.explanation-id
attribute with a unique value to the
<choice>
element: <choice correct="false" explanation-id="correct1">
.<solution>
element, add an explanation-id
attribute and a value that
maps back to a specific correct answer. For example, <solution
explanation-id="correct1">
.<solution>
elements within a <solutionset>
element.Note
If the choices include only one correct answer, you do not have to
use the explanation-id
in either the <choice>
or <solution>
element. You do still use the <solutionset>
element to wrap the
<solution>
element.
For example, for the following multiple choice problem, a learner will see four choices. In each set, one of the choices will be one of the two correct choices. The explanation shown for the correct answer is the one with the same explanation ID.
<problem>
<multiplechoiceresponse>
<label>What Apple devices let you carry your digital music library in your pocket?</label>
<description>You can select only one option.</description>
<choicegroup type="MultipleChoice" answer-pool="4">
<choice correct="false">The iPad</choice>
<choice correct="false">Napster</choice>
<choice correct="true" explanation-id="iPod">The iPod</choice>
<choice correct="false">The vegetable peeler</choice>
<choice correct="false">The iMac</choice>
<choice correct="true" explanation-id="iPhone">The iPhone</choice>
</choicegroup>
<solutionset>
<solution explanation-id="iPod">
<div class="detailed-solution">
<p>Explanation</p>
<p>The iPod is Apple's portable digital music player.</p>
</div>
</solution>
<solution explanation-id="iPhone">
<div class="detailed-solution">
<p>Explanation</p>
<p>In addition to being a cell phone, the iPhone can store and play
your digital music.</p>
</div>
</solution>
</solutionset>
</multiplechoiceresponse>
</problem>
You can use the <script>
element to programmatically set attributes and
options for your multiple choice problems. You could use this feature to
display different questions/answers depending on variable factors, like time of
day, or randomly generated numbers.
You must use the advanced editor to configure a
<script>
element.
The contents of the <script>
element must be enclosed in <![CDATA[
…
]]>
markers, to indicate that the enclosed code should not be interpreted
as XML.
The code in the <script>
element is run on the server before the problem is
shown to learners. Note that only Python script types are supported.
The following OLX example uses random numbers to generate different answer choices for each learner, and mathematical operators to determine each choice’s correctness.
<problem>
<script type="text/python">
<![CDATA[
random.seed(anonymous_student_id) # Use different random numbers for each student.
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
ok0 = c % 2 == 0 # check remainder modulo 2
text0 = "$a + $b is even"
ok1 = c % 2 == 1 #check remainder modulo 2
text1 = "$a + $b is odd"
]]>
</script>
<multiplechoiceresponse>
<label>Is $a+$b even or odd? Select the true statement.</label>
<choicegroup type="MultipleChoice">
<choice correct="$ok0">$text0 ... (should be $ok0)</choice>
<choice correct="$ok1">$text1 ... (should be $ok1)</choice>
</choicegroup>
</multiplechoiceresponse>
</problem>
Note
EdX does not support this problem type.
You can create a problem that combines a multiple choice and numerical input problems. Students not only select a response from options that you provide, but also provide more specific information, if necessary.
Note
Currently, students can only enter numerals in the text field. Students cannot enter words or mathematical expressions, which might be confusing to students who are accustomed to other edX numerical input fields.
You can make a calculator available to your learners on every unit page. For more information, see Calculator Tool.
To create a multiple choice and numerical input problem, follow these steps.
<problem>
The numerical value of pi, rounded to two decimal places, is 3.24.
<choicetextresponse>
<radiotextgroup>
<choice correct="false">True.</choice>
<choice correct="true">False. The correct value is <numtolerance_input answer="3.14"/>.</choice>
</radiotextgroup>
</choicetextresponse>
</problem>
Note
EdX offers full support for this tool.
The notes tool allows learners to highlight and make notes about what they read in the body of the course.
Note
The notes tool is available for text, including text in HTML components. However, the tool is currently not available for discussions, exercises, video transcripts, or PDF documents.
Learners can access their notes either in the body of the course or on a Notes page. On the Notes page, a learner can see all the notes that she has made during the course. The page also contains links to the location of the notes in the course body.
You must enable the Notes tool before learners can use it. To enable the Notes tool, follow these steps.
true
.For more information about the ways learners can use notes, see Taking Notes in an edX Course.
Note
EdX offers full support for this problem type.
The numerical input problem type is a core problem type that can be added to any course. At a minimum, numerical input problems include a question or prompt and a response field for a numeric answer. By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem.
For more information about the core problem types, see Working with Problem Components.
In numerical input problems, learners enter numbers or specific and relatively simple mathematical expressions to answer a question. The LMS automatically converts the answer that learners enter into a symbolic expression that appears below the response field.
Responses for numerical input problems can include integers, fractions, and constants such as pi and g. Responses can also include text representing common functions, such as square root (sqrt) and log base 2 (log2), as well as trigonometric functions and their inverses, such as sine (sin) and arcsine (arcsin). For these functions, learners enter text that is converted into mathematical symbols. The following example shows a response entered by a learner and the numerical expression that results.
For more information about how learners enter expressions, see math formatting in the EdX Learner’s Guide or Completing Mathematical and Scientific Assignments in the Open edX Learner’s Guide.
Some of the options for numerical input problems include the following.
Note
You can make a calculator tool available to your learners on every unit page. For more information, see Calculator Tool.
In the LMS, learners enter a value into a response field to complete a numerical input problem. An example of a completed numerical input problem follows.
To add the example problem illustrated above, in Studio you use the simple editor to enter the following text and Markdown formatting.
>>In what base is the decimal numeral system?<<
=10 {{The decimal numeral system is in base ten.}}
The open learning XML (OLX) markup for this example numerical input problem follows.
<problem>
<numericalresponse answer="10">
<label>In what base is the decimal numeral system?</label>
<formulaequationinput/>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The decimal numeral system is base ten.</p>
</div>
</solution>
</numericalresponse>
</problem>
For the numerical input problems in your course, you can use edX Insights to review aggregated learner performance data and examine submitted answers. For more information, see Using edX Insights.
You add numerical input problems in Studio by selecting the Problem component type and then using either the simple editor or the advanced editor to specify the prompt and the acceptable answer or answers.
Note
You can begin work on the problem in the simple editor, and then switch to the advanced editor. However, after you save any changes you make in the advanced editor, you cannot switch back to the simple editor.
Before you add a numerical input problem, consider the following features and limitations of the simple and advanced editors.
<p>
) element and HTML formatting tags as needed.For example, you must use the advanced editor to define the following numerical input problem. It contains two questions, one of which relies on character formatting, and the other that uses a Python script.
The OLX for this example follows.
Note
The second question in the following example includes a Python
script. When you add a script to a problem component, do not add to or change
its internal indentation. A “jailed code” error message appears when you save
the problem in Studio if the <script>
element is indented.
<problem>
<numericalresponse answer="9.80665">
<p>Enter the value of the standard gravity constant <i>g</i>,
measured in m/s<sup>2</sup>.</p>
<label>What is the answer to the question above?</label>
<description>Give your answer to at least two decimal places.</description>
<responseparam type="tolerance" default="0.01" />
<formulaequationinput />
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>The standard gravity constant is defined to be precisely
9.80665 m/s<sup>2</sup>. This is 9.80 to two decimal places.
Entering 9.8 also works.</p>
</div>
</solution>
</numericalresponse>
<numericalresponse answer="$computed_response">
<label>What is the distance in the plane between the points (pi, 0)
and (0, e)?</label>
<description>You can type math.</description>
<responseparam type="tolerance" default="0.0001" />
<formulaequationinput />
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>By the distance formula, the distance between two points in
the plane is the square root of the sum of the squares of the
differences of each coordinate. Even though an exact numerical
value is checked in this case, the easiest way to enter this
answer is to type <code>sqrt(pi^2+e^2)</code> into the editor.
Other answers like <code>sqrt((pi-0)^2+(0-e)^2)</code> also
work.</p>
</div>
</solution>
</numericalresponse>
</problem>
For more information about including a Python script in a problem, see Write-Your-Own-Grader Problem.
When you add a numerical input problem, you can choose one of these templates.
These templates include the Markdown formatting that you use in the simple editor to add a problem without, or with, hints and feedback.
To use the simple editor to add a problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Problem.
From the list of Common Problem Types, select the type of problem you want to add. Studio adds a template for the problem to the unit.
Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.
Replace the guidance provided by the template to add your own text for the question or prompt, answer options, explanation, and so on.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can use the advanced editor to identify the elements of a numerical input problem with OLX. For more information, see Numerical Input Problem OLX Reference.
To use the advanced editor to add a problem, follow these steps.
Follow steps 1-3 for creating the problem in the simple editor.
Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and explanation.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Update the OLX to add optional elements and attributes required for your problem.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
To give learners the option to receive full credit for a close approximation of the correct answer, and to support a wide range of possible correct numerical answers, you can specify a tolerance for the correct answer, multiple individual correct answers, or a range of values to mark as correct for the numerical input problem type.
You can specify a margin of error or tolerance for learner responses. You can specify a percentage, number, or range.
To add a tolerance in the simple editor you use the following Markdown formatting.
+-{number}
. For example, to include a tolerance of 5, add
+-5
.+-{number}%
. For example, to include a 2% tolerance, add
+-2%
.To add a tolerance in the advanced editor you include a <responseparam>
element with a type="tolerance"
attribute and a default
attribute set
to either a number or a percentage value.
The following example shows a problem with a decimal tolerance.
<problem>
<numericalresponse answer="ANSWER (NUMBER)">
<label>Question text</label>
<responseparam type="tolerance" default=".02" />
<formulaequationinput />
</numericalresponse>
</problem>
The following example shows a problem with a percentage tolerance.
<problem>
<numericalresponse answer="ANSWER (NUMBER)">
<label>Question text</label>
<responseparam type="tolerance" default="3%" />
<formulaequationinput />
</numericalresponse>
</problem>
You can specify more than one specific, correct response for numerical input problems. To do this, you can use the simple editor or the advanced editor.
If you specify multiple correct responses, you cannot also specify a tolerance, a range, or a text string as correct answers. For example, when you define multiple correct responses, you can specify a numeric value for each correct answer but not a tolerance, range, or text string.
To specify additional correct responses in the simple editor, include
or=
before each additional correct response.
>>How many miles away from Earth is the sun?||Use scientific notation to answer.<<
= 9.3*10^7
or= 9.296*10^7
To specify an additional correct response in the advanced editor, within the
<numericalresponse>
element add the <additional_answer />
element with
an answer=""
attribute value.
<problem>
<numericalresponse answer="9.3*10^7">
<label>How many miles away from Earth is the sun?</label>
<description>Use scientific notation to answer.</description>
<additional_answer answer="9.296*10^7"/>
<formulaequationinput/>
</numericalresponse>
</problem>
You can specify an answer range so that any learner response within that range
is marked correct. To format an answer range, you provide the starting and
ending values and then separate them with a comma character (,
). You then
surround the range with bracket ([ ]
) or parentheses characters (( )
),
or a combination of one bracket and one parenthesis.
For example, to identify the correct answers as 5, 6, or 7, but not 8, specify
[5,8)
. To identify the correct answers as 6, 7, and 8, but not 5, specify
(5,8]
.
To specify a range in the simple editor, you enter the complete, formatted
range after the equals sign: =[5,8)
or =(5,8]
.
To specify a range in the advanced editor, you enter the complete, formatted
range in the <numericalresponse>
element as the value for the answer
attribute: <numericalresponse answer="[5,8)">
or <numericalresponse
answer="(5,8]">
For an overview of feedback in problems, see Adding Feedback and Hints to a Problem. In numerical input problems, you can provide feedback for correct responses. If you define multiple correct responses, you can define feedback for each response.
Note
You cannot provide feedback for incorrect answers in numerical input problems.
In numerical input problems, use feedback to reinforce the process used to arrive at the correct answer.
You can configure feedback in the simple editor. When you add a numerical input problem, select the template Numerical Input with Hints and Feedback. This template has example formatted feedback that you can replace with your own text.
In the simple editor, you configure feedback for a numerical input problem with the following Markdown formatting.
=Correct Answer {{Feedback for the correct answer.}}
For example, the following problem has feedback for the correct answer.
>>What is the arithmetic mean for the following set of numbers? (1, 5, 6, 3, 5)<<
=4 {{The mean for this set of numbers is 20 / 5 which equals 4.}}
If you define multiple correct responses, you can define feedback for each response.
In the advanced editor, you configure answer feedback with the following syntax.
<problem>
<numericalresponse answer="Correct Answer">
<label>Question text</label>
<formulaequationinput />
<correcthint>Feedback for the correct answer</correcthint>
</numericalresponse>
</problem>
For example, the following problem has feedback for the correct answer.
<problem>
<numericalresponse answer="4">
<label>What is the arithmetic mean for the following set of numbers?
(1, 5, 6, 3, 5)</label>
<formulaequationinput />
<correcthint>The mean for this set of numbers is 20 / 5 which equals 4.</correcthint>
</numericalresponse>
</problem>
If you define multiple correct responses, you can define feedback for each response.
By default, the feedback label shown to learners is Correct . If you do not define a feedback label, learners see this term when they submit a correct answer, as in the following example.
Correct: The mean for this set of numbers is 20 / 5 which equals 4.
You can configure the problem to override the default label. For example, you can configure a custom label for the answer.
Good job: The mean for this set of numbers is 20 / 5 which equals 4.
Note
The default label, Correct, displays in the learner’s requested language. If you provide a custom label, it displays as you define it to all learners. It is not translated into different languages.
In the simple editor, you configure a custom feedback label with the following syntax.
=4 {{Label:: Feedback}}
That is, you provide the label text, followed by two colon (:) characters, before the feedback text.
For example, the following feedback is configured to use a custom label.
=4 {{Good Job:: The mean for this set of numbers is 20 / 5 which equals 4.}}
In the advanced editor, you configure custom feedback labels with the following syntax.
<correcthint label="Custom Label">Feedback</correcthint>
For example, the following feedback is configured to use a custom label.
<correcthint label="Good Job">The mean for this set of numbers is 20 / 5 which equals 4.</correcthint>
You can add hints to a numerical input problem using the simple editor or the advanced editor. For an overview of hints in problems, see Adding Feedback and Hints to a Problem.
In the simple editor, you configure hints with the following syntax.
||Hint 1||
||Hint 2||
||Hint n||
Note
You can configure any number of hints. The learner views one hint at a time and views the next one by selecting Hint again.
For example, the following problem has two hints.
||A fruit is the fertilized ovary from a flower.||
||A fruit contains seeds of the plant.||
In the advanced editor, you add the <demandhint>
element immediately before
the closing </problem>
tag, and then configure each hint using the
<hint>
element.
.
.
.
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For example, the following OLX for a multiple choice problem shows two hints.
.
.
.
</multiplechoiceresponse>
<demandhint>
<hint>A fruit is the fertilized ovary from a flower.</hint>
<hint>A fruit contains seeds of the plant.</hint>
</demandhint>
</problem>
You can configure a numerical input problem to award partial credit to learners who submit an answer that is close or related to the correct answer. You must use the advanced editor to configure partial credit.
In the following example, the learner entered an answer that was close to the correct answer and received partial credit.
For an overview of partial credit in problems, see Awarding Partial Credit for a Problem.
You can use the following methods to award partial credit in a numerical input problem.
Note
You can use these methods of awarding partial credit individually or in combination.
You can configure a numerical input problem so that answers that are close to the correct answer receive partial credit.
To do so, you configure the tolerance for incorrect answers. Learners receive partial credit for close answers based on the tolerance. By default, the tolerance is multiplied by 2 and the following rules are applied.
You can optionally specify a different multiplier for the tolerance. For example, you could set the multiplier to 3. In this case, the following rules apply.
To configure a numerical input problem to award partial credit for close answers, you add the following attributes to the problem XML.
Add the partial_credit="close"
attribute to the <numericalresponse>
element.
You can use close answers in combination with a list. Set the
attribute to partial_credit="close,list"
.
Optionally, add the partial_range
attribute to the <responseparam>
element and set its value to the tolerance multiplier. If you do not set the
partial_range
attribute, 2 is used as the tolerance multiplier.
For example, the following OLX shows a numerical problem that provides partial credit for close answers.
<problem>
<numericalresponse answer="9.3*10^7" partial_credit="close">
<label>How many miles away from Earth is the sun?</label>
<description>Use scientific notation to answer.</description>
<formulaequationinput/>
<responseparam type="tolerance" default="1%" partial_range="3"/>
</numericalresponse>
</problem>
For some numerical input problems, mistakes do not help a learner arrive at the correct answer. For example, a small mistake can lead to negative instead of positive results, or to an answer that is off by a square root or numerical factor.
For these types of problems, you can configure a list of wrong answers that receive partial credit. Learners who submit answers that are on the list receive 50% of the problem’s points.
To configure a numerical input problem to award partial credit for answers in a list, you add the following attributes to the problem XML.
Add the partial_credit="list"
attribute to the <numericalresponse>
element.
You can use a list in combination with close answers. Set the
attribute to partial_credit="close,list"
.
Add the partial_answers
attribute to the <responseparam>
element. Set
its value to one or more answers that should earn 50% of the problem’s
points. Separate multiple values by a comma (,).
For example, the following XML shows the numerical problem template updated to provide partial credit for a different answer.
<problem>
<numericalresponse answer="9.3*10^7" partial_credit="close">
<label>How many miles away from Earth is the sun?</label>
<description>Use scientific notation to answer.</description>
<formulaequationinput />
<responseparam partial_answers="150*10^6"/>
</numericalresponse>
</problem>
You might want to include a word, phrase, or sentence after the response field in a numerical input problem to help guide your students or resolve ambiguity.
To do this, you use the advanced editor.
In the problem, locate the formulaequationinput
element. This element
creates the response field for the problem and is a child of the
numericalresponse
element.
To add text after the response field, add the trailing_text
attribute
together with the symbol or text that you want to use inside the
formulaequationinput
element. An example problem follows with three
questions that use this attribute.
Note
You can use MathJax inside the trailing_text
attribute, as the
third question in this example shows. You cannot use HTML inside this
attribute.
<problem>
<numericalresponse answer="12.87">
<label>How far is 8 miles in kilometers?</label>
<formulaequationinput trailing_text="km" />
</numericalresponse>
<numericalresponse answer="91">
<label>According to the Pew Research Center's Internet and American Life
Project, what percentage of the world's population had a cellular phone
as of May 2013?</label>
<formulaequationinput trailing_text="%" />
</numericalresponse>
<numericalresponse answer="9.81">
<label>What is the strength of Earth's gravity, to two decimal places?</label>
<formulaequationinput trailing_text="\(m/s^{2}\)" />
</numericalresponse>
</problem>
The following templates represent problems without, and with, a Python script.
<problem>
<numericalresponse answer="ANSWER (NUMBER)">
<label>Question text</label>
<description>Optional tip</description>
<formulaequationinput />
<correcthint>Feedback for the correct answer.</correcthint>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>TEXT OF SOLUTION</p>
</div>
</solution>
</numericalresponse>
</problem>
Note
The following example includes a Python script. When you add a script to a problem component, make sure that it is not indented. A “jailed code” error message appears when you save the problem in Studio if the script element is indented.
<problem>
<numericalresponse answer="$computed_response">
<label>Question text</label>
<description>Optional tip</description>
<responseparam type="tolerance" default="0.0001" />
<script type="loncapa/python">
computed_response = math.sqrt(math.fsum([math.pow(math.pi,2), math.pow(math.e,2)]))
</script>
<formulaequationinput />
<correcthint>Feedback for the correct answer.</correcthint>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>TEXT OF SOLUTION</p>
</div>
</solution>
</numericalresponse>
</problem>
For numerical input problems, the <problem>
element can include this
hierarchy of child elements.
<numericalresponse>
<label>
<description>
<formulaequationinput>
<additional_answer>
<correcthint>
<responseparam>
<script>
<solution>
<demandhint>
<hint>
In addition, standard HTML tags can be used to format text.
<numericalresponse>
¶Required. Indicates that the problem is a numerical input problem.
The <numericalresponse>
element is similar to the <formularesponse>
element used by the math expression input problem
type, but the <numericalresponse>
element does not allow unspecified
variables.
Attribute | Description |
---|---|
answer |
Required. The correct answer to the problem, given as a mathematical expression. |
partial_credit |
Optional. Specifies the type of partial credit given. close ,
list , or a combination of both in any order separated by a comma (,). |
Note
If you include a variable name preceded with a dollar sign
($) in the problem answer
, you can include a script in the problem that
computes the expression in terms of that variable.
The grader evaluates the answer that you provide and the learner’s response in the same way. The grader also automatically simplifies any numeric expressions that you or a learner provides. Answers can include simple expressions such as “0.3” and “42”, or more complex expressions such as “1/3” and “sin(pi/5)”.
<label>
<description>
<formulaequationinput>
<additional_answer>
<responseparam>
<correcthint>
<script>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<formulaequationinput>
¶Required. Creates a response field in the LMS where learners enter a response.
Note
Some older problems use a <textline math="1" />
element instead of
<formulaequationinput>
. However, the <textline math="1" />
element has been deprecated. All new problems should use the
<formulaequationinput>
element.
Attribute | Description |
---|---|
size |
Optional. Defines the width, in characters, of the response field in the LMS. |
trailing_text |
Optional. Specified text to appear immediately after the response field. |
None.
<additional_answer>
¶Optional. Specifies an additional correct answer for the problem. A problem can contain an unlimited number of additional answers.
Attribute | Description |
---|---|
answer |
Required. The alternative correct answer. |
correcthint
<responseparam>
¶Specifies a tolerance, or margin of error, for an answer.
Attribute | Description |
---|---|
type |
Optional. "tolerance" defines a tolerance for a number. |
default |
|
partial_range |
Optional. For partial credit problems of type="close" , a
multiplier for the tolerance. Default is 2. |
partial_answers |
|
None.
<correcthint>
¶Optional. Specifies feedback to appear after the learner submits the correct answer.
Attribute | Description |
label |
Optional. The text of the custom feedback label. |
None.
<script>
¶Optional. Specifies a script that the grader uses to evaluate a learner’s
response. A problem behaves as if all of the code in all of the <script>
elements were in a single <script>
element. Specifically, any variables
that are used in multiple <script>
elements share a namespace and can be
overridden.
As with all Python, indentation matters, even though the code is embedded in XML.
Attribute | Description |
---|---|
type |
Required. Must be set to loncapa/python . |
None.
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that contains more than one question.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
In open response assessments (ORA), learners submit essay responses and then go through a series of assessment steps (such as peer assessment and self assessment) to complete the assignment.
Note
Open response assessments that are visible to all learners do not respect cohorts. In other words, it is possible for learners in one cohort to be asked to grade responses for learners in another cohort. If you want to make an open response assessment divided by cohort, you must create that assessment in a course component that is defined as cohort-specific. For more information about cohorts and creating cohort-specific course content, see Using Cohorts in Your Courses and Creating Cohort-Specific Course Content.
The following topics provide conceptual information about open response assessments.
For information about creating and managing open response assessments, including step by step instructions, see the following sections.
For information about the learner experience with open response assessments, see sfd_ora in the edX Guide for Learners.
When you create an open response assessment assignment, you include several elements.
Note
If you include a learner training step, you must also include a peer assessment step. The learner training step must come first, before the peer and self assessment steps. If you include a staff assessment step, it should be the final step in the assignment.
For step-by-step instructions for creating an open response assessment, see Create an Open Response Assessment Assignment.
A prompt is the question that you want your learners to answer. You can add more than one prompt in an ORA assignment. In addition to requiring a written response, you can require or allow learners to upload an image or other type of file to accompany their written response.
Within each prompt, you can include helpful information for your learners, such as the approximate number of words or sentences that their responses should have, the types of files that they can upload, or what they can expect after they submit their responses. For more information, see Step 2. Add Prompts.
In the learner view of the assignment, each prompt appears above the field where learners enter their responses. For more information, see steps in an open response assessment.
Your assignment must include a rubric. Grading for every type of assessment in an ORA assignment (self, peer, or staff) is done by comparing each response against the same rubric. You add one rubric for each problem, regardless of the number of prompts in the problem. The person performing the assessment sees the rubric when she begins grading, and compares the submitted response to the rubric.
A rubric consists of several criteria and a set of options for each criterion.
Criteria. Each criterion describes characteristics that a response should have. Examples are concepts that a response should cover, or the amount of supporting information that a response must include.
Each criterion has a name and a prompt.
Options. Each criterion has a set of options, usually a range of ratings, which describe how well each response satisfies the criterion. For example a set of options might be “Fair”, “Good”, or “Excellent”.
Each option has a name, an explanation, and a point value.
Note
Different criteria in the same assignment can have different numbers of options.
You can also include criteria that do not have options, but that do include a field where learners or staff can enter feedback. For more information, see Provide Only Comment Fields for Individual Criteria.
In a rubric as it appears to a learner, the following elements are visible.
Criterion names do not display in the rubric that learners use to perform their assessments, but do appear on the page that shows the learner’s final ORA assignment grade.
For information about creating a rubric, see Step 3. Add the Rubric.
In a rubric, one criterion and its set of options might resemble the following.
Criterion
Name: Origins
Prompt: Does this response explain the origins of the Hundred Years’ War? (5 points possible)
Options
Points | Name | Explanation |
---|---|---|
0 | Not at all | This response does not address the origins of the Hundred Years’ War. |
1 | Dynastic disagreement | This response alludes to a dynastic disagreement between England and France, but doesn’t reference Edward III of England and Philip VI of France. |
3 | Edward and Philip | This response mentions the dynastic disagreement between Edward III and Philip VI, but doesn’t address the role of Salic law. |
5 | Salic law | This response explains the way that Salic law contributed to the dynastic disagreement between Edward III and Philip VI, leading to the Hundred Years’ War. |
In your assignment, you also specify the assessment steps. You can set the assignment to include some combination of the following steps.
Note
If you include a learner training step, you must also include a peer assessment step. The learner training step must come before peer or self assessment steps. If you include both peer and self assessment steps, edX recommends that you place the peer assessment before the self assessment. If you include a staff assessment step, it should be the final step in the assignment.
You can see the type and order of the assessments when you look at the assignment. In the following example, after learners submit their responses, they complete a learner training step (“Learn to Assess Responses”), complete peer assessments on other learners’ responses (“Assess Peers”), and then complete a self assessment (“Assess Your Response”).
Learner training steps teach learners to perform their own assessments. A learner training assessment contains one or more sample responses that you write, together with the scores that you would give the sample responses. Learners review these responses and try to score them the way that you scored them.
Note
If you include a learner training step, you must also include a peer assessment step. The learner training step must come before any peer and self assessment steps.
In a learner training assessment, the Learn to Assess Responses step opens immediately after a learner submits a response. The learner sees one of the sample responses that you created, along with the rubric. The scores that you gave the response do not appear. The learner also sees the number of sample responses that he or she will assess.
The learner selects an option for each of the assignment’s criteria, and then selects Compare your selections with the instructor’s selections. If all of the learner’s selections match the selections defined by the course team, the next sample response opens automatically.
If any of the learner’s selections differ from those specified by the course team, the learner sees the response again, with a message indicating that his assessment differs from the instructor’s assessment.
The learner continues to try scoring the sample response until his scoring for all criteria matches the scoring defined by the course team.
For more information, see Learner Training.
In the peer assessment step, learners review the responses of other learners in the course. For each response, they select an option for each criterion in your rubric based on the response. Learners can also provide text feedback, or comments, on each response.
If you include both peer and self assessment steps, edX recommends that you place the peer assessment before the self assessment.
For information about how peer assessments affect a learner’s assignment grade, see How Scores for Open Response Assessments Are Calculated.
When you include a peer assessment step, you specify the number of responses that each learner must assess (Must Grade) and the number of peer assessments that each response must receive (Graded By) before the step is considered complete.
Note
Because some learners might submit a response without performing any peer assessments, some responses might not receive the required number of assessments. To increase the chance that all responses receive a sufficient number of assessments, you must set the number of responses that learners must assess to be higher than the number of assessments that each response must undergo. For example, if you require each response to receive three assessments, you could require each learner to assess five responses.
If all responses have received assessments, but some learners have not completed the required number of peer assessments, those learners can perform peer assessments on responses that have already been assessed by other learners. The learner who submitted the response sees the additional peer assessments when he sees his score. However, the additional peer assessments do not count toward the score that the response receives.
By default, in peer assessment steps, learners can provide text feedback for the entire response, using a single comment field below the entire rubric. You can also add a comment field to an individual criterion or to several individual criteria. This comment field can contain up to 300 characters.
Comment fields for individual criterion appear below the options for the criterion.
For more information, see Step 3. Add the Rubric and Provide Only Comment Fields for Individual Criteria.
Learners can assess more than the required number of responses. After a learner completes the peer assessment step, the step “collapses” so that only the Assess Peers heading is visible.
If the learner selects the Assess Peers heading, the step expands again. The learner can then select Continue Assessing Peers to perform additional peer assessments.
In self assessment steps, the learner sees her own response followed by the rubric. As with peer assessments, the learner evaluates the response using the rubric, selecting an option for each criterion.
If you include both peer and self assessments, edX recommends that you include the peer assessment before the self assessment.
In staff assessment steps, a member of the course team performs an evaluation of the learner’s response. Course team members grade the response using the problem’s rubric, in the same way that self and peer assessments are done, and can include comments in their assessment.
Note
If a staff assessment step is included in an assignment, learners do not receive final grades until the staff assessment step has been completed. The scores that you give learners in staff assessment steps override scores from any other assessment type in the assignment, including peer assessments that are completed after the staff assessment.
Including a staff assessment step in an ORA assignment is best for courses with smaller groups of learners. For example, in a course with cohorts, you might create an ORA assignment that has both peer assessment and staff assessment steps, and make it available only to the members of one or more specific cohorts. For the members of the remaining cohorts, you create an ORA assignment that has only the peer assessment step. For details about creating different course experiences for learners in different cohorts, see Creating Cohort-Specific Course Content.
For details about performing grading in staff assessment steps, see Perform Staff Assessments in an ORA Assignment.
In open response assessments that contain staff assessments, staff assessments can be performed more than once, and the most recent staff assessment score is equivalent to the assignment’s final score. Peer and self assessment scores are not taken into account, although learners can see scores and comments from all assessments that were performed on their response.
In open response assessments that do not contain staff assessments but do contain both peer assessment and self assessments, only the peer assessment score counts toward the assignment’s final score. The self assessment score is not taken into account. There is no option for weighting the peer and self assessment portions independently.
In open response assessments that include only self assessments, the assignment’s final score is equivalent to the self assessment score.
Note
Given the high level of subjectivity in peer assessments, edX recommends that you make ORA assignments count towards only a small percentage of a course’s final grade.
The following topics detail how the scores for peer assessments and self assessments are calculated.
Note
If an open response assessment includes peer and self assessments but not staff assessments, only the peer assessment score counts towards the assignment’s final score. The self assessment score is not taken into account.
Peer assessments are scored by criteria. A number of peer assessors rate a learner’s response by each of the required criteria. The learner’s score for a particular criterion is the median of all scores that each peer assessor gave that criterion. For example, if the Ideas criterion in a peer assessment receives a 10 from one learner, a 7 from a second learner, and an 8 from a third learner, the Ideas criterion’s score is 8.
The learner’s final score on a response is the sum of the median scores from all peer assessors for all of the required criteria.
For example, a response might have received the following scores from peer assessors.
Criterion Name | Peer 1 | Peer 2 | Peer 3 | Median |
---|---|---|---|---|
Ideas (out of 10) | 10 | 7 | 8 | 8 |
Content (out of 10) | 7 | 9 | 8 | 8 |
Grammar (out of 5) | 4 | 4 | 5 | 4 |
To calculate the final score for the response, add the median scores that were given for each criterion, as follows.
Ideas median (8/10) + Content median (8/10) + Grammar median (4/5) = final score (20/25)
Note
Remember that final scores are calculated by criteria, not by individual assessor. Therefore, the score for the response is not the median of the scores that each individual peer assessor gave the response.
For information on scores for learner submissions that you have canceled and removed from peer assessment, refer to Remove a Learner’s Response.
Note
If an open response assessment includes both peer and self assessments, the self assessment score does not count toward the final grade.
If an open response assessment includes only self assessments, the assignment’s final score is equivalent to the self assessment score.
Self assessments are scored by criteria. Each learner rates herself on each criterion, using the rubric. The learner’s final score on a response is the total number of earned points, out of the total possible points.
If an open response assessment includes a staff assessment step, the score that is given in the staff assessment step overrides all other scores in the assignment.
You can include a Top Responses section that shows the top scoring responses that learners have submitted for the assignment, along with the scores for those responses. The Top Responses section appears below the learner’s score information after the learner finishes every step in the assignment.
You can allow the Top Responses section to show between 1 and 100 responses. Keep in mind, however, that each response might be up to 300 pixels in height in the list. (For longer responses, learners can scroll to see the entire response.) EdX recommends that you specify 20 or fewer responses to prevent the page from becoming too long.
Note
It can take up to an hour for a high-scoring response to appear in the Top Responses list.
If a high-scoring response is removed from peer assessment it is also removed from the Top Responses list.
For more information, see Include Top Responses.
Open response assessments can be a powerful teaching tool, but they are more effective in some situations than in others. In general, open response assessments are best suited to open-ended or project-based assignments with subjective essay answers and discussion. For example, open response assessments work well in humanities assignments where learners are encouraged to make subjective assessments of text, images, or other contributions, but they might not be the ideal tool in chemistry assignments where there are definitively correct or incorrect answers to questions.
Note
Do not add more than one ORA component in a course unit. Multiple ORA assignments in a unit cause errors when learners submit their assessments.
EdX suggests that you follow the guidelines and best practices in the following sections when you use open response assessments in your courses.
Set the Must Grade number higher than the Graded By number to minimize the chance that some responses will not be peer assessed. EdX recommends a setting such as Must Grade = 4 and Graded By = 3.
To allow enough time for peer assessments to be performed after learners have submitted their own responses, set the response due date and time at least one week before the peer assessment due date and time.
If the response due time and peer assessment due time are too close together, and a learner submits a response just before responses are due, other learners may not have time to perform peer assessments before peer assessments are due.
Use course discussion posts to provide guidance for peer grading of ORA assignments.
Consider extending due dates to allow the discussion moderation team to monitor course discussions for questions about, or reactions to, peer grading, and to address issues when necessary.
If learners raise concerns about ORA assignments in course discussions, course team members can perform actions such as deleting a learner’s history, or “state” for a problem so that he can submit his assignment again, overriding a learner’s grade, or removing a learner response from peer grading. If there are more widespread issues with peer grading, the course team can reduce the weight of the peer assessment within the final course grade or allow learners to drop the lowest graded assignment from their grades.
In ORA assignments, you can ask your learners to upload images, .pdf files, or other types of files as a part of their responses. Other learners evaluate the responses and their accompanying files during the peer assessment. Offering the option to upload files in addition to a text response can give learners the opportunity to use tools and develop skills that are relevant to your course.
Before you decide to ask learners to upload files along with their text responses, however, be aware of the following limitations and best practices.
For more information, see Specify the Response Type.
Learners cannot upload file types that have the following file name extensions as part of an open response assessment on edx.org or edX Edge. When you define a set of custom file types for learners to upload with their responses, you cannot specify these file types. The extensions on this list are selected and maintained by the development operations team at edX, and are subject to change.
This set of file name extensions is provided as the default for Open edX installations. Open edX system administrators can update this list. For more information, see Prohibiting Submission of Specified File Types.
A through I | .action, .apk, .app, .application, .bat, .bin, .cmd, .com, .command, .cpl, .csh, .dmg, .exe, .gadget, .hta, .inf, .ins, .inx, .ipa, .isu |
J through P | .jar, .job, .jse, .lnk., msc, .msh, .msh1, .msh2, .mshxml, .msh1xml, .msh2xml, .msi, .msp, .mst, .osx, .out, .paf, .pif, .prg, psc1, .psc2, .ps1, .ps1xml, .ps2, .ps2xml |
Q through Z | .reg, .rgs, .run, .scf, .scr, .sct, .shb, .shs, .u3p, .vb, .vbe, .vbs, .vbscript, .workflow .ws, .wsc, .wsf, .wsh |
Creating an open response assessment (ORA) assignment is a multi-step process. This section covers each step in detail.
In addition, see these other topics about different aspects of open response assessments.
To add the open response assessment component to your course, complete these steps.
Note
Do not add more than one ORA component in a course unit. Multiple ORA assignments in a unit cause errors when learners submit their assessments.
In Studio, open the unit where you want to create the open response assessment.
Under Add New Component, select Problem.
Select Advanced, and then select Open Response Assessment.
In the problem component that appears, select Edit.
You use this component editor to add prompts and the rubric, and to specify other settings for the open response assessment component.
Select Save each time you complete an editing session. You can continue to edit the problem until you publish the unit.
Note
After you publish an ORA assignment, you can no longer change the structure of the rubric or the point values associated with each criterion in the rubric. If you correct typographical errors in the text of the rubric, only learners who have not yet started the assignment will see the corrections. However, you can modify due dates and the weight of the ORA assignment after you publish an ORA assignment.
You can format text and add images inside an open response assessment prompt the same way you would for an HTML component. For more information, see The Visual Editor.
To add prompts, or questions, to your ORA assignment, complete these steps.
In this step, you add your rubric to provide guidance for assessing responses within the assignment. You add one rubric for each problem, regardless of the number of prompts in the problem.
Note
The most effective rubrics for peer grading are written in clear, simple language, have concrete details, and are as specific as possible. Many novice learners will find it diffidult to make the types of value judgments required by more holistic rubrics.
For each step below, replace any default text with your own text.
Note
All open response assessments include a feedback field below the rubric so that learners can provide written feedback on a peer’s overall response. You can also allow or require learners to provide feedback for individual criteria. See step 4 in the following procedure for instructions. For more information, see Feedback Options.
To add the rubric, follow these steps.
In the ORA component editor, select the Rubric tab.
In the first Criterion section, enter the name and prompt text of your first criterion.
In the Option sections for this criterion, for each option that you provide for the criterion enter a name, explanation, and point value.
To remove options, select Remove at the top right of the option section.
To add more options, select Add Option.
Next to Feedback for This Criterion, select a value in the dropdown list.
Repeat steps 2-4 to create additional criteria. To add more criteria than provided for in the template, select Add Criterion at the end of the list of criteria.
Under Feedback for This Response, add instructions for learners to provide overall written feedback on responses that they assess. You can leave the default text in the Feedback Instructions and Default Feedback Text fields, or replace it with your own text.
Note
After you publish an ORA assignment, you can no longer change the structure of the rubric or the point values associated with each criterion in the rubric. If you correct typographical errors in the text of the rubric, only learners who have not yet started the assignment will see the corrections. However, you can modify due dates and the weight of the ORA assignment after you publish an ORA assignment.
For an individual criterion, you can omit options, but if you do not include options, you must include the ability to add feedback comments.
To provide a comment field without options, complete these steps.
After you have added a prompt and rubric, you must specify additional settings for the assignment. These settings include the type of response that learners must submit, assignment dates, and whether learners will see a list of top scoring responses.
Before you specify the start and due dates and times for a response, be sure that you consider these aspects of, and best practices for, the open response assessment feature. For more information, see Best Practices for Open Response Assessments.
To specify a name for the assignment as well as start and due dates for all learner responses, follow these steps.
Learners can submit written responses, files, or both in their responses to the assigment. If you want learners to upload files, make sure the text of your prompt includes adequate instructions for learners to upload the required files, including the file types that learners can upload.
Note
Before you ask learners to submit files for your open response assessment, be sure to read about limitations and best practices. For more information, see Asking Learners to Upload Files in Responses.
If you allow or require learners to upload image files, learners must also provide a brief written description of each image for accessibility.
To specify the response type that learners must submit, follow these steps.
In the ORA component editor, select Settings.
For Text Response, select one of the following options.
For File Uploads Response, select one of the following options.
If you select Required or Optional, the File Upload Types list appears. Select one of the following options.
If you select Custom File Types, the File Types field appears. Enter the file name extensions, separated by commas, of the types of files that you want learners to submit.
Note
To reduce the potential for problems from files with malicious content, learners cannot upload certain file types. For more information, see Prohibited File Extensions.
For Allow LaTeX Responses, select True or False.
You can specify whether learners see a section that shows the highest scoring responses that were submitted for each question in the assignment. If offered, this section displays only after each learner has completed all steps in the assignment. You specify the number of highest scoring responses to show.
Note
Because each response can be up to 300 pixels in height, we recommend that you set the number of top responses lower than 20, to prevent the page from becoming too long.
In the ORA component editor, select Settings.
In the Top Responses field, specify the number of responses that you want to appear in the Top Responses section below the learner’s final score.
If you do not want this section to appear, set the number to 0. The maximum number is 100.
Open response assessment assignments can include learner training, peer assessment, self assessment, and staff assessment steps.
The component editor provides the steps in a sequence that works well for most courses. While you can change the order of the peer, self, and staff assessment steps, edX recommends that you include them in this order.
Note
If you include a learner training step, you must also include a peer assessment step. The learner training step must come before peer or self assessment steps.
If you include both peer and self assessment steps, edX recommends that you place the peer assessment before the self assessment.
If you include a staff assessment step, it should be the final step in the assignment.
To add steps to the open response assignment, complete these actions.
In the ORA component editor, select the Settings tab.
Scroll below the Top Responses field.
Locate the following headings.
Select the check boxes for the steps that you want the assignment to include.
(optional) To change the order of the steps, drag the steps into the order that you want.
After you select the steps that you want, you can specify settings for those steps.
Note
If you make changes to a step, and then clear the check box for that step, the step will no longer be part of the assignment and your changes will not be saved.
For the learner training step, you enter one or more example responses that you have created, then specify the expected option for each criterion in your rubric.
Note
You must enter your complete rubric on the Rubric tab before you can select options for the learner training responses. If you later change one of your criteria or any of its options, you must also update the learner training step.
To add and score learner training responses, follow these steps.
For the peer assessment step, you specify the number of responses that each learner must grade, the number of learners who must grade each response, and start and due dates. All fields are required.
To specify peer assessment settings, follow these steps.
Note
The times that you set are in Coordinated Universal Time (UTC). To verify that you have specified the times that you intend, use a time zone converter such as Time and Date Time Zone Converter.
Additionally, the course grace period setting does not apply to open response assessments. For more information about the grace period setting, see Set the Grace Period.
For more information about peer assessment steps, see Peer Assessment Step.
For the self assessment step, you specify when the step starts and ends.
Note
The times that you set are in Coordinated Universal Time (UTC). To verify that you have specified the times that you intend, use a time zone converter such as Time and Date Time Zone Converter.
Additionally, the course grace period setting does not apply to open response assessments. For more information about the grace period setting, see Set the Grace Period.
For the staff assessment step, there are no additional settings to specify after you have selected the step for inclusion in the assignment.
To test your ORA assignment, you can set up the assignment in your course, set the section or subsection date in the future, publish the unit, and ask one or more beta testers to submit responses and grade each other. The beta testers can then let you know if they found the question and the rubric easy to understand or if they had any problems with the assignment.
For more information about beta testing, see Beta Testing a Course.
After you publish an open response assessment (ORA) assignment and learners start to submit responses and perform assessments, members of the course team can take the following actions.
The following topics provide additional information about open response assessments.
You can view the following information about an individual learner’s open response assessment assignment.
For more details about accessing information for a specific learner, and for an example that shows a learner’s response with peer assessments, see Access a Specific Learner’s Information.
To determine whether a learner has received the required number of assessments from other learners and has completed the required number of assessments for other learners, refer to the Graded By and Must Grade values that were set for the open response assessment assignment in Studio. For more information about these settings, see Specify Step Settings.
In order to access information about a specific learner’s assignment, you need that learner’s username or email address. For more information, see Download or View Learner Data.
To access information about a specific learner, follow these steps.
View the live version of your course in the LMS, and then go to the ORA assignment.
Scroll to the end of the problem, and then select Manage Individual Learners.
Enter the learner’s username or email address, and then select Submit.
The Manage Individual Learners dialog box updates with expandable sections for each of the assessment steps in the assignment and other actions you can take on the learner’s response. Only the types of assessment steps (self, peer, or staff) that are included in the assignment are shown.
If the learner uploaded files along with her response, select View the files associated with this submission to review or download the files.
Select any of the section headings to expand that section.
When a staff assessment is included in an open response assessment assignment, course team members see a Grade Available Responses option at the end of the assignment in the course, and learners see a Staff Assessment step in their assignment. For information about the possible assessment steps in an ORA assignment, see Assessment Steps.
Submitting a staff assessment has the following results.
To perform a staff assessment in an assignment, follow these steps.
View the live version of your course in the LMS, and then go to the ORA assignment.
Scroll to the end of the problem, and then select Grade Available Responses.
In the dialog that opens, the number of available and checked out responses is shown. Checked out responses are responses that are currently being graded by you or another course team member.
Select the Staff Assessment heading to open a response that is available for grading.
Perform an evaluation of the response using the problem’s rubric.
Select Submit assessment to submit the assessment and close the grading dialog. Alternatively, select Submit assessment and continue grading to submit the assessment and immediately grade another submission.
For any open response assessment, whether or not a staff assessment is already included, you can override a learner’s final grade for the assignment. The ability to override the final grade can be useful if, for example, a learner’s submission was inappropriately or inadequately graded by peers, or if there are not enough peer reviewers to complete the required number of peer assessments.
Submitting an override assessment has the following results.
Note
You can perform override assessments more than once on the same response, regardless of the due date of the assignment. The learner’s final grade on the assessment is updated to reflect the most recent staff override assessment grade.
Learners who receive override grades for their submissions see a Staff Assessment step in their assignments, where they can view the rubric and any comments provided in the staff assessments.
In order to perform an override assessment for a learner, you need that learner’s username or email address. For more information, see Download or View Learner Data.
To perform an override assessment, follow these steps.
View the live version of your course in the LMS, and then go to the ORA assignment.
Scroll to the end of the problem, then select Manage Individual Learners.
Enter the learner’s username or email, then select Submit.
The Manage Individual Learners dialog updates with expandable sections for each of the assessment steps in the assignment and other actions you can take on the learner’s response.
Select Submit Assessment Grade Override.
Perform an assessment of the learner’s response using the problem’s rubric.
When you have finished the assessment, select Submit assessment.
The grade that you have given this learner’s response becomes the learner’s final grade on the assignment. Peer assessments are not taken into account in calculating the learner’s final assignment grade when a staff override grade exists.
Learners who have an override grade for their submission see a Staff Assessment step in their assignment, where they can view the rubric and any comments provided in the staff assessment.
Note
Override assessments can be performed more than once on the same response, regardless of the due date of the assignment. The learner’s final grade on the assessment is updated to reflect the most recent staff override assessment grade.
In a course that contains assignments with peer assessment steps, learners might alert you to inappropriate responses that they have seen while performing peer assessments. In such a situation you can locate and remove the response. Doing so removes the response so that it is no longer shown to other learners for peer assessment.
Note
Removing a learner’s response is an irreversible action.
When you remove a response, the response is immediately taken out of the pool of submissions available for peer assessment. If the inappropriate response has already been sent to other learners for peer assessment, it is also removed from their queues. However, if any learner has already graded the inappropriate response, it is counted as one of the submissions they have graded.
Note
After you remove an inappropriate response, you can decide whether the learner who submitted that response is allowed to submit a replacement response.
If you do not want to allow the learner to submit a replacement response, you do not need to take any additional action. The learner receives a grade of zero for the entire submission.
To allow the learner to resubmit a response for a cancelled submission, you must delete the learner’s state for the problem.
To remove a submitted response, follow these steps.
Identify the learner who submitted the inappropriate response by following the steps in the Locate a Specific Submission in an ORA Assignment topic.
View the live version of your course in the LMS, and then go to the ORA assignment that contains the submission you want to remove.
Scroll to the end of the problem, and then select Manage Individual Learners.
Enter the learner’s username or email, and then select Submit.
The Manage Individual Learners dialog updates with expandable sections for each of the assessment steps in the assignment and other actions you can take on the learner’s response.
Select Remove Submission from Peer Grading.
Enter a comment to explain the removal. The learner sees this comment when she views her response in the open response assessment problem.
Select Remove submission.
The inappropriate submission is permanently removed from peer assessment. Removed submissions are also removed from the list of Top Responses if they were previously listed.
Optionally, delete the learner’s state for the problem. This step allows the learner to submit another response. For more information, see Delete a Learner’s State for a Problem.
When you access this learner’s information again by selecting Manage Individual Learners, instead of the response, you see a note showing the date and time that the submission was removed, and the comments that you entered.
When the learner views the assignment in the course, she sees that all steps in the assignment have a status of “Cancelled”. Under Your Response, instead of the text of their response, she sees the date and time that their response was cancelled, and the comments relating to the removal of their submission.
If you are alerted to an inappropriate ORA submission that you want to cancel and remove from peer assessment, locate the specific submission by following these steps.
After you release an open response assessment assignment, you can access various metrics for the assignment or for all open response assessment assignments in the course. For example, you can view the number of learners in each step of the assignment or in possible states such as “Waiting” or “Completed” within the assignment. In addition to viewing metrics for the assignment or for assignments in a course, you can also access assignment details for an individual learner, or generate a report containing learner and response details for ORA assignments in the course.
For information about tasks that you can perform on learner responses in an ORA assignment, including performing a grade override assessment or cancelling a learner’s submission, see Managing Open Response Assessment Assignments.
To view metrics about all of the ORA assignments in a course, follow these steps.
The Open Responses tab of the instructor dashboard displays the following information.
The Open Responses tab also displays the same information for each separate ORA assignment in the course, grouped by the course units that include ORA assignments.
To view metrics about learners in a single ORA assignment, including the number who are active in each step, follow these steps.
Open the ORA assignment in the course.
Scroll to the bottom of the assignment and select View Assignment Statistics.
You see statistics for the assignment, including the total number of responses and the location ID for the assignment.
In the Learner Progress section, for each assessment step in the assignment, you can see the number of learners who are currently working through (but who have not completed) that step. Only assessment types that exist in the assignment are included.
Note
If a Staff Assessment step exists in the assignment, this step will always show 0 active learners, because no learner actions are required for that step.
In addition to learners who are active in the assessment steps of the assignment, you can see the number of learners who are in the following states in the assignment.
- Waiting: Learners who have finished the requirements for a step and are waiting for their responses to be assessed by peers or staff.
- Done: Learners who have completed all of their required steps, and have received the required number of reviews.
- Cancelled: Learners who have had their responses cancelled.
In the Dates section below Learner Progress, the release and due dates for each step in the assignment are shown.
To generate a report containing details of the ORA assignments in the course, follow these steps.
View the live version of your course.
Select Instructor, and then select Data Download.
In the Reports section, select Generate ORA Data Report.
A status message indicates that the ORA data report is being generated. This process might take some time to complete, but you can navigate away from this page and do other work while it runs.
To check the progress of the report generation, reload the page in your browser and scroll down to the Pending Tasks section. The table shows the status of active tasks.
When the report is complete, a linked .csv file name becomes available above
the Pending Tasks section. File names are in the format
{course_id}_ORA_data_{datetime}.csv
. The most recently generated
reports appear at the top of the list.
To open or save the generated ORA data report, locate and select the link for the grade report you requested.
You can open .csv files in a spreadsheet application to sort, graph, and compare data.
The ORA data report for your course is a time-stamped .csv file that contains data for all the ORA assignments in your course. For each ORA assignment in the course, the report provides information that includes each learner’s anonymized ID, response, assessments details and scores, and the final score for the assignment. For more details about each column in the report, see the following descriptions.
The .csv file contains one row of data for each response from a learner.
The IDs in the Submission ID and Item ID columns uniquely identify the problem within the course content and the learner’s submission for that problem.
The Anonymized Student ID column lists an ID for each learner without revealing confidential, personally identifiable data such as email addresses and usernames.
The Date/Time Response Submitted column displays the date and time that the learner submitted her response, in YYYY-MM-DD HH-MM-SS format.
The Response column displays the content of the learner’s response.
The Assessment Details column displays the following details for the assessments that were performed on the response.
The Assessment Scores column lists the scores that the response received in self, peer, or staff assessments.
The Date/Time Final Score Given, Final Score Points Earned, and the Final Score Points Possible columns provide details of the final score that the response received. If a response has not received enough assessments for the assignment to be considered complete, these columns show a value of “None”.
The Feedback Statements Selected and Feedback on Peer Assessments columns together show the information that learners provided in the Provide Feedback on Peer Assessments section of their ORA assignments. This section is available to learners only when all assessments for an assignment have been completed, and provides an optional way for learners to comment on their experience of the peer assessment process.
The Feedback Statements Selected column displays the text of the feedback statements (if any) that the learner selected to describe their experience of the peer assessment process. Learners can select either “These assessments were useful” or “These assessments were not useful”. They can also select either or both of “I disagree with one or more of the peer assessments of my response” and “Some comments I received were inappropriate”.
If a learner also provided a free-form comment in the text field below the selectable feedback statements, the text appears in the Feedback on Peer Assessments column.
Note
EdX offers provisional support for this tool.
Oppia is a third-party tool that you can use to create short interactive tutorials, called explorations. This topic describes how to embed Oppia explorations in your course.
Before you make content from an external site available through your course, be sure to review the content to ensure that it is accessible to people with disabilities. For more information, see Accessibility Best Practices for Developing Course Content.
You use the Oppia exploration tool in Studio to add interactive tutoring activities, created as Oppia explorations, to your course. Oppia explorations simulate conversations with human tutors to encourage exploration and experiential learning.
Note
Oppia explorations are not assessments that can be graded. At this time, you should not add Oppia exploration components to the graded subsections of your course.
The following example shows an Oppia exploration as learners see it in the edX LMS.
For information about how to create Oppia explorations, see the Oppia User Documentation.
Before you can add an Oppia exploration to your course, you must enable this tool in Studio.
To enable the Oppia exploration tool in Studio, you add the "oppia"
key to
the Advanced Module List on the Advanced Settings page. (Be sure to
include the quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
You must enable the Oppia exploration tool before you add a component with an exploration to your course. You must also select the Oppia exploration that you want to add, and obtain both the URL of the website that hosts that exploration and its ID.
On the Course Outline page, open the unit in an ungraded subsection where you want to add the exploration.
Under Add New Component, select Advanced, and then select Oppia Exploration. The new component is added to the unit.
In the new component, select Edit.
In the Component Display Name field, enter an identifying name for the component. In the LMS, this name appears as a heading above the exploration.
In the Oppia Exploration ID field, enter the identifier assigned to the
exploration you want to add. For example, qG6kclSxlWZn
or
gC4_ggkWar-L
.
In the Oppia Server URL field, enter the host site of the exploration
you want to add. For example, www.oppia.org
.
Select Save.
Studio does not show the exploration on the unit page. To verify your work, select Preview, or publish the unit and then select View Live.
Note
EdX offers full support for this tool.
The Peer Instruction learning system provides students with in class opportunities to discuss questions and arrive at a deeper understanding of concepts. The peer instruction tool emulates this classroom experience for the learners in an online course.
For more information about the Peer Instruction learning system, consult the Turn to Your Neighbor blog.
Assignments created with the peer instruction tool present learners with a multiple choice question, and then guide the learners through these stages of the exercise.
Learners also receive an explanation for the correct answer choice. After 10 learners complete the assignment, class breakdown histograms show the percentage of responding learners who selected each of the answer choices, both initially and after reviewing peer responses.
Before you use the peer instruction tool in Studio, you design the assignment. You prepare the assignment question and its answer choices in the same way that you would for classroom students. The question and the answer choices can include text, images, or both.
For your online learners, you also prepare the following additional elements for the exercise.
A text explanation of the correct answer choice.
An example text explanation for each answer choice.
These example explanations ensure that all learners, including the first few to attempt the assignment, have other responses to review in the second stage of the exercise. As the number of responses received from learners increases, the likelihood that your examples will be shown to any given learner decreases.
The number of responses for learners to review in the second stage of the exercise.
The logic for selecting the responses to show.
After your design is complete, you use Studio to add the assignment to your course.
Note
You might consider including an HTML component before the peer instruction component to describe the workflow that learners will experience in this assessment type. You might also consider including a content-specific discussion component after the peer instruction component to give learners an opportunity to continue the conversation.
For more information about how learners experience peer instruction assignments, see interactive_multiple_choice in the EdX Learner’s Guide or Explaining Multiple Choice Answers in the Open edX Learner’s Guide.
Before you can add a component to your course structure for a peer instruction assignment, you must enable the peer instruction tool for your course.
To enable the peer instruction tool in Studio, you add the "ubcpi"
key to
the Advanced Module List on the Advanced Settings page. Be sure to
include quotation marks around the key value. For more information, see
Enabling Additional Exercises and Tools.
Note
This tool was developed and contributed to the edX platform by the University of British Columbia.
If the question or an answer choice in an assignment includes an image, you upload the image file on the Files & Uploads page. The Studio URL for the image can then be added to the question or answer choice in the peer instruction component.
After you enable the peer instruction tool for your course, you can add the component for a peer instruction assignment.
On the Course Outline page, locate the subsection where you want to add the assignment and add or open a unit.
Under Add New Component, select Advanced, and then select Peer Instruction. Studio adds the new component to the unit and uses a template to supply a sample question, answers, and so on.
Select Edit.
In the component editor, replace the default component display name with an identifying name. In the LMS, this name appears as a heading above the assignment.
Unique, descriptive display names can help you identify individual assignments quickly and accurately for analysis.
Select Save, or continue on to replace the template information with the details for this assignment.
Before you add the details of the assignment to a peer instruction component, you design the assignment by preparing a question, answer choices, and other required elements. If the question or any of the answer choices includes an image, you also upload the image file and obtain its Studio URL so that you can add it to the assignment.
To enter all of the assignment details into the component editor, follow these steps.
In the new component, select Edit.
For the assignment question, enter text, add an image, or both.
Select a minimum and maximum length for the written explanations your learners supply for their answer choices.
You can change the supplied default values as needed to require explanations that are longer than 1 character, or limit explanations to less than 32,000 characters (approximately 12 pages).
Enter each answer choice. You can enter text, add an image, or both. For information on how to add an image, see step 2.
The template for this component has three sample answer choices.
Specify which of the answer choices is the correct answer. Alternatively, you can choose to not specify a correct answer by selecting “n/a”. You identify the correct answer choice by its assigned number: to indicate Answer 1 you select Option 1, for Answer 2 you select Option 2, and so on.
Enter a text explanation that describes why the specified answer choice is correct. This is optional if you have chosen to not specify a correct answer.
Configure how, and how many, peer responses to show to learners after they submit an initial response.
Enter your example explanations. For each of the answer choices you enter in step 4, you must supply an example explanation. You identify each answer choice by its assigned number: to indicate Answer 1 you select Option 1, for Answer 2 you select Option 2, and so on.
The template for this component includes three example explanations.
Select Save.
If Save is not available, an edit check has detected incomplete or invalid information in the component editor. Review your entries to make sure that each field has an entry (as appropriate), and that you have provided an example explanation for each answer choice. For information about the error found, move your cursor over the question mark that appears next to Save.
When learners submit their final answer choices and revised explanations, the peer instruction tool displays the correct answer, if you have specified one, and its explanation (if applicable). The learner’s initial answer and response, and final answer and response, follow.
As soon as 10 learners complete the assignment, the peer instruction tool displays a pair of class breakdown histograms. These histograms show how frequently learners selected each of the options, before and after they reviewed the responses submitted by other class participants.
Note
EdX does not support this tool.
You can create an interactive periodic table of the elements to help your students learn about various elements’ properties. In the table below, detailed information about each element appears as the student moves the mouse over the element.
To create a periodic table, you need the following files:
To download all of these files in a .zip archive, go to http://files.edx.org/PeriodicTableFiles.zip.
To create the periodic table, you need an HTML component.
Note
EdX offers full support for this tool.
This section describes how to include polls in your course.
You can include polls in your course to gather learners’ opinions on various questions.
For a poll, you configure one question and multiple possible answers. If you need to ask multiple questions, use the Survey Tool.
The following example poll has four possible answers to the question.
After learners submit their answers to the poll question, they see the poll results that have been gathered at this time, unless the poll has been configured to hide results.
Before you can add a poll to your course, you must enable the poll tool in Studio or OLX (open learning XML).
To enable the poll tool in Studio, you add the "poll"
key to the Advanced
Module List on the Advanced Settings page. (Be sure to include the
quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
Alternatively, you can use OLX to enable the poll tool.
To enable polls in your course, you edit the XML file that defines the course structure.
Open the XML file for the course in the course
directory. In the course
element’s advanced-modules
attribute, add the string poll
.
For example, the following XML code enables polls in a course.
<course advanced_modules="["survey",
"poll"]" display_name="Sample Course"
start="2015-01-01T00:00:00Z">
...
</course>
You must enable the poll tool before you add the component.
On the Course Outline page, open the unit where you want to add the poll.
Under Add New Component click Advanced, and then select Poll.
The new component is added to the unit, with a default example poll that contains several answer fields.
In the new component, select Edit.
In the Display Name field, enter the name for the component.
In the Question/Prompt field, enter text that learners see above the poll. You can use Markdown in this field.
In the Feedback field, enter text that learners see after they submit a responses. You can use Markdown in this field.
In the Private Results field, to hide poll results from learners, select True. If you leave the default value, False, learners see poll results after they submit responses.
In the Maximum Submissions field, change the value to the number of times that you want to allow learners to submit responses. Enter 0 to allow unlimited responses.
Note
If you allow learners to submit responses more than once, you should set Private Results to True. Otherwise, learners will be able to change their responses after seeing others’ responses.
Configure answers for the poll.
Select Save.
To add a poll XBlock in OLX, you create the poll
element. You can embed
the poll
element in the vertical
element, or you can create the
poll
element as a standalone file that you reference in the vertical.
The following example shows the OLX definition for a poll with four answers.
<poll url_name="f4ae7de0006f426aa4eed4b0b8112da5" xblock-family="xblock.v1"
feedback="Feedback"
display_name="Poll"
private_results="false"
question="What is your favorite color?"
max_submissions="1"
answers="[
["R",
{
"img": "/static/image.png",
"img_alt": "Alt 1",
"label": "Red"
}
],
["B",
{
"img": "/static/image.png",
"img_alt": "Alt 2",
"label": "Blue"
}
],
["G",
{
"img": "/static/image.png",
"img_alt": "Alt3",
"label": "Green"
}
],
["O",
{
"img": "/static/image.png",
"img_alt": "Alt 4",
"label": "Other"
}
]
]
"/>
The following table describes the attributes of the poll
element.
Attribute | Description |
url_name |
The unique identifier of the poll. |
xblock-family |
The XBlock version used. Must be xblock.v1 . |
private_results |
Whether the poll results are shown to learners (true ) or not
(false ). |
display_name |
The display name for the poll. |
question |
The prompt for the poll. |
feedback |
The text shown to learners after they submit a response. |
max_submissions |
The number of times a learner can submit poll answers. Use 0 to
allow unlimited submissions. If you use a value other than 1 , set
private_results to true . Otherwise, learners will be able to
change their responses after seeing others’ responses. |
answers |
An array of answers in the poll. Each answer has a unique identifier, and a dictionary that defines values for the following names.
Each answer must have a value for |
Do not publish a poll until you have completed and tested it. You should avoid changing a poll after learners have begun to use it.
If you must edit a poll after learners have submitted answers take into account the following implications.
When you view the poll as a course staff member, you can view results of the poll inside the course.
Select View results in the poll.
The results of the poll are then displayed.
Note
EdX does not support this tool.
You can run polls in your course so that your students can share opinions on different questions.
Note
Creating a poll requires you to export your course, edit some of your course’s XML files in a text editor, and then re-import your course. We recommend that you create a backup copy of your course before you create the poll. We also recommend that you only edit the files that will contain polls in the text editor if you are very familiar with editing XML.
Sections, subsections, units, and components have different names in the Course Outline view and in the list of files that you see after you export your course and open the .xml files for editing. The following table lists the names of these elements in the Course Outline view and in a list of files.
Course Outline View | File List |
Section | Chapter |
Subsection | Sequential |
Unit | Vertical |
Component | Discussion, HTML, problem, or video |
For example, when you want to find a specific section in your course, you look in the Chapter folder when you open the list of files that your course contains. To find a unit, you look in the Vertical folder.
In the unit where you want to create the poll, create components that contain all the content that you want except for the poll. Make a note of the 32-digit unit ID that appears in the Unit Identifier field under Unit Location.
Export your course. For information about how to do this, see Exporting and Importing a Course. Save the .tar.gz file that contains your course in a memorable location so that you can find it easily.
Locate the .tar.gz file that contains your course, and then unpack the .tar.gz file so that you can see its contents in a list of folders and files.
In the list of folders and files, open the Vertical folder.
Note
If your unit is not published, open the Drafts folder, and then open the Vertical folder in the Drafts folder.
In the Vertical folder, locate the .xml file that has the same name as the unit ID that you noted in step 1, and then open the file in a text editor such as Sublime 2. For example, if the unit ID is e461de7fe2b84ebeabe1a97683360d31, you open the e461de7fe2b84ebeabe1a97683360d31.xml file.
The file contains a list of all the components in the unit, together with the URL names of the components. For example, the following file contains an HTML component followed by a discussion component.
<vertical display_name="Test Unit">
<html url_name="b59c54e2f6fc4cf69ba3a43c49097d0b"/>
<discussion url_name="8320c3d511484f3b96bdedfd4a44ac8b"/>
</vertical>
Add the following poll code in the location where you want the poll. Change the text of the prompt to the text that you want.
<poll_question display_name="Poll Question">
<p>Text of the prompt</p>
<answer id="yes">Yes</answer>
<answer id="no">No</answer>
</poll_question>
In the example above, if you wanted your poll to appear between the HTML component and the discussion component in the unit, your code would resemble the following.
<vertical display_name="Test Unit">
<html url_name="b59c54e2f6fc4cf69ba3a43c49097d0b"/>
<poll_question display_name="Poll Question">
<p>Text of the prompt</p>
<answer id="yes">Yes</answer>
<answer id="no">No</answer>
</poll_question>
<discussion url_name="8320c3d511484f3b96bdedfd4a44ac8b"/>
</vertical>
After you add the poll code, save and close the .xml file.
Re-package your course as a .tar.gz file.
In Studio, re-import your course. You can now review the poll question and answers that you added in Studio.
Note
The main tag of poll module input is:
<poll_question> ... </poll_question>
poll_question
can include any number of the following tags:
any xml and answer
tag. All inner xml, except for answer
tags, we call “question”.
Xmodule for creating poll functionality - voting system. The following attributes can be specified for this tag:
name - Name of xmodule.
[display_name| AUTOGENERATE] - Display name of xmodule. When this attribute is not defined - display name autogenerate with some hash.
[reset | False] - Can reset/revote many time (value = True/False)
Define one of the possible answer for poll module. The following attributes can be specified for this tag:
id - unique identifier (using to identify the different answers)
Inner text - Display text for answer choice.
<poll_question name="second_question" display_name="Second question">
<h3>Age</h3>
<p>How old are you?</p>
<answer id="less18">< 18</answer>
<answer id="10_25">from 10 to 25</answer>
<answer id="more25">> 25</answer>
</poll_question>
<poll_question name="first_question_with_reset" display_name="First question with reset"
reset="True">
<h3>Your gender</h3>
<p>You are man or woman?</p>
<answer id="man">Man</answer>
<answer id="woman">Woman</answer>
</poll_question>
Note
EdX does not support this problem type.
A problem with an adaptive hint evaluates a student’s response, then gives the student feedback or a hint based on that response so that the student is more likely to answer correctly on the next attempt. These problems can be text input problems or multiple choice problems.
To create the problem illustrated above, follow these steps.
<problem>
<text>
<script type="text/python" system_path="python_lib">
def test_str(expect, ans):
print expect, ans
ans = ans.strip("'")
ans = ans.strip('"')
return expect == ans.lower()
def hint_fn(answer_ids, student_answers, new_cmap, old_cmap):
aid = answer_ids[0]
ans = str(student_answers[aid]).lower()
print 'hint_fn called, ans=', ans
hint = ''
if '0.05' in ans:
hint = 'Make sure you enter your answer in cents'
if hint:
hint = "<font color='blue'>Hint: {0}</font>".format(hint)
new_cmap.set_hint_and_mode(aid,hint,'always')
</script>
<p>If a bat and a ball cost $1.10 together, and the bat costs $1.00 more than the
ball, how much does the ball cost? Enter your answer in cents, and include only
the number (that is, do not include a $ or a ¢ sign).</p>
<p>
<customresponse cfn="test_str" expect="5">
<textline correct_answer="5" label="How much does the ball cost?"/>
<hintgroup hintfn="hint_fn"/>
</customresponse>
</p>
</text>
</problem>
<problem>
<text>
<script type="text/python" system_path="python_lib">
def test_str(expect, ans):
print expect, ans
ans = ans.strip("'")
ans = ans.strip('"')
return expect == ans.lower()
def hint_fn(answer_ids, student_answers, new_cmap, old_cmap):
aid = answer_ids[0]
ans = str(student_answers[aid]).lower()
print 'hint_fn called, ans=', ans
hint = ''
if 'incorrect answer 1' in ans:
hint = 'hint for incorrect answer 1'
elif 'incorrect answer 2' in ans:
hint = 'hint for incorrect answer 2'
if hint:
hint = "<font color='blue'>Hint: {0}</font>".format(hint)
new_cmap.set_hint_and_mode(aid,hint,'always')
</script>
<p>TEXT OF PROBLEM</p>
<p>
<customresponse cfn="test_str" expect="ANSWER">
<textline correct_answer="answer" label="LABEL TEXT"/>
<hintgroup hintfn="hint_fn"/>
</customresponse>
</p>
</text>
</problem>
Note
If the hints that you supply include characters, the letters must be lowercase.
<text>
: Surrounds the script and text in the problem.<customresponse>
: Indicates that this problem has a custom response.<textline>
: Creates a response field in the LMS where the student enters
a response.<hintgroup>
: Specifies that the problem contains at least one hint.Tag: <customresponse>
Attributes
(none)
Children
<textline>
<hintgroup>
Tag: <textline>
Attributes
Attribute Description label (required) Contains the text of the problem. size (optional) Specifies the size, in characters, of the response field in the LMS. hidden (optional) If set to “true”, students cannot see the response field. correct_answer (optional) The answer to the problem. To supply a correct_answer value that includes letters, all letters must be lowercase. (Students’ responses to the problem are not case sensitive. They can contain both uppercase and lowercase letters.) Children
(none)
Tag: <hintgroup>
Attributes
Attribute Description hintfn Must be set to hint_fn (that is, the tag must appear as <hintgroup hintfn="hint_fn"/>
).
Note
EdX does not support this problem type.
Warning
This problem type is a prototype, and is not supported. By default, the ability to create these problems is not enabled in Studio. You must change the advanced settings in your course before you can create problems with LaTeX. Use this problem type with caution.
If you have an problem that is already written in LaTeX, you can use this problem type to easily convert your code into XML. After you paste your code into the LaTeX editor, you make a few adjustments.
Note
If you want to use LaTeX to typeset mathematical expressions in problems that you haven’t yet written, use any of the other problem templates together with MathJax. For more information about how to create mathematical expressions in Studio using MathJax, see Using MathJax for Mathematics.
To create a problem written in LaTeX, follow these steps.
Note
EdX does not support this tool.
The Protex protein builder asks students to create specified protein shapes by stringing together amino acids. In the example below, the goal protein shape is a simple line.
To create the protein builder, follow these steps.
<problem>
<p>The protein builder allows you string together the building blocks of proteins, amino acids, and see how that string will form into a structure. You are presented with a goal protein shape, and your task is to try to re-create it. In the example below, the shape that you are asked to form is a simple line.</p>
<p>Be sure to click "Fold" to fold your protein before you click "Check".</p>
<script type="loncapa/python">
def protex_grader(expect,ans):
import json
ans=json.loads(ans)
if "ERROR" in ans["protex_answer"]:
raise ValueError("Protex did not understand your answer. Try folding the protein.")
return ans["protex_answer"]=="CORRECT"
</script>
<text>
<customresponse cfn="protex_grader">
<designprotein2dinput width="855" height="500" target_shape="W;W;W;W;W;W;W"/>
</customresponse>
</text>
<solution>
<p>
Many protein sequences, such as the following example, fold to a straight line.You can play around with the protein builder if you're curious.
</p>
<ul>
<li>
Stick: RRRRRRR
</li>
</ul>
</solution>
</problem>
In this code:
width and height specify the dimensions of the application, in pixels.
target_shape lists the amino acids that, combined in the order specified, create the shape you’ve asked students to create. The list can only include the following letters, which correspond to the one-letter code for each amino acid. (This list appears in the upper-left corner of the protein builder.)
A | R | N | D |
C | Q | E | G |
H | I | L | K |
M | F | P | S |
T | W | Y | V |
Note
EdX offers provisional support for this tool.
You can administer Qualtrics surveys to your learners in your edX course. The Qualtrics survey appears in an iframe inside the course.
Course staff can view the overall results of the survey as well as responses from individual learners.
Note
To use a Qualtrics survey, you must have a Qualtrics license. Qualtrics licenses are available for a fee at the Qualtrics website. If you want to include a survey but you do not have a Qualtrics license, you can use the edX survey tool or a Google form.
For more information, see the following sections.
Be sure to review all supplemental materials to make sure that they are accessible before making them available through your course. For more information, see Accessibility Best Practices for Developing Course Content.
To add a Qualtrics survey to your course, you must create the survey in Qualtrics, and then create an HTML component in Studio.
Note
Because Qualtrics is a third-party tool, the following steps might change without notice. See the Qualtrics website for the most up-to-date Qualtrics documentation.
Using your Qualtrics account, create your survey.
Add the statements and options that you want the survey to include.
Add the user ID element. This element imports data from your course into Qualtrics.
uid
.At the top of the page, make sure Edit Survey is selected, and then select Launch Survey.
On the page that opens, select Activate Survey in the upper right corner.
On the page that opens, locate the URL that is listed under Your Anonymous Survey Link. You will add this URL to the HTML component for your survey in Studio.
Note
If you need to find this URL in the future, open your survey in Qualtrics, and then select the Distribute Survey tab at the top of the page.
Open the unit where you want the survey to appear.
Under Add New Component, select HTML, and then select IFrame Tool.
Select Edit to open the component editor, and then select HTML in the menu bar.
At the end of the instructions, locate the example iframe element, and replace the placeholder values with the values for your survey. The iframe element starts with the following text.
<iframe title="Euler Line Demo"
In the
title
attribute, replaceEuler Line Demo
with the title of your survey.In the
src
attribute, replace the placeholder URL with the URL from step 6 in Create the Qualtrics Survey.In the
src
attribute, add the following value to the end of the URL.
?uid=%%USER_ID%%
The resulting
src
attribute resembles the following example.
src="https://qtrial2015az1.az1.qualtrics.com/SE/?SID=SV_9N27VuruRdNcpHT?uid=%%USER_ID%%"
Replace the values in the
width
andheight
attributes with values that allow your survey to appear the way you want it to. For example, you might changewidth
to 800 andheight
to 1000.(Optional) If your survey might be taller than the value that you set for
height
, in thescrolling
attribute, change the value toyes
. If you do not change the value toyes
and your survey is taller than theheight
value, learners cannot scroll down to respond to all the survey statements.Leave the other default values, and then select OK at the bottom of the HTML source code editor to return to the component editor.
You can view both overall survey responses and responses for individual learners.
To view your overall survey results and analyze data, open your survey on the Qualtrics website.
To view a specific learner’s survey responses, you must download data both from the Insructor Dashboard and from Qualtrics, and then review the data.
In the LMS, select Instructor.
Select Data Download.
Under Data Download, select Get Student Anonymized IDs CSV. If you receive a prompt, specify the location where you want to save the file.
The .csv file is saved to your computer. The file has the following name.
<course name>_<course number>_<year>_<term>_anon-ids.csv
For more information about anonymized student IDs, see Accessing Anonymized Learner IDs.
Under Reports, select Download profile information as a CSV.
When the profile information report appears in the list under Reports Available for Download, select the report to download the .csv file to your computer. The file has the following name.
<course name>_<course number>_<year>_<term>_student_profile_info_<date and time>.csv
For more information about accessing learner data, see Learner Data.
Note
Because Qualtrics is a third-party tool, the following steps might change without notice. See the Qualtrics website for the most up-to-date Qualtrics documentation.
To associate learners’ responses with their learner profiles, open the three .csv files that you have downloaded in a program such as Microsoft Excel.
<course name>_<course number>_<year>_<term
>_anon-ids.csv
) contains each learner’s anonymized ID and the learner’s
edX user ID.<course name>_<course
number>_<year>_<term>_student_profile_info_<date and time>.csv
) contains
each learner’s edX user ID and profile information, such as user name and
real name.To merge the data in the three spreadsheets so that you can see a learner’s edX user ID, profile information, and survey responses in one place, you can use functions such as VLOOKUP in Microsoft Excel.
If your course has content libraries enabled and you have access to a library whose content you want to use, you can reference that library to create randomized assignments for students.
To create a randomized assignment, you add one or more randomized content blocks to a course unit. For each randomized content block, specify a library from which to draw the content, and indicate the number and optionally the type of problem to randomly give each student.
The libraries that you create or have access to are listed on the Libraries tab on the Studio Home page. For details about content libraries, see Working with Content Libraries.
For details about using content library components in a course, see these topics.
To create randomized assignments that make use of components from content libraries, you must have at least User level access to the libraries that you want to use. If you do not have access to a library, members of your course team who have Admin access to that library can grant you access.
The libraries that you create or have access to are listed on the Libraries tab on the Studio Home page. For details about content libraries, see Working with Content Libraries.
Using components from content libraries in your course involves two steps.
Note
After adding a randomized content block to your course, be aware that if components in the source library change, you must manually update the components in the course outline if you want to keep the components synchronized with the version in the library.
For details about working with randomized content blocks in your course, see these topics.
Before you can add a randomized content blocks to your course, you must enable the content library tool in Studio.
To enable the content library tool in Studio, you add the "library_content"
key to the Advanced Module List on the Advanced Settings page. For more
information, see Enabling Additional Exercises and Tools.
After you enable content libraries you can add library content to your courses using the Randomized Content Block advanced component.
In Studio, open the course in which you want to add randomized problems from a content library.
Select Content, and then select Outline.
In the unit where you want to add a set of randomized problems, select Add New Component
Select Advanced, and then select Randomized Content Block.
The randomized content block is added to your unit.
Select Edit.
In the randomized content block settings, specify the details of the content you want to add in this block.
For Count, enter the number of problems to display to each student.
For Display Name, enter the name that you want students to see for this block.
For Library, select the library from which you want to draw problems.
For Problem Type, from the drop down list select a specific type of problem to be drawn from the library. Select Any Type if you do not want to specify a particular type of problem.
![]()
For Scored, from the drop down list select True or False to indicate whether the assignment should be graded.
Note
Grading is subject to the setting of this unit’s subsection. If the subsection is not graded, selecting True here has no impact. If the subsection is graded, this assignment is graded, even if you have selected False.
To view the list of components in the source library that match your filter settings, see View the Matching Components in a Randomized Content Block.
To view the entire contents of the library in Studio, see View the Contents of a Library.
In a unit that uses a randomized content block, you can view the list of all components that match the filters specified in that block.
For example, if you have specified in the randomized content block that you want to provide each student with 3 multiple choice problems, you see all the multiple choice problems that exist in the referenced library. In other words, you see every problem in the library that could potentially be provided to a student.
In Studio, navigate to the unit containing the randomized content block that references your library.
In the randomized content block, select View.
You see all components that match the specifications in the randomized content block. The text at the top of the list of components indicates how many of these components are randomly selected and provided to each student.
To view the contents of a library in Studio, see View the Contents of a Library.
To view the randomized content that was assigned to a specific learner, see Specific Learner View.
In Studio, in the course unit that uses a randomized content block, you can edit each component within the randomized content block in the same way as you do for any other component in your course.
Note
Be aware that if you make changes on a component’s Editor tab, and then you update the randomized content block with the latest version of components from a library, these changes are overwritten. Only changes to a component’s Settings tab are retained when you update the component. For details about getting the latest versions of library content in a randomized content block, see Getting the Latest Version of Library Content.
The settings of a component that is supplied in a randomized content block are initially inherited from the component in the content library that it is drawn from. In the randomized content block, you can modify component settings so that they are different from the “source” component in the library.
You can also reset a component’s settings to the library default. If a component’s settings have been changed from the default settings in the library, a Clear icon is shown next to the setting field.
Select Clear to restore the library default setting for that field.
If you modify the contents of a library that is referenced by randomized content blocks in one or more courses, those courses do not automatically use the updated content. You can bring the randomized content blocks up to date with the version in the library.
Warning
Be careful when you modify problems after they have been released. Changes that you make to published problems can affect the student experience in the course, as well as analysis of course data.
Note
Be aware that although you can retain changes to the settings of components in a randomized content block, changes to the Editor tab in components are overwritten if you update the component to the latest library version. If you do not want to bring components in the randomized content block up to date with the latest version in the library, you do not need to take any action.
If the components in the randomized content block have not been edited in the course outline, when you next open the randomized content block in the course outline, you see a message indicating that the component is out of date in comparison with the library.
To update your randomized content block components to the latest versions in the content library, select Update now.
The randomized content block is brought up to date with the latest contents of the library that it references.
If you edited only the settings of components in the randomized content block in your course so that they are different from the original version in the library, you do not lose your changes if you select Update now. In this case, the changes that you made in the randomized content block in the course outline are kept, but a Clear option becomes available next to the changed field in the component. However, any changes you made on the Editor page of components in a randomized content block are lost if you select Update now to get the latest library version.
To clear any edits made in the course outline and bring your edited components up to date with the version in the library, select Clear.
The value in that component field is reset to the current value in the library.
You can preview course content before a course is live or before you publish specific units, to test how content will appear to students when it is released. To view the number and type of components from a randomized content block as students would see them, follow the steps described in the Preview a Unit topic.
In a live course, to view the components that are assigned to a specific student from a randomized content block, follow the steps described in the Specific Learner View topic.
To adjust a grade or reset the attempts for a problem that was assigned from a randomized content block, you can view the course as a specific student to see the actual problems that they were assigned.
Obtain the username or email address for the learner whose grades you want to adjust, and follow the steps described in the Specific Learner View topic to view the actual problems in the course that this student was assigned.
In the Specific student course view in the LMS for the student whose username or email you entered, locate the components from the randomized content block. Follow the steps described in Adjust Grades for One or All Learners to rescore the learner’s submission, reset attempts, or delete the learner’s state for a problem.
Note
EdX does not support this tool.
The recommender provides learners with a list of online resources related to the course content. These resources are jointly managed by course team members and the learners.
The most common use of the recommender is for remediation of errors and misconceptions, followed by providing additional, more advanced resources.
For example, if a learner is working through a physics problem, the recommender could be used to show links to concepts used in the problem on Wikipedia, PhET, and OpenStax, as well as in the course itself. The recommender can help fill complex knowledge gaps and help move learners in the right direction.
Learners and course team members can complete the following tasks with the recommender.
Course team members can endorse useful resources or remove irrelevant entries.
If you use the recommender, you should inform learners through course content or course updates about the tool.
An example of a recommender in a course follows. The upper part of the figure illustrates a question in a problem set where the recommender is attached. The middle of the figure shows a list of resources and several gadgets for users to work on the resources. The bottom portion shows additional information about a given resource on mouse-over event.
Course team members should be sure to review all supplemental materials to assure that they are accessible before making them available through your course. For more information, see Accessibility Best Practices for Developing Course Content.
Before you can add a recommender component to your course, you must enable the recommender tool in Studio.
To enable the recommender tool in Studio, you add the "recommender"
key to
the Advanced Module List on the Advanced Settings page. (Be sure to
include the quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
To add a recommender to a course, follow these steps.
Note
EdX offers provisional support for this tool.
Staff Graded Points allows you to assign scores to learners for off-platform activities or participation, at the assessment level. It provides a text component with instructions to learners, and a way for you to assign grades.
Attribute | Description |
---|---|
Display Name (optional) |
The display name for this component. |
Instructions (optional) |
Markdown formatted instructions to the learner. |
Problem Weight (optional) |
Enter the number of points possible for this component. The default value is 1.0. |
While your course is running, after learners have had a chance to complete the off-platform assignment you’re grading, you can assign learner grades from the LMS Instructor view of the component as follows:
Note
EdX offers full support for this tool.
This section describes how to include surveys in your course.
You can include surveys in your course to collect learner responses to multiple questions.
For a survey, you configure multiple question and multiple possible answers. The set of answers is used for each question in the survey. If you need to ask only one question, use the Poll Tool.
The following example survey has three questions, each with the same three possible answers.
After learners submit their answers to the survey, they see the survey results that have been gathered at this time, unless the survey has been configured to hide results.
Before you can add a survey to your course, you must enable the survey tool in Studio or OLX (open learning XML).
To enable the survey tool in Studio, you add the "survey"
key to the
Advanced Module List on the Advanced Settings page. (Be sure to
include the quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
Alternatively, you can use OLX to enable the survey tool.
To enable the survey tool, you edit the XML file that defines the course structure.
Open the XML file for the course in the course
directory. In the course
element’s advanced-modules
attribute, add the string survey
.
For example, the following XML code enables the survey tool.
<course advanced_modules="["survey",
"poll"]" display_name="Sample Course"
start="2015-01-01T00:00:00Z">
...
</course>
You must enable the survey tool before you add the component.
On the Course Outline page, open the unit where you want to add the survey.
Under Add New Component click Advanced, and then select Survey.
The new component is added to the unit, with the default survey that contains three answer fields and three questions.
In the new component, select Edit.
In the Display Name field, enter the name for the component.
In the Feedback field, enter text that learners see after they submit responses.
In the Private Results field, to hide survey results from learners, select True. If you leave the default value, False, learners see survey results after they submit responses.
In the Maximum Submissions field, to allow learners to submit responses more than once, change the value. Enter 0 to allow unlimited responses.
Note
If you allow learners to submit responses more than once, you should set Private Results to True. Otherwise, learners will be able to change their responses after seeing others’ responses.
Configure answers for the survey. Each answer is displayed to learners as a column, with a radio button they can select. Each answer is used for each survey question.
Configure questions for the survey. Each question is displayed to learners in the left-most column.
Select Save.
To add a survey XBlock in OLX, you create the survey
element. You can embed
the survey
element in the vertical
element, or you can create the
survey
element as a stand-alone file that you reference in the vertical.
The following example shows the OLX definition for a survey with two questions.
<survey
url_name="unique identifier for the survey"
xblock-family="xblock.v1"
questions="[
["unique code for question 1",
{
"img": "Static URL to image",
"img_alt": "Alternative text for image",
"label": "Text of question 1"
}
],
["unique code for question 2",
{
"img": "Static URL to image",
"img_alt": "Alternative text for image",
"label": "Text of question 2"
}
]
]"
feedback="Feedback displayed to learner after submission"
private_results="false"
block_name="Display name for survey"
max_submissions="1"
answers="[
[
"Unique identifier for answer 1",
"Answer text"
],
[
"Unique identifier for answer 2",
"Answer text"
]
]"
/>
The following table describes the attribute of the survey
element.
Attribute | Description |
url_name |
The unique identifier of the survey. |
xblock-family |
The XBlock version used. Must be xblock.v1 . |
questions |
An array of questions in the survey. Each question has a unique identifier, and a dictionary that defines values for the following names.
Each question must have a value for |
answers |
An array of answers in the survey. Each answer has a unique identifier, and a dictionary that defines values for the following names.
Each answer must have a value for |
feedback |
The text shown to learners after they submit a response. |
private_results |
Whether the survey results are shown to learners (true ) or not
(false ). |
block_name |
The display name for the survey. |
max_submissions |
The number of times a learner can submit survey answers. Use 0 to
allow unlimited submissions. If you use a value other than 1 , set
private_results to true . Otherwise, learners will be able to
change their responses after seeing others’ responses. |
Do not publish a survey until you have completed and tested it. You should avoid changing a survey after learners have begun using it.
If you must edit a survey after learners have submitted answers, take into account the following implications.
When you view the survey as a course staff member, you can view results of the survey inside the course.
Select View results in the survey.
The results of the survey are then displayed.
Note
EdX offers full support for this problem type.
The text input problem type is a core problem type that can be added to any course. At a minimum, text input problems include a question or prompt and a response field for free form answer text. By adding hints, feedback, or both, you can give learners guidance and help when they work on a problem.
For more information about the core problem types, see Working with Problem Components.
In text input problems, learners enter text into a response field. The response can include numbers, letters, and special characters such as punctuation marks. Because the text that the learner enters must match the instructor’s specified answer exactly, including spelling and punctuation, edX recommends that you specify more than one correct answer for text input problems to allow for differences in capitalization and typographical errors.
In the LMS, learners enter a value into a response field to complete a text input problem. An example of a completed text input problem follows.
To add the example problem illustrated above, in Studio you use the simple editor to enter the following text and Markdown formatting.
>>What was the first post-secondary school in China to allow both male and female students?||Answer with a name from the modern period.<<
= Nanjing University
or= National Central University
or= Nanjing Higher Normal Institute
or= Nanking University
[explanation]
Nanjing University first admitted female students in 1920.
[explanation]
The OLX (open learning XML) markup for this example text input problem follows.
<problem>
<stringresponse answer="Nanjing University" type="ci">
<label>What was the first post-secondary school in China to allow both
male and female students?</label>
<description>Answer with a name from the modern period.</description>
<additional_answer answer="National Central University"/>
<additional_answer answer="Nanjing Higher Normal Institute"/>
<additional_answer answer="Nanking University"/>
<textline size="20"/>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Nanjing University first admitted female students in 1920.</p>
</div>
</solution>
</stringresponse>
</problem>
For the text input problems in your course, you can use edX Insights to review aggregated learner performance data and examine submitted answers. For more information, see Using edX Insights.
You add text input problems in Studio by selecting the Problem component type and then using either the simple editor or the advanced editor to specify the prompt and the acceptable answer or answers.
Note
You can begin work on the problem in the simple editor, and then switch to the advanced editor. However, after you save any changes you make in the advanced editor, you cannot switch back to the simple editor.
When you add a text input problem, you can choose one of these templates.
These templates include the Markdown formatting that you use in the simple editor to add a problem without, or with, hints and feedback.
To use the simple editor to add a problem, follow these steps.
In the unit where you want to create the problem, under Add New Component select Problem.
From the list of Common Problem Types, select the type of problem you want to add. Studio adds a template for the problem to the unit.
Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.
Replace the guidance provided by the template to add your own text for the question or prompt, answer options, explanation, and so on.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can use the advanced editor to identify the elements of a text input problem with OLX. For more information, see Text Input Problem XML Reference.
To use the advanced editor to add a problem, follow these steps.
Follow steps 1-3 for creating the problem in the simple editor.
Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and explanation.
To format equations, you can use MathJax. For more information, see Using MathJax for Mathematics.
Update the OLX to add optional elements and attributes required for your problem.
Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
Select Save.
You can specify more than one correct response for text input problems. For example, instead of requiring learners to enter an answer of “Dr. Martin Luther King, Junior” exactly, you can also allow answers of “Martin Luther King, Jr.” “Doctor Martin Luther King,” and other variations. To do this, you can use the simple editor or the advanced editor.
To specify additional correct responses in the simple editor, include
or=
before each additional correct response.
>>What African-American led the United States civil rights movement during the 1960s?<<
=Dr. Martin Luther King, Jr.
or=Dr. Martin Luther King, Junior
or=Martin Luther King, Jr.
or=Martin Luther King
To specify an additional correct response in the advanced editor, within the
<stringresponse>
element add the <additional_answer />
element with an
answer=""
attribute value.
<problem>
<stringresponse answer="Dr. Martin Luther King, Jr." type="ci" >
<label>What African-American led the United States civil rights movement during the 1960s?</label>
<additional_answer answer="Dr. Martin Luther King, Junior"/>
<additional_answer answer="Martin Luther King, Jr."/>
<additional_answer answer="Martin Luther King"/>
<textline size="30"/>
</stringresponse>
</problem>
For an overview of feedback in problems, see Adding Feedback and Hints to a Problem. In text input problems, you can provide feedback for the correct answer or for a specified incorrect answer. Use feedback on incorrect answers as an opportunity to address common learner misconceptions. Feedback for text input questions should also provide guidance to the learner on how to arrive at the correct answer.
If you define multiple correct responses for the question, you can define feedback for each response.
You can configure feedback in the simple editor. When you add a text input problem, select the template Text Input with Hints and Feedback. This template has example formatted feedback that you can replace with your own text.
In the simple editor, you configure feedback for a text input problem with the following Markdown formatting.
=Correct Answer {{Feedback for learners who enter this answer.}}
not=Incorrect Answer {{Feedback for learners who enter this answer.}}
For example, the following problem has feedback for the correct answer and two common incorrect answers.
>>What is the largest state in the U.S. in terms of land area?<<
=Alaska {{Alaska is the largest state in the U.S. in terms of not only land
area, but also total area and water area. Alaska is 576,400 square miles,
more than double the land area of the second largest state, Texas.}}
not=Texas {{While many people think Texas is the largest state in terms of
land area, it is actually the second largest and contains 261,797 square
miles.}}
not=California {{California is the third largest state and contains 155,959
square miles.}}
In the advanced editor, you configure answer feedback with the following syntax.
<problem>
<stringresponse answer="Correct Answer" type="ci">
<label>Question text</label>
<correcthint>Feedback for the correct answer</correcthint>
<stringequalhint answer="Incorrect Answer">Hint for the incorrect answer</stringequalhint>
<textline size="20"/>
</stringresponse>
</problem>
For example, the following problem has feedback for the correct answer and two common incorrect answers.
<problem>
<stringresponse answer="Alaska" type="ci">
<label>What is the largest state in the U.S. in terms of land area?</label>
<correcthint>Alaska is the largest state in the U.S. in terms of not
only land area, but also total area and water area. Alaska is 576,400
square miles, more than double the land area of the second largest
state, Texas.</correcthint>
<stringequalhint answer="Texas">While many people think Texas is the
largest state in terms of land area, it is actually the second
largest and contains 261,797 square miles.</stringequalhint>
<stringequalhint answer="California">California is the third largest
state and contains 155,959 square miles.</stringequalhint>
<textline size="20"/>
</stringresponse>
</problem>
By default, the feedback labels shown to learners are Correct and Incorrect. If you do not define feedback labels, learners see these terms when they submit an answer, as in the following example.
Incorrect: California is the third largest state and contains 155,959 square
miles.
You can configure the problem to override the default labels. For example, you can configure a custom label for a specific wrong answer.
Close but wrong: California is the third largest state and contains 155,959
square miles.
Note
The default labels Correct and Incorrect display in the learner’s requested language. If you provide custom labels, they display as you define them to all learners. They are not translated into different languages.
In the simple editor, you configure custom feedback labels with the following syntax.
not=Answer {{Label:: Feedback}}
That is, you provide the label text, followed by two colon (:) characters, before the feedback text.
For example, the following feedback is configured to use a custom label.
not=Texas {{Close but wrong:: While many people think Texas is the largest
state in terms of land area, it is actually the second largest of the 50 U.S.
states, containing 261,797 square miles.}}
In the advanced editor, you configure custom feedback labels with the following syntax.
<correcthint label="Custom Label">Feedback</correcthint>
<stringequalhint answer="Incorrect Answer" label="Custom Label">Feedback</stringequalhint>
For example, the following feedback is configured to use custom labels.
<correcthint label="Right you are">Alaska is the largest state in the U.S.
in terms of not only land area, but also total area and water area. Alaska
is 576,400 square miles, more than double the land area of the second
largest state, Texas.</correcthint>
<stringequalhint answer="Texas" label="Close but wrong">While many people
think Texas is the largest state in terms of land area, it is actually the
second largest of the 50 U.S. states containing 261,797 square miles.</stringequalhint>
You can add hints to a text input problem using the simple editor or the advanced editor. For an overview of hints in problems, see Adding Feedback and Hints to a Problem.
In the simple editor, you configure hints with the following syntax.
||Hint 1||
||Hint 2||
||Hint n||
Note
You can configure any number of hints. The learner views one hint at a time and views the next one by selecting Hint again.
For example, the following problem has two hints.
||A fruit is the fertilized ovary from a flower.||
||A fruit contains seeds of the plant.||
In the advanced editor, you add the <demandhint>
element immediately before
the closing </problem>
tag, and then configure each hint using the
<hint>
element.
.
.
.
<demandhint>
<hint>Hint 1</hint>
<hint>Hint 2</hint>
<hint>Hint 3</hint>
</demandhint>
</problem>
For example, the following OLX for a multiple choice problem shows two hints.
.
.
.
</multiplechoiceresponse>
<demandhint>
<hint>A fruit is the fertilized ovary from a flower.</hint>
<hint>A fruit contains seeds of the plant.</hint>
</demandhint>
</problem>
You might want to include a word, phrase, or sentence after the response field in a text input problem to help guide your learners or resolve ambiguity.
To do this, you use the advanced editor.
In the problem, locate the textline
element. This element creates the
response field for the problem and is a child of the stringresponse
element. An example follows.
<problem>
<stringresponse answer="Ashmun" type="ci">
<label>What Pennsylvania school was founded in 1854 to provide
educational opportunities for African-Americans?</label>
<textline size="20"/>
</stringresponse>
</problem>
To add text after the response field, add the trailing_text
attribute
together with the text that you want to use inside the textline
element.
<problem>
<stringresponse answer="Ashmun" type="ci">
<label>What Pennsylvania school was founded in 1854 to provide
educational opportunities for African-Americans?</label>
<textline size="20" trailing_text="Institute"/>
</stringresponse>
</problem>
By default, text input problems do not require a case sensitive response. You can change this default to require a case sensitive answer.
To make a text input response case sensitive, you use the advanced editor.
In the advanced editor, the stringresponse
element has a type
attribute. By default, the value for this attribute is set to ci
, for “case
insensitive”. An example follows.
<problem>
<stringresponse answer="Paris" type="ci">
.
.
.
</stringresponse>
</problem>
Learners who submit an answer of either “Paris” or “paris” are scored as correct.
To make the response case sensitive, change the value of the type
attribute to cs
.
<problem>
<stringresponse answer="Paris" type="cs">
.
.
.
</stringresponse>
</problem>
Learners who submit an answer of “Paris” are scored as correct, but learners who submit an answer of “PARIS” are scored as incorrect.
By default, the response field for text input problems is 20 characters long.
You should preview the unit to ensure that the length of the response input field accommodates the correct answer, and provides extra space for possible incorrect answers.
If the default response field is not long enough, you can change it using the advanced editor.
In the advanced editor, the textline
element has a size
attribute. By
default, the value for this attribute is set to 20
. An example follows.
<problem>
<stringresponse answer="Democratic Republic of the Congo" type="ci">
.
.
.
<textline size="20"/>
</stringresponse>
</problem>
To change the response field length, change the value of the size
attribute.
<problem>
<stringresponse answer="Democratic Republic of the Congo" type="ci">
.
.
.
<textline size="40" />
</stringresponse>
</problem>
You can configure a text input problem to allow a regular expression as an answer. Allowing learners to answer with a regular expression can minimize the number of distinct correct responses that you need to define for the problem: if a learner responds with the correct answer formed as a plural instead of a singular noun, or a verb in the past tense instead of the present tense, the answer is marked as correct.
To do this, you use the advanced editor.
In the advanced editor, the stringresponse
element has a type
attribute. You can set the value for this attribute to regexp
, with or
without also including ci
or cs
for a case insensitive or case
sensitive answer. An example follows.
<problem>
<stringresponse answer="string pattern" type="regexp ci">
.
.
.
</stringresponse>
</problem>
The regular expression that the learner enters must contain, in whole or in part, the answer that you specify.
In this example, learners who submit an answer of “string pattern”, “String Patterns”, “string patterned”, or “STRING PATTERNING” are all scored as correct, but learners who submit an answer of “Strings Pattern” or “string patern” are scored as incorrect.
<problem>
<stringresponse answer="Correct answer 1" type="ci regexp">
<label>Question text</label>
<description>Optional tip</description>
<correcthint>Provides feedback when learners submit the correct
response.</correcthint>
<additional_answer answer="Correct answer 2"/>
<additional_answer answer="Correct answer 3"/>
<stringequalhint answer="Incorrect answer 1">Provides feedback when
learners submit the specified incorrect response.</stringequalhint>
<stringequalhint answer="Incorrect answer 2">Provides feedback when
learners submit the specified incorrect response.</stringequalhint>
<textline size="20" />
</stringresponse>
<demandhint>
<hint>The first text string to display when learners request a hint.</hint>
<hint>The second text string to display when learners request a hint.</hint>
</demandhint>
</problem>
For text input problems, the <problem>
element can include this
hierarchy of child elements.
<stringresponse>
<label>
<description>
<additional_answer>
<correcthint>
<stringequalhint>
<textline>
<solution>
<demandhint>
<hint>
In addition, standard HTML tags can be used to format text.
<stringresponse>
¶Required. Indicates that the problem is a text input problem.
Attribute | Description |
---|---|
answer (required) |
Specifies the correct answer. Note that if you do not also add the |
type (optional) |
Specifies whether the problem requires a case sensitive response and if it allows regular expressions.
You can also combine these values in a space separated list. For
example, |
<label>
<description>
<textline>
<additional_answer>
<correcthint>
<stringequalhint>
<solution>
<label>
¶Required. Identifies the question or prompt. You can include HTML tags within this element.
None.
None.
<description>
¶Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.
None.
None.
<textline>
¶Required. Creates a response field in the LMS where the learner enters a text string.
Attribute | Description |
---|---|
size |
Optional. Specifies the size, in characters, of the response field in the LMS. Defaults to 20. |
hidden |
Optional. If set to “true”, learners cannot see the response field. |
correct_answer |
Optional. Lists the correct answer to the problem. |
trailing_text |
Optional. Specifies text to appear immediately after the response field. |
None.
<additional_answer>
¶Optional. Specifies an additional correct answer for the problem. A problem can contain an unlimited number of additional answers.
Attribute | Description |
---|---|
answer |
Required. The text of the alternative correct answer. |
<correcthint>
<correcthint>
¶Optional. Specifies feedback to appear after the learner submits a correct answer.
Attribute | Description |
---|---|
label |
Optional. The text of the custom feedback label. |
None.
<stringequalhint>
¶Optional. Specifies feedback to appear after the learner submits an incorrect answer.
Attribute | Description |
---|---|
answer |
Required. The text of the incorrect answer. |
label |
Optional. The text of the custom feedback label. |
None.
<solution>
¶Optional. Identifies the explanation or solution for the problem, or for one of the questions in a problem that contains more than one question.
This element contains an HTML division <div>
. The division contains one or
more paragraphs <p>
of explanatory text.
The following example shows the XML format with the <hintgroup>
element
that you could use in the past to configure hints for text input problems.
Problems using this XML format will continue to work in the edX Platform.
However, edX recommends that you use the new way of configuring hints
documented above.
<problem>
<stringresponse answer="Correct answer 1" type="ci regexp">
<label>Question text</label>
<additional_answer>Correct answer 2</additional_answer>
<additional_answer>Correct answer 3</additional_answer>
<textline size="20" />
<hintgroup>
<stringhint answer="Incorrect answer A" type="ci" name="hintA" />
<hintpart on="hintA">
<startouttext />Text of hint for incorrect answer A<endouttext />
</hintpart >
<stringhint answer="Incorrect answer B" type="ci" name="hintB" />
<hintpart on="hintB">
<startouttext />Text of hint for incorrect answer B<endouttext />
</hintpart >
<stringhint answer="Incorrect answer C" type="ci" name="hintC" />
<hintpart on="hintC">
<startouttext />Text of hint for incorrect answer C<endouttext />
</hintpart >
</hintgroup>
</stringresponse>
<solution>
<div class="detailed-solution">
<p>Explanation or Solution Header</p>
<p>Explanation or solution text</p>
</div>
</solution>
</problem>
Note
EdX offers provisional support for this tool.
In a word cloud, learners enter words into a field in response to a question or prompt. The words that all of the learners enter then appear instantly as a colorful graphic, with the most popular responses appearing largest. The graphic becomes larger as more learners answer. Learners can see how their peers answered as well as contribute their thoughts to the group.
For example, the following word cloud was created from learners’ responses to a question about why they think addressing climate change is difficult.
Before you can add a word cloud to your course, you must enable the word cloud tool.
To enable the word cloud tool in Studio, you add the "word_cloud"
key to
the Advanced Module List on the Advanced Settings page. (Be sure to
include the quotation marks around the key value.) For more information, see
Enabling Additional Exercises and Tools.
To create a word cloud, follow these steps.
In the unit where you want to create the problem, select Advanced under Add New Component.
In the list of problem types, select Word Cloud.
In the component that appears, select Edit.
In the component editor, specify these settings.
Display Name: This name appears as a heading above the problem. Replace the default display name with a specific title or name for your word cloud. For example, “Why is climate change so difficult to address?”
Unique, descriptive display names help you and your learners to identify assignments quickly and accurately as you navigate through the course.
Inputs: The number of text boxes provided for learners to enter words, phrases, or sentences.
Instructions: Instructions that give learners specific information about how to contribute to this word cloud. For example, “In each the provided text boxes, enter a word or phrase to describe why you think it has been so difficult to make progress in addressing climate change.”
These instructions appear below the display name for the word cloud. It is important to provide clear instructions, especially for learners who have accessibility requirements.
Maximum Words: The maximum number of words that the generated word cloud displays. If learners enter 300 different words but the maximum is set to 250, only the 250 most commonly entered words appear in the word cloud.
Show Percents: Select True
or False
. If this option is set to
True
, after learners have contributed to a word cloud, the
frequency that each of their own contributed words has been entered is
shown as a percentage of all words entered.
Select Save.
Note
EdX offers provisional support for this problem type.
This section provides information about writing your own grader directly in a problem component.
In custom Python-evaluated input (also called “write-your-own-grader” problems), the grader uses a Python script that you create and embed in the problem to evaluate a learner’s response or provide hints. These problems can be any type. Numerical input and text input problems are the most common write-your-own-grader problems.
Custom Python-evaluated input problems can include the following advanced problem types.
The script tag format encloses a Python script that contains a “check function”
in a <script>
tag, and adds the cfn
attribute of the
<customresponse>
tag to reference that function.
This section contains the following information about using the <script>
tag.
check
Function¶The check
function in a <script>
tag accepts two arguments.
expect
is the value of the expect
attribute of <customresponse>
.
If expect
is not provided as an argument, the function must have another
way to determine if the answer is correct.
answer
is one of the following two options.
- The value of the answer the learner provided, if the problem only has one response field.
- An ordered list of answers the learner provided, if the problem has multiple response fields.
The check
function can return any of the following values to indicate
whether the learner’s answer is correct.
True
: Indicates that the learner answered correctly for all response
fields.
False
: Indicates that the learner answered incorrectly. All response
fields are marked as incorrect.
"Partial"
: Indicates that the learner’s answer was partially correct. By
default, the learner receives 50% of the points for the problem. For more
information, see Award Half Credit.
A dictionary of the form { 'ok': True, 'msg': 'Message' }
. If the
dictionary’s value for ok
is set to True
, all response fields are
marked correct. If it is set to False
, all response fields are marked
incorrect. If it is set to "Partial"
, the learner receives 50% of the
problem points. The msg
is displayed below all response fields, and it
can contain XHTML markup.
A dictionary of the form
{ 'overall_message': 'Overall message',
'input_list': [
{ 'ok': True, 'msg': 'Feedback for input 1'},
{ 'ok': False, 'msg': 'Feedback for input 2'},
{ 'ok': 'Partial', 'msg': 'Feedback for input 3'}
... ] }
The last form is useful for responses that contain multiple response fields. It allows you to provide feedback for each response field individually, as well as a message that applies to the entire response.
In the following example, <customresponse>
tags reference the
test_add_to_ten
and test_add
functions that are in the <script>
tag.
Important
Python honors indentation. Within the <script>
tag, the def
check_func(expect, ans):
line must have no indentation.
<problem>
<script type="loncapa/python">
def test_add(expect, ans):
try:
a1=int(ans[0])
a2=int(ans[1])
return (a1+a2) == int(expect)
except ValueError:
return False
def test_add_to_ten(expect, ans):
return test_add(10, ans)
</script>
<p>Enter two integers that sum to 10. </p>
<customresponse cfn="test_add_to_ten">
<textline size="10"/><br/>
<textline size="10"/>
</customresponse>
<p>Enter two integers that sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="40" correct_answer="11" label="Integer #1"/><br/>
<textline size="40" correct_answer="9" label="Integer #2"/>
</customresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>Any set of integers on the line \(y = 10 - x\) and \(y = 20 - x\)
satisfies these constraints.</p>
<p>You can also add images within the solution clause, like so:</p>
<img src="/static/images/placeholder-image.png"/>
</div>
</solution>
</problem>
check
Function Returning a Dictionary¶The following example shows acheck
function that returns a dictionary.
def check(expect, answer_given):
check1 = (int(answer_given[0]) == 1)
check2 = (int(answer_given[1]) == 2)
check3 = (int(answer_given[2]) == 3)
return {'overall_message': 'Overall message',
'input_list': [
{ 'ok': check1, 'msg': 'Feedback 1'},
{ 'ok': check2, 'msg': 'Feedback 2'},
{ 'ok': check3, 'msg': 'Feedback 3'} ] }
The function checks that the user entered 1
for the first input, 2
for
the second input, and 3
for the third input. It provides feedback messages
for each individual input, as well as a message displayed below the entire
problem.
The following table explains the important attributes and values in the preceding example.
<script type="loncapa/python"> |
Indicates that the problem contains a Python script. |
<customresponse cfn="test_add_to_ten"> |
Indicates that the function test_add_to_ten is called when the
learner checks the answers for this problem. |
<customresponse cfn="test_add" expect="20"> |
Indicates that the function test_add is called when the learner
checks the answers for this problem and that the expected answer is
20 . |
<textline size=”10” correct_answer=”3”/> | This tag includes the size , correct_answer , and label
attributes. The correct_answer attribute is optional. |
To create a custom Python-evaluated input problem using a <script>
tag,
follow these steps.
Problem Code:
<problem>
<p>This question has two parts.</p>
<script type="loncapa/python">
def test_add(expect, ans):
try:
a1=int(ans[0])
a2=int(ans[1])
return (a1+a2) == int(expect)
except ValueError:
return False
def test_add_to_ten(expect, ans):
return test_add(10, ans)
</script>
<p>Part 1: Enter two integers that sum to 10. </p>
<customresponse cfn="test_add_to_ten">
<textline size="10" correct_answer="3" label="Integer #1"/><br/>
<textline size="10" correct_answer="7" label="Integer #2"/>
</customresponse>
<p>Part 2: Enter two integers that sum to 20. </p>
<customresponse cfn="test_add" expect="20">
<textline size="10" label="Integer #1"/><br/>
<textline size="10" label="Integer #2"/>
</customresponse>
<solution>
<div class="detailed-solution">
<p>Explanation</p>
<p>For part 1, any two numbers of the form <i>n</i> and <i>10-n</i>,
where <i>n</i> is any integer, will work. One possible answer would
be the pair 0 and 10.</p>
<p>For part 2, any two numbers of the form <i>n</i> and <i>20-n</i>, where <i>n</i> is any integer, will work. One possible answer would be the pair 1 and 19</p>
</div>
</solution>
</problem>
Templates
The following template includes answers that appear when the learner selects Show Answer.
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Problem text</p>
<customresponse cfn="test_add" expect="20">
<textline size="10" correct_answer="11" label="Integer #1"/><br/>
<textline size="10" correct_answer="9" label="Integer #2"/>
</customresponse>
<solution>
<div class="detailed-solution">
<p>Solution or Explanation Heading</p>
<p>Solution or explanation text</p>
</div>
</solution>
</problem>
The following template does not return answers when the learner selects Show Answer. If your problem does not include answers for the learner to see, make sure to set Show Answer to Never in the problem component.
<problem>
<script type="loncapa/python">
def test_add(expect,ans):
a1=float(ans[0])
a2=float(ans[1])
return (a1+a2)== float(expect)
</script>
<p>Enter two real numbers that sum to 20: </p>
<customresponse cfn="test_add" expect="20">
<textline size="10" label="Integer #1"/><br/>
<textline size="10" label="Integer #2"/>
</customresponse>
<solution>
<div class="detailed-solution">
<p>Solution or Explanation Heading</p>
<p>Solution or explanation text</p>
</div>
</solution>
</problem>
You can configure a custom Python-evaluated input problem so that learners who give a partially correct answer receive partial credit for the problem. You can award 50% of the points for the problem, or you can award a different percentage of points. For more information, see the following sections.
You can configure a problem to award 50% of the possible points. To provide a learner with a more granular score, see Award a Percentage of Credit.
The check
function must return the value "Partial"
in one of the
following ways.
Return the value "Partial"
directly.
Return the value "Partial"
in the dictionary that is returned, in the
following form.
{ 'ok': 'Partial', 'msg': 'Message' }
Return the value "Partial"
as part of the input list for multi-part
problems.
{ 'overall_message': 'Overall message',
'input_list': [
{ 'ok': True, 'msg': 'Feedback for input 1'},
{ 'ok': False, 'msg': 'Feedback for input 2'},
{ 'ok': 'Partial', 'msg': 'Feedback for input 3'}
... ] }
With all of these options, True
awards learners with 100% of the available
points for the problem, 'Partial'
with 50%, and False
with 0%.
For more information about check
function return values, see The check
Function.
You can configure a problem to return a percent value as a grade. This method provides greater flexibility in assigning the learner a score than awarding half credit.
In the following example, the learner’s score equals the answer divided by 100.
The following code shows the configuration of this problem.
<problem>
<p>In the following problem, the learner receives a score that equals the
answer / 100. If the learner's answer is greater than 100 or less than 0,
the score equals 0.</p>
<script type="loncapa/python">
def give_partial_credit(expect, ans):
ans = float(ans)
if ans > 100 or ans < 0:
# Assign a score of zero if the answer is less than zero or over 100.
ans = 0
grade = ans/100
return {
'input_list': [
{ 'ok': True, 'msg': 'Your grade is ' + str(ans) + '%', 'grade_decimal':grade},
]
}
</script>
<p>Enter a number beween 0 and 100.</p>
<customresponse cfn="give_partial_credit">
<textline points="100" size="40" label="Ans1"/><br/>
</customresponse>
</problem>
This example illustrates the following points.
points
attribute of the <customresponse>
element specifies that
the question is worth 100 points.give_partial_credit
function checks that the answer is between 0 and
100, and if so divides the learner’s answer by 100 to determine the grade.input_list
that is returned specifies that:'ok': True
.Your grade is
followed by the percent
grade, with the item 'msg': 'Your grade is ' + str(ans) + '%'
.'grade_decimal':grade
.You can enhance and apply this example for your own partial credit problems.
You can create a custom Python-evaluated input problem that randomizes variables in the Python code.
Note
In the problem settings, you must set the Randomization value to something other than Never to have Python variables randomized. See Randomization for more information.
The following example demonstrates using randomization with a Python-evaluated input problem.
Note
This example uses the method random.randint
to generate random numbers.
You can use any standard Python library for this purpose.
<problem>
<p>Some problems in the course will utilize randomized parameters.
For such problems, after you check your answer you will have the option
of resetting the question, which reconstructs the problem with a new
set of parameters.</p>
<script type="loncapa/python">
x1 = random.randint(0, 100)
x2 = random.randint(0, 100)
y = x1+x2
</script>
<p>Let (x_1 = $x1) and (x_2 = $x2). What is the value of (x_1+x_2)?</p>
<numericalresponse answer="$y">
<responseparam type="tolerance" default="0.01%" name="tol"
description="Numerical Tolerance"/>
<textline size="10"/>
</numericalresponse>
<solution>
<p><b>Explanation:</b></p>
</solution>
</problem>
Note
EdX does not support this tool.
If you present information to your learners using very large or very detailed images, learners might not be able to clearly see all the information in the image. Use the zooming image tool to provide learners with the ability to zoom in to and enlarge selected areas of your image.
To create a zooming image tool, you need the following files.
jquery.loupeAndLightbox.js
JavaScript file from
http://files.edx.org/jqueryloupeAndLightbox.js
.Download the jquery.loupeAndLightbox.js
file by right-clicking the
following link, and then selecting the option to save or download the linked
file.
In Studio, select Content and then select Files & Uploads to upload
your regular-sized image file, your small image file, and the
jquery.loupeAndLightbox.js
file. For more information about uploading
files for your course, see Adding Files to a Course.
Add a zooming image tool to your course. In the course outline in Studio, select Add New Component, select HTML, and then select Zooming Image Tool.
In the new component that appears, select Edit.
In the component editor, replace the default problem text with your own text.
Select HTML from the toolbar to edit the HTML source code.
Scroll down in the file, and then replace the following placeholders with your own content.
Replace the following file name and path with the name and path of the image that you want to appear magnified when the user hovers over the regular image.
https://studio.edx.org/c4x/edX/DemoX/asset/pathways_detail_01.png
For example, your file name and path might be /static/Image1.jpg
.
Replace the following file name and path with the name and path of the image that you want to appear when the page opens.
https://studio.edx.org/c4x/edX/DemoX/asset/pathways_overview_01.png
For example, your file name and path might be
/static/Image2.jpg
.
Replace the following name and file path with the name and path of the
JavaScript file that you downloaded from files.edx.org
.
https://studio.edx.org/c4x/edX/DemoX/asset/jquery.loupeAndLightbox.js
Because you uploaded the jquery.loupeAndLightbox.js
file to the
Files & Uploads page, your file name and path is
/static/jquery.loupeAndLightbox.js
.
(Optional) If you want the magnified area to be larger or smaller, change
the width
and height
values from 350 to larger or smaller numbers.
For example, you can change both numbers to 450. Or, if you want a
horizontal oval instead of a circle, you can change the width
value to
a number such as 500 and the height
value to a number such as 150.
The HTML in your zooming image tool might resemble the following.
Select Save.
To produce clear and professional-looking symbols and equations in web browser, edX uses MathJax. MathJax automatically formats the mathematical symbols and equations that you enter in HTML and problem components using LaTeX notation into beautiful math.
This topic provides some pointers to get you started. Many resources for learning and using MathJax are available online, including the official MathJax Documentation . A tutorial is available on the Mathematics meta stack exchange. Additional documentation, with a testing tool, is available on the Tree of Math site.
A MathJax equation can appear with other text in the paragraph (inline format) or on its own dedicated line (display format).
For inline equations, you can do either of the following.
Surround your MathJax expression with backslash and parentheses characters.
\( equation \)
Surround your MathJax expression with [mathjaxinline]
tags. Note that
these tags use brackets ([ ]
).
[mathjaxinline] equation [/mathjaxinline]
For display equations, you can do either of the following.
Surround your MathJax expression with backslash and bracket characters.
\[ equation \]
Surround your MathJax expression with [mathjax]
tags. Note that these
tags use brackets([ ]
)
[mathjax] equation [/mathjax]
In the HTML component editor, you can use MathJax in both visual view and HTML view.
In the problem component editor, you can use MathJax in either the simple editor or advanced editor.
In the example that follows, note that the Einstein equation in the explanation is enclosed in backslashes and parentheses, so it appears inline with the text. The Navier-Stokes equation is enclosed in backslashes and brackets, so it appears on its own line (display).
Use the topics in this section to learn about managing assets in your course.
For information on how to develop your course content in the Studio Outline, see Developing Your Course.
Adding files, such as images, that you can use in your course has the following steps.
For more information, see the following topics.
You manage most files for your course, including image files, on the Files & Uploads page. This page lists the files that you upload, along with the following information about the files.
The file name.
A preview of the file (if the file is an image) or an icon that represents the file.
Note
If you do not want to see a preview of your files, select the Hide File Preview checkbox in the left pane. To show a preview again, clear this checkbox.
The file type.
The date the file was added.
The URLs that you use to make your files visible in your course or on the internet.
An indication of whether the file is locked.
This page also includes a Search option to help you find specific files. For more information, see Find an Uploaded File.
Note
For textbooks or for course handouts that you want to make available in the sidebar of the Course page, see Textbooks or Add a Course Handout.
The maximum size for each file is 10 MB. We recommend that you use standard compression tools to reduce PDF and image file sizes before you add the files to your course.
You can upload multiple files at a time.
If you have very large audio files or large data sets to share with your students, do not use the Files & Uploads page to add these files to your course. Instead, use another hosting service to host these files.
Note
Ensure that you obtain copyright permissions for files and images you upload to your course, and that you cite sources appropriately.
To upload one or more files, follow these steps.
Create or locate the files on your computer.
Note
When Studio generates URLs for an uploaded file, the file name becomes part of the URL and is visible to students when they access the file. Avoid using file names that contain information that you do not want to share about the file contents, such as “Answerkey.pdf”.
On the Content menu, select Files & Uploads.
On the Files & Uploads page, drag your file or files into the Drag and Drop area.
Note
If you upload a file that has the same name as an existing course file, the original file is overwritten without warning.
The Files & Uploads page refreshes to show the uploaded file or files.
To upload additional files, drag more files into the Drag and Drop area of the page.
The Files & Uploads page lists up to 50 files at one time. If your course has more than 50 files, additional files are listed on other pages.
To find a file on the Files & Uploads page, you can use the Search option, or you can view the page that lists the file.
To use the Search option, enter one of the following search terms in the Search field, and then select the magnifying glass icon.
For example, if the file is named FirstCourseImage.jpg, you can enter any of the following search terms in the Search field.
FirstCourseImage.jpg
.jpg
First
Image
First
.jpg
To view the page that lists the file, select Previous or Next to view the previous or next page, or select the number of the page that you want to view.
You can also sort files by name, type, or date added, or filter files by type. For more information, see Sort Files or Filter Files.
On the Files & Uploads page, you can sort your files by name, type, or date added. To sort by one of these columns, select the name of the column. For example, to sort your files by type, select the Type column name.
The arrow or arrows to the right of the column name indicate the column sort order. Files are sorted by the column that has one arrow. The direction of the arrow indicates whether the order is ascending or descending.
To change between ascending and descending order, select the column name again.
You can filter the list of files by type so that only a selected type of file is visible. The list remains in the current sort order.
You can filter by the following file types.
Type | Possible File Name Extensions |
---|---|
Audio | .aac, .mpeg, .mp3, .ogg, .wav |
Code | .css, .html, .json, .php, .sql |
Documents | .pdf, .txt, Microsoft Office and Open Office documents, presentations, spreadsheets |
Images | .gif, .ico, .jpg, .jpeg, .png, .tif, .tiff |
Other | Files not included in the other types, such .sjson |
To filter the list of files by type, follow these steps.
The list refreshes to show only the type or types of file you selected. You can sort the resulting list by name, type, and date added.
To reset the list and view files of all types, clear all checkboxes.
When you upload a file, Studio assigns a Studio URL and a web URL to the file. The Copy URLs column on the Files & Uploads page lists these URLs. To use an uploaded file, you add a link to the Studio URL or the web URL in your content.
Note
If you do not want to allow access to a file from outside your course, you can lock the file so that only learners who are signed in and enrolled in your course can access the file. For more information, see Lock a File.
To add a file or image inside the course, such as to a component, a course update, or a course handout, follow these steps.
On the Files & Uploads page, select the Studio option in the Copy URLs column.
The Studio option text briefly changes to Copied.
In the component or other content, paste the Studio URL.
For more information, see Add an Image to an HTML Component.
To add a file or image outside the course, such as to a bulk email message that you send from the LMS, follow these steps.
On the Files & Uploads page, select the Web option in the Copy URLs column.
The Web option text briefly changes to Copied.
In the external content, paste the web URL.
Note
Be sure that you do not use the Studio URL in an email message. For more information about sending email messages, see Send an Email Message to Course Participants.
By default, anyone can access a file you upload if they know the web URL, even if they are not enrolled in your course. You can prevent outside access to a file by locking the file. When you lock a file, the web URL only allows learners who are enrolled in your course and signed in to access the file.
To lock a file, select the lock icon in the row for the file.
To delete a file, select the delete icon in the row for file, and then select Permanently delete in the confirmation dialog box.
Warning
After you delete a file, any links to the file from inside or outside the course are broken. You must update links to files that you delete.
You can create course updates and handouts in Studio.
Course updates are communications, especially a welcome message, that learners see at the top of the Course page when they enter the course. A welcome message is an important way of making each learner feel personally welcomed to the course, and of providing orienting information that helps learners succeed with the course.
After learners have read the welcome message, they can dismiss the message. The message is automatically dismissed seven days after the learner first views it if the learner doesn’t actively dismiss it first. Learners can access the dismissed message and any other updates from the Updates link in the sidebar on the Course page.
Handouts are links to files that you upload in Studio, for example, a PDF version of the course syllabus, or an article that you want learners to read. Learners see the list of course handouts under Handouts in the sidebar.
Section Contents
You create course updates in Studio. On entering the course, learners see the update that has the latest date chronologically (including dates in the future) on their Course page.
Note
Learners can dismiss the update that displays on their Course page after they have read it. When learners have dismissed a message, they can access the dismissed message and any other updates from the Updates link in the sidebar on the Course page.
On the Updates page in Studio, you see the list of updates sorted in the order that they were created (most recent at the top of the list). If you create a new update, learners do not see the update on the Course page unless it has the latest chronological date of all existing updates.
To add a course update, follow these steps.
In Studio, select Updates from the Content menu.
Select New Update.
Create your update in the text editor that opens.
Enter text for the update, using HTML tags for formatting. This editor is like the raw HTML editor in HTML components. The course update editor does not have a visual editor.
Note
To make sure that your announcements are accessible, if you use
headings inside an announcement, make sure that you use only level 6
headings (<h6>
). The structure of the course Course page uses
heading levels 1-5.
If you copy text from another source and paste it into the text editor, proofread the result carefully. Some applications automatically change quotation marks and apostrophes from the “straight” version to the “smart” or “curly” version. The editor requires “straight” quotation marks and apostrophes.
Specify a date for this update. By default, today’s date is already entered. You can change the date using the calendar tool, or by entering some other valid date.
Note
Learners do not see the update on the Course page unless it has the latest chronological date of all existing updates.
Select Post.
Your new update becomes available to learners immediately. If the update has the latest chronological date, it is shown to learners on the Course page, otherwise the update appears on the Updates page.
- Learners can choose to turn off notifications for individual courses or for all courses. The Course page continues to show updates.
- Updates appear on the Course page, even if you do not send notifications.
To add a course handout, you upload a file in Studio, then add an entry to an HTML-formatted list of handouts, specifying the URL to your uploaded file and providing a handout title.
You can open the Studio Files & Uploads page in another browser window to make this process easier.
To add a course handout, follow these steps.
In Studio, select Updates from the Content menu.
On the Updates page, you see a Course Updates panel and a Course Handouts panel.
In the Course Handouts panel, select Edit.
In the editor that opens, use HTML formatting to add a link to your uploaded file and a title for the handout. If there are no existing handouts, by default an empty ordered list tag is provided.
An example using paragraph tags rather than a list, follows.
<p><a href="/static/Syllabus_Fall2017.pdf" target="_blank">Syllabus</a></p>
<p><a href="/static/Glossary_v3.pdf" target="_blank">Glossary</a></p>
Select Save.
This topic describes the pages, or tabs, that the LMS includes for your course by default, how you can modify them, and how you can add more pages to your course.
By default, every new course has the following pages.
In the LMS, learners see these options in the navigation bar at the top of every page.
In addition, if you enable the notes tool for your course, the system adds a Notes page. The system also adds a page for each textbook that you add to the course. Note that in Studio, all of your textbooks appear in one group, but in the LMS each one appears as a separate page.
As a course team member with the Staff or Admin role, you also see the Instructor option in the navigation bar. Learners do not see the Instructor option.
To customize your course, you can make the following changes to the pages that the system adds by default.
You can also add custom pages.
You can customize your course by adding pages. Each page that you add appears in the navigation bar for your course. When you add a page, you also add its content using an HTML editor.
The following example shows the navigation bar for a course that has added custom pages named Syllabus and Extra Reading.
When you add a page, you can specify whether it and its content are visible only to course team members who have the Admin or Staff role, or to all enrolled learners as well as the course team. For more information about assigning course team roles, see Planning Course Staff.
If you add a custom page to a course after its start date, and have specified that the page should be visible to learners, the page is visible in the LMS as soon as you save your work. As a best practice, be sure the following aspects of your page design are ready before you add a page in Studio.
To add a custom page and its content to your course, follow these steps.
In Studio, from the Content menu select Pages. A list of the pages that appear in the navigation bar for your course appears.
Select Add a New Page. The system adds a page named Empty to the end of the list.
In the row for the new page, select Edit. The visual editor opens.
Enter the content for your page.
To add HTML tags to your content, select HTML to open the raw HTML editor. For more information about entering content, see Options for Editing HTML Components.
Note
If you copy text from another source and paste it into the visual editor, be sure to proofread the result carefully. Some applications automatically change quotation marks and apostrophes from the “straight” version to the “smart” or “curly” version. The raw HTML editor requires “straight” quotation marks and apostrophes.
To rename the page, select Settings, and then enter a Display Name. The display name is the label that course participants use in the course navigation bar.
To hide the page from learners, select Settings, and then select
true
for Hide Page from Learners. By default, pages are visible to
learners.
Select Save.
The new page is immediately available to the specified audience if the course has started.
By default, your course includes a Wiki page and a Progress page. For more information about how you can use these pages in a course, see Using the Course Wiki or Check the Progress of a Specific Learner.
As part of your course design, you can decide whether you want learners to have access to one or both of these pages. While you cannot delete these pages completely, you can hide them so that they do not appear in the navigation bar in the LMS. If you change your mind, you can show the pages again.
Note
The information on the Progress page can be motivating for learners, particularly in courses that include graded subsections, but also for courses that include only ungraded exercises. Before choosing to hide the Progress page for your course, consider the possible effect on learner engagement.
As a best practice, you should avoid changing the visibility of these pages after your course starts. For example, your course includes the Wiki page when it starts. A learner adds a page to the course wiki, and adds a browser bookmark to that page. If you later hide the Wiki page, the learner’s browser bookmark will continue to provide access to the entire course wiki.
If you hide or show a page after the course start date, note that the visibility of the page in the LMS changes immediately.
To hide or show the Wiki or Progress pages, follow these steps.
In Studio, from the Content menu select Pages.
On the list of pages, each page that you can hide includes a Show/hide page icon.
Select the Show/hide page icon to hide a page. The icon changes to indicate that the page is hidden, as shown in this example.
Select the Show/hide page icon again to make the page visible.
You can reorder the pages in your course in the same way that you reorganize the course outline: you drag a page to different location in the list of pages and drop it there.
Note
You cannot change the order of the Home or Course pages, which are always presented in the first and second positions.
If you change the order of the pages after the course start date, note that the change immediately affects the sequence of the options on the navigation bar in the LMS.
To reorder the pages, follow these steps.
In Studio, from the Content menu select Pages.
On the list of pages, each page that you can move includes a Drag to reorder icon.
Move your pointer over the Drag to reorder icon for the page. Your pointer changes to a four-headed arrow.
Click and drag the page to the new location, and then release.
You can delete any of the custom pages that were previously added to the course.
If you delete a page after the course start date, note that the visibility of the page in the LMS changes immediately.
To delete a custom page, follow these steps.
In Studio, from the Content menu select Pages.
On the list of pages, each page that you can delete includes a Delete icon.
Select the Delete icon, and then confirm the deletion.
You can add textbooks in PDF format to your course.
Note
Do not use image files (for example, .png files) as textbooks for your course, because they are not accessible to learners who use screen readers. For more information, review Creating Accessible PDF Documents.
Each textbook that you add is displayed to learners as a page, or tab, in the course navigation bar. EdX recommends that you upload a separate PDF for each chapter of your textbook.
When learners open the textbook page in the course, they can navigate the textbook by chapter.
Note
When you add a textbook to your course, Studio automatically adds each PDF file that you upload to the Files & Uploads page.
Note
This method deletes the entire textbook. To delete an individual chapter, see Delete a Chapter.
Note
When you add a textbook to your course, Studio adds each PDF file that you upload to the Files & Uploads page. After you delete your textbook on the Textbooks page, edX strongly recommends that you lock or delete the PDF files for the textbook on the Files & Uploads page to avoid copyright issues.
Wikis provide a way for the course team and learners to access, share, and collaboratively edit information both about, and for, your course.
Every course has a wiki that you can set up in a way appropriate for your course. If you have specific expectations for how the wiki should be used, communicate these expectations to your learners and staff. You can seed the wiki with specific content and provide a skeleton structure and some exemplars. At the beginning of the course, explain how you want the course wiki to be used, and provide clear instructions and guidelines for its use.
Common uses for the course wiki might include the following activities.
As learners and course team members create and edit wiki articles, they contribute to a repository of information about your course that can be immediately useful to other learners, or useful for you and your course team as you develop other courses or future runs of the same course.
The wiki for each course is a “child” wiki of the edX-wide wiki. From within any course wiki, select the top level Wiki link in the breadcrumb trail at the top of the page to visit the edX-wide wiki.
Keep these points in mind as you design the wiki for your course.
Members of the course team can perform these tasks to manage the wiki.
All users, including learners, can perform the following tasks, depending on the permissions that you set for an article.
When you create a course, a wiki is included by default, and a Wiki page is visible at the top of the course page. If you do not want to use the course wiki, you can hide the Wiki page at the top of the course.
To show or hide the wiki in the course tabs, follow these steps.
When you hide the wiki in your course, any existing articles remain in the edX- wide wiki, but the Wiki page is removed from your course pages.
You can control access to the wiki in various ways: by changing access to the wiki as a whole, by changing the read/write permissions settings of articles within the wiki, or by locking articles.
To change access to the course wiki, follow these steps.
To modify viewing or editing permissions for specific groups of users by article, see Setting Permissions for Wiki Articles.
To lock an article and prevent further editing, see Locking a Wiki Article.
To prevent certain groups of users from being able to add or edit articles, you need to modify the read/write permissions for articles. For example, as a member of the course team, you likely want to prevent learners from creating wiki articles at the top level, so you should remove write access to course- level wiki articles for most users. (Top-level wiki articles are children of the edX-wide wiki, and cannot be found within the course wiki).
To modify the permissions for wiki articles, follow these steps.
Note that there are two different Save changes buttons, one near the top of the page for the Notifications section, and one at the bottom of the page for the Permissions section. If you are modifying permissions, make sure you select the Save changes button at the bottom of the page for your changes to be saved.
Each course has the following groups.
- Beta Testers (by default there are no beta testers until you add them)
- Admins (by default, the course author is always in this group)
- Staff (these are course team members)
You add users to these groups in the LMS by selecting Instructor and then Membership.
The permissions for the Others group apply to users who are not in the three course groups, including learners.
To ensure that learners get the most out of your course wiki, design the wiki space before the course starts by seeding the course wiki with articles that give it the desired structure.
For example, you could create wiki articles to mirror the course outline. At the top level, you could provide a course outline, FAQs, and links to the main articles for each section. In the child articles for each section, you could provide information specific to the units and components in that section, and a page for learners to share their feedback and experiences.
When you add an article to the wiki, be aware of what level you are currently viewing, to make sure that you add your new article to the correct level in the course wiki.
To move down a level in the wiki, select See all children; to move up, select the appropriate level in the wiki breadcrumb trail links at the top of the page.
To add a wiki article at your current level, follow these steps. If you do not have permissions to add an article, when you select Add Article, a message indicates “Permission Denied” .
To add a child article to your current article, follow these steps. If you do not have permissions to add an article, when you select Add Article, a message indicates “Permission Denied” .
If you have permissions to edit an article, you see an Edit button and icon to the right of the article content.
To make changes to a wiki article, follow these steps.
A Filter field is available only if any level of the wiki contains multiple articles.
Enter a text string in the Filter field to find a list of all articles with that text string in their titles.
The wiki includes a change history for each article. You can view each past version of the article, roll back to a selected earlier version of the article, or merge the current version of the article with a selected earlier version.
Locking a wiki article prevents further changes from being made to it. To lock a wiki article either after you create it, or after you make specific edits, follow these steps.
Only course team members can delete articles. In addition, you can only delete an article if you have permissions to edit that article. If you have the required permissions, you see a Delete article button at the bottom of the Edit page.
To delete an article, follow these steps.
When you delete and purge an article, it is completely removed from the wiki, with no option to undo the deletion. Select this option only if you are sure you will not want to restore the content.
To purge an article as you delete it, select the Purge checkbox on the deletion confirmation page.
Articles that have been deleted but not purged can be restored. A link to the article remains visible at the level at which it was created.
To restore a deleted article, select the link to the article and select Restore.
Use the topics in this section to learn about options for enhancing your course experience for learners.
For information on how to develop your course content in the Studio Outline, see Developing Your Course.
This section provides an introduction to using cohorts to divide the learners in your course into smaller groups.
For more information about setting up and managing cohorts, see the following topics.
For information about discussions in general, see Creating Course Discussions.
For information about offering different content to different cohorts of learners, see Offering Different Content to Learners Based on Cohort.
To create smaller communities in your course, or to design different course experiences for different groups of learners, you can set up cohorts in your course.
To use cohorts in your course, you define a set of cohorts that are either random or that reflect some characteristic of the communities of learners in your course. Then, you decide on a strategy for assigning learners to these cohorts.
With learners divided into smaller groups based on cohort, you can give learners a course experience that is specific to the cohort that they belong to. You can divide discussion topics by cohort so that learners only interact with other members of the same cohort. You can create course content in such a way that learners in different cohorts are offered different variations of assignments or exams.
Note
To provide learners with a consistent experience throughout the course run, do not change cohort configuration or a learner’s cohort assignment after your course begins.
Learners are assigned to cohorts either automatically or manually, depending on the types of cohorts that you create.
Manual cohorts do not have learners assigned to them unless you manually add learners. Automatic cohorts have learners randomly assigned to them if learners do not belong to any cohort by the time they access the course content (including the course Discussion page or content-specific discussion topics, if discussion topics are divided). If you have not created any automated cohorts by the time learners access course content, a default automated cohort is created and used for automatic assignment, so that no learner in the course is without a cohort.
Determine the basic strategy that you will use to create cohorts. Typically, your purpose in including the cohort feature determines which assignment option you use for your course.
An automated assignment strategy means that you create cohorts to which learners are assigned automatically and randomly. Automated assignment works well if, for example, you are creating cohorts simply to create small groups of learners. Automated assignment means that learners are assigned randomly to cohorts as they access course content and divided discussion topics. The cohorts that result from automated random assignment are likely to be more equal in size.
A manual assignment strategy means that learners are assigned only to the cohorts you have created when you or your course team manually adds them. A manual assignment strategy makes sense if you want to create cohorts based on some characteristic of your learners. For example, if you want alumni from your institution to have a particular course experience, you can create an alumni cohort and manually assign learners who you know are alumni to that cohort.
You can use a hybrid assignment method by creating a combination of automated and manual cohorts.
Note
You can add learners manually to any cohort, whether it was created as an automated cohort or a manual cohort.
Note
Although you can change the assignment method of a cohort at any time after you create it, you should have a cohort assignment strategy in mind as you design your course, and only make changes to cohorts while the course is running if absolutely necessary. Be aware of the implications of changing cohort configuration while your course is running. For more information, see Altering Cohort Configuration in a Running Course. In general, to provide learners with a consistent experience throughout the course run, do not change cohort configuration or a learner’s cohort assignment after your course begins.
For use cases and examples of the strategies for assigning learners to cohorts, see the following topics.
In very large courses, the number of posts that are made to course discussion topics can make for a daunting amount of daily reading. In such courses, dividing the enrollees into separate cohorts makes the volume of posts, responses, and comments by the members of each cohort more manageable, and is more likely to foster community feeling.
If you use the automated assignment strategy, you create several “auto” (automated) cohorts. Learners are automatically and randomly assigned to one of the auto cohorts when they first view any course content on the Course or Discussion page. In this way, each learner who engages with the course content or its discussion community is assigned to a cohort. No learner who participates in these ways remains unassigned.
The following guidelines are based on the experiences of MOOC teams that have used cohorts in this way. They are suggested to help you determine how many automated cohorts to define for your course.
For example, two days before it starts, a course has an enrollment of 80,000 learners. To create small communities within the discussions, the course team enables cohorts and then creates eight automated cohorts. As learners visit the Discussion page or view the course content, they are randomly assigned to one of the eight cohorts. In divided discussion topics, learners read and respond only to contributions made by other members of the same cohort.
For more information, see Implementing an Automated Assignment Strategy.
In SPOCs and other courses with small- to medium-sized enrollments, known existing commonalities can be used to identify cohorts. An example is a course that enrolls learners from different companies or with different educational backgrounds, or members of alumni or parent groups. When learners are assigned to cohorts on the basis of a characteristic that they share, they can privately discuss applications for what they are learning and explore resources and ideas that are of particular interest.
To implement this assignment strategy, you identify the “real-world” cohorts that your learners already belong to. You enable cohorts and then create manual cohorts to represent each of the real-world cohorts. You then manually assign each enrolled learner to a cohort. Every learner in your course, including those who enroll after the course starts, must be assigned to a cohort.
Note
To ensure that every learner is assigned to a cohort, you can set up a single automated cohort, as described for the hybrid assignment strategy. If you do not create an automated cohort, the system automatically creates a default cohort and assigns learners to it if necessary.
For more information, see Implementing a Manual Assignment Strategy.
For some courses, the manual assignment strategy is not feasible to execute, and the automated assignment strategy does not accommodate existing cohorts in the student body. The enrollment might be too large to complete manual assignments effectively, or only some of the learners might have strong defining characteristics among an otherwise diverse student body. For these courses, you can use a hybrid of the two strategies to implement cohorts.
An example is a course that enrolls members of an alumni association. The alumni want an opportunity to have private interactions, so manual assignment of those learners to a cohort makes sense. For other learners in the class, manual assignment is not needed: you can create one or more automated cohorts for the remaining learners in the course.
Before you implement the hybrid strategy, you identify the characteristics that define existing cohorts in the student body. You also decide whether you want the remaining learners in the course to be divided into their own, similarly- sized cohorts, or if you want them all to be in just one other cohort.
After you enable cohorts, you create a manual cohort for each learner group that you identified. You manually assign learners who belong to each group to the corresponding cohort. You also set up automated cohorts for the other learners in the course, or rely on the default automated cohort. Any learners who are not assigned to a manual cohort are automatically assigned to one of the automated cohorts or to the default cohort when they first view any course content, including the course Discussion page or content-specific discussion topics. For best results when you use this strategy, you should complete all manual cohort assignments before the course starts and before learners begin viewing course content and discussion topics.
For more information, see Implementing an Automated Assignment Strategy and Implementing a Manual Assignment Strategy.
If you enable cohorts in your course, all learners must be assigned to a cohort. To ensure that there are no learners in the course without a cohort, the system automatically creates a default cohort and assigns learners to it if necessary.
The default cohort is created only if you have not created at least one automated assignment cohort in your course by the time that the first learner accesses your course content. Learners who have not been manually assigned to a cohort when they access the course content are automatically assigned to the default cohort.
Learners who are in the default cohort see a cohort name of “Default Group” in discussion posts. If you want learners to see a different name for the default cohort, you can change its name. For details about renaming cohorts, see Rename a Cohort.
You can check the learner profile information report for your course to see if any learners are assigned to the default cohort, and change their cohort assignments. Note, however, that in divided discussion topics learners can only see posts by members of their currently assigned cohort: when a learner is reassigned, posts that he previously saw will seem to have “disappeared”. To avoid negatively affecting the learner experience, any cohort assignment changes should be done as early in the course run as possible, so that learners’ views of discussion posts and contributions remain consistent over time.
This section provides information about setting up cohorts in your course.
To use cohorts in your course, you must select a strategy for assigning your learners to cohorts: automated assignment, manual assignment, or a hybrid approach. For more information, see Options for Assigning Learners to Cohorts.
Note
Although you can change the assignment method for cohorts at any time, you should have a strategy in mind as you design your course, and only make changes to cohorts while the course is running if absolutely necessary.
You must also decide whether course-wide and content-specific discussion topics should be divided by cohort or unified for all learners.
After you decide on a cohort strategy for your course, complete these configuration steps (as applicable).
Optionally, identify the discussion topics that you want to be divided by cohort.
For information about divided discussions, see About Divided Discussion Topics.
You complete these procedures on the Cohorts and Discussions tabs on the Instructor Dashboard.
Note
On the Cohorts tab, the number of learners shown next to each cohort name in the Select a cohort list includes only learners who are enrolled in the course. The number does not include preassigned learners who either do not yet have an edX account or are not enrolled in your course.
For an optimal learner experience, you should make sure that configuration of the cohort feature is as complete as possible before the start date of your course. If you need to make changes to the way you have configured cohorts while your course is running, be aware of the implications of your changes. For more information, see Altering Cohort Configuration in a Running Course.
To implement an automated assignment strategy of learners to cohorts, you enable the cohort feature for your course, and create cohorts that have the Automatic assignment method. To add learners to these cohorts, you do not need to take any action: the system automatically and randomly assigns learners to the available automatic cohorts when they first access any course content or divided discussions. Learners who access the Course page or other course pages such as a Textbook page do not receive a cohort assignment until they view course content or divided discussions.
Note
You can add learners manually to any cohort, whether it was created as an automated cohort or a manual cohort.
For a scenario using an automated assignment strategy, see Automated Assignment: Making MOOC Discussions Manageable. For a scenario using a combination of automated and manual assignment to cohorts, see Hybrid Assignment: Accommodating Small Groups Within a Course.
The first time a learner views course content on the Course or Discussion page, if she is not already assigned to a cohort, she is randomly assigned to one of the automated cohorts. If no automated cohorts exist, the system creates a default cohort and assigns the learner to this cohort.
Note
The default cohort is created to ensure that every learner is assigned to a cohort. To avoid having to re-assign learners from the default cohort to other cohorts, make sure you create the automated cohorts that you want before the course starts.
To implement a manual assignment strategy of learners to cohorts, you enable the cohort feature for your course, and create cohorts that have the Manual assignment method. Then, you manually assign enrolled learners to the appropriate cohorts.
Note
It is not a requirement that learners have enrolled in your course or registered on edx.org for you to add them to a cohort. For learners who have not yet created an edx.org account, you must provide a valid email address. For learners who have an edx.org account but have not yet enrolled in your course, you can provide either a valid email address or a recognized edx.org username.
Manual assignments should be as complete as possible before your course starts. If learners enroll after your course starts, you should assign new learners to cohorts as soon as possible. If you need to make changes to the way you have configured cohorts while your course is running, see Altering Cohort Configuration in a Running Course.
For a scenario using a manual assignment strategy, see Manual Assignment: Grouping by Common Characteristics. For a scenario using a combination of automated and manual assignment to cohorts, see Hybrid Assignment: Accommodating Small Groups Within a Course.
To enable cohorts in your course, follow these steps.
You can now add cohorts to your course.
Warning
Be very careful in deciding to enable the cohort feature in a live course, because doing so affects the course experience for learners. Learners might no longer have access to course and discussion topics that were previously visible to them.
If you must make changes to cohort configuration while your course is running, be sure you understand the consequences of doing so. For details, see Altering Cohort Configuration in a Running Course.
After you enable the cohorts feature for your course, you can add cohorts. To add a cohort to your course, follow these steps.
In the LMS, select Instructor, then select Cohorts.
Click Add Cohort.
Enter a name for the cohort.
Note
Learners can see the name of the cohort they are assigned to. The message “This post is visible only to {cohort name}” appears with each post in discussion topics that are divided by cohort. See Read the Group Indicator in Posts.
Specify whether learners are automatically or manually assigned to this cohort.
Optionally, select Select a Content Group to associate the cohort with a content group. For information about creating cohort-specific course content by associating cohorts with content groups, see Creating Cohort-Specific Course Content.
Select Save.
Continue implementing your cohort strategy by creating additional cohorts as applicable, and specifying the assignment method for each cohort.
Note
By the time your course starts, you must have at least one cohort in your course that is automatically assigned. If you have not created at least one automated assignment cohort in the course by the time that the first learner accesses your course content or a divided discussion topic, edX creates a default cohort to which learners are automatically assigned.
For details about adding learners to a cohort by uploading a .csv file, see Assign Learners to Cohorts by Uploading a .csv File.
For a report that includes the cohort assignment for every enrolled learner, review the learner profile information for your course. See Download or View Learner Data.
Note
You cannot delete cohorts, but you can change their names or the way in which learners are assigned to them. If you need to make changes to the way you have configured cohorts while your course is running, see Altering Cohort Configuration in a Running Course.
If you have implemented a manual assignment strategy for cohorts in your course, make sure your manual assignments are as complete as possible before your course starts. If learners enroll after your course starts, you should assign new learners to cohorts as soon as possible.
Note
Making changes to cohort assignments after the course starts can affect the course experience for learners. Learners might no longer have access to course and discussion topics that were previously visible to them. For more information, see Altering Cohort Configuration in a Running Course.
To manually assign learners to cohorts in your course, follow these steps.
View the live version of your course. For example, in Studio click View Live.
Select Instructor, then select Cohorts.
Scroll to the Cohort Management section at the bottom.
From the Select a cohort list, select the cohort to which you want to manually assign learners.
On the Manage Learners tab, under Add learners to this cohort enter the username or email address of a single learner, or enter multiple usernames or addresses separated by commas or new lines. You can copy data from a .csv file of email addresses or usernames, and paste it into this field.
Note
It is not a requirement that learners have enrolled in your course or registered on edx.org for you to manually add them to a cohort. For learners who have not yet created an edx.org account, you must provide a valid email address. For learners who have an edx.org account but have not yet enrolled in your course, you can provide either a valid email address or a recognized edx.org username.
Select Add Learners.
Learners you added who have edX accounts are assigned to the selected cohorts. A confirmation message indicates the number of learners who were successfully added to the cohort.
Learners you added who do not yet have edX accounts are listed as “Preassigned” to the cohort. When preassigned learners enroll in the course, they are automatically added to the cohort.
If some learners that you listed could not be added to cohorts, an error message lists the email addresses or usernames of learners who could not be added to the cohort.
Note
Because learners can belong to only one cohort, adding a learner to a cohort moves them from any cohort they were previously assigned to. The confirmation message indicates the number of learners who were moved from their previous cohort assignment as a result of your adding them to the current cohort.
For a report that includes cohort assignments for your course, review the learner profile information for your course. See Download or View Learner Data.
Uploading a .csv file containing a list of learners and the cohorts that you want to assign them to is another way of assigning learners to cohorts manually. For details about the other manual assignment method, see Assign Learners to Cohorts Manually.
Any assignments to cohorts that you specify in the .csv files you upload will overwrite or change existing cohort assignments. The configuration of your cohorts should be complete and stable before your course begins. You should complete manual cohort assignments as soon as possible after any learner enrolls, especially for enrollments that occur after your course has started. To understand the effects of changing cohort assignments after your course has started, see Altering Cohort Configuration in a Running Course.
Note
Be aware that the contents of the .csv file are processed row by row, from top to bottom, and each row is treated independently. If the same learner is assigned to different cohorts in different rows in the spreadsheet, the last assignment to be performed is that learner’s final assignment.
For example, if in your .csv file Learner A is first assigned to Cohort 1, then later in the spreadsheet is assigned to Cohort 2, the end result of your .csv upload is that Learner A is assigned to Cohort 2. However, the upload results file will include Learner A twice in the “Learners Added” count: once when they are added to Cohort 1, and again when they are added to Cohort 2. Before submitting a file for upload, check it carefully for duplicated learners and other errors.
If the same learner is assigned to a cohort that they already belong to, they are not included in the count of “Learners Added”.
The requirements for the .csv file are summarized in this table.
Requirement | Notes |
Valid .csv file | The file must be a properly formatted comma-separated values file:
|
File size | The file size of .csv files for upload is limited to a maximum of 2MB. |
UTF-8 encoded | You must save the file with UTF-8 encoding so that Unicode characters display correctly. |
Header row | You must include a header row, with column names that exactly match those specified in “Columns” below. |
One or two columns identifying learners | You must include at least one column identifying learners: either “email” or “username”, or both. To preassign learners who do not yet have edX accounts, you must provide their email addresses in an “email” column. If both the username and an email address are provided for a learner, the email address has precedence. In other words, if an email address is present, an incorrect or unrecognized username is ignored. |
One column identifying the cohort | You must include one column named “cohort” to identify the cohort to which you are assigning each learner. The specified cohorts must already exist in Studio. |
Columns with headings other than “email”, “username” and “cohort” are ignored. |
To manually add learners to cohorts by uploading a .csv file, follow these steps.
Note
To add learners who do not yet have edX accounts to cohorts using a .csv file upload, you must provide their email addresses in a column with the heading “email”. Learners without edX accounts are “preassigned” to cohorts; they are not included in the count of learners “added” to cohorts.
View the live version of your course. For example, in Studio, select View Live.
Select Instructor, then select Cohorts.
From the Select a cohort list, select the cohort to which you are adding students.
Select Assign students to cohorts by uploading a CSV file, then select Browse to navigate to the .csv file you want to upload.
Select Upload File and Assign Students. A status message is displayed above the Browse button.
Verify your upload results on the Data Download page.
Under Reports Available for Download, locate the link to a .csv file with “cohort_results” and the date and time of your upload in the filename. The list of available reports is sorted chronologically, with the most recently generated files at the top.
The results file provides the following information:
Column | Description |
Cohort | The name of the cohort to which you are assigning learners. |
Exists | Whether the cohort was found in the system. TRUE/FALSE. If the cohort was not found (value is FALSE), no action is taken for learners who you assigned to that cohort in the .csv file. |
Learners Added | The number of learners added to the cohort during the row by row processing of the .csv file. This number does not include learners who are not enrolled in the course. |
Learners Not Found | A list of the usernames of learners that could not be matched and who were therefore not added to the cohort. |
Invalid Email Addresses | A list of email addresses that were not valid. These learners could not be added to the cohort. |
Preassigned Learners | The email addresses of learners who do not yet have an edX account but who you have preassigned to a cohort using their email addresses. These learners are not included in the count of “Learners Added”. When these preassigned learners create an edX account and enroll in your course, they are automatically added to the cohorts that you preassigned them to. |
For a report that includes the cohort assignment for every enrolled learner, review the learner profile information for your course. See Download or View Learner Data.
Make sure the .csv files that you upload are encoded as UTF-8, so that any Unicode characters are correctly saved and displayed.
Note
Some spreadsheet applications (for example, MS Excel) do not allow you to specify encoding when you save a spreadsheet as a .csv file. To ensure that you are able to create a .csv file that is UTF-8 encoded, use a spreadsheet application such as Google Sheets, LibreOffice, or Apache OpenOffice.
The configuration of cohorts should be complete and stable before your course begins. Manual cohort assignments should be completed as soon as possible after any learner enrolls, including any enrollments that occur while your course is running.
If you decide that you must alter cohort configuration after your course starts and activity in the course discussion begins, be sure that you understand the consequences of these actions.
After your course starts and learners begin to contribute to the course discussion, each post that they add is visible either to everyone or to the members of a single cohort. When you change the cohort that a learner is assigned to, there are three results.
The visibility of a post and its responses and comments does not change, even if the cohort assignment of its author changes. To a learner, it can seem that posts have “disappeared”.
To verify the cohort assignments for your learners, download the student profile report for your course. If changes are needed, you can assign learners to different cohorts manually in the LMS by selecting Instructor and then Cohorts, or upload cohort assignment changes in a .csv file.
You can change the name of any cohort, including the system-created default cohort.
To rename a cohort, follow these steps.
You cannot delete cohorts. However, you can rename a cohort, change its assignment method, or move learners to other cohorts.
If you decide that you must alter cohort configuration after your course starts and learners begin viewing the course and the discussion topics, be sure that you understand the consequences of these actions. For more details, see Altering Cohort Configuration in a Running Course.
Although you can change the assignment method of a cohort at any time after you create it, you should have a strategy in mind as you design your course, and only make changes to cohorts while the course is running if absolutely necessary. Be aware of the implications of changing cohort configuration while your course is running. For more information, see Options for Assigning Learners to Cohorts and Altering Cohort Configuration in a Running Course.
Note
When your course starts, you must have at least one cohort in your course that has automatic assignment. If you have not created at least one automated assignment cohort in the course by the time that the first learner accesses your course content, edX creates a default cohort to which learners are automatically assigned. If the default group is the only automated assignment cohort in your course, you cannot change its assignment method to Manual.
To change the assignment method of a cohort, follow these steps.
View the live version of your course. For example, in Studio select View Live.
Select Instructor, then select Cohorts.
From the Select a cohort list, select the cohort whose assignment method you want to change.
On the Settings tab, the current assignment method is selected. Change the assignment method by selecting the other option, either Automatic or Manual.
Select Save.
The cohort assignment method is updated.
Note
Changing the cohort assignment method has no effect on learners who are already assigned to this and other cohorts. Learners who access the course after you make this change are assigned to cohorts based on the new assignment method of this cohort combined with the assignment methods of all other cohorts.
Warning
Be very careful in deciding to disable the cohort feature if you previously had it enabled in a live course, because doing so affects the course experience for learners. Course materials and discussion posts that were shared only with members of particular cohorts are now visible to all learners in the course.
If you must make changes to the way you have configured cohorts while your course is running, be sure you understand the consequences of doing so. For details, see Altering Cohort Configuration in a Running Course.
To disable cohorts in your course, follow these steps.
All course content and discussion posts that were previously divided by cohort immediately become visible to all students.
This section provides information about setting up content for specific cohorts.
If you have enabled cohorts in your course, you can create different course experiences for learners in different cohorts.
You can design your course so that some learners are given different content than others. You do this by creating content groups in Studio, and restricting access to specific components in your course to one or more content groups. Then, if you associate one or more cohorts with a content group, only the learners in cohorts associated with that content group can see course content that you have designated for it.
For more details about content groups, see Content Groups. For an example of cohort-specific course content, see Example: Cohort-Specific Course Content.
Complete these steps to create cohort-specific content in your course.
In Studio
In the LMS
Suppose that you create two cohorts in your course: University Alumni and Current University Students. Learners who are not in either of these cohorts are automatically placed into a third cohort, the default cohort, when they access the Course or Discussion tabs in the course. For more information about enabling cohorts in your course and assigning students to cohorts, see Enabling and Configuring the Cohorts Feature.
You intend all learners to have substantially the same course experience, with the exception that only learners in the two university-related cohorts will receive content that is specific to your university and therefore only of interest to them.
At the end of every section, you intend to include a video message from various university officials, including the university president and the dean of your college. These videos will be shown only to learners in the university and alumni cohorts. Also at the end of each section, you intend to include a quiz to test knowledge of the concepts taught in that section. The quiz will be shown to all learners enrolled in the course.
To achieve this, on the Group Configurations page in Studio you create one content group called “University-Specific Content”. In the Instructor Dashboard, on the Cohorts tab, you associate both the “University Alumni” and the “Current University Students” cohorts with the “University-Specific Content” content group.
Then, in your course outline, you change the access settings for the video component at the end of each section so that it is access is available only to the “University-Specific Content” content group. You do not need to edit the access settings of the quiz component, because if no content group is specified in a component’s access settings, that component is available to all learners.
As a final step, you preview the course in the LMS to ensure that learners see the content that is intended for them. You confirm that when you view the course in the role of Student (in other words, any learner not in a content group), you see a quiz at the end of each section, but do not see the university-related videos. When you view the course as a learner in the “University-Specific Content” group, you see a university-related video as well as the quiz at the end of each section.
Content groups are virtual groupings of learners who will see a particular set of course content. You can use content groups to designate specific course content as available to particular cohorts of learners.
You create content groups in Studio, and in your course outline you use the Access Settings to designate whether a component is selectively available only to one or more content groups. Any course components that do not have an explicit restricted access setting are available to all learners, regardless of their cohort.
Content groups do not have an actual impact on the availability of a course component until you associate them with one or more cohorts. If you have designated certain course content as restricted to a content group, and in addition have associated that content group with one or more cohorts, then only learners in those cohorts will see the designated content.
For an example of using content groups to create cohort-specific course content, see Example: Cohort-Specific Course Content.
To create a content group, follow these steps.
In Studio, select Settings, then select Group Configurations.
On the Group Configurations page, select New content group.
Enter a meaningful name for the content group, then select Create. The page refreshes to show the name of your new content group.
Repeat this step to create as many content groups as you want.
After you create a content group, you can work with your course outline to specify which components are available to specific content groups. For details, see Specify Content as Available Only to Particular Content Groups.
You associate each content group with one or more cohorts in the LMS, on the instructor dashboard. For details, see Associate Cohorts with Content Groups.
In Studio, you can modify the settings of units or components to give access only to learners who are in cohorts associated with particular content groups. You cannot specify entire subsections or sections for restricted access by particular content groups.
You do not need to edit the access settings of units or components that are intended for all learners. Units or components that you do not restrict access to are available to all learners enrolled in your course, regardless of the cohort that they belong to.
Note
If a unit has group access restrictions set, all of its child components inherit these group access restrictions unless you explicitly set different group access restrictions for individual child components.
For details about how to modify unit access settings, see Set Access Restrictions For a Unit.
For details about how to modify component access settings, see Set Access Restrictions for a Component.
For details about previewing your course to ensure that learners in a cohort correctly see the content intended for them, see View Usage of a Content Group and Viewing Cohort-Specific Course Content.
Note
In addition to access settings for content groups, a learner’s ability to see a course component also depends on whether it is marked as visible to staff only, whether the unit is published, and the course’s release date. For details about testing course content in general, see Testing Your Course Content.
After you create a content group, you can associate it with one or more cohorts with which you want to share the same special content.
Note
A content group can be associated with more than one cohort; a cohort cannot be associated with more than one content group.
To associate a cohort with a content group, follow these steps:
In the LMS, select Instructor, then select Cohorts.
From the cohorts drop down list, select the cohort to which you want to associate your content group.
Select the Settings tab for the selected cohort.
Under Associated Content Group, choose the Select a Content Group option.
From the content group drop down list, select the content group that you want your cohort to be associated with.
Select Save.
You have now associated your content group with a cohort. Any course content that you designate as available to that content group is available to learners in the associated cohort or cohorts.
You can associate additional cohorts with the same or a different content group by repeating steps 3 to 7.
For an example of using content groups to create cohort-specific course content, see Example: Cohort-Specific Course Content.
After you restrict access to units or components to particular content groups, you can view your course content as a member of a content group to ensure that members of each group correctly see the content intended for them.
Note
In addition to access settings for content groups, a learner’s ability to see a unit or component also depends on whether it is marked as visible to staff only, whether the unit is published, and the component’s release date. For details about viewing course content in various publishing states, see Viewing Published and Released Content and Previewing Draft Content.
Depending on whether you want to view published content or unpublished content, you choose either View Live or Preview from the course outline in Studio. You can then experience the course content as a learner in a particular group would, by selecting the View this course as option for a learner in the desired content group, as described in Viewing Course Content Based on Roles.
For details about testing course content, see Testing Your Course Content.
To view the components or units that have been made available to learners in each of the content groups in your course, follow these steps.
In Studio, select Settings, then select Group Configurations.
On the Group Configurations page, locate the content group for which you want to view the usage.
The content group’s box displays the number of locations (units or components) that are designated for learners in cohorts associated with that content group.
Click the content group name to view the names of units and components that that are specified as available to learners in the group.
Click a linked location name to go to that unit in the course outline, where you can change the group access settings for the unit or component.
For details about previewing your course to ensure that learners in a cohort correctly see the content intended for them, see Viewing Cohort-Specific Course Content.
Note
You can delete a content group only if it is not in use in any course unit. To delete a content group that is currently in use, you must first remove it from any course unit visibility settings that use the content group. For information about seeing which units use a content group, see View Usage of a Content Group.
In courses that use cohorts, in addition to discussion topics that are by default shared by all learners, you can create divided discussion topics, within which learners interact only with other members of their cohort.
For information about divided discussions, see About Divided Discussion Topics.
For information about managing and moderating discussions, see Managing Divided Discussion Topics and Moderating Discussions.
You can design your course so that some learners are given different content than others, based on the group that they belong to. Learners can be grouped either by cohort, or by the enrollment track that learners join for your course.
This section provides information about offering differentiated content in your course.
For information about dividing discussion topics in your course so that only learners in the same groups interact with each other, see About Divided Discussion Topics.
Note
You can also use experiment groups to compare the performance of groups of learners who are offered different content. For details, see Overview of Content Experiments.
If your course has more than one enrollment track, you can provide different content to learners in each of the enrollment tracks.
For example, you might provide the same course content to all learners except that for the midterm and final exams, learners who are in a non-certificate track and learners who are in a certificate track are given different exams.
For information about creating differentiated content based on enrollment track, see Creating Course Content for Specific Enrollment Tracks.
If you have enabled cohorts in your course, you can associate one or more cohorts with a content group. You can then design your course so that particular content is available only to learners in a specific content group.
For example, you might intend all learners in your course to have substantially the same course experience, except that you want to show learners who are either current students or alumni of your university a special video in several sections. You already have your university’s current students in one cohort and alumni in another cohort. By associating both of these cohorts with the same content group, and restricting access to the special university-related video to only this content group, you can provide a customized course experience.
For information about creating differentiated content using cohorts, see Using Cohorts in Your Courses and Creating Cohort-Specific Course Content.
This section provides information about setting up teams in your courses.
For information about managing teams in your courses, see the following topics.
Using teams in your course is an effective way for learners to interact and collaborate on small group projects or activities. You define topics that learners choose from; learners choose a topic they are interested in, and either join a team or create their own team within that topic. Each learner can belong to only one team.
When learners create a new team, they add names and descriptions to identify their team. They can also optionally specify a primary communication language and a primary country that members identify with. Team characteristics might serve as the basis for attracting new members, resulting in small groups of learners with similar interests and goals who will work together on projects or activities within the same topic area.
Teams are most effective when learners have a clear reason for joining a team, and a clear outcome to achieve with fellow team members. For example, you might create an assignment that consists of a group project or activity, with a choice of topics, and ask learners to join teams within the topic of their choice to complete the assignment. Team members can use discussions within the team to communicate and collaborate on the assignment. If you want only to provide a way for learners to connect socially, consider using discussions within the course rather than teams. For more information about using discussions, see Running Course Discussions.
To enable and configure teams in your course, modify the Teams Configuration policy key on the Advanced Settings page so that the key includes team topic names and the maximum team size.
Note
The Teams page in the LMS becomes available only after you have specified at least one team topic.
Note
EdX recommends that you do not delete topics once your course is running, and if learners might have already joined teams within topics. If you delete a topic from the Teams Configuration policy key, that topic is no longer visible in the LMS, and learners will not be able to leave teams associated with the deleted topic.
In Studio, from the Settings menu, select Advanced Settings, then locate the Teams Configuration policy key.
By default, you see a set of curly braces ({}). You define topics and the maximum team size inside this set of braces.
To specify the maximum team size for teams in your course, enter the
max_team_size
parameter in double quotation marks, followed by a colon,
then a positive integer value representing the maximum number of team
members allowed. For example, to set the maximum number of learners per
team in your course to 5, your entry would look like this example.
"max_team_size": 5
To specify topics within which teams can be created, add entries under
"topics"
. For each topic, provide a description, name, and ID as shown
in the example.
Make sure that you enclose all of the sets of topic values within a set of square brackets, with a comma after the closing square bracket.
Note
If you create more than one topic, make sure that you add a comma after the closing curly brace of each topic that has another topic following it. The syntax that you use must match the example syntax exactly. Missing or incorrect indentation, curly braces, brackets, or punctuation marks cause errors.
Note
For topic IDs, you can use only alphanumeric characters and the underscore, hyphen, and period characters.
{
"topics": [
{
"name": "Sustainability in Corporations",
"description": "Description for Sustainability in Corporations",
"id": "Sustain_Corporations"
},
{
"name": "Water Conservation Projects",
"description": "Description for Water Conservation",
"id": "Water_Conservation"
},
{
"name": "Sustainability Standards and Reporting",
"description": "Description for Sustainability Standards",
"id": "Standards_Reporting"
}
],
"max_team_size": 5
}
The topics you have created appear on the Teams page in the LMS when learners browse teams by topic. The Teams page is not visible until you have created at least one topic.
Although learners in your course can create their own teams, you can seed each topic with a few teams to give learners some ideas for their own teams.
Course team members who have the Staff, Admin, Discussion Admin, or Discussion Moderator role can create new teams within topics. Community TAs and learners in the course can also create teams, although learners can create a new team only if they do not already belong to one.
To create a team, follow these steps.
From the Teams page in the LMS, select Browse, then select the topic in which you want to create a team.
At the bottom of the list of teams within the topic, select the create a new team in this topic link.
On the Create a New Team page, add a name and description for the team.
In the description, include details about the proposed project or activity to help learners to decide whether they want to join this team.
Optionally, add some characteristics for your team. You can specify a language that members would primarily use to communicate with each other, and a country that members would primarily identify with. Keep in mind that if your team details make the team membership seem too selective, learners might be discouraged from joining.
When you have finished entering details for the team, select Create.
Your new team is added to the list of teams under your selected topic.
Use the search field to find a team within a topic.
Note
Partial words are not supported for searching teams.
To get a list of teams whose names, descriptions, or characteristics match your search keywords, follow these steps.
From the Teams page in the LMS, select Browse, then select the topic in which you want to find a team.
In the search field, enter one or more keywords to search for, then press Enter or select the search icon.
Teams within the topic that match your search are displayed.
To clear the existing search term, select the X next to the search field, or select all the text within the field and enter text to replace it.
Course team members who have the Staff, Admin, Discussion Admin, or Discussion Moderator role can edit any of a team’s details, including removing members from a team. Community TAs can also edit teams. For more details about removing team members, see Remove a Learner from a Team.
To edit a team’s details, follow these steps.
Note
Before making significant changes to a team, communicate with team members so that they are aware of the changes and their impacts.
Course team members who have the Staff, Admin, Discussion Admin, or Discussion Moderator role can remove members from a team. Community TAs can also remove learners from a team. You might want to remove a learner from a team and make the spot on the team available to other learners if, for example, a learner joined a team but is not participating, or if a learner has unenrolled from the course without leaving the team.
Note
Before making significant changes to a team, communicate with team members so that they are aware of the changes you will make, and their impacts.
To remove a learner from a team, follow these steps.
In the LMS, select the Teams tab.
On the Teams page, select Browse to show all topics.
Select the arrow button for the topic to show all teams in that topic.
Locate the team that you want to edit. To find the team, you can search using keywords or sort teams by last activity or open slots.
Select View for the team from which you want to remove a learner.
Select Edit Team.
On the Instructor Tools bar, select Edit Membership.
On the team’s Membership page, select Remove next to the name of the learner who you want to remove from the team.
In the confirmation message, select Remove.
The team member you removed no longer appears on the Membership page.
Repeat steps 8 and 9 to remove additional members.
The team members you removed no longer appear on the Membership page, and the count of team members is updated wherever it appears on team pages.
Course team members who have the Staff, Admin, Discussion Admin, or Discussion Moderator role can delete teams. Community TAs can also delete teams. you might need to manage the teams in your course, including deleting teams that remain empty or where members are experiencing abusive situations.
When you delete a team, all learners are removed from the team membership. Neither learners nor course team members can access discussions from deleted teams.
Note
Deleting a team removes it permanently from the course, and cannot be undone.
To delete a team, follow these steps.
In the LMS, select the Teams tab.
On the Teams page, select Browse to show all topics.
Select the arrow button for the topic to show all teams in that topic.
Locate the team that you want to delete. To find the team, you can search using keywords or sort teams by last activity or open slots.
Select View for the team that you want to delete, then select Edit Team.
On the Instructor Tools bar, select Delete Team.
In the confirmation message, select Delete.
You return to the topic page, where you receive a confirmation that the team has been successfully deleted. The team no longer appears in the teams list within its topic. Learners who were previously members of this team no longer belong to a team.
After you have enabled teams and created topics in your course, learners can begin browsing topics and joining teams. Teams are formed within topics. Each learner can belong to only one team.
On the Teams page in the LMS, learners in your course can browse topics to find a subject that they are interested in collaborating on. Learners can sort topics alphabetically by name, or by the number of teams in a topic.
Within each topic, learners can view existing teams. The overview for each team shows the team’s name and description, the number of members and available spots, and the elapsed time since the last activity in the team.
To find teams, learners can sort teams by the most recent activity or by the most open spots. They can also use keywords to search for teams that might match their interests, language, or country.
When learners locate a team that they might be interested in joining, they can select View on the team overview to view team details.
On each team’s details page, learners can view the team’s name and description, as well as any optional characteristics that were specified, such as a primary language of communication and a country that members primarily identify with. While they are browsing teams, learners can read any team’s discussion posts, but they cannot add posts to a team’s discussion forum unless they join that team.
When learners find a team that they want to join, they select Join Team and are immediately added to the team membership.
Note
Learners can belong to only one team. If a learner already belongs to a team, the Join Team button is not available when they view other teams. To join a new team, learners must first leave their existing team.
Learners can create their own teams if they cannot find a team they want to join. Under the list of existing teams in a topic, learners select create a new team in this topic. This link is available only to learners who do not already belong to a team.
Learners specify a name and description for their team, and optionally specify a country and language that team members identify with. A learner who creates a team automatically becomes a member of the new team.
Note
EdX recommends that you encourage learners to join existing teams before they create new teams.
Note
Because course staff who have the role of Admin, Discussion Moderator, or Discussion Admin can create multiple teams, these course staff are not automatically added to teams that they create. This is also true for learners who have the community TA role.
At any time, learners can leave teams that they have joined, although you should emphasize to learners that they should try not to change teams after any team projects or activities have started. Learners who leave a team will also be unable to continue contributing to discussion threads in the team that they have left.
Only members of a team (or anyone with a discussion administrator, discussion moderator, or community TA role) can post to a team’s discussion forum. Any learner in your course can view team discussions without being a member, but they cannot add posts to a team’s discussion unless they also belong to that team.
Note
Team discussions are not divided by cohort. Learners who are in the same team but who belong to different cohorts can view and participate in their team discusssions without regard to the cohort they belong to.
For information about course discussions and managing discussions, see Creating Course Discussions and Guidance for Discussion Moderators.
EdX recommends that you designate course staff and optionally student teaching assistants (TAs) to moderate team discussions. The same discussion administration roles for managing course discussions on the Discussions page apply to discussion administration for team discussions. Course team members and student TAs who already have discussion moderation roles for course discussions on the Discussions page can perform the same roles for discussions in teams.
For information about discussion administration roles, see Assigning Discussion Moderation Roles. For information about managing discussions, see Running Course Discussions.
Members of the team, discussion community TAs, and course staff with the roles of Discussion Admin or Discussion Moderator can post to a team’s discussion. Team members can edit their own posts, reply to posts and comments, follow and flag posts, and so on.
Posts made by discussion community TAs are marked with a Community TA label in the discussion navigation pane, and those made by discussion moderators or discussion admins are marked with a Staff label.
Discussion moderators, discussion admins, and community TAs can perform the following actions in team discussions, without being a member of the team.
Responses and comments made by community TAs have a Community TA label.
Responses and comments made by discussion moderators or discussion administrators have a Staff label.
This section provides an introduction to using content experiments.
For more information, see Configure Your Course for Content Experiments and Add Content Experiments to Your Course.
You use content experiments to show different course content to different groups of learners. Also known as “A/B tests” or “split tests”, content experiments enable you to research and compare the performance of learners in different groups to gain insight into the relative effectiveness of your course content.
If your course uses content experiments, the grade report that you generate from the instructor dashboard includes a column identifying the experiment group that each learner has been assigned to. For more information, see Interpreting the Grade Report.
For information about analyzing events from content experiments, see Testing Events for Content Experiments in the EdX Research Guide.
Important
Due to an issue in the edX mobile apps, content experiments do not display correctly in the mobile apps. Blocks created with Content Experiment components display in the mobile app with a “Group ID” label.
You can run multiple content experiments in your course. You can set up each experiment to use the same groups of learners, or you can set up each experiment to be independent and use a different grouping.
Important
If your course has multiple experiments, it is critical that you decide in advance if the experiments share the same groups of learners or if each experiment has its own unique grouping. If two experiments share the same grouping, then any learner that is in Group A for the first experiment will also be in Group A for the second one. If you want the experiments to be independent, then the experiments must use different groupings so that learners are randomly assigned for each experiment.
To determine the available groupings of learners, you set up group configurations using Studio or using XML.
You then select which group configuration to use when you add a content experiment using Studio or using XML.
This section provides instructions for configuring your course to use content experiments.
To enable content experiments in your course, you add split_test
to the
Advanced Module List in Advanced Settings.
Note
split_test
is the internal edX Platform name for a content experiment.
From the Settings menu, select Advanced Settings.
On the Advanced Settings page, locate Advanced Module List.
In the Advanced Module List field, add "split_test"
. Be sure that
you include the double quotation marks.
If you have multiple values, ensure that they are separated by commas
(,
).
For example, the text in the Advanced Module List field may resemble the following:
[
"lti_consumer",
"word_cloud",
"split_test"
]
Select Save Changes.
Before you can create content experiments, you must specify at least one group configuration for your course.
A group configuration defines how many groups of learners are in an experiment. You can have any number of group configurations in your course. When you create a content experiment, you select the group configuration to use.
For example, you might want to run two different content experiments at different times during your course. In one content experiment, learners either see a video or complete a reading assignment. You can then include problems so that you can see which group learned the material more completely. For this content experiment, you need a group configuration that assigns your learners to two experiment groups.
In the other content experiment, you can present the same question using four different types of problems. For this content experiment, you need a group configuration that assigns your learners to four experiment groups.
The edX Platform assigns learners to each experiment group in a group configuration.
Experiment group assignments have the following characteristics.
Dynamic
The edX Platform assigns a learner to an experiment group the first time he or she views a content experiment that uses the group configuration.
Random
You cannot control which learners are assigned to which experiment group.
Evenly distributed
The edX Platform keeps track of the size of experiment groups, and assigns new learners to groups evenly. For example, if you have two experiment groups in a configuration, each group includes 50% of the learners in the course; if you have four experiment groups, each group includes 25% of the learners.
Permanent
Learners remain in their assigned experiment groups regardless of how many content experiments you set up that use the same group configuration.
Note
You must enable content experiments before you can set up group configurations.
To set up group configurations, on the Settings menu, select Group Configurations. The Group Configurations page opens.
From this page you can create, edit, and delete group configurations. You can also view content experiments that use a group configuration.
You can create a group configuration at any time.
On the Group Configurations page, under Experiment Groups, select New Experiment Group. The following page opens:
Enter a name in the Group Configuration Name field. Use a meaningful name, because you will select from group configuration names when you create content experiments. Learners do not see the group configuration name.
Optionally, enter a description for the new group configuration.
By default, a new configuration already contains two groups. Modify the groups or add and delete groups as needed. A group configuration must have at least one group.
Select Create to save the new group configuration.
The group configuration is then listed in the page. You can see the number of groups that the configuration contains, as well as whether the configuration is in use in the course:
Important
You can change the name of a group configuration at any time. However, before you modify any other characteristics of a group configuration that is currently used in a running course, review Guidelines for Modifying Group Configurations.
On the Group Configurations page, hover over the group configuration and select Edit.
The following page opens:
On the Edit a Group Configuration page modify the name and description as needed.
Modify groups in the configuration as needed. See Create a Group Configuration for details.
Select Save to save your changes.
Note
You can only delete a group configuration that is not currently used in a content experiment. You cannot delete a group configuration that is used in a content experiment.
You can view the content experiments that use each of your group configurations.
On the Group Configurations page, select the name of a group to see its details. You see links to the content experiments that use this group configuration.
Select a link to go to the unit that contains the content experiment.
When working with a content experiment, you can view details about the group configuration used by that experiment in two ways.
In a unit that contains a content experiment, in the content experiment block, select the name of the group configuration.
At the top of the content experiment page, select the name of the group configuration.
In both cases, the group configuration opens.
You can use the link in the group configuration to return to the unit that contains the content experiment.
Review these guidelines if you must modify a group configuration after a course starts. These guidelines apply for courses built in Studio or using OLX (open learning XML).
After the course starts, do not:
id
value of a group configuration.After the course starts, do not change the id
value of an experiment
group.
You can change experiment group names at any time.
After a course in which you are running a content experiment has started, learners in a specific experiment group might have difficulties with the content or with the course experience. In this situation, you can remove the experiment group from the group configuration. Content that was specified for that experiment group is then no longer visible to learners.
Learners in the removed experiment group are reassigned evenly to one of the other experiment groups in the group configuration. Any problems that these learners completed in the removed experiment group content do not count toward their grades. The learners must begin the problem set again and complete all the problems in the experiment group content to which they are reassigned.
Removing an experiment group affects event data for the course. Ensure that researchers who are evaluating your course results are aware of the experiment group that you removed and the date on which you removed it.
You define group configurations in the policy.json
file in the policies
directory of an OLX (open learning XML) course.
To specify group configurations, you modify the value for the
user_partitions
policy key.
Note
user_partitions
is the internal edX Platform name for group
configurations.
The value for user_partitions
is a JSON collection of group configurations,
each of which defines the experiment groups of learners.
Note
Use names for group configurations that are meaningful. You select from the list of group configuration names when you add a content experiment.
See the following examples for more information.
The following code shows an example JSON object that defines a group configuration with two learner segments.
"user_partitions": [{"id": 0,
"name": "Name of the group configuration",
"description": "Description of the group configuration.",
"version": 1,
"groups": [{"id": 0,
"name": "Group 1",
"version": 1},
{"id": 1,
"name": "Group 2",
"version": 1}]
}
]
In this example:
"id": 0
identifies the group configuration. For XML courses, the
value is referenced in the user_partition
attribute of the
<split_test>
element in the content experiment file.groups
array identifies the experiment groups to which learners are
randomly assigned. For XML courses, each group id
value is referenced in
the group_id_to_child
attribute of the <split_test>
element.The following code shows an example JSON object that defines two group configurations. The first group configuration divides learners into two experiment groups, and the second divides learners into three experiment groups.
"user_partitions": [{"id": 0,
"name": "Name of Group Configuration 1",
"description": "Description of Group Configuration 1.",
"version": 1,
"groups": [{"id": 0,
"name": "Group 1",
"version": 1},
{"id": 1,
"name": "Group 2",
"version": 1}]}
{"id": 1,
"name": "Name of Group Configuration 2",
"description": "Description of Group Configuration 2.",
"version": 1,
"groups": [{"id": 0,
"name": "Group 1",
"version": 1},
{"id": 1,
"name": "Group 2",
"version": 1}
{"id": 2,
"name": "Group 3",
"version": 1}
]}
]
Note
As this example shows, each group configuration is independent. Group IDs and names must be unique within a group configuration, but not across all group configurations in your course.
This section provides instructions for adding content experiments to your course.
Before you add content experiments to your course, ensure that you have completed the following tasks.
You can add a content experiment in a unit or container page. In Studio, you create and view content for all groups in the content experiment in a container page for the experiment, as shown in Create Content for Groups in the Content Experiment.
When a learner views a unit with the content experiment, she has no indication there is a content experiment in the unit, and the content experiment display name is not shown. She sees only the content that you configure for the group she is assigned to. To the learner, the unit with the content experiment is no different than any other unit.
To configure a content experiment in Studio, you perform the following tasks.
After you configure a content experiment, you can change its group configuration. For more information, see Change the Group Configuration for a Content Experiment.
You can move a content experiment from its current location to a different location in the course outline. For information, see Reorganizing Components.
Note
Do not create new content experiments by duplicating configured content experiments. Duplicating content experiments after you have configured them is not supported.
On the unit page, under Add New Component, select Advanced.
Select Content Experiment.
A new content experiment is added to the unit.
The content experiment includes a container for each group that is defined in the group configuration you selected. You create content for each experiment group as you do any other component. For more information, see Developing Course Components.
Select either Select a Group Configuration or Edit to open the content experiment component.
For Group Configuration, select a group configuration.
In the Display Name field, enter the name of the component. The display name is only used in Studio; learners do not see this value.
Select Save.
The content experiment is displayed as a component that contains other components. For more information, see Components that Contain Other Components.
You can now create content for the groups in the experiment.
After you select a group configuration, in the content experiment component, select View.
The content experiment page that opens automatically includes a container for each group that is defined in the group configuration you selected. For example, if you select a group configuration that defines two groups, Group A and Group B, you see the following page.
You add content for both groups as needed, just as you would add content to any container page. For more information, see Components that Contain Other Components.
For example, you can add an HTML component and a video to Group A.
Note
It is valid, and can be useful, to have no content for a group in a content experiment. For example, if one group has a video and another group has no content, you can analyze the effect of the video on learner performance.
You can change the group configuration for a content experiment. When you change the group configuration, you edit the content for any additional groups in the group configuration. You can use the components from the previous groups, as well as create new components.
Warning
Changing the group configuration of a learner-visible content experiment will affect the experiment data.
Open the unit that contains the content experiment.
In the content experiment component, select Edit.
Select a different group configuration.
Select Save.
You must now add components to the new groups in the experiment. Select View to open the content experiment.
You see that groups for the new configuration are empty, and any components that you had added to groups in the previous configuration are now moved to a section called Inactive Groups.
Drag and drop components from the Inactive Groups section into the new groups. You can also create new components in the new groups.
You work with multiple XML files to configure a content experiment. This section steps through the files involved in a content experiment that shows different content to two different groups of learners.
You reference a content experiment in the file for the subsection, or
sequential, in the sequential
directory. For example:
...
<vertical url_name="name for the unit that contains the A/B test" display_name="A/B Test Unit">
<split_test url_name="name of A/B test file in the split_test folder"/>
</vertical>
.....
The <split_test>
element’s url_name
value references the name of the
content experiment file in the split_test
directory.
Caution
You can only define a content experiment in a unit, or vertical, in which different collections of components are associated with different experiment groups. You cannot define a content experiment at a subsection (sequential) or section (chapter) level and have different units or subsections associated with different groups.
After you define the content experiment in the sequential file, you define the
course content you want to test in the file in the split_test
directory.
This is the file referenced in the <split_test>
element in the sequential
file, as shown above.
In the content experiment file, you add elements for the experiment content.
For this example, you add two <vertical>
elements to compare the two
different sets of content.
<split_test url_name="AB_Test.xml" display_name="A/B Test" user_partition_id="0"
group_id_to_child='{"0": "i4x://path-to-course/vertical/group_a",
"1": "i4x://path-to-course/vertical/group_b"}'>
<vertical url_name="group_a" display_name="Group A">
<html>Welcome to group A.</html>
<video url_name="group_a_video"/>
</vertical>
<vertical url_name="group_b" display_name="Group B">
<html>Welcome to group B.</html>
<problem display_name="Checkboxes">
<p>A checkboxes problem presents checkbox buttons for learner input.
Learners can select more than one option presented.</p>
<choiceresponse>
<checkboxgroup label="Select the answer that matches">
<choice correct="true">correct</choice>
<choice correct="false">incorrect</choice>
<choice correct="true">correct</choice>
</checkboxgroup>
</choiceresponse>
</problem>
</vertical>
</split_test>
In this example:
The user_partition_id
value references the ID of the experiment defined
in the policy.json
file.
The group_id_to_child
value references the IDs of the groups defined in
the policy.json
file and maps the group IDs to specific content.
For example, the value for group 0
, i4x://path-to-
course/vertical/group_a
, maps to the <vertical>
element with the
url_name
equal to group_a
. Therefore, learners in group 0 see the
content in that vertical.
For information about the policy.json
file, see Set Up Group Configuration for OLX Courses.
You should test content experiments in your course before the course starts, to ensure that content is delivered to experiment groups as you intended.
When you view a unit that contains a content experiment in the LMS Staff view, you can select one of the experiment groups from a drop-down list. The unit page then shows the content as the selected group of learners sees it.
For example, in the following image, Group 0 is selected, and the HTML component and video that is part of Group 0 is displayed.
You can change the experiment group selection to view the content that a different experiment group of learners sees.
Note
The example course content in this section uses content experiment terminology (“Welcome to Group A”, for example) to make the functionality clear. Typically, you would not use terminology in course content that would make learners aware of the experiment.
This topic describes how to add and manage timed exams in your course.
You can configure a subsection in your course so that learners have a set amount of time to complete and submit all problems in that subsection.
Although you can configure an ungraded subsection to be timed, typically you set a time limit on graded subsections, such as for mid-term or final exams.
When learners take a timed exam, a timer on the exam page counts down and provides alerts as the time limit approaches. When no time remains, learners can no longer access additional exam content, or submit additional responses to the subsection. All problems that were completed are graded. No points are awarded for unsubmitted problems.
Course teams can grant individual learners more time to complete problems in the subsection, but only if learners request additional time before starting a timed exam.
Note
Learners cannot complete timed exams using the edX mobile app.
To better understand the learner’s experience of timed exams, see taking_timed_exams in the edX Learner’s Guide or Taking a Timed Exam in the Open edX Learner’s Guide.
To enable timed exams in your course, follow these steps.
false
.true
.Note
The Enable Timed Exams field appears in the Advanced Settings page for your course even if timed exams are not enabled for your Open edX site. If you enable timed exams for a course, but special exams are not enabled for your site, you will not be able to include timed exams. Enabling timed exams for an Open edX site is a task that is usually performed by a system administrator. For more information, see Enabling Timed Exams in Installing, Configuring, and Running the Open edX Platform.
Ensure that you have enabled timed exams in the course. Then follow these steps.
Add and develop a subsection as you would any other subsection.
Select the Configure icon for the subsection.
The Settings dialog box opens to the Basic tab.
In the Grading section, set the assignment type and due date for the subsection.
Select the Advanced tab.
If the Settings dialog box does not contain the Advanced tab, timed exams might not be enabled for your Open edX site. Enabling timed exams for an Open edX site is a task that is usually performed by a system administrator. For more information, see Enabling Timed Exams in Installing, Configuring, and Running the Open edX Platform.
In the Set as a Special Exam section, select Timed.
In the Time Allotted field, enter the length of time that you want learners to have to complete the problems in the subsection. Enter the time as HH:MM, where HH is hours and MM is minutes.
Select Save.
Note
The course grace period setting does not apply to timed or proctored exams. For more information about the grace period setting, see Set the Grace Period.
From the instructor dashboard, a course team member can grant a learner extra time to complete a timed or proctored exam.
View the live version of your course.
Select Instructor, and then select Special Exams.
Expand Allowance Section.
Select Add Allowance.
The Add a New Allowance dialog box opens.
For Special Exam, select the subsection that contains the timed or proctored exam.
For Allowance Type, select Additional Time (minutes).
In the Additional Time field, enter the number of extra minutes that you want to grant to the learner.
Note
You must enter a whole number greater than 0.
For Username or Email, enter the learner’s information.
Select Save.
For proctored exams, the reviewer takes the special allowance for extra time into account when the proctoring service reviews the learner’s proctored exam results.
If a learner needs to retake a timed exam, you can clear their exam attempt and allow them to retake the exam.
Warning
Clearing an exam attempt removes all learner answers in an exam. This action cannot be undone.
To clear a timed or proctored exam attempt, follow these steps.
Timed exams are hidden from learners after they complete and submit their exams, but are available again for viewing after the exam due date has passed. You can configure a timed exam to remain hidden even after the exam due date has passed.
When you keep a timed exam hidden after its due date, learners cannot see the content of the exam, but the grades that they received on the exam are not affected, and their scores for the exam remain visible on the Progress page.
Note
This setting applies only to timed exams. It has no effect on other types of special exams, including proctored or practice exams.
In Studio, select the Configure icon for the timed exam (subsection) that you want to configure.
The Settings dialog box opens to the Basic tab.
Select the Visibility tab.
In the Subsection Visibility section, select Hide content after due date.
Select Save.
Your installation of Open edX can be configured to be a learning tool interoperability (LTI) provider to other systems and applications. If your Open edX site is configured to be an LTI provider, you can present content from an Open edX course in any application that is configured to be a consumer of that content. As a result, you can reuse Open edX course content, including advanced problem types and videos, in contexts other than the Open edX LMS. Examples include courses running on Canvas, Blackboard, and other learning management systems and applications.
For more information about the configuration process for this feature, see Configuring an edX Instance as an LTI Tool Provider in the Installing, Configuring, and Running the Open edX Platform guide.
You use the topics in this section to prepare your course for reuse.
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
When you use LTI to reuse edX course content, learners who are already familiar with an external learning management system or other consumer application (external LMS) see content from edX that is seamlessly integrated into a familiar context. Only the content that you specify from edX appears in the external LMS, typically within an iframe on a page.
For example, you can set up a course on an external LMS, such as Canvas, to include a link to a problem component that is part of an edX course. The problem is included as one of the course’s assignments, and appears in Canvas like other content.
This section provides background information on different aspects of the experience that learners and course team members have when interacting with edX content in the context of an external LMS.
For information about the content that you can include in an external LMS, see Preparing to Reuse Course Content.
Course teams manage the course roster entirely on the external LMS, as you would for other courses that run on that platform. Learners do not use the edX LMS to enroll, and the course team does not complete any enrollment activities in Studio or the edX LMS.
To obtain enrollment data for the course, you use the features available in the external LMS.
Learners do not need to navigate to a different website, or sign in to any other system (including edX), to access content that originates in an edX course. However, the first time a learner views edX course content in the external LMS, she might have to re-enter her credentials for the external LMS, even though she is already signed in to the external LMS.
Internally, the edX instance associates a unique internal identifier to each learner’s credentials to allow for a streamlined, single sign in experience in the future. However, this separate edX identifier can make some edX content confusing for learners when viewed in the context of an external LMS. For example, edX course discussions can identify participants by their edX IDs instead of the usernames they would normally see in the external LMS. As a result, some edX content is not currently suitable for use in an external LMS.
For more information, see Preparing to Reuse Course Content.
Each learner’s progress through the edX content is saved. Learners start, stop, and resume work in the external LMS in the same way that they would in the edX LMS.
Learner responses to edX problem components are graded by the edX system, and then transferred automatically to the grade book in the external LMS. For more information, see Grading Remote Content.
To obtain learner engagement and performance data, you use the features available in the external LMS.
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
To make the content of an existing edX course reusable in an external LMS, you create a duplicate version of the course. You use the duplicate course specifically as a source of content for your external LMS. Based on configuration choices your organization makes for using edX as an LTI tool provider, you might be asked to create the duplicate course on edX Edge or on another host site.
Before you begin work to reuse the content in an Open edX course, check with your development operations (DevOps) team for information about the website to use. At some sites, a completely separate Open edX instance, with a different Studio website, is set up to be the LTI tool provider.
When you create links to edX course content in your external LMS, you can link to components individually, to all of the content in a unit, or to all of the content in a subsection.
As you plan which parts of the course you want to reuse, note the following considerations.
For more information about edX features that might not be suitable for use with LTI, see Select Content in the Duplicate Course.
The topics that follow assume use of the edX Studio user interface. However, you can also complete these tasks by exporting the course and then reviewing or editing its XML before you import.
Before you create a duplicate course, be sure to check with your DevOps team to determine the website that hosts your organization’s courses for LTI use.
To create the duplicate course, follow these steps.
In Studio, export the original course. For more information, see Export a Course.
In Studio on your organization’s host site for LTI courses, create a course. This is the duplicate course.
Note
If your organization uses the same site as the host for both the original course and for LTI courses, be sure to give the duplicate course a different name or run.
In the duplicate course, import the tar.gz file that you exported in step 1. For more information, see Import a Course.
To select content in your duplicate edX course for reuse in an external LMS, you use Studio to review the course outline and make note of the components, units, and subsections you want to include.
Using an organizational tool, such as a spreadsheet, can be helpful. For example, you can use a spreadsheet column to identify the type of content (for example, component, unit, subsection), and add their display names to the next column. Additional columns can contain the values that you use to construct the addresses for your LTI links. For more information about addressing content, see Determining Content Addresses.
Optionally, you can streamline the contents of units and subsections by removing components, or disable course features that you do not plan to use.
EdX Content or Feature | Works Well with LTI? |
---|---|
Annotation Problem Components | No |
Cohorts | No |
Content Experiment Components | No |
Course-wide Discussions | No |
Discussion Components | No |
HTML Components | Yes |
Internal Links | No |
Problem Components | Yes |
Randomized Content Block Problem Components | No |
Video Components | Yes |
For information about removing components, see Delete a Component. For information about disabling cohorts, see Disable Cohorts in Your Course. To remove course-wide discussions, you select Settings, and then Advanced Settings, and then delete the contents of the Discussion Topic Mapping policy key. For more information, see Create Course-Wide Discussion Topics.
Only edX course content that is published appears in an external LMS.
Note
The Hide from students setting for sections, subsections, and units does not affect the visibility of content in an external LMS. Only the publication status of a unit can prevent content from being included.
To verify that all of the content in your edX course is published, follow these steps.
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
To include the content of an existing course in another system, you use the edX LMS to find the location identifiers for the content you want to include. You then format the identifiers into an LTI URL.
You might find using a tool like a spreadsheet helpful as a way to organize the course ID and each of the usage IDs that correspond to the course content you want to include in an external LMS.
The identifier for your course can be in one of these formats.
{key type}:{org}+{course}+{run}
, for example,
course-v1:edX+DemoX+2014
{org}/{course}/{run}
, for example, edX/DemoX/2014
Courses created since Fall 2014 typically have an ID that uses the first format, while older courses have IDs that use the second format.
To find the course ID for your course, follow these steps.
For example, you open the “Blended Learning with edX” course to the Course
page for the course. The URL for the Course page is
https://courses.edx.org/courses/course-v1:edX+BlendedX+1T2015/course
. From
the URL, you determine that the course ID is course-v1:edX+BlendedX+1T2015
.
Another example is the edX DemoX course. The URL is
https://courses.edx.org/courses/course-v1:edX+DemoX.1+2T2017/course
, and
its course ID is course-v1:edX+DemoX.1+2T2017
.
The same course ID applies to every item of content in the course.
The identifier for a specific component, unit, or subsection in your course can be in one of these formats.
{key type}:{org}+{course}+{run}+type@{type}+block@{display name}
, for
example, block-v1:edX+DemoX+2014+type@sequential+block@basic_questions
i4x:;_;_{org};_{course};_{type};_{display name}
, for example,
i4x:;_;_edX;_DemoX;_sequential;_basic_questions
Courses created since Fall 2014 typically have usage IDs in the first format, while older courses have usage IDs in the second format.
The following terms are used in the usage identifiers to indicate subsections, units, and components.
EdX Studio | Page Source |
---|---|
subsection | sequential |
unit | vertical |
component | problem, html, or video |
The example usage IDs shown above include the word “sequential”, so they indicate subsections in a course.
Several methods are available to help you find the usage IDs for items in your course.
To find the usage ID for a unit or a component in the LMS, you can use either of these methods.
To find the usage ID for a subsection, you view the page source.
Note
You must have the Staff or Admin role in a course to follow these procedures for finding usage IDs.
To find the usage ID for a unit or component in the LMS, follow these steps.
In the edX LMS, open your course.
Select Course, and then go to the page that contains the unit or component.
Select Staff Debug Info.
To find the usage ID for a component, find the location.
For example, location = block-v1:edX+BlendedX+1T2015+type@html+block@2114b1b8fd7947d28fba53414459ff01
To find the usage ID for a unit, scroll down to find the parent.
For example, parent block-v1:edX+BlendedX+1T2015+type@vertical+block@ae7d9c34c2f34f7aa793ed7b55543ae5
The usage ID value begins with block-v1
for newer courses or i4x://
for
older courses. If you are using a spreadsheet to organize your location
identifiers, you can select the usage ID value, and then copy and paste it into
the spreadsheet.
To close the Staff Debug viewer, click on the browser page outside of the viewer.
For more information, see Staff Debug Info.
To find the usage ID for a subsection, unit, or component, you view the HTML page source for that page of the edX course.
To find the usage ID for a subsection, unit, or component, follow these steps.
In the edX LMS, open your course.
Select Course, and then go to the page with the content that you want to include in an external LMS.
Open the HTML source for the page. For example, in a Chrome browser you right click on the page, and then select View Page Source.
Use your browser’s Find feature to locate the term data-usage-id
. This
attribute contains the usage ID.
Review the value for the usage id to determine the part of the course it identifies: the sequential (subsection), a unit (vertical) or a specific component (problem, html, or video).
Important
You might need to search beyond the first match to retrieve
the usage ID for the content you want to identify. Be sure to check the
data-usage-id
for sequential, vertical, or problem, html, or video to
be sure that you specify the content that you want.
For example, you want to link to a subsection in the edX Demo course. You open
the course, go to the problem, and then right click to view the page source.
When you search for data-usage-id
, the first match is
block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions
. You
verify that this usage ID value is for the subsection by checking for the
presence of sequential
.
A more complex example gets the usage ID for the Drag and Drop problem in the
edX DemoX course. The Drag and Drop problem is the second problem in the first
homework assignment in Week 1 of the course. After you view the page source and
search for data-usage-id
, the first match is for the subsection
(sequential). You search again, and see a usage ID that uses a slightly
different format than the first usage ID, but contains the word “vertical”, so
you know that it is for the unit. The third time that you search, you get the
usage ID for the first of the problems (problem) in the assignment. You
search again, and find the usage ID for the second problem in the assignment,
block-v1:edX+DemoX+Demo_Course+type@problem+block@d2e35c1d294b4ba0b3b1048615605d2a
.
If you are using a spreadsheet to organize your location identifiers, you can
select the usage ID value within the quotation marks or "
ISO codes,
and then copy and paste it into the spreadsheet.
To identify the edX content that you want to include in an external LMS, you provide its URL. This URL has the following format.
https://{host}/lti_provider/courses/{course_id}/{usage_id}
To construct the LTI URL, you add your course ID and the specific content ID.
Examples of the possible formats for an LTI URL follow.
LTI URLs for a subsection include “sequential”, as follows.
https://edx-lti.org/lti_provider/courses/course-v1:edX+DemoX+2014/block-v1:edX+DemoX+2014+type@sequential+block@basic_questions
https://edx-lti.org/lti_provider/courses/edX/DemoX/2014/i4x:;_;_edX;_DemoX;_sequential;_graded_simulations
LTI URLs for a unit include “vertical”, as follows.
https://edx-lti.org/lti_provider/courses/course-v1:edX+DemoX+Demo_Course/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286
https://edx-lti.org/lti_provider/courses/edX/DemoX/2014/i4x:;_;_edX;_DemoX;_vertical;_d6cee45205a449369d7ef8f159b22bdf
LTI URLs for HTML components include “html+block” or “html”, as follows.
https://edx-lti.org/lti_provider/courses/course-v1:edX+DemoX+Demo_Course/block-v1:edX+DemoX+Demo_Course+type@html+block@f9f3a25e7bab46e583fd1fbbd7a2f6a0
https://edx-lti.org/lti_provider/courses/edX/DemoX/2014/i4x:;_;_edX;_DemoX;_html;_2b94658d2eee4d85ae13f83bc24cfca9
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
When you include the problem components in a graded edX subsection in an external LMS, the edX system grades the learner responses to those problems. The edX system then transfers the learner scores back to the external LMS. This exchange between an external LMS, the edX system, and the external LMS again is near real time. It can take a few moments to complete this exchange for a single problem component, and up to several minutes to return aggregated scores of all of the problems in a unit or subsection.
When you include edX problem components in an external LMS, note the following requirements.
For more information about constructing an LTI URL for a course component, see Determining Content Addresses.
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
To use edX course content in the Canvas LMS, you add a new app to the course and then add external tool module items.
Note
This example relies on the use of a third-party tool. Because this tool is subject to change by its owner, the steps and illustrations provided here are intended as guidelines and not as exact procedures.
In Canvas, select your course. In Settings, select Add New App.
In Modules, add a new External Tool item. The URL is the LTI
URL that you determined for the edX course content, such as
https://edx-lti.org/lti_provider/courses/course-v1:edX+DemoX+2014/block-v1:edX+DemoX+Demo_Course+type@problem+block@d2e35c1d294b4ba0b3b1048615605d2a
.
For more information, see Determining Content Addresses.
Review the content to verify that it appears as you expect.
Note
This feature was a closed pilot experiment. This feature is not supported for new users.
To use edX course content in the Blackboard LMS, you add a new app to the course and then add external tool module items.
Note
This example relies on the use of a third-party tool. Because this tool is subject to change by its owner, the steps and illustrations provided here are intended as guidelines and not as exact procedures.
In Blackboard, select your course.
From the course control panel, select Customizations. In the Tool Availability section, verify that the LTI tool has been enabled.
Open a Content Area page, and from the Build Content menu select Web Link.
On the Create Web Link page, enter an identifying name and the URL for the edX content you want to include.
The URL is the LTI URL that you determined for the edX course content,
such as https://edx-lti.org/lti_provider/courses/course-v1:edX+DemoX+2014/block-1:edX+DemoX+Demo_Course+type@problem+block@d2e35c1d294b4ba0b3b1048615605d2a
.
For more information, see Determining Content Addresses.
Review the content to verify that it appears as you expect.
You can also include content from an LTI provider in your Open edX courses. For more information, see LTI Component.
This section describes how to create and manage proctored exams in Studio. Proctored exams are timed exams that learners take while being monitored by online proctoring software.
Proctored exams are timed exams that learners take while online proctoring software monitors their computer, environment, and behavior. When learners complete a proctored exam, a reviewer examines the recording of the exam to determine whether the learner complied with the online proctoring rules.
All courses can include proctored exams.
Learners must satisfy the following criteria to pass a proctored exam.
Take the exam as a proctored exam.
By default, learners have the option to take the exam as a proctored exam or as a regular exam. To remove this option, see Prevent Learners from Opting Out of Proctored Exams.
Download and install proctoring software.
Complete identity and exam environment checks.
Earn a passing grade on the exam.
Receive a Satisfactory result for their proctoring session review.
To prepare learners for a proctored exam, follow these guidelines.
The learner experience of a proctored exam depends on the proctoring service that your course or organization uses. Typically, learners can expect to download and install proctoring software, verify their identities, and use their webcams to scan the testing environment before they take the exam. For more information, see Proctored Exams in the Open edX Learner’s Guide.
You can create an ungraded practice proctored exam for your course so that learners can become familiar with the process of installing proctoring software and performing the required checks ahead of time. Depending on the proctoring service, learners might complete the following steps for a practice proctored exam.
Note
Learners who complete practice exams must usually complete the same software installation and environment scan steps again when they take an actual proctored exam.
For information about how to create a practice proctored exam, see Create a Proctored Exam or Practice Proctored Exam.
To create a proctored exam, you modify the course advanced settings in Studio to enable proctored exams, and then you modify the settings of a subsection to specify that the subsection is a proctored exam.
To enable proctored exams in your course, follow these steps.
false
.true
.After you enable this setting for your course, you can create a proctored exam or a practice proctored exam.
To create a proctored exam or a practice proctored exam, follow these steps.
Add and develop a subsection as you would any other subsection.
For a practice proctored exam, edX recommends that you include only a few problems in this subsection. Or, you could add a unit with a text component that provides information about the exam.
Select the Configure icon for the subsection.
The Settings dialog box opens to the Basic tab.
In the Grading section, set the assignment type and due date for the subsection.
Note
For a practice proctored exam, leave the assignment type as Not Graded.
Select the Advanced tab, and then locate the Set as a Special Exam section.
Select the proctored exam type.
In the Time Allotted field, enter the length of time that you want to allow for the exam as HH:MM, where HH is hours and MM is minutes.
(optional) For a proctored exam, in the Review Rules field, enter any additions or exceptions to the default rules for proctored exams. For more information, see Specify Exam Rules and Exceptions.
Select Save.
The rules for proctoring exams vary according to the proctoring service that you or your organization has chosen. However, the online proctoring rules that this guide lists are common to many proctoring services.
Note
The course grace period setting does not apply to proctored exams. For more information about the grace period setting, see Set the Grace Period.
You can also provide custom rules for a particular exam. For example, you might allow learners to use a calculator, or to have one sheet of blank paper. These rules are visible to reviewers and learners at the start of each proctoring exam.
To specify custom proctored exam rules, follow these steps.
In Studio, open your course outline and select the subsection for the exam.
Select the Configure icon to open the Settings dialog box.
Select the Advanced tab, and then locate the Set as a Special Exam section.
In the Review Rules field, enter any additional rules. For example, you might enter the following rule.
Allow one blank sheet of paper and a pencil or pen. Allow a hand-held
calculator on the desk.
Select Save.
When a proctored exam opens, by default, learners have an option to take the exam without proctoring. If you do not want to allow learners to take proctored exams without proctoring, you can change a setting on the Advanced Settings page in Studio.
Note
If a learner opts to take an exam without proctoring, the exam will not be timed either. In effect, learners who opt out of proctoring will have unlimited time to complete the exam and could return to problem sets at any time. You can reduce the ability to view the exam by selecting a due date for the exam.
To remove the option for learners to opt out of proctored exams in your course, follow these steps.
true
, which gives verified learners the option of taking
proctored exams without proctoring.false
.For information about how to obtain and interpret proctored exam results, contact your proctoring software provider.
The rules for proctored exams vary according to your online proctoring service. The following rules are common rules for “closed book” exams.
A link to these rules, along with any additional rules that you have specified, is visible to learners on the instructions page at the beginning of every proctored exam.
For more information about specifying rules, see Specify Exam Rules and Exceptions.
The following proctored exam rules are the basic rules for “closed book” exams.
Note
Some proctored exams have different or additional rules. For example, some proctored exams allow you to use reference material or a calculator. Any additional rules are visible along with the exam instructions before you start the exam.
You must take the exam in the same room that you scanned during the proctoring setup for the current exam.
Note
You must complete a webcam scan of the room where you will take the exam every time you take a proctored exam. However, you do not have to take all of your proctored exams in the same room.
No other person is allowed to enter the room while you are taking the proctored exam.
The lighting in the room must be bright enough to be considered “daylight” quality. Overhead lighting is preferred. If overhead lighting is not available, the source of light must not be behind you.
You must sit at a clean desk or table.
The following items must not be on your desk or used during your proctored exam, unless posted rules for the exam specifically permit these materials.
The desk or walls around you must not have any writing.
The room must be as quiet as possible. Sounds such as music or television are not permitted.
If you have a disability and need additional time or specific accommodations to take the exam, consult your organization’s disability resources or the course team before you make any choices on the exam page. The course team must approve your request and make any adjustments before you start your exam.
Use the topics in this section to learn about setting up grading for your course. Establishing a grading policy requires several steps, including deciding whether to include ungraded sections in your course.
Important
Any changes to the course grading policy, to graded subsections, or to graded components after a course begins will affect the student experience in the course and analysis of its data.
For information on how to develop your course content in the Studio Outline, see Developing Your Course.
You must set the grade range for the course. For example, your course can be pass/fail, or can have letter grades A through F.
To set the grade range, from the Settings menu, select Grading.
The control for the grade range is at the top of the Grading page.
The above example shows that you have a pass/fail grade range, with a score of 50 as the cutoff. This is the default setting for a new course.
You can adjust the grade range as needed.
To add a grade in the range, select the + icon.
A new grade is added to the range between the existing grades. For example, if you add a grade in the default setting, the grade range changes to F (0 to 50), B (50 to 75), and A (75 to 100):
To change the score range, move the cursor over the line dividing two grades and then select and drag the line left or right.
You can see the range numbers of the two grades adjacent to the line change. Unselect the line when it is where you want it.
To change the name of the grade, select the current name of the grade and start typing the name of the new grade. For example, if the original name of the grade is “Pass”, you can select “Pass” and then type “Excellent” to replace the name.
You cannot change F or Fail.
To remove a grade, move the cursor so that it is over the grade.
A remove link appears above the grade. Select the link.
You cannot remove F or A.
After you make any changes to the grade range, you must select Save Changes at the bottom of the page.
If you plan for your course to offer certificates, note that a learner will qualify for a certificate by earning any grade over the F, or Fail, threshold. This is true regardless of how many grade levels you add in the grade range.
For more information, see Setting Up Certificates in Studio.
You can set a grace period that extends homework due dates for your learners. The grace period applies to the whole course; you cannot set different grace periods for individual assignments.
Note
The grace period setting does not apply to the following assignments and exams.
On the Grading page, under Grading Rules & Policies, enter a value in
the Grace Period on Deadline field. Enter the value in HH:MM
format.
You must create assignment types for your course and determine the weight of the total grade for each assignment type.
For example, you might have the following assignment types.
By default, a new course has the following four assignment types.
You can use these assignment types, modify or remove them, and create new assignment types.
To create a new assignment type, in the bottom of the Grading page, select New Assignment Type, then configure the fields described below.
Note
In a MOOC, some number of learners will experience personal emergencies, technical problems (such as power blackouts or loss of internet access), or other issues. You will not be able to grant individual extensions to such learners, but can provide some amount of flexibility for managing such issues by designing longer deadlines and allowing droppable assignments.
You configure the following fields for each assignment type.
Assignment Type Name:
The general category of the assignment. This name will be visible to learners.
Note
All assignments of a particular type count the same toward the weight of that category. As a result, a homework assignment that contains 10 problems is worth the same percentage of a student’s grade as a homework assignment that contains 20 problems.
Abbreviation:
This is the short name that appears next to an assignment on a learner’s Progress tab.
Weight of Total Grade:
The assignments of this type together account for the percent value set in Weight of Total Grade.
The total weight of all assignment types must equal 100.
Note
Do not include the percent sign (%) in this field.
Total Number:
The total number of subsections in your course that contain problems of this assignment type.
Number of Droppable
The number of assignments of this type that the grader will drop. The grader will drop the lowest-scored assignments first.
After you configure assignment types, as you are organizing your course, you set the assignment type for subsections that contain problems that are to be graded.
You can set assignment types and due dates at the subsection level only. You cannot set assignment types or due dates for entire sections or for individual units within subsections. Additionally, you can designate a subsection as one, and only one, of the assignment types you configured.
The subsection level is also where you specify whether you want learners to receive immediate results when they complete problems in the subsection, or if you want to hide the results temporarily or permanently. For more information, see Set Problem Results Visibility.
Note
You can create problems in Studio without specifying an assignment type for the subsection. Scores for such problems are listed as “practice scores” on the learner’s Progress page and do not count toward the learner’s grade.
Hidden sections, subsections, or units that contain graded content are not included in grading and also do not count toward a learner’s grade. For more information, see Hiding Graded Content.
Within a graded subsection, you create problems of the type designated for that subsection. You cannot mix problems of different assignment types in the same subsection.
For example, if you want to create a homework assignment and a lab for a specific topic, create two subsections. Set one subsection as the Homework assignment type and the other as the Lab assignment type. Both subsections can contain other content as well as the actual homework or lab problems.
For more information about creating problems and developing subsections, see Working with Problem Components and Developing Course Subsections.
For more information about designating a subsection as a graded assignment, see Set the Assignment Type and Due Date for a Subsection.
For more information about how to designate a subsection as a timed exam, see Offering Timed Exams.
After a grading policy is in place, learners can view both their problem scores and the percent completed and current grade on the Progress page for the course.
Note
If you have hidden the problem results for some assignments, these scores are not visible on the Progress page. The page shows only that the learner has completed the assignment. For more information about hiding problem results, see Set Problem Results Visibility.
Each item in the X axis of the chart is for a graded subsection. Graded problems in units are not broken out in the chart; the score from each problem in the subsection is added to that vertical bar.
Graded subsections are grouped in the chart by assignment type rather than listed in chronological order. For example, all homework exercises are grouped together, followed by labs, then exams.
Note
The x for an assignment in the Progress tab indicates that the grade for that assignment is currently dropped. You configure how many assignments are dropped when you configure assignment types.
This topic describes how to beta test your course.
When you are designing a course in Studio, you can use the Preview or View Live options to test the course content, find gaps and errors, and mimic the learner experience. For more information, see Testing Your Course Content.
To gather information about the overall experience of taking a course, you can also conduct a beta test of the course.
During a beta test, you gather information about the experience of taking your course in an effort to improve its quality. The phases of the beta testing process, and some questions that you may find useful to consider as you prepare for each phase, follow.
There is no one answer to any of these questions. They are included here as background on the role that beta testing can play in the preparation of your course.
Beta testers have early access to the course. Beta testers are not members of the course team: they do not have information about “how it is supposed to work”. They use their own computers and Internet connections to view videos, follow links, and complete problems. They interact with the course as learners will to find, and make, mistakes.
However, beta testers are not the same as other learners in the course, either. They have privileged access to the course and have more time to review and complete the course materials than the enrolled learners do. Course discussions are not open before the course start date, so beta testers cannot participate in community conversations. As a result of these differences, beta testers do not receive certificates when they complete a course.
Note
If one of your beta testers wishes to earn a certificate for the course, she must create a separate user account with a different username and email address. She can then use that separate, non-privileged user account to enroll in the course and repeat the work, completing assignments and exams when they are available to all learners.
A beta test is valuable in part because it is unscripted. Your beta testers are not following a predetermined series of steps, or using a particular computer environment, when they access your course. When you recruit beta testers, however, you may find these skills and characteristics to be helpful.
Your beta testers should also have varying levels of knowledge about the course content:
Depending on the objectives you set for your beta test, you might want to consider recruiting testers who use assistive technologies, who have different native languages, or who have varying levels of familiarity with computer software.
The course team can provide valuable feedback about your course. However, they are typically stakeholders in the success of your course and have a significant amount of knowledge about it. As a result, they can be too close to the course to interact with it in the same way as learners will. They can also be either reluctant to provide feedback, or overly zealous.
If you do want a team member to be a beta tester, note that the privileges of the Staff or Admin role override those of a beta tester. The team member must use a different, second email address to create an additional edX account and enroll in the course, and the course team must assign only the beta tester role to that edX account. The course team member experiences the course as a learner only when she signs in to edX using the beta tester account.
Beta testers should interact with everything in the course.
Beta testers can use a desktop computer to access an edX website, the edX mobile app on a smartphone, or both to complete their tests. As they work, beta testers log issues and questions for the course team.
To beta test a course, you:
Define a number of days before content releases for testing to begin.
- For instructor-paced courses, this number applies to the release date for each section and subsection. Beta testers can only access course content the number of days you specify before each section or subsection is released.
- For self-paced courses, this number applies to the course start date. Because sections and subsections for self-paced courses do not have individual release dates, beta testers can access all course content when the beta test begins.
Identify beta testers.
Designated beta testers see course content before learners can. The matrix that follows shows the course content that beta testers can access earlier than other learners in an example instructor-paced course.
Yes | No | |
---|---|---|
Before the course enrollment date | X | |
Before the course start date | X | |
Before the section release day | X | |
Before the subsection release day | X | |
Before the unit is published | X | |
Before a draft replaces a live unit | X |
The course team can continue to add content in Studio after the beta test begins. When new content is ready for testing, be sure to publish the unit.
Important
When you set up the beta test and define when it starts, verify that the first section, subsection, and unit in your course are available to be tested. If that first unit is not available, an error occurs when testers attempt to access any other content in the course.
To define the start of the beta test, you use Studio to specify a number of days before the course start date for self-paced courses or before the section and subsection release dates for instructor-paced courses. For more information, see How Beta Testers See Course Content.
Beta tester access to course content for an instructor-paced course with Days Early for Beta Users = 20 and 2 sections:
Course enrollment date = 31 August | 31 August; earlier if enrolled by course team |
Course start date = 15 September | 26 August |
Section 1 release day = 15 September | 26 August |
section 2 release day = 22 September | 2 September |
Subsection 1 release day = 22 September | 2 September |
Subsection 2 release day = 24 September | 4 September |
Subsection 2, unit 1 visibility = public | 4 September |
Subsection 2, unit 2 visibility = public; draft in progress | 4 September for public version; no access to draft |
Subsection 2, unit 3 visibility = private | No access |
In this example, the beta testers cannot access all of the content on the Course page when the beta test starts on 26 August: they can access section 1 but not section 2. You may want to provide a schedule of section availability to your testers so that they can plan their time appropriately. Future release dates do not display to the beta testers in the course.
Before you can add beta testers:
When you add beta testers, note the following.
If you have a number of beta testers that you want to add, you can use the “batch add” option to add them all at once, rather than individually. With this feature, you have options to enroll the beta testers in the course (before or after the Enrollment Start Date) and send an email message to notify the beta testers that they have been added.
To add multiple beta testers:
View the live version of your course.
Select Instructor, and then select Membership.
In the Batch Beta Tester Addition section of the page, enter one or more addresses or usernames separated by commas or line feeds (the Enter key). You can also copy data from a CSV file of email addresses and paste it here.
To enroll the beta testers in your course, leave Auto Enroll selected. If the beta test starts before the course Enrollment Start Date, testers cannot enroll themselves in your course.
To send an email message to the beta testers, leave Notify users by email selected. An example of the message that is sent to a beta tester who is not enrolled in the course follows.:
Dear betatester,
You have been invited to be a beta tester for *course* at edge.edx.org
by a member of the course team.
Visit https://edge.edx.org/courses/course-name/about to join the course
and begin the beta test.
Select Add beta testers.
To remove the Beta Tester role from one or more users, enter their email addresses in the Batch Add Beta Testers field and then select Remove beta testers.
Note
When you select Remove beta testers, the Auto Enroll option is not affected. The user’s role as a beta tester is removed, but they remain enrolled in the course.
View the live version of the course.
Select Instructor, and then select Membership.
In the Course Team Management section, select Beta Testers.
Under the list of users who currently have that role, enter the email address or username of the person you want to add.
Select Add Beta Tester.
The person who you added appears in the list of beta testers.
Note
If the beta test starts before the Enrollment Start Date of your course, you can also enroll the beta tester. See Enrollment.
To remove the Beta Tester role from users individually, find the user in the list of beta testers, and then select Revoke access to the right of that user’s email address.
Despite the efforts of the course team and the beta testers, additional problems, questions, and issues can occur while a course is running.
To launch a course, you prepare the course itself, the course team, and the learners. This topic describes on how to accomplish this.
You can access a course launch checklist from the Course Outline page and from the Tools menu. The checklist includes the following important items that you need to complete prior to launching your course.
Note
The last two checklist items only appear for instructor-paced courses.
To help you communicate to the course team or to all course participants before the course launches and while it is running, you can send email messages from the LMS by selecting Instructor to access the instructor dashboard. For more information, see Bulk Email Messages from the Course Team. The topic on bulk email also includes a set of example messages to learners that you can use as guidelines when you write your own email messages.
As the start date for your course approaches, the following checklist or timeline of activities can help you make sure that your course, and your learners, are ready to begin. Suggestions for activities to complete before your course starts follow.
Verify Course Settings
Verify Certificates
Review First Week Content
Welcome Learners
Prepare the Course Team
When you have released your course, you can use the course export and import tools in Studio to save a backup copy of the course, and optionally re-import your course for editing. For more information, see Export a Course and Import a Course through Studio.
When you import and export a course, you work with .tar.gz files.
To duplicate an existing course for a new run, course creators can use the course re-run option. See Re-running a Course.
Caution
Before exporting and importing a course, ensure that links in the course to
other course content use the /jump_to_id/<unit identifier>
syntax. If a
link does not use the /jump_to_id/<unit identifier>
syntax, the link will
be broken if you export then import the course. For more information, see
Add a Link to a Course Unit.
There are several reasons you might want to export your course. Examples follow.
When you export your course, Studio creates a .tar.gz file that includes the following course data.
The following data is not exported with your course.
To export your course, follow these steps.
When the export completes you can then access the .tar.gz file on your computer.
Sections, subsections, units, and components have different names in the Studio Course Outline view and in the list of files that you see after you export your course and open the .xml files for editing. The following table lists the names of these elements in the Course Outline view and in a list of files.
Course Outline View | File List |
Section | Chapter |
Subsection | Sequential |
Unit | Vertical |
Component | Discussion, HTML, problem, or video |
For example, if you want to find a specific section in your course when you open the list of files that your course contains, look in the Chapter directory. To find a unit, look in the Vertical directory.
Warning
Content of the imported course replaces all the content of this course. You cannot undo a course import. We recommend that you first export the current course, so you have a backup copy of it.
There are several reasons you may want to import a course. Some examples follow.
The course that you import must be in a .tar.gz file (that is, a .tar file compressed with GNU Zip). This .tar.gz file must contain a course.xml file in a course data directory. The tar.gz file must have the same name as the course data directory. It may also contain other files.
If your course uses legacy layout structures, you may not be able to edit the course in Studio. To make sure that your course is completely editable, ensure that all components are embedded in a unit.
The import process has five stages. During the first two stages, you must stay on the Course Import page. You can leave this page after the Unpacking stage has completed. EdX recommends, however, that you don’t make important changes to your course until the import operation has completed.
To import a course, follow these steps.
Note
When you import a course, important dates, such as the course start date and time, are overwritten. After the import is complete, you should check dates to ensure they are set as intended. For more information, see Scheduling a Course Run.
Courses are exported and imported in .tar.gz files containing OLX (open learning XML), the edX markup format for open course exchange. For more information about OLX, see the EdX Open Learning XML Guide.
To extract and compress .tar.gz files, you use a third-party program.
If you are using Microsoft Windows, see the following resources.
If you are using a Macintosh computer, see the following resource.
Use the topics in this section to learn about managing a course that is currently running, including enrolling or unenrolling learners, and sending email to learners in the course.
After you create a course in Studio, you can access information about it on the instructor dashboard. The instructor dashboard is part of the LMS.
On the Course Info page, you can find the following information.
To view this course data, follow these steps.
View the live version of your course.
Select Instructor to open the instructor dashboard.
On the instructor dashboard, select Course Info.
The Basic Course Information section of the page that opens lists the following information about the course.
Additional data about the course and its learners is available from other pages in the instructor dashboard, and from Insights.
To access the data visualizations, metrics, and reports that are available in Insights from the instructor dashboard, select the link in the banner at the top of each page. For more information, see Using edX Insights.
To help learners become and remain engaged in a course, the Open edX platform can send automatic email messages that notify learners of responses to discussion posts.
Note
Before the system can send automatic email messages for any courses, a system administrator must enable automatic messages on the instance of the Open edX platform. For more information, see Enable Discussion Notifications.
After a learner or course team member creates a post in the course discussions, the platform sends the following email message the first time a learner or course team member replies to the original post.
Subject: Response to <title of post>
<username> replied to <title of post>:
<text of comment>
The message also contains a View discussion option that takes the learner to the discussion post.
The platform does not send individual messages for any additional replies on the post. However, the learner automatically receives a daily digest email message that summarizes additional activity on the post. For more information, see Receiving Notifications and receiving daily digests.
For courses on edx.org, you can send bulk email messages to course participants directly from the instructor dashboard: in the LMS, select Instructor, and then select Email.
Your messages can use HTML styling, and can include links to videos, social media pages for the course, and other material. All course team members who have the Staff or Admin role can use bulk email messages to communicate with course participants before, during, and after the course run.
Learners are less likely to read and respond to email messages from courses when they receive too many of them. As a best practice, do not send more than one email message per week to course participants, unless there is good reason to do so.
Note
Some courses use third party services such as MailChimp to send bulk email. Do not use both a third party service and the edX bulk email service. If you use more than one service to send email message, your messages are more likely to be marked as spam, and learners might not read them.
This section contains the following topics.
When you send a bulk email message from the instructor dashboard, you choose its recipients by selecting a Send to option. You can select one or more recipient groups for each message. For details about who is included in each of the preset recipient groups, see Who Is Included in Each Recipient Group?
When you send a message to more than one recipient group, duplicate recipients are filtered out, so that someone who belongs to more than one of the recipient groups only receives one copy of the message. For example, if you address an email message to learners in a particular cohort as well as to learners in the Verified enrollment track, a learner who is in the cohort AND is in the Verified enrollment track will only receive one email message.
The following preset recipient groups are available.
If you have more than one enrollment track in your course, each enrollment track is available as a separate recipient group. For more information, see Sending Email Messages to Learners in Different Enrollment Tracks.
If you have cohorts enabled in your course, each cohort is available as a separate recipient group. For more information, see Sending Email Messages to Learners in Cohorts.
When you send a bulk email message to one of the preset recipient groups, you should be aware of who is included in each group.
Recipient Group | Includes | Does Not Include |
---|---|---|
Staff and Administrators |
|
|
All Learners |
|
|
If you have more than one enrollment track in your course, each enrollment track is available as a separate recipient group. If your course includes only a single enrollment track, you will not have a track-based recipient group.
For example, if your course includes an audit track and a verified certificate track, you have two additional recipient groups: Learners in the Audit Track and Learners in the Verified Certificate Track.
If you enable cohorts in your course, each cohort is available as a separate recipient group. The recipient groups for individual cohorts only include enrolled learners who have been assigned to a cohort, whether they were automatically assigned when they accessed the course or manually assigned to a cohort by a member of the course team.
The recipient groups for cohorts do not include enrolled learners who have not been added to a cohort. This might be the case if they have not accessed the course or have not been manually added to a cohort by a member of the course team. To make sure such learners are included in email messages that are intended for all enrolled learners, select the All Learners recipient group instead of selecting all of the cohort recipient groups.
If a default cohort exists in your course, a recipient group named Cohort: Default Group is also available.
Note
The default cohort is created only if you have not created at least one automated assignment cohort in your course by the time the first learner accesses course content. If learners access the course before you have created any automated cohorts, they are automatically placed in the default cohort, to ensure that all learners in the course belong to a cohort. You can manually reassign learners from the default cohort to another cohort. For more information, see Ensuring That All Learners Are Assigned: The Default Cohort.
When you compose an email message, you can use the following options.
Messages can include HTML styling, including text formatting and links. The email message editor offers the same formatting options as the HTML component editor in Studio.
For more information, see Working with HTML Components.
Messages can include images. To include an image, you must first add the file to your course on the Files & Uploads page. For an email message, you copy the Web URL that the system assigns to the image. Then, in the email message editor, you select the Insert/edit image icon to add the web URL.
To ensure that your course assets are transmitted securely, add the
https://
preface to the web URL. An example follows.
https://courses.edx.org/asset-v1:{course}.x+{run}+type@asset+block@{image}.jpg
For more information, see Adding Files to a Course.
Messages can include variables that represent values that are specific to each message recipient, such as learner name or user ID. The LMS substitutes these variables, called keywords, with actual values when it sends a message.
For more information, see Use Keywords in Messages.
Important
You cannot cancel bulk email messages after you send them.
Before you send a message to a wide audience, send the message only to yourself to test and review it. Make sure it displays as you intend it to, and that any links or media function correctly.
To send an email message to course participants, follow these steps.
View the live version of your course.
Select Instructor, and then select Email.
From the Send to option, select one or more groups of email recipients.
Note
Make sure you understand who is included or excluded when you send a message to one, or a combination, of the recipient groups. For details, see Who Is Included in Each Recipient Group?
In the Subject field, enter a subject for the message.
In the Message box, enter the text for the message.
For details about options for composing your message, see Composing Email Messages.
Select Send Email. A bulk email task is queued for processing.
Multiple courses use the same queue to complete these tasks, so it can take some time for your message to be sent to all of its recipients. You can perform other tasks on the instructor dashboard or navigate to other pages while you wait for your message to be sent.
You can include keywords in your messages. A keyword is a variable: when you
send the message, a value that is specific to the each recipient is substituted
for the keyword. For example, when you use the %%USER_FULLNAME%%
keyword,
each message contains the name of the recipient.
Note
Do not use keywords in the Subject line of a message. The keyword in the subject will not be assigned a value, and the recipient will see the keyword text.
You can use the following keywords in your messages.
%%USER_ID%%
- the anonymous user ID of the message recipient%%USER_FULLNAME%%
- the full name of the message recipient%%COURSE_DISPLAY_NAME%%
- the display name of the course%%COURSE_END_DATE%%
- the end date of the courseYou format keywords as: %%Keyword%%
. You can include keywords in any HTML
tags in an email message. An example follows.
<h2>%%COURSE_DISPLAY_NAME%% Updates</h2>
<p>Dear %%USER_FULLNAME%%, this is a reminder that the last day of the course
is <b>%%COURSE_END_DATE%%</b></p>
. . .
When you select Send Email for a message, the server begins to process a bulk email task. The server assigns a series of different workflow states to the task.
Bulk email tasks can have the following workflow states.
While the bulk email task is in progress, you can find out what stage it has reached in the workflow by checking the Pending Tasks section on the Email page.
When the bulk email task is complete, you can find its final state by checking the Email Task History report. For more information, see Email Task History Report.
You can review a list of all of the messages that have been sent for the course. For any listed message, you can review the subject, the username of the person who sent it, the date and time sent, its selected recipients, and the message text.
Optionally, use the message as the basis for a new message: select Copy Email to Editor. The dialog box closes and you can edit the text, links, and formatting that were duplicated into the Subject and Message fields.
When you create a message by copying a previously-sent message, be sure to review and test it thoroughly before you send it to all course participants.
The Email Task History report can help you keep track of who sent messages, when, to which groups, and how many messages were successfully sent. For each message sent, the report includes the username of the requester, the date and time it was submitted, the duration and state of the entire task, the task status, and the task progress.
You can use this history to investigate questions relating to bulk email messages that have been sent, such as these examples.
To produce the Email Task History report, follow these steps.
For tasks with a State of Success, the Task Progress column shows an informational message. These messages can have a format such as “Message successfully emailed for 13457 recipients (skipping 29) (out of 13486)”. To interpret this message, note that:
The first number (“recipients”) indicates the number of messages sent to the selected recipients.
The second number (“skipping”) indicates the number of enrolled and activated users who were not sent the message. This count is of learners who have opted not to receive course email messages.
The final number (“out of”) indicates the number of users in the set of recipients you selected who were enrolled in the course (and had activated their user accounts) when you sent the email message.
Note that the Total number of enrollees shown in enrollment data in Insights includes all currently enrolled learners, regardless of account activation status, and as a result can be different than this “out of” number.
If the “recipients” and “out of” numbers are the same, the message reads “Message successfully emailed for 13457 recipients” instead.
Other Task Progress messages for tasks with a State of Success indicate that some or all of the emailing subtasks did not successfully send email:
No Task Progress messages display for tasks that have a State of Failure.
You can use these example messages, prepared for delivery before typical course milestones, as models for your own course communications.
These messages are styled as email messages, but you could also post this information in a course discussion topic or in a course update. To use keywords, you must send email messages; keywords are not supported in discussion topics.
Important
Revise these message templates carefully to include facts for your own course, meet the needs of your learners, and reflect your own objectives and personality. Search for the “{” and “}” characters to locate prompts and replace them with course-specific values.
Some of these messages also contain keywords. Values specific to your course and the recipients will be substituted for the keywords when you send the messages. Ensure you are using keywords appropriately for your course and objectives.
Pre-launch reminders raise awareness of the course start date, publicize the course, and generate excitement. In addition to the course start date and time, the example that follows also lets learners know that:
You may want to send out more than one message before the course launches: use this template as a starting point for crafting the different messages you want to deliver. Replace values enclosed by {braces} with information that applies to your course. In addition, check that you are using keywords appropriately.
Subject: {course number} Starts Soon!
Hello %%USER_FULLNAME%%,
We are excited that you are joining us for {course number}
%%COURSE_DISPLAY_NAME%%, offered by {organization name} through edX. Class
begins on {day}, {date} at {time} UTC (which is {time} {local time zone}).
Note that many dates and times in edX courses appear in your local time zone,
but some might appear in Coordinated Universal Time (UTC). Dates and times
that use your local time zone are followed by an indication of the time
zone: for example, 17:00 Sept. 5, 2016 IOT. UTC dates and times do not
have a time zone indicator. For UTC times, you might want to use a time zone
converter such as {link}.
In case you haven't already found it, {course number} has its own official
Facebook page {add link}. You can find videos and photos posted there before
the course even begins.
If this is your first edX course, consider enrolling in the edX Demo course
{add link}. This course gives you an opportunity to explore the edX platform
and learn how to answer problems and track your progress, before {course
number} begins.
Your {course number} course staff
On your course start date, you can send an email message that both welcomes learners and gives them specific actions to accomplish. This example directs learners to two of the course pages to encourage exploration and discovery, and personally introduces the course team leader. Search for the values enclosed by {braces} in this template and replace them with information for your course.
Subject: {course number} Starts Today!
Hello everyone!
At this time, edX course {course number} is available from your Dashboard
{add link}, and the staff would like to officially welcome you to the course!
You'll find materials for the first week on the Course page,
including both video lectures and problem sets.
Please take some time to go to the Home page to read the handouts
and get familiar with course policies and philosophy.
I will be your course lead and I hope you will all have a great time learning
{subject}! It may be challenging, it may be frustrating, but it will be
rewarding and you will learn a ton.
On behalf of the staff, welcome, good luck, and have fun!
{name} and the {course number} staff
After your course has launched, you can send an email to remind learners that the last day to register for a verified certificate is approaching. You can use this template as a starting point for your own message; search for the values enclosed by {braces} and replace them with information for your course. In addition, check that you are using keywords appropriately.
Subject: Earn an edX verified certificate for {course name}!
Dear %%USER_FULLNAME%%,
Interested in using an edX certificate to bolster a college application or to
advance your career? With an edX verified certificate, you can demonstrate to
colleges, employers, and colleagues that you successfully completed a
challenging edX course, while helping to support the edX mission.
We would like to remind you that {date} is the last day to register for a
verified certificate in %%COURSE_DISPLAY_NAME%%. Registering for a
certificate is easy! Just go to this course on your edX dashboard and click
"Challenge Yourself".
Good luck!
{name} and the {course number} staff
Sending a weekly email to learners can be a great way to keep them engaged and provide encouragement. At the end of each week you might send learners an email that summarizes the content covered, and reminds learners about upcoming assessments or milestones in the course. Optionally, to encourage participation in the discussion forums, you might also highlight particularly interesting or important discussions, and provide links to the discussion topics.
You can use this template as a starting point for designing your own message, omitting the discussion highlights if they are not appropriate for your course (the example discussion highlights are from a course about urban solutions to the global water crisis). Search for the values enclosed by {braces} and replace them with information for your course. In addition, check that you are using keywords appropriately.
Subject: {Course Name} Week 1 Highlights
We hope you all had a great week! Below, we have provided links to some
exciting discussions that have been going on, and a Q&A video with
{Professor} that recaps some of the questions that have come up this week.
We'd also like to remind you to take this week's quiz by {date} at {time}
UTC. The next module will be available on {Time and Date}.
{Link to Video}
Here are a few highlights from the discussion forum this week. Please join us
online and keep the conversation going!
* There has been quite a debate over whether urban stream restoration is
possible and what types of restoration are desirable. How can we improve
restoration practice and its outcomes? {Link to the Discussion}
* Please continue to share your stories of urban stream restoration - there
are many great examples here of what is possible! {Link to the Discussion}
See you next week,
{name} and the {course number} staff
While your course is running, you can send messages to promote community, remind learners of upcoming due dates, and address any recurring issues.
This example gives learners guidance on how to keep up with the course schedule and encourages contributions to the discussions. You may want to send out more than one message while the course is running. You can use this template as a starting point for your own messages; search for the values enclosed by {braces} and replace them with information for your course. In addition, check that you are using keywords appropriately.
Subject: {course name} Announcements
Dear students,
We hope that you are learning a lot in {course number}! Remember that problem
set {number} is due on {date} at {time} UTC. You can always check the
schedule {add link} on the Home page to plan ahead.
The contributions to the course discussions have been amazing. You'll also
see on the Home page that we have made several of you community
TAs to thank you for your thoughtful contributions. Keep those conversations
going!
We have a few additional announcements.
* Week {number} on {subject} is now available on the Course page.
* Problem set {number} is also available. It is due on {date} at {time} UTC.
* Remember that the due dates for problem sets and exams are in UTC (the GMT
time zone). See the current UTC time here {add link}. Please convert the
times given to your own time zone!
Wishing you continued success in the course,
{name} and the {course number} staff
Before an exam or other significant course event, messages can provide practical information about the exam, communicate expectations regarding conduct, and also encourage learners to continue working toward course completion. This example lets learners know:
Be sure to search for the values enclosed by {braces} and replace them with information for your course. In addition, check that you are using keywords appropriately.
Subject: {course number} Exam Info
Hello %%USER_FULLNAME%%,
Great job working through week {number}! As you know, the {course number}
exam is next week. If you missed a problem set, you can still earn a
certificate. Each problem set is worth only {number}% of the overall grade,
but this exam is worth {number}%.
Please read this important information about the exam before you begin taking
it.
* The exam starts on {date} at {time} UTC and must be finished by {date} at
{time} UTC. Plan your schedule accordingly.
* Be sure that you know what time the UTC deadline is in your time zone. See
the current UTC time {add link}. No extensions will be given.
* The exam is not timed. You can start, stop, and come back to it until the
deadline.
* Each exam question allows only one answer submission. If you accidentally
click "Check", that problem cannot be reset for you.
* The exam covers everything (video lectures, reading, and problem sets) from
weeks {number}-{number}. If you missed any of these materials, you will
want to review them before you take the exam.
* You can use the textbook and the Internet to clarify your knowledge of exam
topics, as long as you are not deliberately looking up answers to exam
questions.
* Course discussions will remain open during the exam, but anyone who posts
an answer to an exam question will be violating the honor code and risk
being removed from the class, forfeiting the certificate.
* If you need to alert the staff to an issue with the exam while the exam is
open, add a post to the General discussion topic and include [EXAM] in
the subject line.
* Check the Home page periodically. It is the fastest way the
staff has to communicate any delays, corrections, or changes.
Good luck!
{name} and the {course number} staff
In the event of an unanticipated system failure, a message can both alert learners to the problem and reassure them that the issue is either resolved or being addressed. The message can also provide information about any changes made to the course as a result.
Technical issues can arise during a course for many different reasons, so this example is likely to need revision to apply to an issue that you encounter. Keep in mind that to reassure the learners who are affected by the problem, the message should have a positive tone, and calmly and briefly identify the problem, the status of its solution, and any after effects.
Dear students,
We've encountered a technical problem with {video, assignment, etc. name}.
{We are working to resolve it now. / This issue has been fixed.}
As a result of this issue, we have {extended the deadline for / rescored}
this assignment so that it will not affect your grade.
Thanks for your patience, and we look forward to continuing the course with
you.
{name} and the {course number} staff
In the last few days before your course ends, a message can direct learners to a course survey, answer questions about certificates, and provide information about future access to course materials. Be sure to replace values enclosed by {braces} with information for your course.
Subject: {course number} Final Remarks
Dear %%USER_FULLNAME%%,
Thank you for making %%COURSE_DISPLAY_NAME%% so much fun these last few
months! We had a great time getting to know you through the course
discussions. We appreciate the effort that you put into this course, and we
hope that you enjoyed learning {subject} through edX. With or without a
certificate, you should be proud of your accomplishments.
* Please take a few minutes to answer the exit survey, now available on the
Course page. We will use your responses to improve the course in the
future.
* If you qualify for a certificate (overall score {number}% or higher), the
edX dashboard will include a link to your certificate in the near future.
While you may see the link in a few days, it can take up to two weeks for
edX to generate all of the course certificates.
* As an enrolled student, you will have access to the lecture videos even
after the course ends. Assessments will remain, but you will no longer be
able to submit answers to any problem sets or exams with due dates.
* The {course number} discussions close on {date} at {time} UTC. You will not
be able to add to the discussions after that time, but you will be able to
continue viewing all of the conversations that took place during the
course.
We hope that you share what you learned in {course number} with your
colleagues, friends, and family.
Good luck on the final exam and beyond!
{name} and the {course number} staff
When you prepare a course for a new run, you can use the bulk email feature in its previous run (or runs) to inform an engaged and knowledgeable audience: your former learners. Announcing a new run to learners of an earlier run gives you the opportunity to highlight key aspects of the course, such as the quality and variety of its discussions, or the global interest and relevance of the subject, as demonstrated by past enrollment. You can also reveal new features or content that have been added to the new course run. By emphasizing the value of the course, you get people thinking and talking about their experiences, build excitement, and encourage re-enrollment.
This message template offers learners who did not complete the course, or who did not previously choose the verified certificate track, the opportunity to do so. It also invites learners to share the course with colleagues and and friends.
When preparing a message from this template, search for values enclosed by {braces} and replace them with information that applies to your course.
Subject: Announcing a new run of {course name}
Hello {course number} learners,
The next run of {course number} {course name} begins on {date}! We are glad
to share this news with you, the students who made the earlier run{s} of
{course number} so successful.
{Success story from the previous run.}
{New content or features for the upcoming run.}
Perhaps you want to share the {course name} experience with a friend or
colleague, earn an ID-verified certificate of achievement, or work through
course content that you weren't able to complete before. When {course number}
is offered in {time frame}, we welcome you to join the community of learners
again.
To learn more and to enroll, visit the {course name} page {add link}.
We hope to see you in the course,
The {course number} Staff
Learners can enroll themselves in a course during its defined enrollment period.
The course creator and course team members with the Staff and Admin roles can enroll learners in a course. These course team members can also unenroll learners.
Data about course enrollment is available in the LMS, by selecting Instructor to access the instructor dashboard and from Insights. For more information, see Report Learners Not Yet Enrolled.
Before a learner can enroll in a course, he or she must complete these steps.
www.edx.org
, edge.edx.org
, or your implementation of the edX
platform. Each platform requires a separate user account.As long as the course enrollment end date has not passed, learners who
have registered and activated user accounts can enroll themselves in
www.edx.org
courses, or can enroll in other courses if they know the URL.
Course creators, Admins, and Staff, however, can enroll learners in a course either before or after the learners register their user accounts.
Important
Course team members are not automatically enrolled in courses, although they can access content in Studio, the LMS, and Insights. To work on a course, every course team member must register, activate a user account, and enroll in the course.
You enroll learners, and other course team members, in your course by supplying their email addresses. After the enrollment end date for a course learners can no longer enroll themselves. However, you can still explicitly enroll learners.
Note
When you enroll learners in a course, all learners are automatically enrolled in the audit enrollment track. For more information about course enrollment tracks, see enrollment track.
When you enroll people in a course, you have the following options.
Auto Enroll. When you choose this option, the people who you enroll do not need to complete an explicit course enrollment step. Of the list of email addresses that you supply, those that correspond to a registered user account are immediately enrolled in the course, and your course displays on the Current Courses dashboard for those users on log in. Email addresses on the list that do not match a registered user account are enrolled as soon as that account is registered and activated.
You can track the enrollment status of the learners who you auto enroll. For more information, see Report Learners Not Yet Enrolled.
If you do not select Auto Enroll, the people who you enroll must also actively locate your course and enroll themselves in it. These learners see the course on their dashboards after they have done so.
Notify learners by email. When you choose this option, an email message is automatically sent to each of the email addresses that you supply. The message includes the name of the course and, for learners who are not already enrolled, a reminder to use that same email address to enroll.
To enroll learners or course team members, follow these steps.
View the live version of your course.
Select Instructor, and then select Membership.
In the Batch Enrollment section of the page, enter the username or email address of the learner, or enter multiple names or addresses separated by commas or new lines.
You can copy and paste data from a CSV file of email addresses. However, note that this feature is better suited to courses with smaller enrollments, rather than courses with massive enrollments.
For Role of the users being enrolled, select the role of the learner.
Note
All of the users that you enroll at one time must have the same role. If you have some users who are partners and others who are learners, you must complete two batch enrollments.
In the Enter the reason why the students are to be manually enrolled or unenrolled field, enter a specific, detailed reason why you want to enroll these learners.
To streamline the course enrollment process, leave Auto Enroll selected.
To send learners an email message, leave Notify students by email selected.
Select Enroll.
You can view or download a list of the people who are enrolled in the course. For more information, see Learner Data.
Note
When you enroll learners in a course, all learners are automatically enrolled in the audit enrollment track. For more information about course enrollment tracks, see enrollment track.
Note
If your course has a fee, and an organization wants to purchase enrollment for multiple seats in your course at one time, you can create enrollment codes for the organization. The organization then distributes these enrollment codes to its learners to simplify the enrollment process. You can also create coupon codes to give learners a discount when they enroll in your course. For more information, see Enable and Create Enrollment Codes.
After you create a course, you can access the total number of people who are enrolled in it. Note the following information about how this count is computed.
In addition to learners, the enrollment count includes all course team members, including Admins and Staff. (To work with a course in Studio, the LMS, or Insights, you must be enrolled in that course.)
The enrollment count displays the number of currently enrolled learners and course team members. It is not a historical count of everyone who has ever enrolled in the course.
Note
Learners can unenroll from courses, and course Admins and Staff can unenroll learners when necessary.
The total number of current enrollees is shown as the sum of the number of people who selected each of the certification tracks (verified, professional, or honor) that is available for your course.
To view the enrollment count for a course, follow these steps.
View the live version of your course.
Select Instructor, and then select Course Info if necessary.
The Enrollment Information section of the page that opens shows the number of people who are currently enrolled in your course and in each of the certification tracks.
After you enroll learners in a course using the Auto Enroll option, any learner who does not yet have a user account must register and activate an account to complete the enrollment process. In addition, the learner must register the account using the same email address that was used for auto enrollment. You can download a report of auto enrolled email addresses that do not yet correspond to an enrolled learner.
To download this report, follow these steps.
A status message indicates that report generation is in progress. This process can take some time to complete, but you can navigate away from this page and do other work while it runs.
To track the progress of the report process, reload the page in your browser and scroll down to the Pending Tasks section.
{org}_{course_id}_may_enroll_info_{date}.csv
file name at the bottom of
the page.You can remove learners from a course by unenrolling them. To prevent learners from re-enrolling, course enrollment must also be closed. You use Studio to set the Enrollment End Date for the course to a date in the past. For more information, see Scheduling a Course Run.
Note
Unenrollment does not delete data for a learner. An unenrolled learner’s state remains in the database and is reinstated if the learner does re-enroll.
To unenroll learners, you supply the email addresses of enrolled learners.
View the live version of your course.
Select Membership.
In the Batch Enrollment section of the page, enter a username or an email address, or multiple names or addresses separated by commas or new lines.
In the Enter the reason why the students are to be manually enrolled or unenrolled field, enter a specific, detailed reason why you want to unenroll these learners.
To send learners an email message, leave Notify students by email selected.
Note
The Auto Enroll option has no effect when you select Unenroll.
Select Unenroll. The course is no longer listed on the learners’ Current Courses dashboards, and the learners can no longer access the course content or contribute to discussions or the wiki.
The edX system keeps track of learners’ progress through a course – recording when the learner watches videos, responds to problems, and so on. If you are a member of a course team, some of that data is visible to you for debugging purposes. Under every problem is a Staff Debug Info button: selecting this button opens a window with information about the problem.
None of this information should be necessary for day-to-day usage of edX, but for the sake of clarity, some of these fields are documented here.
is_released
location
markdown
display_name
max_attempts
attempts
max_attempts
.parent
Course discussions foster interaction among learners and between learners and the course team. You can set up different topics to guide these interactions when you create your course, and then run and moderate discussions throughout the course to encourage participation and develop course community. Discussions are also excellent sources of feedback and ideas for future courses or course runs.
Use the topics in this section to learn about managing course discussions, including creating discussion topics, running discussions in a live course, choosing to divide topics based on learner groups, building a team of discussion moderators, and moderating discussions.
Note
Some features of discussions, especially moderation features, are not available when discussions are accessed in the edX mobile app. For information about the differences between discussions on the edx.org site and in the mobile app, see Discussions in the edX Mobile App.
Discussions in an edX course include both course-wide topics of interest to all learners (such as “Feedback”, “Troubleshooting”, or “Technical Help”) as well as content-specific topics that you add to course units as discussion components. You create both types of discussion topics in Studio.
For information about creating discussion topics, see the following sections.
For information about creating discussions in which learners in a group such as a cohort or in a particular enrollment track only interact with posts from other learners in the same group, see About Divided Discussion Topics.
For information about running and moderating course discussions, see Running Course Discussions and Moderating Discussions.
All courses include a page named Discussion. When you create a course, a course-wide discussion topic named “General” is already included by default.
You can add additional course-wide discussion topics to guide how learners share and find information during your course. Such course-wide topics might include Introduction and Announcements, Feedback, or Troubleshooting. Discussions in these topics can begin as soon as your course is available.
Note
Make sure each discussion topic in your course has a unique name, whether it is a course-wide topic or a content-specific discussion topic that you add as a discussion component. If different discussion topics share the same name, learners might be confused as to which discussion topic they are participating in. For example, do not add a content-specific discussion topic named “General”, because a course-wide discussion topic named “General” already exists in every course.
To create a course-wide discussion topic, follow these steps.
Open your course in Studio.
Select Settings, then Advanced Settings.
Scroll down to the Discussion Topic Mapping policy key. By default, its value looks like this.
{
"General": {
"id": "course"
}
}
Copy the three lines provided for the “General” topic and paste
them above the closing brace character (}
).
{
"General": {
"id": "course"
}
"General": {
"id": "course"
}
}
Replace the second “General” with the quoted name of your new topic. For example, name the new topic “Questions about the Course”.
{
"General": {
"id": "course"
}
"Questions about the Course": {
"id": "course"
}
}
Change the value for the second “id” to a unique identifier. For example, append a reference to the name of the topic.
{
"General": {
"id": "course"
}
"Questions about the Course": {
"id": "course_q"
}
}
Note
In discussion topic IDs, you can use only alphanumeric characters and these special characters: underscore, hyphen, and period.
Add a comma after the first closing brace (},
).
{
"General": {
"id": "course"
},
"Questions about the Course": {
"id": "course_q"
}
}
Select Save Changes.
Studio checks the syntax of your entry and reformats your entry to add line feeds and indentation.
Scroll back to the Discussion Topic Mapping field to verify that your entry was saved as you expect. Entries that do not contain all of the required punctuation characters revert to the previous value when you save, and no warning is presented.
When learners select the Discussion page for your course, the drop-down Discussion list now includes the topic you added.
Note
To make a particular course-wide discussion topic the default topic
when learners add new posts on the Discussion page, add a “default”
attribute with a value of true
to the topic’s definition.
{
"General": {
"id": "course"
},
"Questions about the Course": {
"id": "course_q",
"default": true
}
}
Note
In courses that use cohorts, the course-wide discussion topics that you add are unified. All posts can be read and responded to by every learner, regardless of the cohort that they belong to. You can optionally configure these topics to be divided by cohort. For more information, see Specify Which Course-Wide Discussion Topics are Divided.
To create a content-specific discussion topic, you add a discussion component to a unit. Typically, you do this while you are designing and creating your course in Studio. Follow the instructions in Working with Discussion Components. The result is a discussion topic associated with a unit and its content. Learners can access content-specific topics both in the course unit and on the Discussion page.
Warning
Follow the recommended steps to add discussion components. Do not create discussion topics by using the Duplicate button in Studio, and do not reference the same discussion ID in more than one place in your course. Duplicated discussion components result in discussion topics that contain the same conversations, even if learners post in different discussion topics.
For information about the visibility of content-specific discussion topics, see Understanding When Learners Can See Discussion Topics.
Note
In courses with cohorts enabled, when you add discussion components to units in Studio, these discussion topics are by default unified. All learners in the course can see and respond to posts from all other learners. You can change content-specific discussion topics to be divided, so that only members of the same group can see and respond to each other’s posts. For information, see Content-Specific Discussion Topics and Groups.
The names that you specify as the category and subcategory names for discussion components are not visible on the Discussion page in the LMS until after the course has started and the unit is released.
However, “seed” posts that you create in content-specific discussion topics before a course starts, or before the unit is released, are immediately visible on the Discussion page, even though the containing category or subcategory names are not visible. EdX recommends that you do not create posts in content-specific discussion topics before a unit is released. For more information about release dates and the visibility of components, see Controlling Content Visibility and Access.
In contrast, course-wide discussion topics that you create on the Advanced Settings page in Studio, including the default “General” discussion topic, are immediately visible, regardless of whether the course has started. They are not associated with any particular section or subsection of the course, and are not subject to release dates.
By default, when learners participate in a discussion, their usernames are visible in the discussion. You can allow learners to make discussion posts that are anonymous to their peers: their usernames are not visible to other learners. Their usernames will still be visible to course staff.
To allow anonymous discussion posts in your course, follow these steps.
false
.true
.Learners can now create discussion posts in your course that are anonymous to other learners.
Note
The Advanced Settings page in Studio includes another field named
Allow Anonymous Discussion Posts. Setting the value of that field to
true
enables learners to create discussion posts that are anonymous to
course staff, as well as to other learners. As a best practice, edX
recommends that you do not set this field to true
.
Learners can participate in course discussions using the edX mobile app as they do on the edX site, but there are some differences in the actions that moderators can take in discussions using the mobile app. To perform moderation or administrative tasks for your course discussions, you need to work in a web browser.
The following actions are not supported on the edX mobile apps.
- Pinning posts
- Marking responses to question posts as answers
- Endorsing responses to discussion posts
- Closing posts
On an ongoing basis, the members of your discussion team run the course discussion by adding posts and responses, marking answers as correct, and guiding learner messages into pertinent threads. The information and suggested techniques in this section can help you to make discussions in your course successful.
For information about moderating discussions, see Moderating Discussions and Guidance for Discussion Moderators.
Learners and the course team use course discussions to share ideas, exchange views, consider different viewpoints, and ask questions. In course discussions there are three hierarchical levels of interaction.
The dialog created by a post, its responses, and the comments on those responses is sometimes called a thread. Discussion threads are saved as part of the course history.
For information about participating in discussions, see the Participating in Course Discussions section in the Open edX Learner’s Guide. Consider referring learners in your courses to that section, which describes the structure and features of course discussions, and provides useful information to help learners make the most of their participation in course discussions.
To identify certain types of messages and make them easier to find, you can define a set of standard tags to include in the subject of a post or in the body of a response or comment. Examples follow.
Both the discussion team and your learners can use tags like these to search the discussions more effectively.
When a post is created its type must be selected: either “question” or “discussion”. Members of the discussion team should be thoughtful when selecting the type for their posts, and encourage learners to do the same. For more information, see Find Questions and Discussions.
To help learners learn how to get the most out of course discussions, and find the best discussion topic to use for their questions and conversations, you can seed discussion topics in course-wide discussion topics before the course starts.
Some examples follow.
EdX strongly recommends that you do not create seed posts in content-specific discussion topics before the course starts or before the containing unit is released. The category and subcategory names for content-specific discussion topics are subject to the release visibility of their containing unit, and are not visible until the unit is released. For more details, see Understanding When Learners Can See Discussion Topics.
To encourage longer, threaded discussions rather than many similar, separate posts, the discussion team can use the following techniques. However, be aware that very long threads (with more than 200 responses and comments) can be difficult to read, and might result in an unsatisfactory experience in the discussion.
Note
You can only pin or close posts and mark questions as answered when you work in a web browser. You cannot complete these activities when you work in the edX mobile app.
Pin posts. Pinning a post makes it appear at the top of the list of posts in the discussion navigation pane on the Discussion page. As a result, it is more likely that learners will see and respond to pinned posts. You can write your own post and then pin it, or pin a post by any author. Select the “More” icon and then Pin.
Mark responses as answered or endorsed. Depending on whether a post is a question or a discussion, you use the same option to mark a response either as the answer to the posted question, or to endorse a response. Marking a question as answered makes it easier for learners to find answers to already asked questions, rather than ask the same question again. Endorsing a response confirms that it adds value to a discussion.
To mark a response as answered or endorsed, select the “check mark” icon. You cannot mark your own responses as answers or as endorsed.
Vote for posts or responses. Learners can sort discussions by posts with the most votes, so posts and responses with many votes are more likely to be read and responded to. Select the “plus” icon for the response. You cannot vote for your own posts.
Close posts. You can respond to a redundant post by (optionally) pasting in a link to the post that you prefer learners to contribute to, and prevent further interaction by closing the post. Select the “More” icon and then Close.
Provide post/response/comment guidelines. In a pinned course-wide topic, you can provide learners with guidelines for participating in discussions, including when to start a new thread by adding a post instead of responding to an existing post, or commenting on a response.
You can close the discussions for your course so that learners cannot add messages to topics. Course discussions can be closed temporarily, such as during an exam period, or permanently, such as when a course ends.
Note
When you close discussions, make sure you communicate with learners in your course to let them know why they cannot contribute to discussions, and the dates that discussions are affected. You can post a course update to the Course page as well as add a pinned information post to a course-wide discussion topic.
When you close the discussions for a course, all discussion topics in course units and all course-wide topics are affected.
Note
You can only close discussions when you work in a web browser. You cannot close discussions when you work in an edX mobile app.
To define when discussions are closed to new contributions and when they reopen, follow these steps.
Open your course in Studio.
Select Settings, and then select Advanced Settings.
Locate the Discussion Blackout Dates field.
If the Discussion Blackout Dates field is empty, place your cursor
between the brackets ([ ])
.
If the field already contains one or more blackout dates, place your cursor
before the final bracket (])
.
Enter a pair of start and end dates for the time period during which you want discussions to be closed, in the following format.
["YYYY-MM-DDTHH:MM", "YYYY-MM-DDTHH:MM"]
Note
To close the course discussions permanently, specify an end date and time far in the future.
For example, to close course discussions temporarily for a final exam period from July 22, 2017 to July 25, 2017, you enter this pair of start and end dates.
["2017-07-22T08:00", "2017-07-25T18:00"]
To close course discussions permanently on August 9, 2017 after the temporary exam period closure, you add an additional pair of start and end dates.
["2017-07-22T08:00", "2017-07-25T18:00"], ["2017-08-09T00:00", "2099-08-09T00:00"]
You enter these values between an additional pair of square brackets which are supplied for you in Studio.
Select Save Changes.
Studio checks the syntax of your entry and reformats your entry to add line feeds and indentation. A message lets you know whether your changes were saved successfully.
For examples of email messages that you can send to let learners know when the course discussions are closed (or open), see Example Messages to Learners.
["YYYY-MM-DDTHH:MM", "YYYY-MM-DDTHH:MM"]
Note
The dates and times that you enter are in Coordinated Universal Time (UTC), not in your local time zone. You might want to verify that you have specified the times that you intend by using a time zone converter.
This section provides information about setting up discussions that are divided by learner groups (such as cohorts or enrollment tracks) within your course.
For overview information about discussions in a course, see Creating Course Discussions.
For more information about creating differentiated course content for learners in different groups, see Offering Different Content to Different Learner Groups.
With divided discussions, discussion topics are visible to all learners, but the posts, responses, and comments within these topics are divided so that learners participate in the discussion only with other members of the same group (either the same cohort or the same enrollment track).
Note
You can only divide discussions by one type of group (either cohorts or enrollment tracks), even if your course uses cohorts and also has multiple enrollment tracks.
For example, you have two enrollment tracks in your course (“Free” and “Certificate”). If you divide discussions based on enrollment track groups, and specify that a course-wide discussion topic called “Assignments” is divided, then although all learners see the topic, learners in the “Free” track interact only with posts, responses, and comments from other learners in the “Free” track, and learners in the “Certificate” track interact only with posts, responses, and comments from learners in the “Certificate” track.
Discussion topics that are not divided are unified, meaning that all learners in the course can see and respond to posts, responses, and comments from any other learner in the course.
If you divide discussions, a good practice is to use a naming convention for discussion topics, so that learners clearly understand the audience for a discussion topic before they add posts to that topic. For information about naming conventions, see Apply Naming Conventions to Discussion Topics.
You can also appoint learners as Community TAs or Group Commmunity TAs to help you to moderate course discussions. You might use Group Community TAs if the content of discussion topics by one group should not be shared with another group. Group Community TAs are themselves members of groups that you use in your course (such as cohorts or enrollment tracks). As discussion moderators, they can only see and respond to posts by other members of their own group. For information, see Assigning Discussion Moderation Roles.
For more information about managing discussions, see Managing Divided Discussion Topics and Running Course Discussions.
Note
Another method of providing different discussion experiences for learners in different groups in your course is to use the access settings of discussion components. For example, you can add multiple discussion components and use each component’s access settings to restrict access to each discussion component to a specific group of learners. With this method, you are not limited to choosing the same single group type by which to divide all discussions. For more information, see Setting Up Divided Discussions.
In this example, you are developing a course that has two enrollment tracks: “Free” and “Certificate”. You plan to create differentiated content based on enrollment track, so that learners in each track have a complete course experience, but have different assignments and projects.
You will need to decide whether any of the course-wide discussion topics and content-specific discussion topics should be divided based on enrollment track.
As you develop your course, you add three new course-wide discussion topics, so that in addition to the default “General” topic, you have a total of four course-wide discussion topics.
In the “General” and “Course Announcement” topics, you and other course team members intend to add posts that are relevant for all learners in your course, regardless of what enrollment track they are in. You will not divide these topics, because discussions in these topics are appropriate for a unified learner audience.
However, you will divide the “Assignment FAQs” and “Final Project Ideas” topics based on enrollment track, because the assignments and final projects that learners experience will differ based on whether they are enrolled in the “Free” track or the “Certificate” track.
Although all learners see course-wide discussion topics called “Assignment FAQs” and “Final Project Ideas”, discussions within these topics are divided. Learners in the “Free” track only interact in discussions with other “Free” track learners, and learners in the “Certificate” track only interact in discussions with other “Certificate” learners.
You decide that content-specific discussion topics within the course should not be divided. Instead, because learners in each enrollment track are receiving different content, you will use the access settings at the component level to restrict access to each discussion component to the group of learners who can access the accompanying content.
You implement your decisions by completing the following tasks.
Note
You must set up divided discussions before your course starts. You cannot divide discussions after the course start date.
The group type that you choose for dividing discussions is used to divide all discussion topics in the course, both course-wide and content-specific.
By default, all course-wide discussion topics and content-specific discussion topics are unified: all learners can interact with all posts, responses, and comments. You can change discussion topics of either type to be divided or unified on the instructor dashboard in the LMS.
Note
If your course has both cohorts and multiple enrollment tracks, you can divide discussions by either cohort or enrollment track. You cannot divide discussions by more than one group type.
Content-specific discussion topics are divided by default in courses that meet all of the following conditions.
Warning
If you change settings of discussion topics in a live course after learners have begun reading and contributing to discussion posts, you are changing their course experience. Learners might see posts that were previously not visible to them, or they might no longer see posts that were previously available to all learners.
For information about settings for discussion topics, see the following topics.
Note
You can divide discussions by only one group type, even if your course uses cohorts and also has multiple enrollment tracks.
The group type that you choose for dividing discussions is used to divide all discussion topics in the course, both course-wide and content-specific.
To specify the group type for dividing discussions, follow these steps.
In the LMS, select Instructor, then select Discussions.
Note
The Discussions tab is available only if you have enabled cohorts or have multiple enrollment tracks in your course.
Under Specify whether discussion topics are divided, select the option to use for dividing discussion topics. You only see options that are applicable for your course. For example, if cohorts are not enabled in your course, you do not have an option to divide discussions based on cohorts. If you do not have more than one enrollment track in your course, you do not have an option to divide discussions based on enrollment track.
After you specify the group type for dividing discussions, you see the lists of existing course-wide discussion topics and content-specific discussion topics.
For information about specifying which course-wide topics and which content- specific topics are divided, see Specify Which Course-Wide Discussion Topics are Divided, Specify that All Content-Specific Discussion Topics Are Divided, and Specify That Some Content-Specific Discussion Topics are Divided.
When you create course-wide discussion topics or content-specific discussion topics, they are by default unified. All learners in the course can see and respond to posts from all other learners.
After you have specified the group type for dividing discussions, you can specify which of your discussion topics are divided.
Warning
If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.
To specify that one or more discussion topics are divided, follow these steps.
In the LMS, select Instructor, then select Discussions.
Under the section for Course-Wide Discussion Topics select the checkbox next to each course-wide discussion topic that you want to divide. Clear the checkbox next to each course-wide discussion topic that you want to make unified.
Select Save for that section.
The list of course-wide discussion topics is updated to show which topics are divided, and which are unified.
For information about dividing content-specific discussions, see Specify that All Content-Specific Discussion Topics Are Divided and Specify That Some Content-Specific Discussion Topics are Divided.
For information about managing discussions that are divided, see Managing Divided Discussion Topics.
When you create content-specific discussion topics by adding discussion components to units in Studio, these discussion topics are by default unified. All learners in the course can see and respond to posts from all other learners. You can change content-specific discussion topics to be divided, so that only members of the same group can see and respond to each other’s posts.
If you want all content-specific discussion topics that you add in your course to be always divided, follow the steps in Specify that All Content-Specific Discussion Topics Are Divided.
If you want only some content-specific discussion topics to be divided, following the steps in the topic Specify That Some Content-Specific Discussion Topics are Divided.
When you first add content-specific topics in your course, by default they are unified.
If you want all content-specific discussion topics in your course to be divided, follow these steps.
Warning
If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.
In the LMS, select Instructor, then select Discussions.
In the Content-Specific Discussion Topics section the Divide the selected content-specific discussion topics option is selected by default. Content-specific topics that exist are listed, but none of them should be selected, indicating that these topics are not divided.
If it is not already selected, select Always divide content-specific discussion topics.
Click Save at the bottom of the Content-Specific Discussion Topics section.
All content-specific discussion topics in the course are now divided, based on the group type that you specified for dividing discussions, and you cannot change the division settings of individual content-specific discussion topics.
For information about dividing only some content-specific discussions, see Specify That Some Content-Specific Discussion Topics are Divided.
For information about managing discussions that are divided, see Managing Divided Discussion Topics.
The default division setting for content-specific discussion topics is that they are unified. The Divide the selected content-specific discussion topics option is selected by default. Content-specific topics that exist are listed, but none of them should be selected, indicating that these topics are not divided. On this setting, content-specific discussion topics are unified when you first add them in your course.
To specify that only some of your content-specific discussion topics are divided, you change the division setting for content-specific discussion topics and then explicitly select only the topics that you want to divide.
Warning
If you change the setting from Always divide content-specific discussion topics to Divide the selected content-specific discussion topics, all content-specific discussion topics are unified, unless you explicitly specify which discussion topics are divided before saving your changes. This means that any posts that were previously divided are now shared by all learners in your course.
To specify that only some content-specific discussion topics in your course are divided, follow these steps.
Warning
If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.
In the LMS, select Instructor, then select Discussions.
In the Content-Specific Discussion Topics section, if it is not already selected, select Divide the selected content-specific discussion topics.
The list of content-specific discussion topics becomes editable.
Select the checkbox next to each content-specific discussion topic that you want to divide.
Click Save at the bottom of the Content-Specific Discussion Topics section.
The changes to your content-specific discussions are saved. The content- specific discussion topics that you selected are now divided, and learners in the group type that you specified only interact with other learners in their group. All other content-specific discussion topics are unified.
For information about always dividing content-specific discussions, see Specify that All Content-Specific Discussion Topics Are Divided.
For information about managing discussions that are divided, see Managing Divided Discussion Topics.
This section provides information about managing discussions that are divided based on one type of group in your course, either cohorts or enrollment tracks.
For more information about divided discussions, see About Divided Discussion Topics.
Note
You must set up divided discussions before your course starts. You cannot divide discussions after the course start date. For more information, see Setting Up Divided Discussions.
In discussion topics in your course, every post has an indicator of who can read it: either all learners, or only the members of a particular group. For learners, this is the only noticeable difference between discussions in courses that use divided discussions, and courses that do not have groups and do not use divided discussions.
You can share the examples in the Read the Group Indicator in Posts section with your learners. The Participating in Course Discussions section in the Open edX Learner’s Guide also provides useful information to help learners make the most of their participation in course discussions.
Course team members who have the Discussion Admin, Discussion Moderator, Community TA or Group Community TA role see the indicator of who can read each post. Team members with these roles, except for Group Community TAs, can read and contribute to every post, regardless of the group membership of the learner who posted it. Group Community TAs can moderate discussions only if the course uses divided discussions, and they can see and manage only posts that other members of their group add. Community TAs, in comparison, can read and contribute to all posts.
Note
Course team members must have the Discussion Moderator or Discussion Admin role in addition to the Staff or Admin role to be able to view posts that are divided by group. For information about assigning discussion moderation roles, see Assigning Discussion Moderation Roles.
In courses where either cohorts or multiple enrollment tracks are enabled, course team members who have discussion moderation roles that are not restricted by group can also perform the following actions.
All of the other options and features described in the Creating Course Discussions, Moderating Discussions, and Running Course Discussions sections continue to be available to the discussion moderation team.
In discussion topics in your course, all posts include a group indicator above the title. This indicator appears after any learner or team member adds a post. No configuration is necessary to include this identifier, although if you use divided discussions in your course, you should use care in naming your groups, because learners see the group names in the group indicators for each post. Enrollment track groups are automatically named based on the enrollment track.
Optionally, you can name your discussion topics to make it clear to learners who their posts will be viewed by. See Apply Naming Conventions to Discussion Topics.
Every post includes a sentence that identifies whether everyone can see and contribute to it, or only the members of a group in the course. Examples follow.
You see this identifier after you add your post. All of the responses and comments that other contributors add to a post are visible to the same group of people as the original post.
Optionally, course team members can give learners the audience context of their posts before they add them. Indicating who will be able to read posts in the names of the topics themselves can be useful when a group is particularly sensitive about the privacy of their conversations.
For example, you could add “(everyone)” to the names of the unified course- wide discussion topics in your course. Similarly, you could apply a naming convention to content-specific discussion topics that you add as discussion components in Studio. For example, you could include an identifier such as “(private)” or “(small group)” in the Subcategory name of every Discussion component that you add.
When learners visit the Discussion page and use dropdown lists to select a discussion topic, the topic names indicate who can see the posts, responses, and comments.
For more information about adding and configuring course-wide discussion topics, see Create Course-Wide Discussion Topics and Specify Which Course-Wide Discussion Topics are Divided.
Course team members who have the Discussion Admin, Discussion Moderator or Community TA role can make posts to divided discussion topics visible to everyone who is enrolled in the course or only to the members of a specified group.
If you are a course team member with one of these roles, when you add a post, the Visible to dropdown list appears above the Title field.
Note
Group Community TAs cannot choose the group visibility of a post. Unlike Community TAs, Group Community TAs can only add post to, and interact with, discussion topics that are available to the same group that they themselves belong to.
This example shows a new post being added to a content-specific discussion topic.
When you add a new post in discussion topics that are divided, you can choose whether all learners or a specific group of learners can see your post. This means that you can add a single post with information that you want everyone to see, rather than having to write a separate post for each group. It also means that it is possible for you to unintentionally share information with a different audience than you intended.
Note
Learners cannot choose the visibility of their posts. The visibility of learner posts is determined by the configuration of the topic they post in. See Identifying Who Can Read a Post.
Posts that discussion team members add to unified discussion topics are always visible to all learners, regardless of what group they belong to.
Keep these additional considerations in mind when you edit posts in a course that includes cohorts or multiple enrollment tracks.
When a course includes cohorts or multiple enrollment tracks, you can view posts and monitor discussion activity for each of the groups within the group type that you chose to divide discussions for. You can also view all posts.
Note
Course team members must have the Discussion Admin or Discussion Moderator role in addition to the course team Staff or Admin role to be able to view and filter all posts that are divided.
In divided discussions, Group Community TAs can only view posts that are visible to the group that they themselves belong to.
Above the discussion navigation pane on the Discussion page, the in all groups filter is selected by default. You see every post when you make this selection. To limit the list so that you can view the same set of posts as the members of a particular group, select the name of that group.
Note that both of these lists include posts that are visible to everyone. When you filter the list by a specific group, you see the same, complete set of posts that the members of that group see.
For other options that you can use to view posts, see Moderating Discussions.
Developing and sustaining a positive discussion culture requires that a team of discussion moderators dedicates sufficient time to reviewing discussions and responding to questions from learners. Keeping up-to-date with a large MOOC forum requires a commitment of five or more hours per week, and involves reading threads, replying to and editing posts, and communicating with the rest of the discussion moderation team and other members of the course team.
Members of the course community, learners as well as course team members, can be given permission to moderate or administer course discussions through a set of discussion moderation or administration roles. The members of a course discussion team monitor discussions and keep them productive. They can also collect information, such as areas of particular confusion or interest, and relay it back to the course team.
Note
The course team members that you set up in Studio or in the LMS are not automatically granted discussion moderation roles. For information about discussion roles, see About Discussion Moderation Roles.
Note
Not all options for moderating discussions are available when discussions are accessed using the edX mobile apps. For information about the differences between discussions on the edx.org site and in the mobile apps, see Discussions in the edX Mobile App.
For information about best practices for moderating discussions, see Guidance for Discussion Moderators. If you are using divided discussions`, see Managing Divided Discussion Topics.
You can designate a team of people to help you run course discussions. All course team members can view discussion topics and posts, but only team members who have one of the discussion moderation roles have additional abilities to moderate discussions and work with posts, responses, and comments.
Important
The course team members that you set up in Studio or in the LMS are not automatically granted discussion administration roles.
Discussion moderation and administration roles must be explicitly granted to members of the course team for them to be able to moderate or administer course discussions. The course author and any team members who have the Admin role can grant discussion roles.
Different options for working with discussions are available through the following roles.
Note
The options for moderating discussions described below are only available when members of the discussion administration team work in a web browser. The edX mobile apps do not currently offer moderation options.
For more information about differences between discussions on the edx.org site and on the mobile apps, see Discussions in the edX Mobile App.
Course team members with the Discussion Moderator role can edit and delete messages at any level, review messages flagged for misuse, close and reopen posts, pin posts, and mark responses as correct answers.
Posts, responses, and comments made by Discussion Moderators are marked with a Staff identifier. The Discussion Moderator role is usually given to course team members who already have the Staff role.
Course team members with the Discussion Admin role have the same options for working with discussions as Discussion Moderators, and their posts, responses, and comments have the same Staff identifiers.
The Discussion Admin role is typically reserved for course team members who have the Admin role within the course: Discussion Admins can both moderate discussions and give other users discussion moderation roles.
Some learners who are enrolled in the course can be asked to help with moderating course discussions. These learners are assigned the Community Teaching Assistant (TA) role, and have the same options for working with discussions as Discussion Moderators do.
Posts, responses, and comments made by Community TAs are marked with a Community TA identifier.
In courses with divided discussions, enrolled learners can be assigned the Group Community TA role. Group Community TAs have the same abilities as Community TAs. However, the moderation and posting abilities of Group Community TAs are limited to discussion topics that are visible to members of the group that they themselves belong to.
Posts, responses, and comments made by Group Community TAs are also marked with a Community TA identifier.
You must either be the course author, or have the Admin role, to add people to discussion moderation roles.
You must obtain the email address or username for each person that you want to add.
You can add any user who is already enrolled in your course to a discussion moderation role.
Note
To add someone to the Discussion Admin role, you must be the course author or a course team member who has the Admin role.
View the live version of the course.
Select Instructor, and then select Membership.
In the Course Team Management section, select the discussion role that you want to assign: Discussion Admins, Discussion Moderators, Group Community TA, or Community TA.
Under the list of users who currently have that role, enter the email address or username of the person you want to add.
Select Add for the role type.
The person who you added appears in the list.
To remove someone from a discussion moderation role, you must be the course author or have the Admin role.
View the live version of the course.
Select Instructor, and then select Membership.
In the Course Team Management section, select the discussion role from which you want to remove the user: Discussion Admins, Discussion Moderators, Group Community TA, or Community TA.
In the list of users who currently have that role, locate the user you want to remove, and then select Revoke access.
The person who you removed no longer appears in the list.
You can develop a set of best practices for discussion participation and make them available to learners as a course handout file or on a defined page in your course. These guidelines can define your expectations and optionally introduce features of edX discussions.
You can also refer learners to the Participating in Course Discussions section in the Open EdX Learner’s Guide. Consider referring learners in your courses to that section, which describes the structure and features of edX course discussions, and provides useful information to help learners make the most of their participation in course discussions.
Team members who are moderating discussions can cultivate qualities in their own discussion interactions to make their influence positive and their time productive.
For a template that you can use to develop guidelines for your course moderators, see Guidance for Discussion Moderators.
When learners create posts, they specify the type of post to indicate whether they are asking for concrete information (a question) or starting an open-ended conversation (a discussion).
On the Discussion page, a question mark image identifies posts that ask questions, and a conversation bubble image identifies posts that start discussions. When an answer is provided and marked as correct for a question, a check or tick mark image replaces the question mark image. For more information, see Answer Questions and Mark Questions as Answered.
The titles and icons of posts that you have not yet read appear in blue, with a blue vertical bar on the post’s left side. Posts that you have read have dark gray titles and icons. When new responses and comments are made on posts that you have read, a “new” indicator displays with the number of new responses or comments that you have not yet read.
In addition to these visual cues, filters can help you find questions and discussions that need review. In the discussion navigation pane on the Discussion page, you can also select the following options from the Show all drop-down menu.
Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can edit the content of posts, responses, and comments. Messages that include spoilers or solutions, or that contain inappropriate or off-topic material, should be edited quickly to remove text, images, or links.
Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can delete posts, responses, or comments. It might be more appropriate to delete rather than edit posts that consist of spam or include abusive language.
Important
If a message is threatening or indicates serious harmful intent, contact campus security at your institution. Report the incident before taking any other action.
Learners have the option to report contributions that they find inappropriate. Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can check for messages that have been flagged in this way and edit or delete them as needed.
To find out more about a specific discussion participant, you can view that learner’s edX profile from their linked username on discussion posts.
To access a learner’s profile from a discussion post that they contributed, follow these steps.
On the Discussion page, select a username in a post, response, or comment.
On the discussion page for that learner, select the linked username.
The learner’s account profile page opens. Learners can have either a limited profile or a full profile.
For more information about profiles, see sfd dashboard.
If a learner repeatedly misuses course discussions despite being warned, you can unenroll that learner from the course. For more information, see Unenroll Learners from a Course. The learner cannot re-enroll in the course if the enrollment period for the course is over.
Discussion forums are hugely important tools in running a successful MOOC; they allow for substantive community development, in addition to being excellent sources of feedback and ideas for future iterations of the course.
Moderators are the key to effectively managing these online communities. Moderators keep the discussions productive and relay important information (errors, learner confusion with or interest in particular topics, and so on) to the rest of the course team. Discussions can be moderated by any of a number of members of the course team, but dedicating enough time to moderation is the best way to cultivate a successful discussion culture.
Feel free to use some or all of the information in this section to guide the contributions of your discussion moderators.
Certain types of posts require more attention from the moderators than others, or might need to be handled in a particular way.
Check to confirm that there is in fact an error.
Use language that does not assign blame or discourage users from the platform.
You might say: “Thanks for letting us know about that issue. We are working with edX to get it fixed as quickly as possible.”
Keep an organized collection of feature requests cultivated by the course team. That list can subsequently be shared with an edX product manager, who will log those requests internally.
Reply to the post to let the person know that their request was heard, without promising that the feature will be implemented.
You might say: “Thanks for your suggestion. I’ve logged it for review by edX staff, who will prioritize feature requests on the development roadmap.”
Search the discussions for other similar requests, and respond to and close those as well.
Use the topics in this section to learn about accessing learner data and managing learners’ answers and grades in your course.
You can access data about the individuals who are enrolled in your course at any time after you create the course.
To supplement the learner data that is available from the instructor dashboard in the LMS, you can use the charts and reports that are available from edX Insights. With Insights, you can review demographic and geographic distributions for enrolled learners. You can also monitor learner activity and review the number of learners who, each week, interacted with your course. For more information, see Using edX Insights.
The information that edX collects from site registrants includes personal information that can be used to identify, contact, and locate individuals. This information is available to course team members with the Admin or Staff role for the learners who are enrolled in their courses.
Members of the course team should follow the policies established by their organizations and comply with the legal requirements of their locales to prevent public distribution or misuse of this information.
In the LMS, you can download data about the individuals who are currently enrolled in your course in a .csv (comma-separated values) file. You can also view data for enrolled learners on the instructor dashboard. For more information, see Download or View Learner Data.
For information about course enrollment, see Enrollment.
When learners create, or register, their user accounts, they select a public username and supply their full names and email addresses. Learners also have the option to provide personal demographic information, including highest level of education completed, gender, year of birth, and preferred language. Because this information is optional, not all of the learners who are enrolled in your course provide it.
After learners create an account, they can enroll in as many individual courses as they choose.
As a result, you might want to download learner data periodically to gain an understanding of how the learner population changes over time.
The student profile report includes a row for each enrolled learner or course team member and the following columns.
The descriptions of columns in the following table apply to edx.org. Required or optional fields shown to learners during registration and available for editing in Account Settings might vary for Open edX sites.
Column | Description |
---|---|
id | The user account ID number that the system assigns to each registrant. |
username | The public username entered by the learner. Usernames are required and cannot be changed. |
name | The full name entered by the learner. A name is required. Learners can update this value on the Account Settings page. |
The email address entered by the learner. An email address is required. Learners can update this value on the Account Settings page. | |
language | This column is included for backward compatibility only. This data is no longer collected during account creation. The selection that a learner makes for language on the Account Settings page is not included in this report. |
location | This column is included for backward compatibility only. The selection that a learner makes for Country during registration or for Country or Region on the Account Settings page is displayed in the “country” column of this report. |
year_of_birth | This value is optional and can be updated on the Account Settings page. |
gender | This value is optional and can be updated on the Account Settings page. |
level_of_education | This value is optional and can be updated on the Account Settings page. For a list of the possible values, see the description of the Columns in the auth_userprofile Table table’s level_of_education column in the EdX Research Guide. |
mailing_address | No longer collected during registration. Previously, this value was optional and was supplied only at registration. |
goals | This value is optional and is supplied only at registration. |
enrollment_mode | Indicates the enrollment track that the learner is enrolled in, such as “audit” or “verified”. |
verification_status | Indicates whether learners who are enrolled in course tracks that require ID verification have successfully verified their identities to edX by submitting an official photo ID via webcam. The value in this column is “N/A” for learners enrolled in course tracks that do not require ID verification. A value of “Not ID Verified” in this column indicates that the learner is enrolled in a course track that requires ID verification (such as “verified”) but she has not attempted ID verification, or the ID verification has failed or expired. A value of “ID Verified” indicates that the learner is enrolled in a course track that requires ID verification, and her ID verification is current and valid. |
cohort | This column is included only if the course has cohorts enabled. For
courses that include learner cohorts, shows the name of the cohort group
that is assigned to the learner. If a learner is not assigned to a
cohort, the value is [unassigned] . |
team | This column is included only if the course has teams enabled. For courses
that include teams, shows the name of the team that the learner belongs
to. If a learner has not joined a team, the value is [unavailable] . |
city | Data for this column is not currently collected on edx.org. |
country | Learners are required to specify Country during registration, and can update this value on the Account Settings page. |
You can download a report of learner data to gain more information about the individuals who are enrolled in your course. You also have the option to view learner data on the instructor dashboard.
To download learner data, follow these steps.
View the live version of your course.
Select Instructor, and then select Data Download.
To download data about enrolled learners in a .csv file, select Download profile information as a CSV.
A status message indicates that report generation is in progress. The number of learners enrolled in your course, and whether your course has the cohort feature enabled, affect how long this process takes. This process can take some time to complete, but you can navigate away from this page and do other work while it runs.
To track the progress of the report process, reload the page in your browser and scroll down to the Pending Tasks section.
To open or save a student profile report, select the
{course_id}_student_profile_info_{date}.csv
file name at the bottom of
the page.
All learner-supplied data is included in this file without truncation. For more information, see Columns in the Student Profile Report.
To view learner data, follow these steps.
View the live version of your course.
Select Instructor, and then select Student Admin.
To display data about enrolled learners, select List enrolled students’ profile information.
A table of profile data displays, with one row for each enrolled learner. Longer values, such as goals, are truncated. For more information, see Columns in the Student Profile Report.
Some of the tools that are available for use with the edX platform, including external graders and surveys, work with anonymized learner data. If it becomes necessary for you to deanonymize previously anonymized data, you can download a CSV file to use for that purpose.
To download a file of assigned user IDs and anonymized user IDs, follow these steps.
You are prompted to open or save the {course-id}-anon-id.csv file for your course. This file contains the user ID that is assigned to each learner at registration and its corresponding edX-wide anonymized user ID and course specific anonymized user ID. Values are included for every learner who ever enrolled for your course.
To research and deanonymize learner data, you can use this file together with
the {course_id}_student_profile_info_{date}.csv
file of learner data or the
{course_id}_grade_report_{date}.csv
file of grades.
To review learner answers to the problems in your course, you can review the answer submitted by a selected learner for a specific problem or download a course-wide report of any learner answers to a specific problem. You can also download an answer distribution report for course problems.
Learner answer distribution data, including both charts and reports, is also available from edX Insights. For more information, see Using edX Insights.
You can review a single learner’s complete submission history for a specific problem, or the answers submitted by all learners for that problem. For either a single learner or all learners, you can review the exact response submitted, the number of attempts made, and the date and time of the submission.
Before you can check the answer or answers submitted by a learner, you need the learner’s username. For more information about how to obtain usernames, see Download or View Learner Data.
To review a response submitted by a learner, follow these steps.
Information about the response or responses provided by the learner displays. For more information, see Interpret a Learner’s Submission History.
To close the Submission History Viewer, click on the browser page outside of the viewer.
The Submission History Viewer shows every timestamped database record of the interactions between a learner and a problem, which can include processes completed both in the browser and on the server. These records appear with the most recent interaction at the top of the Submission History Viewer, followed by each previous interaction.
This topic provides an example submission history for a CAPA problem with guidelines that can help you interpret a submission history. The number and complexity of the records that appear in this report vary based on the type of problem and the settings and features defined.
Record 1: Problem Viewed (Server)
The first interaction, shown at the bottom of the Submission History, records when the server delivered the problem component to the browser for the learner to view.
#1: 2015-09-04 08:34:53+00:00 (America/New_York time)
Score: None / None
{
"input_state": {
"e58b639b86db44ca89652b30ea566830_2_1": {}
},
"seed": 1
}
Record 2: Problem Checked (Browser)
The next interaction shown as you scroll up from the bottom records when the
learner selected Submit in the browser to submit an answer. Note that this
record does not contain the actual answer submitted. The answer choice is
indicated using a choice identifier: choice_1
in this example.
Note
The numbering of choice identifiers starts at choice_0
, so that
choice_0
represents your first answer choice, choice_1
represents
your second answer choice, and so on.
#2: 2015-09-04 08:35:03+00:00 (America/New_York time)
Score: 0.0 / 1.0
{
"input_state": {
"e58b639b86db44ca89652b30ea566830_2_1": {}
},
"seed": 1,
"student_answers": {
"e58b639b86db44ca89652b30ea566830_2_1": "choice_1"
}
Record 3: Problem Checked (Server)
The next interaction records the results of the server processing that occurred
after the learner submitted the answer. This record includes
student_answers
with the submitted answer value, along with attempts
,
correctness
, and other values.
#3: 2015-09-03 18:15:10+00:00 (America/New_York time)
Score: 0.0 / 1.0
{
"attempts": 1,
"correct_map": {
"e58b639b86db44ca89652b30ea566830_2_1": {
"answervariable": null,
"correctness": "incorrect",
"hint": "",
"hintmode": null,
"msg": "",
"npoints": null,
"queuestate": null
}
},
"done": true,
"input_state": {
"e58b639b86db44ca89652b30ea566830_2_1": {}
},
"last_submission_time": "2015-09-03T18:15:10Z",
"seed": 1,
"student_answers": {
"e58b639b86db44ca89652b30ea566830_2_1": "choice_1"
}
}
Record 4: Problem Retried (Browser)
When a problem gives learners multiple attempts at the correct answer, and the learner tries again, an additional record is added when a learner selects Submit again. The server has not yet processed the new submission, so the data in the record is almost identical to the data in record 3.
Record 5: Problem Retried (Server)
The most recent interaction in this example records the results after the
learner attempts the problem again and submits a different answer. Note the
differences between values in this record and in record 3, including the
reported Score
and the values for student_answers
, attempts
, and
correctness
.
#5: 2015-09-03 18:15:17+00:00 (America/New_York time)
Score: 1.0 / 1.0
{
"attempts": 2,
"correct_map": {
"e58b639b86db44ca89652b30ea566830_2_1": {
"answervariable": null,
"correctness": "correct",
"hint": "",
"hintmode": null,
"msg": "",
"npoints": null,
"queuestate": null
}
},
"done": true,
"input_state": {
"e58b639b86db44ca89652b30ea566830_2_1": {}
},
"last_submission_time": "2015-09-03T18:15:17Z",
"seed": 1,
"student_answers": {
"e58b639b86db44ca89652b30ea566830_2_1": "choice_2"
}
}
The Student State report lists the answers that every learner has submitted for one or more problems. You can download this report for just one problem, or for all of the problems in a course, section, subsection, or unit at one time.
Note
The report is limited to 5000 responses. If you expect more than 5000 responses, try generating the report on a section, subsection, or unit basis. Contact your site administrator if you want to increase your response limit.
To download the Student State report for one or more problems, follow these steps.
View the live version of your course.
On the Instructor tab, select Data Download.
In the Reports section, locate and select Select a section or problem.
Use the arrow icons in the dropdown list to select the section, subsection, unit, or problem that you want. You can also select the entire course.
If you select a course, section, subsection, or unit, the Student State report includes all of the problems in that part of the course.
Select Download a CSV of problem responses.
At the bottom of the page, select the
{course_id}_student_state_from_{problem_location}_{date}.csv
file.
Use a text editor or spreadsheet application to open the file. For more information, see Interpret the Student State Report.
The Student State report contains a row for each learner who has viewed a problem or submitted an answer for a problem, identified by username.
The .csv file contains the following columns.
Column | Description |
---|---|
Username | The student’s username. |
Title | The display name or title of the problem or course component. |
Question | The question(s) that were asked to the student. |
Answer | The student’s answer(s), in human-readable text. |
Location | The location of the problem or component in the course. For example, Introduction > Overview > Testing Your Knowledge (section, subsection, and unit). |
State | The detailed JSON data with details in the student’s submission (not human-readable). |
Block_key | The ID or key of the XBlock. Note that non-interactive XBlocks, such as HTML/text blocks, will not appear in the report. |
The State column reports the results of the server processing for each learner’s most recently submitted answer. When you open the report, the value in the State column appears on a single line. This value is a record in JSON format. An example record for a text input CAPA problem follows.
{"correct_map": {"e58b639b86db44ca89652b30ea566830_2_1": {"hint": "", "hintmode": null, "correctness": "correct", "msg": "", "answervariable":
null, "npoints": null, "queuestate": null}}, "input_state":
{"e58b639b86db44ca89652b30ea566830_2_1": {}}, "last_submission_time":
2015-10-26T17:32:20Z", "attempts": 3, "seed": 1, "done": true,
student_answers": {"e58b639b86db44ca89652b30ea566830_2_1": "choice_2"}}
You can use a JSON “pretty print” tool or script to make the value in the State column more readable, as in the following example.
{
"correct_map": {
"e58b639b86db44ca89652b30ea566830_2_1": {
"hint": "",
"hintmode": null,
"correctness": "correct",
"msg": "",
"answervariable": null,
"npoints": null,
"queuestate": null
}
},
"input_state": {
"e58b639b86db44ca89652b30ea566830_2_1": {
}
},
"last_submission_time": "2015-10-26T17:32:20Z",
"attempts": 3,
"seed": 1,
"done": true,
"student_answers": {
"e58b639b86db44ca89652b30ea566830_2_1": "choice_2"
}
}
When you add line breaks and spacing to the value in the State column for this CAPA problem, it becomes possible to recognize its similarity to the server problem check records in the Submission History. For more information, see Interpret a Learner’s Submission History.
A State value that appears as follows indicates a learner who has viewed a CAPA problem, but not yet submitted an answer.
{"seed": 1, "input_state": {"e58b639b86db44ca89652b30ea566830_2_1": {}}}
For open response assessment problems, the State value appears as follows for learners who have submitted an answer.
{"submission_uuid": "c359b484-5644-11e5-a166-0a4a2062d211", "no_peers": false}
For open response assessment problems, "no_peers": false
indicates that the
learner has completed at least one peer assessment, while "no_peers": true
indicates that no peer assessments have been submitted.
For certain types of problems in your course, you can download a .csv file with data about the distribution of learner answers. Student answer distribution data is included in the file for problems of these types.
<choiceresponse>
)<optionresponse>
)<multiplechoiceresponse>
)<numericalresponse>
)<stringresponse>
)<formularesponse>
)The file includes a row for each problem-answer combination selected by your learners. For example, for a problem that has a total of five possible answers the file includes up to five rows, one for each answer selected by at least one learner. For problems with Randomization enabled in Studio (sometimes called rerandomization), there is one row for each problem-variant-answer combination selected by your learners. For more information, see Defining Settings for Problem Components.
Note
Certain types of problems can be set up to award partial credit. When a learner receives either the full or a partial score for a problem, this report includes that answer as correct.
The .csv file contains the following columns.
Column | Description |
---|---|
ModuleID | The internal identifier for the problem component. |
PartID | For a problem component that contains multiple problems, the internal identifier for each individual problem. For a problem component that contains a single problem, the internal identifier of that problem. |
Correct Answer | 0 if this AnswerValue is incorrect, or 1 if this AnswerValue is correct. For a problem that is set up to award partial credit, 1 if the AnswerValue awards either the full or a partial score. |
Count | The number of times that learners entered or selected this answer as their most recent submission for the problem or problem variant. For problems with the number of Attempts set to a value greater than 1, this means that each learner contributes a maximum of 1 to this count, even if the same answer is provided in multiple attempts. |
ValueID | The internal identifier of the answer choice for checkboxes and multiple choice problems. Blank for dropdown, numerical input, text input, and math expression input problems. Note that the numbering of choice identifiers starts at |
AnswerValue | The text label of the answer choice for checkboxes, dropdown, and multiple choice problems. The value entered by the learner for numerical input, text input, and math expression input problems. |
Variant | For problems that use the Randomization setting in Studio, contains the unique identifier for a variant of the problem. Blank for problems that do not use the Randomization setting, or that use the Never option for this setting. |
Problem Display Name | The Display Name defined for the problem. |
Question | The text in the problem that is identified with accessible label
formatting. In Studio’s The Simple Editor, this text appears with two
angle brackets on either side pointing inward. For example, >>Is this
the question text?<< . This column does not include a value for
problems that do not have an accessible label defined. |
Entries are sorted by the value in each column, starting with the ModuleID on the left and continuing through the columns to the right.
An automated process runs periodically on the edX servers to update the .csv file of learner answer data. A link to the most recently updated version of the .csv file is available on the Instructor Dashboard.
To download the most recent file of learner answer data, follow these steps.
{course_id}_answer_distribution.csv
file. You may have to scroll down to
find this file.Answers to questions about the student answer distribution report follow.
My course doesn’t have a student answer distribution report. How can I generate it?
Student answer distribution reports are generated automatically, and refreshed
several times each day. The {course_id}_answer_distribution.csv
file
displays after all of the {course_id}_grade_report_{date}.csv
files. Be
sure to scroll to the end of the list of available reports.
Why are some problems missing from this report? The ones that are missing do have the problem types listed under Answer Data.
This report includes only problems that at least one learner has answered since early March 2014. For those problems, this report only includes activity that occurred after October 2013.
Why don’t I see an AnswerValue for some of my problems?
For checkboxes and multiple choice problems, the answer choices actually selected by a learner after early March 2014 display as described in the previous answer. Answer choices selected by at least one learner after October 2013, but not selected since early March 2014, are included on the report but do not include an AnswerValue. The ValueID does display the internal identifiers, such as choice_1 and choice_2, for those answers.
Why don’t I see a Question for some of my problems?
The value in the Question column is the question text that you identified for the problem with the accessible label formatting. If you did not identify question text for the problem, you will not see a question. For more information about how to set up accessible labels for problems, see The Simple Editor.
Also, for problems that use the Randomization setting in Studio, if a particular answer has not been selected since early March 2014, the Question is blank for that answer.
My learners are saying that they answered a question, but it isn’t showing up in the report. How can that be?
Only questions that have a Maximum Attempts setting of 1 or higher are included on the report.
I made a correction to a problem after it was released. How can I tell which learners tried to answer it before I made the change?
Problem Count values reflect the entire problem history. If you change a problem after it is released, it may not be possible for you to determine which answers were given before and after you made the change.
Why is the same answer showing up in two different rows when I view the report in a spreadsheet?
Some spreadsheet applications can alter the data in the .csv report for display purposes. For example, for different learner answers of “0.5” and “.5” Excel correctly includes the two different lines from the .csv, but displays the AnswerValue on both of them as “0.5”. If you notice answers that appear to be the same on separate lines with separate counts, you can review the actual, unaltered data by opening the .csv file in a text editor.
Why are there strange characters in the report when I view it in a spreadsheet?
The .csv file is UTF-8 encoded, but not all spreadsheet applications interpret and render UTF-8 encoded characters correctly. For example, a student answer distribution report with answer values in French displays differently in Microsoft Excel for Mac than in OpenOffice Calc.
Answer Values in Microsoft Excel for Mac:
![]()
Answer Values in OpenOffice Calc:
![]()
If you notice characters that do not display as expected in a spreadsheet, try a different spreadsheet application such as LibreOffice or Apache OpenOffice to open the .csv file.
You can use the Student Answer Distribution report to review learner responses to assignments, which can then help you evaluate the structure and completeness of your course content and problem components.
As an example, you define a text input question in Studio to have a single correct answer, “Warfarin”. When you produce the Student Answer Distribution report, you verify that this answer was in fact marked correct: there is a 1 in the Correct Answer column for this AnswerValue.
However, as you view the report you notice other learner answers that you did not set up to be marked as correct in Studio, but that you might (or might not) also consider to be correct, such as “Warfarin or Coumadin”. The Correct Answer column shows that the other answers were marked incorrect (0), but for future iterations of your course you may want to revise the question or update the problem to evaluate additional variations of the answer as correct.
Many spreadsheet applications offer data visualization options, such as charts or graphs. Charts can help make your learners’ common misconceptions easier to identify.
In this example, the Student Answer Distribution report is open in Microsoft Excel. To create a chart that shows how many of your learners chose various answers to a multiple choice question, you move the AnswerValue and Count columns next to each other. After you click and drag to select the report cells that contain the data you want to chart, you select the Charts toolbar and then select the type of chart you want.
Note
Refer to the help for the spreadsheet application that you use for information on using these options. You may have to make changes to your spreadsheet, such as reordering columns. Save a copy of the file you originally downloaded as a backup before you begin.
You can adjust your course content based on common mistakes. While most learners in this example selected the correct answer, the number of incorrect answer(s) can guide future changes to the course content.
You can review information about how grading is configured for your course, and access learner grades, at any time after you create the course. You can also make adjustments to learner grading for a problem, for a single learner or all learners. For information about the grading data that you can access and the changes you can make, see the following topics.
To review learner answers to course problems, you can check the answer submissions for a specific problem, either for a selected learner or for all learners. You can also review answer distribution data for all of the problems. See Answer Data.
For open response assessments, you can generate an ORA data report that provides details of each learner’s response and of assessments that were performed on each response. For details, see Generate a Report for ORA Assignments.
For information about how you establish a grading policy and work with the Problem components in your course, see Establishing a Grading Policy For Your Course or Working with Problem Components.
You can review the assignment types that are graded and their respective weights in the LMS by selecting Instructor to access the instructor dashboard.
You establish a grading policy for your course when you create it in Studio. While the course is running, you can view an XML representation of the assignment types in your course and how they are weighted to determine learners’ grades.
View the live version of your course.
Select Instructor, and then select Data Download > Grading Configuration.
A list of the assignment types in your course displays. In this example, Homework is weighted as 0.3 (30%) of the grade.
In Studio, you define this information by selecting Settings and then Grading. For more information, see Configure the Assignment Types.
Important
Any changes that you make to the course grading policy, to graded subsections, or to graded components after the course begins will affect learners’ grades and their experience in the course as well as analysis of course data.
EdX recommends that you announce any unavoidable grading related changes to learners by using, for example, updates on the Course page. You should also carefully track such changes for researchers.
For any course, you can generate grades and then download a file with the results for all learners in the course, including unenrolled learners. EdX recommends that you generate a grade report as soon as certificates have been issued for your course.
When you initiate calculations to grade learner work, a process starts on the edX servers. The complexity of your grading configuration and the number of learners in your course affect how long this process takes. You can download a report of the calculated grades in a comma-separated values (.csv) file when the grading process is complete.
You also have the option to review learner grades on the instructor dashboard. For more information, see Review Learner Grades on the Instructor Dashboard.
To generate and download the grade report for the learners in your course, follow these steps.
Important
Because the grade report file contains confidential, personally identifiable data, be sure to follow your institution’s data stewardship policies when you open or save this file.
View the live version of your course.
Select Instructor, and then select Data Download.
To start the grading process, select Generate Grade Report.
A status message indicates that the grading process is in progress. This process can take some time to complete, but you can navigate away from this page and do other work while it runs.
To check the progress of the grading process, reload the page in your browser and scroll down to the Pending Tasks section. The status of active tasks is shown in the table.
When the report is complete, a linked .csv file name becomes available above
the Pending Tasks section. File names are in the format
{course_id}_grade_report_{datetime}.csv
. The most recently generated
reports appear at the top of the list.
To open or save a grade report file, locate and select the link for the grade report you requested.
You can open .csv files in a spreadsheet application to sort, graph, and compare data.
Note
To prevent the accidental distribution of learner data, you can download grade report files only by selecting the links on this page. Do not copy these links for reuse elsewhere, as they expire within 5 minutes. The links on this page also expire if the page is open for more than 5 minutes. If necessary, refresh the page to generate new links.
A grade report for your course is a time-stamped .csv file that identifies each learner by ID, email address, and username, and provides a snapshot of their cumulative course scores.
Scores in the grade report are presented by assignment. There is a column for every assignment that is included in your grading configuration: each homework, lab, midterm, final, and any other assignment type you added to your course.
Note
The grade report does not include information about individual problems within assignments, or include learner answer distributions. For a report that shows problem-level information, see Generate a Problem Grade Report for All Learners in a Course.
The report indicates the enrollment track for each learner. For professional and verified track learners it also shows whether they have verified their identity. The report shows whether each learner is eligible to receive a certificate (determined by whether he has earned a passing grade at the time the report was requested), whether a certificate has been generated, and the type of certificate earned.
If your course includes cohorts, content experiments, or teams, the grade report includes additional columns indicating the name of the cohort, experiment group, or team that each learner belongs to.
The grade report .csv file contains one row of data for each learner, and columns that provide the following information.
Learner identifiers, including an internal Student ID, Email address, and Username.
The overall Grade, with the total score a learner has currently attained in the course. This value is expressed as a decimal: a learner with a grade of 0.65 has earned 65% of the credit in the course, and a learner with a grade of 1 has earned 100%.
Each {assignment type} {number} defined in your grading configuration, with the score that the learner attained for that specific assignment. For example, column Homework 3 shows the scores for the third homework assignment. If the learner did not attempt the assignment, the value is “Not Attempted”. If the assignment was not available for the learner, the value is “Not Available”.
An {assignment type} (Avg) with each learner’s current average score for that assignment type: for example, “Homework (Avg)”. This column is not included if a particular assignment type has only one assignment.
This assignment type average takes both dropped assignments and the assignment weight into account. For example, if the course includes five homework assignments and the course grading policy allows one homework assignment with the lowest score to be dropped, the homework assignment average in this grade report is calculated over four homework assignments rather than five. This average is then multiplied by the assignment weight to calculate the assignment type average.
If cohorts are used in the course, a Cohort Name column indicates the name of the cohort that each learner belongs to, including the default cohort. The column is empty for learners who are not yet assigned to a cohort.
If content experiments are used in the course, an Experiment Group column indicates the name of the experiment group that each learner belongs to within a group configuration. The column heading includes the name of the group configuration. The column is empty for learners who are not assigned to an experiment group. If you have more than one experiment group configuration in your course, you see one column for each group configuration.
If teams are enabled in the course, a Team Name column indicates the name of the team that each learner belongs to. The column is empty for learners who have not joined a team.
The Enrollment Track column indicates whether each learner is enrolled in the course in the honor code, verified, or professional education track.
The Verification Status column indicates whether learners who are enrolled in course tracks that require ID verification have successfully verified their identities to edX by submitting an official photo ID via webcam. The value in this column is “N/A” for learners enrolled in course tracks that do not require ID verification, such as “Audit”.
A value of “Not ID Verified” in this column indicates that the learner is enrolled in a course mode that requires ID verification, such as “Verified”, but she has not attempted ID verification, or her ID verification has failed or expired. A value of “ID Verified” indicates that the learner is enrolled in a course mode that requires ID verification, and her ID verification is current and valid.
The Certificate Eligible column indicates whether a learner is eligible for a certificate for your course.
The value in this column is “Y” for the following learners.
The value is “N” for the following learners.
For learners who are eligible to receive a certificate, the Certificate Delivered column has a value of “Y” when the certificates for a course have been generated. The value is “N” for learners who are not eligible to receive a certificate.
The Certificate Type column indicates the type of certificate that the learner is eligible for, such as “honor” or “verified”. If a learner is not eligible for a certificate, or if the certificates for a course have not yet been generated, the value in this column is “N/A”.
The Enrollment Status column indicates whether the learner is currently enrolled or unenrolled in the course.
For any course, you can calculate grades for problems and generate a report that can be downloaded. The problem grade report for a course shows the number of points that each learner has earned for each problem, and the number of possible points for every problem in the course. In addition, the report shows the final grade score for each learner.
To generate and download the problem grade report for all learners who have ever enrolled in your course, follow these steps.
Important
Because the problem grade report file contains confidential, personally identifiable data, be sure to follow your institution’s data stewardship policies when you open or save this file.
View the live version of your course.
Select Instructor, and then select Data Download.
To start the problem grading process, select Generate Problem Grade Report.
A status message indicates that the problem grading process is in progress. This process can take some time to complete, but you can navigate away from this page and do other work while it runs.
To check the progress of the problem grading process, reload the page in your browser and scroll down to the Pending Tasks section. The status of active tasks is shown in the table.
When the report is complete, a linked .csv file name becomes available above
the Pending Tasks section. File names are in the format
{course_id}_problem_grade_report_{datetime}.csv
. The most recently
generated reports appear at the top of the list.
To open or save a problem grade report file, locate and select the link for the problem grade report you requested.
You can open .csv files in a spreadsheet application to sort, graph, and compare data.
Note
To prevent the accidental distribution of learner data, you can download problem grade report files only by selecting the links on this page. Do not copy these links for reuse elsewhere, as they expire within 5 minutes. The links on this page also expire if the page is open for more than 5 minutes. If necessary, refresh the page to generate new links.
A problem grade report for your course is a time-stamped .csv file that identifies each learner by ID, email address, and username, and provides a snapshot of earned scores compared with the possible scores for each problem.
The problem grade report includes two columns for every problem that is included in your grading configuration. For each homework, lab, midterm, or final exam problem, there is one column for earned points, and one column for possible points. In addition, the report shows the final grade score for each learner, expressed as a decimal.
The .csv file contains one row of data for each learner, and columns that provide the following information.
You can review a gradebook for a course on the instructor dashboard. To review grades for a course, follow these steps.
View the live version of your course.
Select Instructor, and then select Student Admin.
Select View Gradebook. Grades are calculated and the Gradebook displays.
The gradebook displays a table, with a row for each learner enrolled in the course, listed by user name, and a column for each assignment in the course. The gradebook includes the following features.
Note
Master’s-only feature
This feature is available in courses with a Master’s track, to support bulk grade adjustments or curving. It allows you to override subsection (i.e. assignment or exam) grades for in bulk by uploading a file.
Note
Grade overrides apply to all learners enrolled in supported courses. There is a size limit of 4MB (~10k learners) for uploaded files. If your Master’s track course is bigger than this, you’ll have to upload grading files in chunks.
To override grades in bulk, follow these steps.
It can take several minutes for the file upload to complete and grades to be fully updated.
You can find a history of files uploaded and summary of results in the table at the bottom of the screen.
Note
Master’s-only feature
This feature is available in courses with a Master’s track, to support manual learning interventions. It allows you to export per-learner progress and grade information for Master’s track learners, and enables you to identify and reach out to learners who may need additional help.
To download and view the interventions report, follow these steps:
The report file contains per-learner information for learners in the Master’s track, including:
Learner data is updated every day to include activity through the end of the previous day (23:59 UTC).
To check a single learner’s progress in your course, you can review the data in the grade report or problem grade report, or review the learner’s Progress page.
A learner’s Progress page includes a chart that plots the score that the learner has earned for each graded assignment and the total grade, as of the current date. Below the chart, scores for every assignment by subsection, including ungraded assignments, are listed.
Both in the chart on the Progress page and in the problem grade report, learners’ assignment scores are grouped by assignment type rather than in the order that they occur in the course. In the bar chart on the Progress page, the total score that a learner has earned for the course appears after the individual assignment scores, while in the problem grade report, the total score appears before the individual assignment scores.
To view a specific learner’s Progress page, you need their email address or username. You can check the progress for learners who are either enrolled in, or who have unenrolled from, the course.
Learners can view their own progress chart and assignment scores when they are logged in to the course.
To view the Progress page for a specific learner, follow these steps.
View the live version of your course.
Next to View this course as, select Specific student.
In the Username or email field that appears, enter the learner’s username or email address, and then press the Enter key on your keyboard.
Select the Progress page.
The Progress page for the learner displays a chart with the grade for each homework, lab, midterm, final, and any other assignment types in your course, and the total grade earned for the course to date.
The Progress page for each learner displays a chart that summarizes her progress through the course, with entries for each graded assignment, the average score by assignment type, the total percentage earned in the course so far, and the percentage grade needed for each grade cutoff. This chart is essentially a graphical representation of the data in the problem grade report. However, the chart does not reflect any cohort or experiment group assignments.
The chart’s y-axis shows the range of grade percentages from 0 to 100%, and includes labels for the grade ranges defined for the course. For example, if a course is a pass/fail course with a grade of 60% required to pass, the y-axis displays a label “Pass” at the 60% level. If a course has grade levels “A”, “B”, and “C” defined at 90%, 70%, and 50% respectively, the y-axis displays labels at each of those levels.
The learner’s scores for each graded assignment in the course are listed along the x-axis, with the height of each bar indicating the percentage score for that assignment. Assignments are grouped by assignment type, rather than being listed in order of occurrence in the course. A bar for the average of each assignment type is included, as well a bar for the total cumulative grade that the learner has earned to date in the course.
To learn more about a particular assignment, move the cursor onto the value in the chart. A brief description displays. A dropped assignment is indicated in the chart by an x above the horizontal axis.
Below the chart on the Progress page is a list of all the subsections in the course, with the learner’s scores for the problems in each subsection. Point scores from graded sections are labelled as “Problem Scores”, while point scores from ungraded sections are called “Practice Scores”.
Note
Learner scores on the Progress page are a snapshot of the scores that were calculated when learners submitted answers to the problems. It is possible that the scores displayed on the Progress page are different from scores that would be obtained if you recalculated them today, if changes were made to the problems.
For example, if the course team changes a released problem’s total possible points, learners who submitted answers to the problem before the change will have grades on the Progress page that do not reflect the problem’s new number of total possible points. This asynchronicity will remain until either the course team rescores the changed problem, or until affected learners resubmit responses to the changed problem.
We’re providing a way to allow extending subsection due dates per individual learner.
This could be used to support special circumstances, personal emergencies, and disabilities accommodations.
Note: This feature currently only extends assignment due dates - it does not cover other due dates - e.g. for Open Response Assessments
To extend a deadline for a learner, visit the Extensions tab on the Instructor Dashboard
You can also use this tab to view all deadlines or reset a deadline.
This feature is supported in courses published after June 1, 2019. To enable for an older course, first Publish the course from Studio. If you have questions, please contact your edX Project Coordinator.
If you modify a problem or its settings after learners have attempted to answer it, we recommend that you rescore the changed problem so that learners’ grades are updated.
You can adjust an individual learner’s score for a problem using either the Staff Debug Info option in the course, the gradebook that you can access from the Student Admin tab of the instructor dashboard in the LMS, or on the Student Admin tab of the instructor dashboard in the LMS. To adjust the scores for all enrolled learners at once, you use the options on the Student Admin tab of the instructor dashboard in the LMS. If you use the options in the instructor dashboard Student Admin tab, you need to obtain the unique location identifier of the problem.
The following sections describe the various ways in which you can adjust learners’ scores when you cannot avoid making a correction or other change to a problem.
In some cases, you might want to change, or override, the score that Studio has given a learner for a specific problem. For example, you might receive an email message that explains extenuating circumstances for a learner. You can change an individual learner’s score for a problem using either the instructor dashboard Gradebook, the instructor dashboard Student Admin page, or the Staff Debug viewer for the problem.
To override a learner’s score for a specific subsection by using the instructor dashboard Gradebook, follow these steps.
View the live version of your course in the LMS.
Select Instructor, and then select Student Admin.
Select View Gradebook.
Enter the learner’s user name in the Search field.
Click the score for the assignment that you want to modify. The Edit Grades dialog opens, displaying the assignment name, the learner’s user name, and the current grade for the assignment.
In the Adjusted grade field, enter the new grade for the learner on this assignment and select Save Grade.
To override a learner’s score for a specific problem by using the instructor dashboard Student Admin page, follow these steps.
Obtain the location identifier for the problem that you want to rescore. For more information, see Find the Unique Location Identifier for a Problem.
View the live version of your course in the LMS.
Select Instructor, and then select Student Admin.
Under Adjust a learner’s grade for a specific problem, enter the learner’s email address or username, and then enter the location of the problem in the course. For more information, see Find the Unique Location Identifier for a Problem.
Under Score Override, enter the new score for the problem, and then select Override Learner’s Score.
Note
Make sure that the new score is out of the weighted total points for the problem.
In the confirmation dialog box, select OK for each of the confirmation and status messages.
To view the results of the rescore process, select Show Task Status.
A table displays the status of the override process.
To override a learner’s score for a specific problem by using the Staff Debug viewer, follow these steps.
Each problem that you create for your course includes the definition of a correct answer, and might also include a tolerance or acceptable alternatives. If you make a change to the accepted answers for a problem, you can rescore any learner responses that were already submitted.
Note
You can only rescore problems that have a correct answer defined in edX Studio, including CAPA problems and drag and drop problems. This procedure cannot be used to rescore open response assessment (ORA) problems or problems that are scored by an external grader. For ORA problems, you can override a learner assessment grade in Studio.
Additionally, errors might occur if you rescore a problem that has multiple response fields and you have completed any of the following actions.
This method of rescoring updates a learner’s score only if it improves with the rescoring. If the score is unchanged or might be lower after the rescoring, the learner’s score is not updated.
To rescore a problem for a single learner and update the score only if it improves, follow these steps.
Note
You can also rescore an individual’s submission in the Adjust a learner’s grade for a specific problem section on the Student Admin tab of the instructor dashboard. To do this, you need to obtain the location ID of the problem as well as the learner’s username or email address.
Note
Depending on the type of change you made to the problem, this method of rescoring might decrease the learner’s score. To avoid negatively affecting learner scores, you can instead rescore a learner’s submission only if the score improves.
To rescore an individual learner’s submission, follow these steps.
Note
You can also rescore an individual’s submission in the Adjust a learner’s grade for a specific problem section on the Student Admin tab of the instructor dashboard. To do this, you need to obtain the location ID of the problem as well as the learner’s username or email address.
This method of rescoring updates learners’ scores only if they improve with the rescoring. Learners’ scores that are unchanged or lower after the rescoring are not updated.
To rescore a problem for all enrolled learners in your course, and update scores only if they improve, follow these steps.
Obtain the location identifier for the problem that you want to rescore. For information, see Find the Unique Location Identifier for a Problem.
View the live version of your course.
Select Instructor, and then select Student Admin.
In the Adjust all enrolled learners’ grades for a specific problem section of the page, enter the location of the problem, and then select Rescore Only If Scores Improve.
In the confirmation dialog box, select OK for each of the confirmation and status messages.
The rescoring process can take some time to complete for all enrolled learners. You can navigate away from this page and do other work while the process runs in the background.
To view the results of the rescore process, select Show Task Status.
A table displays the status of the rescore process.
Note
Depending on the type of change you made to the problem, this method of rescoring might decrease learners’ scores. To avoid negatively affecting learners’ scores, you can instead rescore learners’ submissions only if scores improve.
To rescore a problem for all enrolled learners in your course, follow these steps.
Obtain the location identifier for the problem that you want to rescore. For information, see Find the Unique Location Identifier for a Problem.
View the live version of your course.
Select Instructor, and then select Student Admin.
In the Adjust all enrolled learners’ grades for a specific problem section of the page, enter the location of the problem, and then select Rescore All Learners’ Submissions.
In the confirmation dialog box, select OK for each of the confirmation and status messages.
The rescoring process can take some time to complete for all enrolled learners. You can navigate away from this page and do other work while the process runs in the background.
To view the results of the rescore process, select Show Task Status.
A table displays the status of the rescore process.
When you create a problem, you can limit the number of times that a learner can try to answer that problem correctly. If unexpected issues occur for a problem, you can reset the value for one particular learner’s attempts back to zero so that the learner can begin work over again. If the unexpected behavior affects all of the learners in your course, you can reset the number of attempts for all learners to zero.
Note
You cannot use this method with open response assessment (ORA) problems. To allow a learner to start an ORA problem again and resubmit responses, you must delete the learner’s state.
To reset the number of attempts for a single learner, follow these steps.
To reset the number of attempts that all enrolled learners have for a problem, follow these steps.
Obtain the location identifier for the problem whose attempts you are resetting. For more information, see Find the Unique Location Identifier for a Problem.
View the live version of your course.
Select Instructor, and then select Student Admin.
To reset the number of attempts for all enrolled learners, you work in the Adjust all enrolled learners’ grades for a specific problem section of the page. Enter the unique problem location, and then select Reset Attempts to Zero.
A dialog opens to indicate that the reset process is in progress. Select OK.
This process can take some time to complete. The process runs in the background, so you can navigate away from this page and do other work while it runs.
To view the results of the reset process, select Show Task Status.
A table displays the status of the reset process for each learner or problem.
Note
You can use a similar procedure to reset problem attempts for a single learner. You work in the Student-Specific Grade Adjustment section of the page to enter both the learner’s email address or username and the unique problem identifier, and then select Reset Student Attempts.
You can completely delete a learner’s database history, or “state”, for a problem. You can only delete learner state for one learner at a time.
For example, you realize that a problem needs to be rewritten after only a few of your learners have answered it. To resolve this situation, you rewrite the problem and then delete learner state only for the affected learners so that they can try again.
To delete a learner’s entire history for a problem from the database, you need that learner’s username or email address.
Important
Learner state is deleted permanently by this process. This action cannot be undone.
When you delete a learner’s state for an open response assessment (ORA) problem, the learner will have to start the assignment from the beginning, including submitting responses and going through the required assessment steps.
You can use either the Staff Debug Info option or the instructor dashboard to delete learner state.
To use the Staff Debug Info option, follow these steps.
To use the instructor dashboard, you must first obtain the unique identifier of the problem. See Find the Unique Location Identifier for a Problem.
When you create each of the problems for a course, edX assigns a unique location to it. To make grading adjustments for a problem, or to view data about it, you need to specify the problem location.
Location identifiers for problems can be in one of these formats.
location = block-v1:{org}+{course}+{run}+type@problem+block@{id}
, for
example, location = block-v1:edX+BlendedX+1T2015+type@problem+block@72e0f73cdf5c4d648ebec0022854f18b
location = i4x://{org}/{course}/problem/{id}
, for example,
location = i4x://edX/edX101/problem/680cc746e8ee473490841334f0235635
Courses created since Fall 2014 typically have usage IDs in the first format, while older courses have usage IDs in the second format.
To find the unique location identifier for a problem, follow these steps.
location =
, right click, and then select Copy.To close the Staff Debug viewer, click on the browser page outside of the viewer.
This topic describes how to access data about certificates that have been issued for a course.
For more information, see the following other topics about certificates.
You can view data about the certificates that have been issued for your course in the LMS by selecting Instructor to access the instructor dashboard. You can also download a .csv (comma-separated values) file with the certificate data.
To view certificate data, follow these steps.
View the live version of your course.
Select Instructor, and then select Data Download.
Select View Certificates Issued.
A table of certificate data is displayed, with one row for each type of certificate issued. For more information on the contents of this report, see Columns in the Certificate Report.
To download certificate data, follow these steps.
View the live version of your course.
Select Instructor, and then select Data Download.
Select Download CSV of Certificates Issued.
The CSV file is downloaded to your computer.
For more information on the contents of this file, see Columns in the Certificate Report.
The certificate report includes a row for each type of certificate issued for the course.
Column | Description |
---|---|
CourseID | The unique ID of the course for which you are viewing certificate data. |
Certificate Type | The type of certificate issued. For example, Verified or Honor. |
Total Certificates Issued | The number of certificates of the specific type that have been issued to learners as of the report date. |
Date Report Run | The date the report was created. |
This topic describes how to complete several end-of-course tasks.
For more information, see the following other topics about certificates.
As you prepare for the end of your course, you can send learners a course farewell email message.
To assign a final grade to each learner enrolled in a course, you generate grades after the course end date and time have passed. For more information, see Generate a Grade Report for All Learners in a Course.
The learner’s final grade and the grading configuration you set in Studio determine whether the learner has earned a certificate for the course.
Note
Before you can issue certificates, the administrator for your instance of Open edX must configure the platform to allow course teams to generate and issue certificates. For more information, see Generate Certificates For a Course and Enabling Course Certificates in Installing, Configuring, and Running the Open edX Platform.
Studio automatically generates certificates for both self-paced courses and instructor-paced courses. When certificates become available, options for learners to view their certificates are available on the learner dashboard, the learner Profile page, and the course Progress page.
You can specify when you want to make certificates available.
For self-paced courses, by default, Studio generates certificates for learners when they have completed enough of the course, and with a high enough grade, to qualify for a certificate.
If you want Studio to generate certificates only after learners have completed the course, you can disable this feature. For more information, see Allow Learners to Receive Early Certificates.
For instructor-paced courses, three options are available.
- By default, certificates become available to learners 48 hours after your course end date. If you change your course end date, Studio automatically adjusts the date for certificates as well.
- You can specify a different date to make certificates available. For more information, see Specify a Different Certificates Available Date.
- You can allow learners to receive their certificates when they have completed enough of the course, and with a high enough grade, to qualify for a certificate. For more information, see Allow Learners to Receive Early Certificates.
If you do not want Studio to generate certificates 48 hours after the course end date, you can specify the date when you want Studio to generate certificates. You can change this date at any time.
For more information about how to specify a day to issue certificates, see Specify a Different Certificates Available Date.
To allow learners to receive certificates before the course end date or before they have completed the course, you use the Enable Student-Generated Certificates setting on the instructor dashboard.
Note
By default, self-paced courses issue certificates to learners as soon as learners have completed enough of the course, with a high enough grade, to earn a certificate. You do not have to change any settings.
View the live version of your course.
In the LMS, select Instructor, and then select Certificates.
Select Enable Student-Generated Certificates.
To prevent learners from receiving early certificates, select Disable Student-Generated Certificates.
To allow learners to download early certificates, you modify the Certificates Display Behavior advanced setting in Studio.
"early_no_info"
.
Be sure that you include the double quotation marks.Use the topics in this section to learn about re-running your course.
For information on how to develop your course content in the Studio Outline, see Developing Your Course.
Another way to create a course in Studio is to re-run an existing course. When you re-run a course, most, but not all, of the original course content is duplicated to the new course. The original course is not changed in any way.
Type of Content | Duplicated to New Course? |
---|---|
Course start date | No. Set to midnight on January 1, 2030 (UTC). |
All other course dates | Yes. You must update all release dates and due dates. |
Course structure (sections, subsections, units) and state (published, hidden) | Yes. |
Individual problems and other components | Yes. |
Files uploaded to the course, including videos and textbooks | Yes. |
Pages added to the course | Yes, including all page content and the defined page order. |
Course updates | Yes. |
Prerequisite course subsection settings | No. |
Advanced settings | Yes. |
Grading policy | Yes. |
Student enrollment data | No. |
Course team privileges, including admins, discussion moderators, beta testers | No. Only the user who created the new course has access to it. |
Manually created cohorts | No. |
Student answers, progress, and grading data | No. |
Certificates | Yes. |
Discussion posts, responses, comments, and other data | No. |
Wiki contributions | No. |
After you create a re-run course, modifications to the original course and the re-run course are independent. Changes to either course have no effect on the other course. Therefore, you should ensure that the original course content is as complete as possible before you re-run the course.
For more information, see Re-Run a Course and Update the New Course.
Note
After the end date for a course has passed, the course moves to the Archived Courses tab on the Studio dashboard. If the course that you want to re-run is not visible on the Courses tab, look for the course on the Archived Courses tab.
To re-run a course, the course team can use the course Import and Export options, or a system administrator can use the Re-Run Course option. Note that the Import and Export method takes less time than the Course Re-Run option because this method does not require action from a system administrator.
To use the import and export options to re-run a course, follow these steps.
In Studio, open the course that you want to re-run.
In Studio, create a new course.
Note
You must have course creation privileges to create a new course. If you do not have course creation privileges, contact a member of the course team who has these privileges, or your organization’s administrator.
In the new course, import the content from the previous course.
After the import operation is complete, review and update the settings and content for the new course.
Note
Before you re-run a course, make sure that its settings and content are complete. Additions and changes that you make to the original course after you create the new course have no effect on the new course.
Only global or system administrators have the permissions needed to re-run a course. To re-run a course, contact your system administrator. After your system administrator creates a new course using the re-run feature, you can complete the steps to update the new course.
To re-run a course, users who have the required permissions follow these steps.
Sign in to Studio. Your dashboard lists the courses that you have access to as a course team member.
Move your cursor over each row in the list of courses. The Re-Run Course and View Live options appear for each course.
Locate the course you want to re-run and select Re-Run Course. The Create a re-run of a course page opens with values already supplied in the Course Name, Organization, and Course Number fields.
In the Course Run field, indicate when the new course will be offered.
Together, the course number, the organization, and the course run are used to create the URL for the new course. The combination of these three values must be unique for the new course. In addition, the total number of characters used for the name, organization, number, and run must be 65 or fewer.
Select Create Re-Run. Your My Courses dashboard opens with a status message about the course creation process.
Duplication of the course structure and content takes several minutes. You can work in other parts of Studio or in the LMS, or on other web sites, while the process runs. The new course appears on your My Courses dashboard in Studio when configuration is complete.
When you create a course by re-running another course, you must carefully review the settings and content of the new course. To assure a quality experience for learners, be sure to test the course thoroughly before the course start date. See Testing Your Course Content and Beta Testing a Course.
At a minimum, you must make the following changes to prepare the new course for release.
The following additional changes can also improve the experience of learners who enroll in the new course run.
Review the files on the Files & Uploads page. To update a file that contains references to course-related dates, you must complete the following steps.
Note
If you use the same file name when you upload a revised file, links to that file in course components and course handouts will continue to work correctly. If you rename a file and then upload it, you must also update all links to the original file name. See Add a Course Handout or Add a Link to a File.
Review the staff biographies and other information on the course About page and make needed updates. See Planning Course Information and Planning Course Run Information.
Create initial posts for discussion topics and an “introduce yourself” post. See Creating Course Discussions.
Add initial wiki articles.
For a course that includes core problem types, including checkbox, text input, or math expression input problems, review the Markdown-style formatting or OLX markup of any problems created before September 2016. For more information about the updates that you can make to improve the accessibility of these problem types, see the Release Notes.
If your course uses prerequisite course subsections to hide course subsections until learners complete other, prerequisite subsections, configure the prerequisite course subsections. See Prerequisite Course Subsections.
If your course includes instructions for learners, verify that the instructions reflect the current user interface of the LMS.
For example, you could revise a description of the problem Check button, which was accurate before October 2016, to reflect its new label, Submit.
For more information about tools and ideas that can help you prepare a course for launch, see Course Launching Activities.
Note
Changes you make in the new course have no effect on the original course.
A - C - D - E - F - G - H - I - K - L - M - N - O - P - R - S - T - V - W - XYZ
Note
Most of the links to documentation provided in this glossary are to the Building and Running an edX Course guide, for edX partners. Many of the same topics are available in the Open edX version of this guide, Building and Running an Open edX Course: Ironwood Release.
AAC
Advanced audio coding (AAC) is an audio coding standard for digital audio compression. AAC is the standard format for YouTube.
A/B test
See Content Experiment.
About page
The course page that provides potential learners with a course summary, prerequisites, a course video and image, and important dates.
accessible label
In a problem component, you use special formatting to identify the specific question that learners will answer by selecting options or entering text or numeric responses.
This text is referred to as the accessible label because screen readers read all of the text that you supply for the problem and then repeat the text that is identified with this formatting immediately before reading the answer choices for the problem. This text is also used by reports and Insights to identify each problem.
All problems require accessible labels.
For more information, see The Simple Editor.
advanced editor
An OLX (open learning XML) editor in a problem component that allows you to create and edit any type of problem. For more information, see The Advanced Editor.
Amazon Web Services (AWS)
A third-party file hosting site where course teams can store course assets, such as problem files and videos. If videos are posted on both YouTube and AWS, the AWS version of the video serves as a backup in case the YouTube video does not play.
assignment type
The category of graded student work, such as homework, exams, and exercises. For more information, see Establishing a Grading Policy For Your Course.
CAPA problem
A CAPA (computer assisted personalized approach) problem refers to any of the problem types that are implemented in the edX platform by the
capa_module
XBlock. Examples range from text input, drag and drop, and math expression input problem types to circuit schematic builder, custom JavaScript, and chemical equation problem types.Other assessment methods are also available, and implemented using other XBlocks. An open response assessment is an example of a non-CAPA problem type.
certificate
A document issued to an enrolled learner who successfully completes a course with the required passing grade. Not all edX courses offer certificates, and not all learners enroll as certificate candidates.
For information about setting up certificates for your course, see Setting Up Certificates in Studio.
chapter
See Section.
checkbox problem
A problem that prompts learners to select one or more options from a list of possible answers. For more information, see Checkbox Problem.
chemical equation response problem
A problem that allows learners to enter chemical equations as answers. For more information, see Chemical Equation Problem.
circuit schematic builder problem
A problem that allows learners to construct a schematic answer (such as an electronics circuit) on an interactive grid. For more information, see Circuit Schematic Builder Problem.
closed captions
The spoken part of the transcript for a video file, which is overlaid on the video as it plays. To show or hide closed captions, you select the CC icon. You can move closed captions to different areas on the video screen by dragging and dropping them.
For more information, see video player.
codec
A portmanteau of “code” and “decode”. A computer program that can encode or decode a data stream.
cohort
A group of learners who participate in a class together. Learners who are in the same cohort can communicate and share experiences in private discussions.
Cohorts are an optional feature of courses on the edX platform. For information about how you enable the cohort feature, set up cohorts, and assign learners to them, see Using Cohorts in Your Courses.
component
The part of a unit that contains your actual course content. A unit can contain one or more components. For more information, see Developing Course Components.
content experiment
You can define alternative course content to be delivered to different, randomly assigned groups of learners. Also known as A/B or split testing, you use content experiments to compare the performance of learners who have been exposed to different versions of the content. For more information, see Overview of Content Experiments.
content library
See Library.
content-specific discussion topic
A category within the course discussion that appears at a defined point in the course to encourage questions and conversations. To add a content- specific discussion topic to your course, you add a discussion component to a unit. Learners cannot contribute to a content-specific discussion topic until the release date of the section that contains it. Content-specific discussion topics can be divided by cohort, so that learners only see and respond to posts and responses by other members of the cohort that they are in.
For more information, see Working with Discussion Components. For information about making content-specific discussion topics divided by cohort, see Setting up Discussions in Courses with Cohorts.
course catalog
The page that lists all courses offered in the edX learning management system.
course handouts
Course handouts are files you make available to learners on the Home page. For more information, see Adding Course Updates and Handouts.
course mode
See enrollment track.
course navigation pane
The navigation frame that appears at one side of the Course page in the LMS. The course navigation pane shows the sections in the course. When you select a section, the section expands to show subsections. When you select a subsection, the first unit in that subsection appears on the course page.
See also Unit Navigation Bar.
Course page
The page that opens first when learners access your course. On the Course page, learners can view the course outline and directly access the course, either by clicking a specific section or subsection on the outline, or by clicking the Start Course button (Resume Course if the learner has previously accessed the course).
The latest course update, such as a course welcome message, appears above the course outline. Links to various Course Tools including Bookmarks, Reviews and Updates appear at the side of this page. This page is a combination of the former Home and Courseware pages.
course run
A version of the course that runs at a particular time. Information about a course run includes start and end dates, as well as staff and the languages the course is available in. You can create a course run when you create a course.
course track
See enrollment track.
courseware
In OLX (open learning XML) and in data packages, “courseware” refers to the main content of your course, consisting mainly of lessons and assessments. Courseware is organized into sections, subsections, units, and components. Courseware does not include handouts, the syllabus, or other course materials.
Note that the Course page was formerly called the Courseware page.
course-wide discussion topic
Optional discussion categories that you create to guide how learners find and share information in the course discussion. Course-wide discussion topics are accessed from the Discussion page in your course. Examples of course-wide discussion topics include Announcements and Frequently Asked Questions. Learners can contribute to these topics as soon as your course starts. For more information, see Creating Course Discussions and Create Course-Wide Discussion Topics.
If you use cohorts in your course, you can divide course-wide discussion topics by cohort, so that although all learners see the same topics, they only see and respond to posts and responses by other members of the cohort that they are in. For information about configuring discussion topics in courses that use cohorts, see Setting up Discussions in Courses with Cohorts.
custom response problem
A custom response problem evaluates text responses from learners using an embedded Python script. These problems are also called “write-your-own-grader” problems. For more information, see Write-Your-Own-Grader Problem.
data czar
A data czar is the single representative at a partner institution who is responsible for receiving course data from edX, and transferring it securely to researchers and other interested parties after it is received.
For more information, see the Using the edX Data Package.
discussion
The set of topics defined to promote course-wide or unit-specific dialog. Learners use the discussion topics to communicate with each other and the course team in threaded exchanges. For more information, see Creating Course Discussions.
discussion component
Discussion topics that course teams add directly to units. For example, a video component can be followed by a discussion component so that learners can discuss the video content without having to leave the page. When you add a discussion component to a unit, you create a content-specific discussion topic. See also Content Specific Discussion Topic.
For more information, see Working with Discussion Components.
discussion thread list
The navigation frame that appears at one side of the Discussion page in the LMS. The discussion thread list shows the discussion categories and subcategories in the course. When you select a category, the list shows all of the posts in that category. When you select a subcategory, the list shows all of the posts in that subcategory. Select a post to read it and its responses and comments, if any.
dropdown problem
A problem that asks learners to choose from a collection of answer options, presented as a drop-down list. For more information, see Dropdown Problem.
edX101
An online course about how to create online courses. The intended audience for edX101 is faculty and university administrators.
edX Edge
edX Edge is a less restricted site than edX.org. While only edX employees and consortium members can create and post content on edX.org, any users with course creator permissions for Edge can create courses with Studio on studio.edge.edx.org, then view the courses on the learning management system at edge.edx.org.
edX Studio
The edX tool that you use to build your courses. For more information, see Getting Started with Studio.
embargo
An embargo is an official ban on trade or commercial activity with a particular country. For example, due to U.S. federal regulations, edX cannot offer certain courses (for example, particular advanced STEM courses) on the edx.org website to learners in embargoed countries. Learners cannot access restricted courses from an embargoed country. In some cases, depending on the terms of the embargo, learners cannot access any edX courses at all.
enrollment mode
See enrollment track.
enrollment track
Also called certificate type, course mode, course seat, course track, course type, enrollment mode, or seat type.
The enrollment track specifies the following items about a course.
- The type of certificate, if any, that learners receive if they pass the course.
- Whether learners must verify their identity to earn a certificate, using a webcam and a photo ID.
- Whether the course requires a fee.
audit: This is the default enrollment track when learners enroll in a course. This track does not offer certificates, does not require identity verification, and does not require a course fee.
professional: This enrollment track is only used for specific professional education courses. The professional enrollment track offers certificates, requires identity verification, and requires a fee. Fees for the professional enrollment track are generally higher than fees for the verified enrollment track. Courses that offer the professional track do not offer a free enrollment track.
Note
If your course is part of a MicroMasters or professional certificate program, your course uses the verified track. These courses do not use the professional enrollment track.
verified: This enrollment track offers verified certificates to learners who pass the course, verify their identities, and pay a required course fee. A course that offers the verified enrollment track also automatically offers a free non-certificate enrollment track.
honor: This enrollment track was offered in the past and offered an honor code certificate to learners who pass the course. This track does not require identity verification and does not require a fee. Note, however, that as of December 2015, edx.org no longer offers honor code certificates. For more information, see News About edX Certificates.
- professional (no ID): Like the professional enrollment track, this track offers certificates and requires a fee. However, this track does not require identity verification. Courses that offer the professional (no ID) track do not offer a free enrollment track.
exercises
Practice or practical problems that are interspersed in edX course content to keep learners engaged. Exercises are also an important measure of teaching effectiveness and learner comprehension. For more information, see Adding Exercises and Tools.
export
A tool in edX Studio that you use to export your course or library for backup purposes, or so that you can edit the course or library directly in OLX format. See also Import.
For more information, see Export a Course or Export a Library.
forum
See Discussion.
fps
Frames per second. In video, the number of consecutive images that appear every second.
grade range
Thresholds that specify how numerical scores are associated with grades, and the score that learners must obtain to pass a course.
For more information, see Set the Grade Range.
grading rubric
See Rubric.
H.264
A standard for high definition digital video.
Home page
See Course Page.
HTML component
A type of component that you can use to add and format text for your course. An HTML component can contain text, lists, links, and images. For more information, see Working with HTML Components.
Image mapped input problem
A problem that presents an image and accepts clicks on the image as an answer. For more information, see Image Mapped Input Problem.
Import
A tool in Studio that you use to load a course or library in OLX format into your existing course or library. When you use the Import tool, Studio replaces all of your existing course or library content with the content from the imported course or library. See also Export.
For more information, see Import a Course or Import a Library.
instructor dashboard
A user who has the Admin or Staff role for a course can access the instructor dashboard in the LMS by selecting Instructor. Course team members use the tools, reports, and other features that are available on the pages of the instructor dashboard to manage a running course.
For more information, see Managing a Running Course.
keyword
A variable in a bulk email message. When you send the message, a value that is specific to the each recipient is substituted for the keyword.
label
See Accessible Label.
LaTeX
A document markup language and document preparation system for the TeX typesetting program. In edX Studio, you can Import LaTeX Code into an HTML Component.
learning management system (LMS)
The platform that learners use to view courses, and that course team members use to manage learner enrollment, assign team member privileges, moderate discussions, and access data while the course is running.
learning sequence
See Unit Navigation Bar.
left pane
library
A pool of components for use in randomized assignments that can be shared across multiple courses from your organization. Course teams configure randomized content blocks in course outlines to reference a specific library of components, and randomly provide a specified number of problems from that content library to each learner.
For more information, see Working with Content Libraries and Randomized Content Blocks.
live mode
A view that allows the course team to review all published units as learners see them, regardless of the release dates of the section and subsection that contain the units. For more information, see Viewing Published and Released Content.
LON-CAPA
The Learning Online Network with Computer-Assisted Personalized Approach e-learning platform. The structure of CAPA problem types in the edX platform is based on the LON-CAPA assessment system, although they are not compatible.
See also CAPA Problems.
math expression input problem
A problem that requires learners to enter a mathematical expression as text, such as e=m*c^2.
For more information, see math formatting in the EdX Learner’s Guide.
MathJax
A LaTeX-like language that you use to write equations. Studio uses MathJax to render text input such as x^2 and sqrt(x^2-4) as “beautiful math.”
For more information, see Using MathJax for Mathematics.
module
An item of course content, created in an XBlock, that appears on the Course page in the edX learning management system. Examples of modules include videos, HTML-formatted text, and problems.
Module is also used to refer to the structural components that organize course content. Sections, subsections, and units are modules; in fact, the course itself is a top-level module that contains all of the other course content as children.
multiple choice problem
A problem that asks learners to select one answer from a list of options. For more information, see Multiple Choice Problem.
NTSC
National Television System Committee. The NTSC standard is a color encoding system for analog videos that is used mostly in North America.
numerical input problem
A problem that asks learners to enter numbers or specific and relatively simple mathematical expressions. For more information, see Numerical Input Problem.
OLX
OLX (open learning XML) is the XML-based markup language that is used to build courses on the Open edX platform.
For more information, see What is Open Learning XML?.
open response assessment
A type of assignment that allows learners to answer with text, such as a short essay and, optionally, an image or other file. Learners then evaluate each others’ work by comparing each response to a rubric created by the course team.
These assignments can also include a self assessment, in which learners compare their own responses to the rubric, or a staff assessment, in which members of course staff evaluate learner responses using the same rubric.
For more information, see Introduction to Open Response Assessments.
pages
Pages organize course materials into categories that learners select in the learning management system. Pages provide access to the course content and to tools and uploaded files that supplement the course. Links to each page appear in the course material navigation bar.
For more information, see Managing the Pages in Your Course.
PAL
Phase alternating line. The PAL standard is a color encoding system for analog videos. It is used in locations such as Brazil, Australia, south Asia, most of Africa, and western Europe.
partner manager
Each EdX partner institution has an edX partner manager. The partner manager is the primary contact for the institution’s course teams.
pre-roll video
A short video file that plays before the video component selected by the learner. Pre-roll videos play automatically, on an infrequent schedule.
For more information, see Adding a Pre-Roll Video to Your edX Course.
preview mode
A view that allows you to see all the units of your course as learners see them, regardless of the unit status and regardless of whether the release dates have passed.
For more information, see Previewing Draft Content.
problem component
A component that allows you to add interactive, automatically graded exercises to your course content. You can create many different types of problems.
For more information, see Working with Problem Components and Adding Exercises and Tools.
proctored exam
At edX, proctored exams are timed, impartially and electronically monitored exams designed to ensure the identity of the test taker and determine the security and integrity of the test taking environment. Proctored exams are often required in courses that offer verified certificates or academic credit. For more information, see Managing Proctored Exams.
program
A program is a collection of related courses. Learners enroll in a program by enrolling in any course that is part of a program, and earn a program certificate by passing each of the courses in the program with a grade that qualifies them for a verified certificate.
Several types of program are available on edx.org, including MicroMasters, Professional Certificate, and XSeries programs.
program offer
A program offer is a discount offered for a specific program. The discount can be either a percentage amount or an absolute (dollar) amount.
Progress page
The page in the learning management system that shows learners their scores on graded assignments in the course. For more information, see sfd check progress in the EdX Learner’s Guide.
question
A question is a type of post that you or a learner can add to a course discussion topic to bring attention to an issue that the discussion moderation team or learners can resolve.
For more information, see Creating Course Discussions.
Research Data Exchange (RDX)
An edX program that allows participating partner institutions to request data for completed edx.org courses to further approved educational research projects. Only partner institutions that choose to participate in RDX contribute data to the program, and only researchers at those institutions can request data from the program.
For more information, see Using the Research Data Exchange Data Package.
rubric
A list of the items that a learner’s response should cover in an open response assessment. For more information, see the Rubric topic in Introduction to Open Response Assessments.
See also Open Response Assessment.
seat type
See enrollment track.
section
The topmost category in your course outline. A section can represent a time period or another organizing principle for course content. A section contains one or more subsections.
For more information, see Developing Course Sections.
sequential
See Subsection.
short description
The description of your course that appears on the edX Course List page.
For more information, see Course Short Description Guidelines.
simple editor
The graphical user interface in a problem component that contains a toolbar for adding Markdown formatting to the text you supply. The simple editor is available for some problem types. For more information, see Editing a Problem in Studio.
single sign-on (SSO)
SSO is an authentication service that allows a user to access multiple related applications, such as Studio and the LMS, with the same username and password. The term SSO is sometimes used to refer to third party authentication, which is a different type of authentication system. For information about third party authentication, see Third Party Authentication.
special exam
A general term that applies to proctored and timed exams in edX courses. See Timed Exam and Proctored Exam.
split test
See Content Experiment.
subsection
A division in the course outline that represents a topic in your course, such as a lesson or another organizing principle. Subsections are defined inside sections and contain units.
For more information, see Developing Course Subsections.
text input problem
A problem that asks learners to enter a line of text, which is then checked against a specified expected answer.
For more information, see Text Input Problem.
timed exam
Timed exams are sets of problems that a learner must complete in the amount of time you specify. When a learner begins a timed exam, a countdown timer displays, showing the amount of time allowed to complete the exam. If needed, you can grant learners additional time to complete the exam. For more information, see Offering Timed Exams.
third party authentication
A system-wide configuration option that allows users who have a username and password for one system, such as a campus or institutional system, to log in to that system and automatically be given access to the LMS. These users do not enter their system credentials in the LMS.
For more information about how system administrators can integrate an instance of Open edX with a campus or institutional authentication system, see Enabling Third Party Authentication.
transcript
A text version of the content of a video. You can make video transcripts available to learners.
For more information, see Obtain a Video Transcript.
unit
A unit is a division in the course outline that represents a lesson. Learners view all of the content in a unit on a single page.
For more information, see Developing Course Units.
unit navigation bar
The horizontal control that appears at the top of the Course page in the LMS. The unit navigation bar contains an icon for each unit in the selected subsection. When you move your pointer over one of these icons, the name of the unit appears. If you have bookmarked a unit, the unit navigation bar includes an identifying flag above that unit’s icon.
See also Course Navigation Pane.
VBR
Variable bit rate. The bit rate is the number of bits per second that are processed or transferred. A variable bit rate allows the bit rate to change according to the complexity of the media segment.
vertical
See Unit.
video component
A component that you can use to add recorded videos to your course.
For more information, see Working with Video Components.
whitelist
In edX courses, a whitelist is a list of learners who are being provided with a particular privilege. For example, whitelisted learners can be specified as being eligible to receive a certificate in a course, regardless of whether they would otherwise have qualified based on their grade.
In the grade report for a course, whitelisted learners have a value of “Yes” in the Certificate Eligible column, regardless of the grades they attained. For information about the grade report, see Interpreting the Grade Report.
wiki
The page in each edX course that allows both learners and members of the course team to add, modify, or delete content. Learners can use the wiki to share links, notes, and other helpful information with each other. For more information, see Using the Course Wiki.
XBlock
EdX’s component architecture for writing course components: XBlocks are the components that deliver course content to learners.
Third parties can create components as web applications that can run within the edX learning management system. For more information, see Open edX XBlock Tutorial.
XSeries
A set of related courses in a specific subject. Learners qualify for an XSeries certificate when they pass all of the courses in the XSeries. For more information, see XSeries Programs.