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 Learner’s Guide is available on the docs.edx.org web page. This guide is also available when you select Help while you are in a course, and from your dashboard of enrolled courses.
All edX courses have a discussion page where you can ask questions and interact with other students and with the course team: select Discussion. Many courses also offer a wiki for additional resources and materials: select Wiki.
Other resources might also be available, such as a course-specific Facebook page or Twitter feed. Be sure to check the Home page for your course as well as the Discussion and Wiki pages.
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 Support to access a help center with frequently asked questions and answers.
If you still have questions or suggestions, you can get help from the edX support team: select Support, select Contact at the bottom of any edX web page, or send an email message to info@edx.org.
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 on 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.
The edX Release Notes summarize the changes in each new version of deployed software.
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 on the docs.edx.org web page.
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.
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. The following documentation is available.
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.
The edX platform runs on the following browsers.
The edX platform is routinely tested and verified on the current version and the previous version of each of these browsers. We generally encourage the use of, and fully support only, the latest version.
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 tasks you can complete on your dashboard, and on the account settings and profile pages.
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.
After you create an account, you can view information about your courses, change course or account settings, or create a profile.
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 settings on your dashboard. For more information, see Updating Course-Specific Settings.
This section describes how to start a course and begin doing course work, and how to change settings that apply to a specific course.
As soon as you enroll in a course, you can access some information about the course and change course-specific settings on your dashboard. You cannot access course lessons or assignments.
After the course start date, you can start working in the course.
Often, you can enroll in a course before it actually starts. You can find the course start date on your dashboard; however, the exact time is not published.
To find the course start date, follow these steps.
To start work in a course that is in progress, follow these steps.
You can enroll or continue to work in some courses even after the course end date. These courses are archived, which means that while you can access the course content, you cannot submit answers for graded problems or participate in course discussions.
To view the content of an archived course, follow these steps.
To view your current grade in a course that has not yet ended, see Checking Your Progress in a Course.
To view your final grade in a course that you have completed, follow these steps.
You can also view the course and open its Progress page to view your final grade, as well as your grades on all course assignments.
If you earn a certificate for a course, options to access your certificate are available on your dashboard soon after the course ends. For more courses, certificates are available within two weeks.
To access the certificate that you have earned in a course, locate the course on your dashboard. Next to the course name is an option for accessing the certificate. For example, the option might be View Certificate or Download Your ID Verified Certificate (PDF).
For information about how to access certificates, including how to download certificates, see Getting a Course Certificate or Badge.
This section describes how you update course-specific settings.
To change your email preference for 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 Course emails.
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.
If you find that you cannot complete a course, you can stop viewing and working in the course. You do not have to drop or unenroll from the course.
If you unenroll, the course no longer appears on your dashboard, and you cannot access course content or information about the grade or certificate you might have earned in the course.
To unenroll from a course, follow these steps.
If you change your mind before the course ends, you can enroll in the course again. Your status in the course, including your scores for all completed assignments, is available as soon as you re-enroll.
You can find and update information about your account on the account settings page. You access your account settings page by selecting the dropdown menu icon next to your username at the top of any site page.
The account settings page presents information in these categories.
Account Settings provides access to information about your account.
Note
You cannot change your username.
Linked Accounts lists social media and other accounts that you can connect to your account.
Order History lists information about payments you have made, such as fees for verified certificates. For more information, see Verify a Payment.
You can view this information at any time. You can also make changes to keep information about yourself up to date.
To change your password, follow these steps.
At the top of any page, select the dropdown menu icon next to your username.
Select Account.
Select Reset Password.
The system sends a confirmation message to the email address in the Email Address field.
Select the confirmation link in the email message.
You use your email address to sign in to your account. In addition, communications from your course teams are sent to this address.
To update your email address, follow these steps.
Your full name appears on the certificates that you earn. Other learners see only your username. They do not see your full name.
To change your full name, follow these steps.
You can specify the language that you want the site to use during your visits.
Note
This setting changes the appearance of menu options, button labels, and other elements of the site’s user interface. It does not apply to course content.
To select a language, follow these steps.
At the top of any page, select the dropdown menu icon next to your username.
Select Account.
Select a Language. The site saves your selection immediately.
The website is currently available in a limited number of languages.
You can select the time zone that you want course dates and times to appear in, and update the country or region where you live.
Note
If you do not select a time zone, course dates and times in the body of the course, on your Progress page, and on your dashboard display in the time zone that your browser settings specify. Other dates and times display in Coordinated Universal Time (UTC). Dates and times that use your browser time zone are in military time and are followed by a time zone indicator: for example, 17:00 Sept 16, 2018 IOT. Dates and times in UTC do not have a time zone indicator.
To select your time zone or location, follow these steps.
Additional account information is optional and includes the following information.
To view or change this information, follow these steps.
The site saves your changes automatically.
You can link your account to social media and other accounts, including Facebook, Google, school, and company accounts. When your accounts are linked, you can sign in automatically by signing in to your other account.
To link your account with another account, follow these steps.
At the top of any page, select the dropdown menu icon next to your username.
Select Account.
On the Account Settings page, select Linked Accounts.
On the Linked Accounts page, select Link Your Account under the name of the account that you want to link to your account.
To unlink your account from a social media account, select Unlink This Account under that account name.
Your personal profile allows you to specify information about yourself that you want to share with other participants in the courses that you take. Adding a profile is optional. If you add profile information, course teams and other learners in your courses can view the information that you share.
In addition to your username, your profile can include a picture, your location, and other biographical information.
You can share either a limited profile or a full profile.
A limited profile shares only your username and an optional profile picture.
A full profile includes biographical information in addition to your username and profile image.
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 the dropdown menu icon next to your username.
Select Profile.
On your profile page, locate learners can see my, and then 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.
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 share a full profile. If you are under 13 years of age, you can share only a limited profile.
A full profile can include the following information. Your username and country or region are required.
To add or update your profile, follow these steps.
At the top of any page, select the dropdown menu icon next to your username.
Select Profile.
Locate learners can see my, and then select Full Profile.
On your profile page, move your cursor over the information that you want to add or change.
If you have not added information to the field, the field appears highlighted and surrounded by a dashed line.
If the field already has information, the field appears highlighted, and a pencil icon appears.
Move your cursor inside the field, and then either enter text in the field or select a different option from a list.
The site saves your changes automatically.
Note
If you change the profile type selection from Full Profile to Limited Profile, your location, language, and descriptive paragraph are not visible on your profile page. However, this information is saved. To make this information visible again, select Full Profile.
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.
To deactivate your account, you unenroll from all of your courses. You can reactivate your account at any time by enrolling in a new course.
This topic describes the tools you use to build an Open edX course, and how to create your first course.
If you are creating a course to run on edx.org or edX Edge, see Getting Started with Studio in the Building and Running an edX Course guide.
Studio is the edX 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.
When you log in to Studio, you see the following page, which is your My Courses dashboard.
![]()
Note
Enter new course information carefully. This information becomes part of the URL for your course. Because this information becomes part of your course URL, the total number of characters in the following three fields must be 65 or fewer.
- For Course Name, enter the title of your course. For example, the name may be “Sets, Maps and Symmetry Groups”. Use title capitalization for the course title.
- For Organization, enter the name of your institution. Do not include whitespace or special characters.
- For Course Number, 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 whitespace or special characters in the course number.
Your new course opens to the Course Outline page. Because no content has been added, this page is empty.
In your browser’s address bar, notice that the URL of your course includes the course organization, number, and course run.
The other sections of this guide describe how you now build and run your 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 the Open edX 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 the Open edX 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 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.
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.
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.
Use the topics in this section to create and build your course.
For information on how to develop your course content in the Studio Outline, see Developing Your Course.
This topic describes how to use Studio to create and set up a course.
Another way to create a course is for a system administrator to re-run an existing course. For more information, 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.
Before you create a course, consider the identifying information that you will provide for it carefully.
For Course Name, you 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 Setting Start and End Dates.
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.
Important
The values that you enter for the organization, course number, and course run cannot be edited after you create your course.
To create a course, follow these steps.
Sign in to Studio.
Select New Course.
Enter the identifying course information, and then 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.
To edit a course, select the course name. The Studio Course Outline page appears.
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.
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 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 Setting 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.
This section describes how to schedule your course in Studio.
For information about providing other information for your course, see Setting Details About Your Course.
The start and end dates you set for your course and for course enrollment are important for prospective and current learners. 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. Current learners see your course start or end date on their dashboards.
EdX recommends that you consider your course start and end dates, and its enrollment start and end dates, carefully. After you determine the dates for your course, you set these dates and times on the Schedule & Details page in Studio. EdX recommends that you verify all important dates in Studio one week before you plan to start the course.
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. You must change this setting to the correct date and time for your course.
EdX recommends that you set the start time of your course early in the day, generally 00:00 UTC or earlier. Learners often expect the course to be available on the start date in their own time zones and try to access course content during the day. If you do not specify a start time for your course, learners see the default start time, 00:00 Coordinated Universal Time (UTC). The course start time and other course dates and times are displayed in learners’ own time zones, if they have specified a time zone in account settings.
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.
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.
The course end date and time specify when learners can no longer earn credit toward certificates. Learners can continue to complete coursework, but cannot earn credit after the course ends. Learners who have earned certificates can view the certificates soon after the course end date.
Important
If you do not set a course end date, learners cannot access earned certificates.
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.
To set dates and times for the course and for course enrollment in Studio, follow these steps.
From 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.
EdX recommends that you verify that all important dates are correct one week before you plan to start the course.
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.
From 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
, then no
start date appears for the course. Learners just see that the course has not
yet started.
Learners can view the start date for a course on the course About page, and, after they enroll in the course, on their dashboards.
To find the URL of your course’s About page in Studio, select Settings and then Schedule & Details.
After learners enroll in your course, the course appears on their course dashboards. To access the dashboard, learners select their usernames and then Dashboard.
For a course that is in progress or has not yet started, the start date is shown. For a course that has ended, the course end date is shown.
This topic describes how to set your course to follow a typical schedule or to be a self-paced course.
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. Due dates do not appear in the LMS.
Note
If you set due dates for assignments or exams and later change the course to be self-paced, Studio stores the due dates that you have set. If you change the course back to instructor-paced later, Studio restores the due dates.
For more information about the way learners experience instructor-paced and self-paced courses, see sfd self paced.
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.
Note
You cannot change the course pacing after the course start date has passed.
To set the pacing for your course, follow these steps.
You might want to make sure that your learners have a specific set of skills and knowledge before they take your course.
You can require that your learners pass a particular edX 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.
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.
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 only access the Entrance Exam page until they pass the exam. After learners pass the exam, they can access all released materials in your course.
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.
We strongly recommend that you follow several guidelines to help you and your learners have a positive experience with entrance exams.
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.
Learners can search much of the content of your edX 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 student 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 how to set details about your course in Studio. The details you set determine the information that learners see about the course on their dashboards and on the course About page. For more information, see Exploring Your Dashboard, Settings, and Profile.
You configure these course details in Studio.
For information about setting important dates for the course, see Setting Start and End Dates.
For information about setting the licensing for the course, see Licensing a Course.
After a learner enrolls in a course, the course is listed on that learner’s dashboard. From the dashboard, a learner can open a course that has started. If the course has not started, or has already ended, the dashboard shows the start or end date.
For more information, see View Start and End Dates as a Learner.
The course About page, sometimes called the course summary page, provides information about your course to learners. In addition to the course start and end dates and an overview of course objectives, the About page can include information such as a course description with course prerequisites, requirements, and team biographies. Learners can see the About page before they enroll in the course, and might decide to enroll based on the content of the page.
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 Home page in the LMS. These reviews are then visible on the course About page. For more information, see Adding the CourseTalk Widget.
You configure the contents of this page in Studio.
Learners see the description of your course on the course About page. For example, the course description is circled in the following course About page.
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”.
To provide a description for your course, follow these steps.
From the Settings menu, select Schedule & Details.
Scroll down to the Introducing Your Course section, then locate the Course Overview field.
Overwrite the content as needed for your course, following the directions in the boilerplate text. Do not edit HTML tags. For a template that includes these placeholders, see the Course Overview Template.
To test how the description will appear to learners, from the text that follows the Course Overview field select your course summary page.
Select Save Changes.
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.
An example of a course on the dashboard with a course image follows.
To add a course image, follow these steps.
From the Settings menu, select Schedule & Details.
In the Course Image section, select Upload Course Image, and then follow the prompts to find and upload your image. To specify an image that has already been added to the course, select files & uploads.
When you make changes on this page, a panel with options to save or cancel your work appears.
Select Save Changes.
View your dashboard to test how the image will appear to learners.
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 2 minutes.
Before you upload a course about video, make sure that it follows the same Recommended Compression Specifications and Supported Video Formats guidelines as your course content videos.
Note
To upload a course about video, follow these steps.
Upload the video file to YouTube. Make note of the code that appears between watch?v= and &feature in the URL. This code appears in the green box below.
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 (the code 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 and minutes a 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.
Replace the placeholders in the following template with information for your course.
<section class="about">
<h2>About This Course</h2>
<p>Include your long course description here. The long course description
should contain 150-400 words.</p>
<p>This is paragraph 2 of the long course description. Add more paragraphs
as needed. Make sure to enclose them in paragraph tags.</p>
</section>
<section class="prerequisites">
<h2>Requirements</h2>
<p>Add information about the skills and knowledge students need to take
this course.</p>
</section>
<section class="course-staff">
<h2>Course Team</h2>
<article class="teacher">
<div class="teacher-image">
<img src="/static/images/placeholder-faculty.png" align="left"
style="margin:0 20 px 0" alt="Course Team Image #1">
</div>
<h3>Team Member #1</h3>
<p>Biography of course team member #1</p>
</article>
<article class="teacher">
<div class="teacher-image">
<img src="/static/images/placeholder-faculty.png" align="left"
style="margin:0 20 px 0" alt="Course Team Image #2">
</div>
<h3>Team Member #2</h3>
<p>Biography of course team member #2</p>
</article>
</section>
<section class="faq">
<section class="responses">
<h2>Frequently Asked Questions</h2>
<article class="response">
<h3>Do I need to buy a textbook?</h3>
<p>No, a free online version of Chemistry: Principles, Patterns, and
Applications, First Edition by Bruce Averill and Patricia Eldredge
will be available, though you can purchase a printed version (
published by FlatWorld Knowledge) if you’d like.</p>
</article>
<article class="response">
<h3>Question #2</h3>
<p>Your answer would be displayed here.</p>
</article>
</section>
</section>
You can designate a team of people to help you run your course.
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 Assign Discussion Administration Roles.
To provide access to features on the instructor dashboard in the LMS, you assign the Staff role or the Admin role.
Team members with the Staff role can complete the following tasks.
Course team members who have the Admin role can complete all the tasks that course team members who have the Staff role can complete. They can also 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 and remove staff.
Add and remove other admins.
Add and remove beta testers.
Add and remove discussion admins, discussion moderators, and discussion community TAs.
Note
To moderate course discussions, team members must have one of these discussion roles assigned to them in addition to the Staff or Admin role. For more information, see Assign Discussion Administration Roles.
Before you can 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.
Course team members are users who help you build your course. Before you can assign Staff or Admin access to a team member, 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.
Regardless of where the role is assigned, these administrative team members can work on your course in Studio immediately, and use the LMS and Insights after enrollment. For more information about assigning roles while you run your course, see Staffing.
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 Assign Discussion Administration Roles.
This section describes how to configure certificates for your course in Studio.
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.
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 Determining Start and End Dates.
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 Certificates in Installing, Configuring, and Running the Open edX Platform.
Before you can create certificates, you must enable certificates for your course.
true
.To create a certificate for your course, follow these steps.
In Studio, from the Settings menu, select Certificates.
On the Certificates page, select Add your first certificate or Add a new certificate.
Optionally, specify an alternative course title to use on the certificate in the Course Title Override field.
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.
To specify an alternative course number, see Set a Course Number Override.
Add a signatory for each person associated with the course or organization whose name and title you want to appear on the certificate. You must specify at least one signatory. You can add as many signatories as needed.
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 a certificate before it is activated.
After a certificate is activated, only a course team member with the Admin role can edit the certificate. As a best practice, the administrator should deactivate the certificate before making edits.
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.
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 configuration before certificates can be issued.
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.
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 configuration.
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.
A course team member with the Admin or Staff role can deactivate the certificate.
Note
Course team members without the Admin or Staff role cannot deactivate a certificate.
To deactivate a certificate, follow these steps.
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
.
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 students 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.
The Enrollment tab contains controls to invite and manage learners. Select Student List Management to add individual students who are already registered on the platform.
To have students added in through Batch Enrollment receive an email invitation to the CCX, select Notify users by email. Students are automatically enrolled in the CCX when they access the invitation.
You use the Student Admin tab to view the gradebook and download student 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.
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.
When you create your content, you also specify if and when learners will be able to see it. Content visibility depends on several factors.
For more information, see Controlling Content Visibility.
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.
The following example shows a partial course outline in Studio, with indications for sections, subsections, and units. As you develop your course, it will begin to look like this example.
In this example, the course is organized into the following levels.
Components are not shown in the outline. You add or access components by selecting the units that contain them.
Use the links above for more information and instructions on working with each type of object in the course. The topics in the rest of this section provides more detail about the course outline.
The content you see in the outline in Studio is displayed to learners in the Course page in the LMS. The following image shows how a learner sees your course content.
Sections are listed in the course navigation pane. Learners select a section to see the subsections that it contains.
Subsections are listed in the course navigation pane after a learner expands a section.
Units appear in the unit navigation bar, represented by icons, after learners select a subsection. A tooltip with the unit’s name appears when learners move the pointer onto an icon.
Learners select icons in the unit navigation bar to access course units. They can also use the Previous and Next options at either end of the unit navigation bar to move back to the previous unit or forward to the next unit. The current unit is indicated with bold underlining in the unit navigation bar.
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.
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.
To move a section, subsection, or unit, 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, click 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.
The following example shows four sections, all collapsed, in the course outline.
Learners see sections in the Course page. Learners can expand one section at a time to see its contents. In the following example, three sections are circled, and the third one is expanded to show its subsections.
Learners cannot see any content in the 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.
On the Studio Course Outline page, each unscheduled section appears with a gray bar next to the section display name.
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 following example shows how a section that is scheduled for release displays in the outline, summarized with a green bar.
On the Studio Course Outline page, each scheduled section appears with a green bar next to the section display name.
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.
On the Studio Course Outline page, each released section appears with a blue bar next to the section display name.
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.
On the Studio Course Outline page, each released section that has unpublished changes appears with a yellow bar next to the section display name. When you expand the section, the unit that has unpublished changes is visible.
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.
On the Studio Course Outline page, each section that includes a unit with staff only content appears with a black bar next to the section display name.
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.
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 Hiding Content from Learners.
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.
The following example shows three subsections in a section, all collapsed, in the course outline.
Learners see subsections on the Course page, listed beneath the expanded section. In the following example, two subsections are circled, and the first one is open in the LMS.
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 Settings dialog box opens.
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 within 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 Step 4. Specify the Assignment Name and Response Dates.
To set the assignment type and due date for a subsection, follow these steps.
Select the Configure icon in the subsection box.
The Settings dialog box opens.
In the Grading section, select the assignment type for this subsection in the Grade as field.
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.
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.
For more information, see Hiding Content from Learners.
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.
In the Subsection Visibility section, 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 when its due date has passed. 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 assignments or exams after the subsection due date.
To hide a subsection after its due date, follow these steps.
Select the Configure icon in the subsection box.
The Subsection Settings dialog box opens.
In the Subsection Visibility section, select Hide content after due date.
Select Save.
Learners who access the subsection after its due date has passed see a message indicating that the subsection is no longer available because the due date has passed.
In the course outline in Studio, the subsection is shown with an icon and a “Subsection is hidden after due 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 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 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.
To view units in the outline, you expand the parent section and subsection.
When you select a unit name in the outline, the Unit page opens.
The following example shows a unit page 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.
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 Setting Course Pacing.
The following information summarizes whether or not learners can see a unit.
For more information, see Controlling Content Visibility.
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 Setting 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 Setting 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 Location panel, 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.
To edit a unit name, 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.
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, in the unit page above the status panel, select Preview.
The unit opens in preview mode.
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 more information about previewing course content, see Preview 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 Setting 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.
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 Hiding Content from Learners.
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.
You delete a unit from the course outline.
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 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.
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.
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
You cannot duplicate a content experiment.
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, the component remains visible to learners until you publish the unit.
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 children.
In the unit page, a parent component appears with the display name and a View link. For example:
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. The following example shows the learner view of the unit described above.
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.
You can reorganize child components through the same drag and drop process you use for other objects in your course outline. You hover over the element handle on the right side of the screen until the mouse pointer changes to a four- headed arrow. Then, click and drag the element to the location that you want.
Furthermore, when you have multiple levels of nesting, you can drag 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.
Note
For content experiments, you cannot drag a child component outside of a test group.
As a member of the course team, you must carefully control which content is visible to learners and when.
You control content visibility through these features in Studio.
These features work together to control content visibility for learners.
You specify release dates and times for the sections and subsections in an instructor-paced course. By defining release dates, you ensure that 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 Setting 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.
Prior to release, content is visible to course team members by previewing the course or viewing the live course as staff.
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 hide content from learners in both instructor-paced and self-paced courses. Such content is never visible to learners, regardless of the release and publishing status.
You might hide a unit from learners, for example, when that unit contains an answer to a problem in another unit of that subsection. After the problem’s due date, you could make the unit with the answer visible.
You might also hide a unit from learners if you want to use that unit to provide instructions or guidance meant only for the course team. Only course team members would see that unit in the course.
Note
As a best practice, do not hide sections, subsections, or units that contain graded content. When the platform performs grading for a learner, the grading process does not include problems that are not included in the course navigation for that learner. For more details, see Hiding Graded Content.
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 the course navigation for that learner.
Note
Grading is not affected when you hide the content of a subsection or a timed exam based on due dates. For more information, see Timed Exams and Hide a Subsection after Its Due Date.
If you have cohorts enabled in your course, you can use content groups to designate particular components in your course as visible only to specific groups of learners.
For details, see Content Groups and Creating Cohort-Specific Course Content.
You can hide subsections of your course until learners complete other, prerequisite subsections. If a subsection has a prerequisite, it is not visible in the course navigation unless a learner has earned a minimum score in the prerequisite subsection.
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 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.
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 Access tab.
Select Use as a Prerequisite > 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 Access tab.
In the Limit Access > Prerequisite menu, select the name of the subsection you want to specify as the prerequisite.
Enter the percent of the total score that learners must earn in the Minimum Score field. A learner’s score for all problems in the prerequisite subsection must be equal to or greater than this percentage in order to satisfy the prerequisite and display the current subsection.
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.
Select Save.
In the course outline, if a subsection has a prerequisite, the prerequisite name appears under the subsection name.
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.
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.
Note
If you use content groups in your course to designate content as visible only to particular students, see Preview Cohort-Specific Course Content.
For information about setting up a beta test for your course, see Beta Testing a Course.
You can preview course content before the course is live, or before you publish specific units in a live course, to test how content will appear to students when it is released.
When you preview course content, you see the latest course content that is configured in Studio. You see content in units with the publishing status Draft (Never Published), Draft (Unpublished changes), or Visible to Staff Only.
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 student from a randomized content block in a live course, see Specific Student View.
For example, you publish a unit that includes a video component and a discussion component.
Students see the same content in the LMS.
You later decide to add a knowledge check problem to the unit, between the video and the discussion. Before you publish this change, you can see how the question will look to students by previewing the unit in the LMS.
When you select Preview and select to view the course as a Student, you see the unit in the LMS with the multiple choice question. This preview shows how students will experience the unit after you publish the change.
In the live course, students continue to see the existing content, without the multiple choice question, until you publish the change.
Note
When the unit’s state is Published and Live, the preview and the live version of the course are exactly the same. Selecting either of View Live or Preview gives you the same view.
While you are working in Studio, you can test your live course by viewing it in the LMS as all students, or a particular student, would see it. You can see your course in Staff View, Student View, or Specific Student View. If you are using content groups to designate specific content as visible only to particular content groups, you can see your course as a content group would see it.
You can view the course as a member of these groups.
Role | When You “View As” This Role |
---|---|
Staff | You see all content in the course, including content that is hidden from students. |
Student | You see any content that is intended for all students. |
Specific Student | You see content that is intended for the student whose email or username you specify. |
Student in <Content Group Name> | You see content that is intended for all students, as well as any content specifically set to be visible to this content group. |
To switch to your live course and see how it appears to members of the groups in the table above, 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 the table above.
The course view refreshes to present course content as a member of the selected group would see it.
For details about each view, see Staff View, Student View, or Specific Student View.
To view your live course as any member of the course team would see it, follow these steps.
When you view your course in 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 gets a green check for correct, and that any answer other than the correct one gets a red X for incorrect.
To view your live course as learners see it, follow these steps.
Note
If your course has not started, you cannot see the content on the Course page when you use the Student view. To see this content before the course has started, add yourself as a beta tester on the instructor dashboard. Make sure to set the course start date and the Days Early for Beta setting so that you can see the content that you want. For more information, see Beta Testing a Course.
Note
If you have enabled your course for cohorts and have designated some content as visible only to certain content groups, you can select a content group from the View Course As dropdown list to see the content exactly as a student in a cohort associated with that content group will see it. For more information, see Preview Cohort-Specific Course Content.
When you view content as a student, be aware of the following limitations.
Note
If your course has not started, you cannot see the content on the Course page when you use the Specific student view. To see this content before the course has started, add yourself as a beta tester on the Instructor Dashboard. Make sure to set the course start date and the Days Early for Beta setting so that you can see the content that you want. For more information, see Beta Testing a Course.
In the LMS, to view your live course as one particular learner sees it, select Specific student from the View this course as list. Then, enter that learner’s username or email address.
When you view content as a specific student, be aware of the following limitations.
When you are viewing your course in the LMS as Staff View, you can open Studio directly.
On a unit page, select View Unit in Studio.
The unit page opens in Studio.
After you select Instructor to access the instructor dashboard, select View Course in Studio to open the course outline in Studio.
For information about the tasks you can complete from the instructor dashboard, see Managing a Running Course.
Select the Progress page, and then select View Grading in Studio to open the Grading page in Studio.
For information about checking a student’s progress, see Review How Grading Is Configured for Your Course.
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, edX recommends 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.
preformatted
(monospace), or a heading level. The heading levels
available for an HTML component begin with Heading 3. Because HTML
components are part of a complete page, and heading levels 1 and 2 are in
use by other elements on the page, any text with a heading 1 or 2 style
within an HTML component can interfere with the functionality of tools such
as screen readers.<strong>
tags around the selected text.<em>
tags around the selected text.<span style="text-decoration: underline;">
.<span style="color: color-hex-code;">
.<code>
tags around the selected text, which is then
displayed in a monospace font.<ul>
tags around the selected text, and encloses each paragraph in
<li>
tags.<ol>
tags around the selected text, and encloses each paragraph in
<li>
tags.<blockquote>
tags around the selected text, which is then displayed as a
separate paragraph in a monospace font.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
Because HTML components are part of a complete page, any
text with a heading 1 or 2 style within an HTML component can interfere
with the functionality of tools such as screen readers. Be sure that the
headings you add to an HTML component are Heading 3 <h3>
through Heading
6 <h6>
, and not <h1>
or <h2>
.
When you create an HTML component, you select from a list of 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.
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 if needed.
Enter a display name for the component. The display name identifies the component for learners, so it should describe the content effectively. To do so, 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 supplies “html” for you.
To return to the visual editor, select Editor.
Select Save.
When using the visual editor, you can also perform the following tasks.
When using 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.
Select the text that you want to use as the link text.
Select the link icon in the toolbar.
In the Insert link dialog box, enter the URL of the website that is the destination for your link.
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.
To test the link, select View Live Version or Preview. When the unit opens in the LMS, select the linked text and verify that the correct website opens.
Note
To link to another component, the unit of that destination component must be published for the link to work.
Obtain the unit identifier of the unit you want to link to. To do this, open the unit page in Studio, and copy the unit ID from the Unit Identifier field under Unit Location in the right pane.
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 the following in the URL field.
/jump_to_id/<unit identifier>
Make sure to replace <unit identifier> (including the brackets) with the unit identifier that you copied in step 1, and make sure to include both forward slashes (/).
Caution
Ensure you use
/jump_to_id/<unit identifier>
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/<unit identifier>
, the link will be broken if you export then import the course.
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.
Tip
When adding links to files, open the HTML component and the Files & Uploads page in separate browser windows. You can then more quickly copy and paste file URLs.
In 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 the Studio URL for the file in the URL field.
/static/{FileName}.{type}
Make sure to include both forward slashes (/).
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 Insert.
Save the HTML component and test the link.
When you use the visual editor, you can add any image that you have uploaded for the course to an HTML component. For more information about uploading images, see Adding Files to a Course.
Review Use Best Practices for Describing Images before you add images to HTML components.
Note
Ensure that you obtain copyright permissions for images you use in your course, and that you cite sources appropriately.
To add an image, you need the URL of the image that you uploaded to the course. You then create a link to the image in the HTML component.
Tip
When adding images, open the HTML component and the Files & Uploads page in separate browser windows. You can then more quickly copy and paste image URLs.
On the Files & Uploads page, copy the Studio URL of the image that you want. For an example illustration, see Add a Link to a File.
Note
You must use the Studio URL to add the image, not the Web URL.
In the HTML component where you want to add the link, select the image icon in the toolbar.
In the Insert image dialog box, enter the Studio URL for the file in the URL field.
/static/{FileName}.{type}
Make sure to include both forward slashes (/).
Enter alternative text in the Image description field. This text becomes
the value of the alt
attribute in HTML and is required for your course
to be fully accessible. See Use Best Practices for Describing Images for
more information.
As needed, customize the image dimensions. Keep Constrain proportions selected to ensure the image keeps the same width and height proportions.
With Constrain proportions selected, you only change one dimension. When you tab out of the field, the other dimension changes to a value that maintains the same image proportions.
To change the spacing and border of the image, select the Advanced tab.
Enter the Vertical space, Horizontal space, and Border as needed. The values you enter are automatically added to the Style field.
Select OK to insert the image in the HTML component.
Save the HTML component and test the image.
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 following.
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 do use it, make sure to 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. The component editor opens.
In the component editor, select Launch Latex Source Compiler. The LaTeX editor opens.
Write LaTeX code as needed. You can also upload a LaTeX file into the editor from your computer by selecting Upload in the bottom right corner.
When you have written or uploaded the LaTeX code you need, select Save & Compile to edX XML in the lower-left corner.
The component editor closes. You can see the way your LaTeX content looks.
On the unit page, select Preview to verify that your content looks the way you want it to look 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 in the lower left corner of the component editor to edit the LaTeX code.
This section describes how to include videos as part of the content of your course.
You can also include an “about” video for your course. A course about video appears on learner dashboards to market your course. For more information, see Adding a Course About Video.
You can create videos and add them to a course to supplement active learning components, such as discussions and problems. Videos can be effective for a number of purposes, such as presenting motivating material, showing experiments, and reducing cognitive load for complex content.
For more information about how learners can interact with course videos, see Watching Videos on the edX Video Player in the EdX Learner’s Guide or Watching Videos on the edX Video Player in the Open edX Learner’s Guide.
Before creating video content, decide whether video is the best medium by asking the following questions.
Keep videos as short as possible.
Learners are more likely to finish watching a video if it is no more than 5-10 minutes long.
Be sure to review Create Accessible Media before you create videos for your course.
To help course teams protect video assets, the edX video player hides video URLs by default. This functionality is in effect for all video files, including YouTube videos and videos that are hosted in other locations.
You can allow learners to download videos by selecting the Video Download Allowed option for your video components.
For more information about posting videos to hosting sites other than YouTube, see Step 3. Post the Video Online.
For more information about options that you can set when you create a video component, see Setting Advanced Options under Step 4. Create a Video Component.
Your videos can contain whatever content you want to include in the course. The Creating Videos section of edX101 Overview of Creating an edX Course has some helpful pointers for creating good video content.
When you create videos, follow Richard E. Mayer’s 12 Principles of Multimedia Learning. The principles in this document are based on extensive experimental research of student learning.
EdX recommends the following video compression specifications. These specifications are recommended but not required.
Output | Publish to YouTube | Publish downloadable file to AWS S3 |
---|---|---|
Codec | H.264 .mp4 | H.264 .mp4 |
Resolution & Frame Rate (see note) | 1920x1080, progressive, 29.97 fps | 1280x720, progressive, 29.97 fps |
Aspect | 1.0 | 1.0 |
Bit Rate | VBR, 2 pass | VBR, 2 pass |
Target VBR | 5 mbps | 1 mbps |
Max VBR | 7.5 mbps | 1.5 mbps |
Audio | AAC 44.1 / 192 kbps | AAC 44.1 / 192 kbps |
Note
Typically you export at the same frame rate that was used when you created the media file. For example, if you create the file in a country that uses the PAL system, you export at 25 fps instead of the NTSC standard of 29.97 fps.
The edX video player supports videos in .mp4, .mpeg, .webm, and .ogg format. However, to help make sure all standard browsers can play your video, edX strongly recommends that you use the .mp4 format.
Transcripts are required for your videos. Transcripts help learners with hearing impairments understand audio content, and they are helpful for learners who speak other languages. You can allow learners to download transcripts so that they can read them offline. You associate a transcript with a video when you create the video component.
Timed transcripts in the SubRip Text (.srt) format are strongly recommended. Learners can select the Show transcript (”) icon in the video player’s control bar to show the transcript next to the video. The transcript automatically scrolls as the video plays, and learners can select a line in the transcript to jump to the point in the video where that word is spoken.
Learners can also choose to show the transcript file as overlaid closed captions for the video by selecting the CC icon in the video player’s control bar.
To create or obtain a transcript in .srt format, you can work with a company that provides captioning services.
When you upload an .srt file, a text (.txt) file is created automatically. You can allow learners to download these transcript files. If you allow your learners to download transcripts, the video player includes an option to download the video transcript as either an .srt file or a .txt file.
To prevent errors when you upload your video transcripts, edX recommends the following conventions for naming your transcript files.
.srt
, is in lower case..srt
file type, file
names should not include periods.You can provide transcripts in formats other than the .srt format, such as .pdf, and you can provide additional transcript files in different languages. For more information about these options, see Add a Supplemental Downloadable Transcript.
Note
Historically, some courses used .sjson files for video transcripts. Use of .sjson files is no longer recommended; however, if transcripts in your course use this format, see Upload an .sjson File (Deprecated).
All course videos should be posted to YouTube. By default, the edX video player accesses your YouTube videos.
Because YouTube is not available in all locations, however, edX recommends that you also post copies of your videos on a third-party hosting site such as Amazon S3. When a learner views a video in your course, if YouTube is not available in that learner’s location or if the YouTube video does not play, the video on the backup site starts playing automatically. You can also allow the learners to download the video from the backup site.
After you post your video online, make sure you have the URL for that copy of the video. If you post copies of your video in more than one place, make sure you have the URL for each video location.
You can use any video backup site that you want. However, keep in mind that the site where you post the videos might need to handle high traffic volume.
Note
The URL for the video that you post on a third-party site must end in .mp4, .mpeg, .webm, or .ogg. (To help make sure all standard browsers can play your video, edX strongly recommends that you use .mp4 format.) EdX cannot support videos that you post on sites such as Vimeo.
If you (or your beta testers or learners) encounter an error when you view a course video, it might be the result of one of these browser-related problems.
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, it was found that 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 backup site, the Console User Guide for the Amazon Simple Storage Service provides this information about editing object metadata.
To add a video and its transcript to your course, follow these steps.
Under Add New Component, select Video.
When the new video component appears, select Edit. The video editor opens to the Basic page.
You replace the default values with your own.
In the Component Display Name field, enter an identifying name for this video. This name appears as a heading above the video in the LMS, and it identifies the video for you in Insights.
The default display name for new video components is “Video”. Changing the default to a unique, descriptive display name can help you and your learners identify different videos quickly and accurately. If you delete this default and do not enter an identifying name, the platform supplies “video” for you.
In the Default Video URL field, enter the URL of the video. Example URLs follow.
http://youtu.be/OEoXaMPEzfM
http://www.youtube.com/watch?v=OEoXaMPEzfM
https://s3.amazonaws.com/edx-course-videos/edx-edx101/EDXSPCPJSP13-G030300.mp4
Note
To be sure that all learners can access a video, you can create multiple versions that use different encodings or hosting services. After you post different versions on the Internet, you add each URL below the default video URL. These URLs cannot be YouTube URLs. To add a URL for another version, select Add URLs for additional versions. The first listed video that is compatible with the learner’s computer plays.
Next to Default Timed Transcript, select an option.
If edX already has a transcript for this video, Studio automatically finds the transcript and associates the transcript with the video. This situation can occur when you reuse a video from an existing course.
If you want to modify the transcript, select Download Transcript for Editing. You can then make your changes and upload the new file by selecting Upload New Transcript.
If edX does not have a transcript for the video, but YouTube has a transcript, Studio automatically finds the YouTube transcript and asks if you want to import it. To use this YouTube transcript, select Import YouTube Transcript. (If you want to modify the YouTube transcript, import the YouTube transcript into Studio, and then select Download Transcript for Editing. You can then make your changes and upload the new file by selecting Upload New Transcript.)
If both edX and YouTube have a transcript for your video, but the edX transcript is out of date, you receive a message asking if you want to replace the edX transcript with the YouTube transcript. To use the YouTube transcript, select Yes, replace the edX transcript with the YouTube transcript.
If neither edX nor YouTube has a transcript for your video, and your transcript uses the .srt format, select Upload New Transcript to upload the transcript file from your computer.
Note
Optionally, select Advanced to set more options for the video. For a description of each option, see Setting Advanced Options.
Select Save.
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 tab. |
Default Timed Transcript | The name of the transcript file that was specified in the Default Timed Transcript field on the Basic page. You do not have to change this setting. |
Download Transcript Allowed | Specifies whether you want to allow learners to download the timed transcript. If you select True, a link to download the file appears below the video. By default, Studio creates a .txt transcript when you upload an .srt transcript. Learners can download the .srt or .txt versions of the transcript when you set Download Transcript Allowed to True. If you want to provide the transcript for download in a different format as well, such as .pdf, upload a file to Studio by using the Upload Handout field. |
Downloadable Transcript URL | The URL for a non-.srt version of the transcript file posted on the Files & Uploads page or on the Internet. Learners see a link to download the non-.srt transcript below the video. When you add a transcript to this 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 a format other than .srt, edX recommends that you upload a handout for learners by using the Upload Handout field. For more information, see Add a Supplemental Downloadable Transcript. |
EdX Video ID | An optional field used only by course teams that are working with edX to process and host video files. |
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. |
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 this video. Your handout can be in any format. Learners can download the handout by selecting Download Handout under the video. For more information, see Add a Supplemental Downloadable Transcript. |
Video Available on Web Only | If you select True, learners are only allowed to 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 versions of this video in different formats if they cannot use the edX video player or do not have access to YouTube. If you select True, you must add at least one non-YouTube URL in the Video File URLs field. |
Video File URLs | The URL or URLs where you posted non-YouTube versions of the video. Every URL should end in .mp4, .mpeg, .webm, or .ogg and cannot be a YouTube URL. Each learners will be able to view the first listed video that is compatible with the his or her computer. To allow learners to download these videos, you must set Video Download Allowed to True. To help make sure all standard browsers can play your video, we strongly recommend that you use the .mp4 format. |
Video ID | An optional field used only by course teams that are working with edX to process and host video files. |
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 download and play the 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 download and play the 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 | If you have uploaded separate video files to YouTube for different speeds of your video (YouTube ID for .75x speed, YouTube ID for 1.25x speed, YouTube ID for 1.5x speed), enter the YouTube IDs for these videos in these fields. These settings are optional, to support video play on older browsers. |
After you add a video component to your course, you can provide optional collateral to accompany the video.
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 set Download Transcript Allowed to True. Options to download the transcript** appear below the video.
You can provide an additional downloadable transcript in a format such as .pdf along with the default .srt and .txt transcripts. 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 Spanish transcripts for these videos, you name them video1_ES.srt and video2_ES.srt. Later, when you add Russian transcripts for the videos, you name them video1_RU.srt and video2_RU.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.
If your course uses .sjson files, you upload the .sjson file for the video to the Files & Uploads page, and then specify the name of the .sjson file in the video component.
Note
Only older courses that have used .sjson files in the past should use .sjson files. All new courses should use .srt files.
Obtain the .sjson file from a media company such as 3Play.
Change the name of the .sjson file to use the following format.
subs_{video filename}.srt.sjson
For example, if the name of your video is Lecture1a, the name of your .sjson file must be subs_Lecture1a.srt.sjson.
Upload the .sjson file for your video to the Files & Uploads page.
Edit or create the video component.
Select Advanced.
In the Default Timed Transcript field, enter the file name of your video. Do not include subs_ or .sjson. For the example in step 2, you would only enter Lecture1a.
Set the other options that you want.
Select Save.
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.
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 and Subcategory fields are visible to learners in the list of discussion topics on the Discussion page.
Note
Each Category/Subcategory pair for the discussion topics in your course must be unique.
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 Visibility of Discussion Topics.
When you add a content-specific discussion topic to a unit, learners see only the Show Discussion and New Post options. EdX recommends that you add an HTML component before each discussion component to introduce the topic that you want learners to discuss.
In the following example, the discussion component follows video and HTML components.
Learners must select Show Discussion to expand the discussion space and read the contributions, or select New Post to post their own contributions.
On the Discussion page, learners can find the category and subcategory of the discussion in the discussion thread list.
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 in Studio, at the unit level, you select Problem. You then choose the type of problem that you want to add from a list of Common Problem Types or Advanced problem types.
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, peer 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 ungraded. 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 an ungraded subsection are ungraded, all of the problem components that you add to a unit in the midterm subsection are graded, and so on.
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.
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.
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.
In addition to the items above, which are shown in the example, problems also have the following elements.
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 peer 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 peer 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 Peer 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.
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 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. Peer 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 Student 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.
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 |
Peer 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 |
Office Mix Tool | You can embed interactive lessons created from PowerPoint files so that learners can experience them directly in the course body. | Provisional 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 the learner’s response for every option is evaluated and scored. This method is known as every decision counts (EDC).
With EDC, for each option the learner gets wrong, either by not selecting a correct option or selecting an incorrect option, the learner’s score is reduced by 1/n, where “n” is the number of options.
For example, if there are four options, each one is worth 25% of the total score. If a learner’s response is wrong for one option, she receives 75% of the points for the problem.
The following table describes the learner’s score for different submissions for EDC problems with a variety of correct answer options.
Learner’s Selections | Correct Answers | Incorrect Answers | Score |
---|---|---|---|
A, B, C | A, B, D | C | 75% |
A | A, C, D | B | 75% |
A, C | A, D | B, C | 50% |
C, D | A, B, C, D | 0% |
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. At a minimum, dropdown 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 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.
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.
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 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. 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 code is sent to the grader for testing. If the code passes all tests, the grader returns the score and a string indicating that the solution is correct.
The external grader can return a string with results, which the learner can see by selecting See full output. This can be particularly useful when the solution is not correct and you want to return information about the failed tests. An example follows.
The edX platform communicates with your external grader through XQueue. XQueue provides learners’ input to the grader; it then receives results from the grader and returns them to learners.
Submissions are collected in XQueue, where they remain until the grader actively retrieves, or pulls, the next submission from the queue for grading.
The external grader polls the XQueue through a RESTful interface at a regular interval. When the external grader retrieves a submission, it runs the tests on it, then pushes the response back to XQueue through the RESTful interface. XQueue then delivers the response to the edX learning management system.
The following repositories are examples of external graders that use Pull mode.
The following steps describe the complete process of an external grader evaluating a problem.
Your course will use a specific XQueue name. You use this name when you create problems in Studio.
EdX partners who are using external graders should use the base URL
https://xqueue.edx.org
as the XQueue name.
If you are an edX partner, contact your edX partner manager for more information. Because edX hosts many XQueues for different courses, you must use the exact XQueue name in your problems, as described in Create a Code Response Problem.
The learner submission sent from XQueue to the grader, and the response sent from the grader to XQueue, are JSON objects, as described below.
Note
XQueue does not send the the learner ID to the external grader. Your grader cannot access IDs or associate learner IDs with submissions.
For the code for the XQueue interface, see the urls.py file in the edX XQueue repository.
The grader receives a submission as a JSON object that has the following keys:
xqueue_header
: A dictionary that contains information that is required
for xqueue to link results to the corresponding submission.xqueue_files
: A dictionary that contains a list of files that were
submitted by the learner. The dictionary is structured such that the
filename is the key and the location of the file is the value.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 (yyyymmddhhmmss).random_seed
: An integer that contains the seed that was used to
initialize the randomization script that may be attached to the problem.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.grader_payload
: An optional string that you can specify when you
create the problem. For more information, see the section
Create a Code Response Problem.An example follows.
{
"xqueue_header": {
"submission_id": 12,
"submission_key": "280587728458c29e1e66ae0c54a806f4"
}
"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 running tests and recording results for a submission, the grader must return information by posting a JSON response. The JSON string contains a value that indicates whether the submission was correct, the score, and any message the tests create.
In the following example, the learner’s submission was correct, the score was 1, and the tests created a brief message.
{
"correct": true,
"score": 1,
"msg": "<p>The code passed all tests.</p>"
}
The course team, not edX, is responsible for building and deploying the external grader.
In addition to creating tests that are specific to the problems you use in your course, you must plan for the following requirements when you build an external grader.
Note
To validate your external grader and test a problem, you must view the component in the LMS, in a published unit. If you attempt to test a problem in Studio, the message “Error: No grader has been set up for this problem” displays.
Your external grader must be able to scale to support the number of learners in your course.
Keep in mind that submissions will likely come in spikes, not in an even flow. For example, you should expect the load to be much greater than average in the hours before an exam is due. Therefore, you should verify that the external grader can process submissions from a majority of learners in a short period of time.
Learners submit code that executes directly on a server that you are responsible for. It is possible that a learner will submit malicious code. Your system must protect against this and ensure that the external grader runs only code that is relevant to the course problems. How you implement these protections depends on the programming language you are using and your deployment architecture. You must ensure that malicious code will not damage your server.
After your course starts, many learners will submit code at any possible time, and expect to see results quickly. If your external grader is prone to failure or unexpected delays, the learner experience will be poor.
Therefore, you must ensure that your grader has high availability and can recover from errors. Before your course starts, you must have a plan to immediately notify the team responsible for operating your grader, as well as edX operations, when the grader fails. In collaboration with edX, you must develop a procedure to quickly identify the cause of failure, which can be your grader or edX’s XQueue.
Contact your edX partner manager for more information.
If you know the grader will be unavailable at a certain time for maintenance, you should add a course update.
You create a code response problem in edX Studio by adding a blank advanced problem, and then editing the OLX for the problem definition in the advanced editor. For more information, see Working with Problem Components.
To validate your external grader and test a problem, you must view the component in the LMS, in a published unit. If you attempt to test a problem in Studio, the message “Error: No grader has been set up for this problem” displays.
Following is a basic example of 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 please 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>
Note the following details about the OLX definition.
queuename
: The value of the queuename
attribute of the
<coderesponse>
element maps to an XQueue. Partners should contact their
edX partner manager for more information. You must use this exact name in
order for the problem to communicate with the correct XQueue.
Note
For edX partners, the base URL that graders must access is
https://xqueue.edx.org
.
Input Type: In this example, the <textbox>
element specifies the
input type. When you use <textbox>
, the learner enters code in a browser
field when viewing the course unit. The other element you can use to specify
the input type is <filesubmission>
, which enables the learner to attach
and submit a code file in the unit.
<grader_payload>
: You can use the <grader_payload>
element to send
information to the external grader in the form of a JSON object. For example,
you can use <grader_payload>
to tell the grader which tests to run for
this problem.
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 HTML/Elements/iframe specification.
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 the HTML/Elements/iframe specification.
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. |
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. |
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 Entering Mathematical and Scientific Expressions in the EdX Learner’s Guide or Entering Mathematical and Scientific Expressions 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
|
<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.
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 Entering Mathematical and Scientific Expressions in the EdX Learner’s Guide or Entering Mathematical and Scientific Expressions 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.
Note
EdX offers provisional support for this tool.
Office Mix is a third-party tool that you can use to turn Microsoft® PowerPoint® presentations into interactive online lessons that are called mixes.
This topic describes how to embed PowerPoint (.ppt) format mixes 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.
Office Mix is an extension to PowerPoint. With Office Mix, you can create lessons by integrating quizzes, polls, website links, narration, screen recordings, and more into your PowerPoint presentations. The Office Mix gallery provides examples and links to more information.
When you design a lesson that uses PowerPoint with Office Mix, consider that you can save the result in either PowerPoint (.ppt) format or export the file to video (.mp4 format).
Note
Because Office Mix is a third-party tool, its features are subject to change without notice. Be sure to consult the Office Mix Knowledge Base for up to date information about this tool’s features.
To embed mixes that have interactive elements, including quizzes, web pages, and apps, in a course, you save the file in .ppt format. These files can include any of the other Office Mix features as well, including audio and video.
Note
While you can include questions in your mixes, these questions cannot be graded. EdX recommends that you add Office Mix components only to ungraded subsections in a course.
This topic describes how to embed PowerPoint (.ppt) format mixes in your course. The following example shows a mix as learners see it in the edX LMS.
For information about how to create mixes, see the Office Mix Knowledge Base.
You can use Office Mix to add audio, video, or both to a PowerPoint presentation. These annotations can be recorded (or rerecorded) for the entire presentation or for individual slides within the presentation. To embed mixes that include audio and video only, you have the option to export the presentation to a video file in .mp4 format.
You then use a video component to add the resulting .mp4 file to your course, instead of the .ppt file. For more information about including .mp4 format video files in your course, see Working with Video Components.
Note
Interactive features, such as hyperlinks, do not function in an .mp4 video file. The quality of the output that is rendered by the Microsoft PowerPoint web client for mixes in .ppt format can be higher than the quality of a video file exported for the same presentation.
Typically, mixes include audio, video, or both. Mixes that include audio or video are likely to qualify as time-based media, and as a result, they require captions or a transcript to make all content accessible to all learners.
For more information about how to add captions to a mix, see the Microsoft documentation for Office Mix, including the How to add Closed Captions to an Office Mix knowledge base article.
For more information about making time-based media accessible, see Accessibility Best Practices for Developing Course Content.
To add .ppt format mixes to your course, you create a mix, host it at an external site, and then enable and use the Office Mix tool in Studio to add the mix into a component in your course.
For information about how to create mixes, see the Office Mix Knowledge Base.
Before you can add a mix to your course, you must enable this tool in Studio.
To enable the Office Mix tool in Studio, you add the "officemix"
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 Office Mix tool before you add a component with a mix to your course. You must also create or identify the mix that you want to add and obtain its URL.
On the Course Outline page, locate the ungraded subsection where you want to add the mix and add or open a unit.
Under Add New Component, select Advanced, and then select Office Mix. Studio adds the new component, which includes a sample mix, 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 mix.
In the Office Mix URL field, enter the complete URL for the mix that you
want to add. For example, https://mix.office.com/watch/1otxpj7hz6kbx
.
Select Save.
To verify your work, select play.
Note
EdX offers full support for this problem type.
The topics in this section provide an overview and details about open response assessments.
For additional information, see Create an Open Response Assessment Assignment, Managing Open Response Assessment Assignments, and Accessing Metrics for ORA Assignments.
Open response assessments allow the course team to assign questions that might not have definite answers, such as text responses or short essays. Learners submit responses to questions, then each learner and the learner’s peers compare the responses to a rubric that you create. You can also allow learners to upload an image, a .pdf file, or another file of a type that you specify, to accompany their text responses.
Open response assessments can include self assessments, peer assessments, and staff assessments. In self assessments, learners compare their own responses to a rubric that you create. In peer assessments, learners compare their peers’ responses to the rubric. In staff assessments, a member of the course team evaluates the learner’s responses using the rubric.
In open response assessments, learners usually only see their own responses and any peer responses they assess. You can also allow learners to see the top scoring responses that their peers have submitted. For more information, see Top Responses.
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.
For more information about creating open response assessments, including step by step instructions, see the following sections.
For information about viewing metrics and learner responses for released open response assessments, see Accessing Metrics for ORA Assignments.
For information about the learner experience with open response assessments, see Completing Essay Assignments in the edX Guide for Learners.
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 these guidelines and best practices when you use open response assessments in your courses.
Make sure you have a well designed and clear rubric. A good rubric is very important in helping to eliminate ambiguity in the peer grading process.
Make ORA assignments count toward only a small percentage of the final course grade, or make them ungraded.
In graded ORA assignments, consider setting the lowest possible score to a number higher than zero, so that learners can earn some credit for the work they have done, even if their peer assessors give them low grades.
Provide an ungraded practice ORA assignment prior to the first graded ORA assignment in the course, so that learners can understand the peer grading process and get the most out of the eventual graded ORA assignment.
Consider using ungraded ORA assignments to generate learner interaction and feedback without affecting grades.
Be wary of including too many ORA assessments in your course. Peer assessments are hard work for learners, and having to perform too many peer assessments can have a negative impact on learners’ course completion rates.
For a manageable experience, use staff assessment steps only in assignments that are available to a limited number of learners. For example, in courses that have cohorts enabled, you make the assignment containing the staff assessment step available only to members of one or more cohorts.
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.
In ORA assignments, 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 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.
In discussion posts, 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.
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.
Each prompt, or question, that you want your learners to answer, appears near the top of the page, followed by a field where the learner enters a response. You can require your learners to enter text as a response, or you can allow your learners to both enter text and upload another file, such as an image or document.
Note
Uploaded files must be smaller than 5 MB in size. If learners upload an image, the file must be in .jpg, .gif, or .png format.
When you write each question, you can include helpful information for your learners, such as what they can expect after they submit responses, or the approximate number of words or sentences that their response should have.
Note
Each learner is limited to a total word count of 10,000 for all responses in an ORA assignment.
For more information, see Step 2. Add Prompts.
For an open response assessment, you can ask your learners to upload an image, a .pdf file, or a file of another type as a part of their responses. Other learners evaluate the responses and their accompanying files during the peer assessment. Offering the option to upload a file 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 other files along with their text responses, however, you should be aware of the following limitations and best practices.
For more information, see Allow Learners to Submit Files (optional).
This topic lists the file extensions for the set of file types that learners are prohibited from uploading 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 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 |
Your assignment must include a rubric that you design. The same rubric is used for all the types of assessments (self, peer, or staff). The person performing the assessment sees the rubric when she begins grading, and compares the submitted response to the rubric.
Rubrics consist of criteria and options.
Each criterion has a name, a prompt, and one or more options.
The name is a very short summary of the criterion, such as “Ideas” or “Content”. Criterion names generally have just one word. Because the system uses criterion names for identification, the name for each criterion must be unique. Criterion names do not appear in the rubric that learners see when they are completing peer assessments, but they do appear on the page that shows the learner’s final grade.
![]()
The prompt is a description of the criterion.
Options describe how well the response satisfies the criterion.
Each option has a name, an explanation, and a point value.
Different criteria in the same assignment can have different numbers of options. For example, in the image above, the first criterion has three options and the second criterion has four options.
Note
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.
You can see both criterion and option names when you access assignment information for an individual learner. For more information, see Accessing Metrics for ORA Assignments.
When you create your rubric, decide how many points each option will receive, and make sure that the explanation for each option is as specific as possible. For example, one criterion and set of options may 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. |
Note
For peer grading, the most effective rubrics are as concrete and specific as possible. Many novice learners will be unqualified to make the types of value judgments required for more holistic rubrics. In addition, edX suggests using clear, simple language in rubrics.
For more information, see Step 3. Add the Rubric.
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 a response, they complete a learner training step (“Learn to Assess Responses”), complete peer assessments on other learners’ responses (“Assess Peers”), and then complete self assessments (“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, and the following message appears above the response.
Learning to Assess Responses
Your assessment differs from the instructor's assessment of this response. Review the
response and consider why the instructor may have assessed it differently. Then, try
the assessment again.
For each of the criteria, the learner sees one of the following two messages, depending on whether the learner’s selections matched those of the course team.
Selected Options Differ
The option you selected is not the option that the instructor selected.
Selected Options Agree
The option you selected is the option that the instructor selected.
For example, the following learner chose one correct option and one incorrect option.
The learner continues to try scoring the sample response until the learner’s 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 see 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.
The comment field appears below the options for the criterion. In the following image, both criteria have a comment field. There is also a field for overall comments on the response.
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 Step 7. Show Top Responses.
Creating an open response assessment 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 create the component for your open response assessment, 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 Peer 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.
To add prompts, or questions, complete these steps.
Note
If you want to add text formatting to the prompt, or include an image, see Add Formatting or Images to a Prompt.
Currently, you cannot format text or add images inside the Peer Assessment component. To include formatting or images in a prompt, you can add an HTML component that contains your text above the Peer Assessment component, and leave the text field in the Prompt tab blank. The instructions for the peer assessment still appear above the Your Response field.
Before you enable this feature for your open response assessment, be sure to read about its limitations and best practices. For more information, see Asking Learners to Upload Other Files in Responses.
To allow learners to submit a file along with their text responses, follow these steps.
In the open response assessment component editor, select Settings.
Set Allow File Upload to one of these options.
If you select Custom File Types, the File Types field appears. Enter the file 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 Asking Learners to Upload Other Files in Responses.
Verify that the text of the prompt describes the file type or types that learners can upload.
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.
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 6 below for instructions. For more information, see Feedback Options.
To add the rubric, follow these steps.
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.
When you add a comment field to a criterion, the comment field appears below the options for the criterion. You can also provide a comment field, but no options.
In the following image, the first criterion has a comment field but no options. The second criterion includes options, but does not have a comment field.
To provide a comment field without options, complete these steps.
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.
To specify a name for the assignment as well as start and due dates for all learner responses, complete these steps.
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 component editor, select the Settings tab.
Scroll down past the Allow Image Responses and Allow Latex Responses fields.
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, but then you 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 responses that you have created, then select an 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 more information about learner training steps, see Learner Training Step.
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, and the times that learners see, use 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.
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, and the times that learners see, use 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.
For more information about self assessment steps, see Self Assessment Step.
For the staff assessment step, there are no additional settings after you have selected the step for inclusion in the assignment.
For more information about staff assessment steps, see Staff Assessment Step.
To allow learners to see the top scoring responses for the assignment, you specify a number on the Settings tab.
Note
Because each response can be up to 300 pixels in height, we recommend that you set the number of top responses to 20 or lower, to prevent the page from becoming too long.
For more information about the Top Responses section that you can include for an ORA assignment, see Top Responses.
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 and learners start to submit responses and perform assessments, members of the course team can take the following actions.
In addition, the following topics provide information about other aspects of open response assessments.
You can view the following information about an individual learner’s performance in an 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 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 a file along with her response, select View the file associated with this submission to review or download it.
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.
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. For more information, see Delete a Learner’s State for a 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.
Ask the person who reported the incident to send you a sample of text from the inappropriate response.
Contact your edX partner manager to request a data download of ORA responses for your course.
You will receive the download as a spreadsheet or in .csv file format.
Search the spreadsheet for text that matches the sample text from the inappropriate response.
From any matching entries in the spreadsheet, locate the username of the learner who posted the submission.
Make a note of the username, and follow the steps to remove a learner response from peer grading.
After you release an open response assessment assignment, you can access various metrics for the assignment. 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, 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 learners in the assignment, including the number who are active in each step, follow these steps.
Open the 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 generation is in progress. 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 Item ID and Submission 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 resources of the Mazur Group or 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 Explaining Multiple Choice Answers 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 the 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. 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.
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, 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 and its explanation. 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 the default poll that contains three 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 Student 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 Student 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 Student 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 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 use very large or very detailed images to present information in your course, learners might not be able to see all the information in the image without some option to zoom in to various areas of the image. You can use the zooming image tool to enlarge areas of your image as the learner moves the mouse over the image, as shown in the example below.
To create a zooming image tool, you need the following files.
Upload your regular-sized image file, your small image file, and the
jquery.loupeAndLightbox.js
file to the Files & Uploads page. For
more information about how to do this, see Adding Files to a Course.
Under 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 for your course.
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.
To use images and other files in your course, you upload the files to your course by using Studio, and then you add links to the files in the course content. You can also use uploaded files in the bulk email messages that course team members can send from the LMS by selecting Instructor to access the instructor dashboard.
The maximum size for an uploaded file is 50 MB.
We recommend that you use standard compression tools to reduce PDF and image file sizes before you add the files to your course. If you have to use files that are larger than 50 MB after compression, contact your edX partner manager.
If you have video or audio files or large data sets to share with your students, use YouTube or another hosting service to host these files. Do not use the Files & Uploads page to add these files to your course. If you are an edX partner and you need to store large data sets, contact your edX partner manager.
You upload files on the Files & Uploads page in Studio.
Note
Ensure that you obtain copyright permissions for files and images you upload to your course, and that you cite sources appropriately.
To upload a file, follow these steps.
Create or locate the file on your computer.
Note
When URLs are generated for uploaded files, 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 about the file contents that you do not want to share, such as “Answerkey.pdf”.
From the Content menu, select Files & Uploads.
Select Upload New File.
Select Choose File, and then select the file or files that you want to upload.
Note
If you upload a file that has the same name as an existing course file, the original file is overwritten without warning.
To upload additional files, select Load Another File and repeat the previous step.
When you are finished, select the X to close the window.
The Files & Uploads page refreshes to show the uploaded file.
To use an uploaded file for your course, you add a reference to one of the URLs that is assigned to it. On the Files & Uploads page, the URL column lists a Studio URL and a Web URL for each file you upload.
To add a file or image to a component, a course update, or a course handout, you use the Studio URL.
For more information, see Add an Image to an HTML Component.
To provide a link to the file or image from outside the course, including in
the body of an email message that you send to course participants from the
LMS, you use the Web URL. Be sure that you do not use the /static/
URL in an email message.
For more information about sending email messages, see Send an Email Message to Course Participants.
Note
You can lock a file if you do not want to allow access to that file from outside your course. When you lock a file, the web URL only allows file access to learners who are signed in and enrolled in your course. For more information, see Lock a File.
To copy a URL from the file list, select the URL in the URL column and copy it.
On the Files & Uploads page, you can sort your files by any column that has a blue column header. For example, to sort the list by name, select the Name column header.
Change the sort order by selecting a sortable column header. The direction of the arrow in the column header indicates whether the order is ascending or descending. Each time you select the column header, the sort order reverses.
The current sort order is shown at the top of the file list, and the active sort column header is underlined.
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.
Type | File Types Include |
Images | .gif, .ico, .jpg, .jpeg, .png, .tif, or .tiff |
Documents | .pdf, .txt, Microsoft Office and Open Office documents, presentations, or spreadsheets |
Other | Files not included in the other types, such as .html, .js, or .sjson |
To filter the list of files by type, follow these steps.
The list refreshes to show only the type of file you selected, and the column header changes to reflect the type of file that you have filtered by.
To reset the list and view files of all types, select Show All in the Type drop-down list.
The Files & Uploads page lists up to 50 files. If your course has more than 50 files, additional files are listed on other pages.
The range of the files listed on the page, and the total number of files, are shown at the top of the page.
You can navigate through the pages in these ways.
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 edX to access the file.
To lock a file, select the lock icon in the right column.
To delete a file, select the X in the row for file. You are prompted to confirm the deletion.
Warning
After you delete a file, links to the file from course content will be broken. You must update links to files that you need to delete.
You add course updates and identify handouts in Studio. Learners see the course updates and handouts on the Home page in your course.
Section Contents
You add updates to notify learners of upcoming exams or deadlines, changes in the course schedule, or to make other announcements. Updates are visible to enrolled learners as soon as you post them.
Each update requires a date for identification and sorting purposes. This date does not control when the date becomes visible to learners. In the LMS, updates display on the Home page in reverse chronological order (most recent at the top), based on the date associated with each update.
To add a course update, follow these steps.
From the Content menu, select Updates.
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 Home 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. This date is used only for identification and sorting purposes. This date does not control when the date becomes visible to learners.
Select Post. Your update appears on your course’s Home page immediately.
- Learners can choose to turn off notifications for individual courses or for all courses. The Home page continues to show all updates.
- All updates appear on the Home page, even if you do not send notifications.
You can identify previously uploaded files as handouts for your course. Learners see a link on the Home page for each course handout.
Before you identify a course handout, you add the file to your course and copy its Studio URL. You can open the Studio Files & Uploads page in another browser window to make this process easier.
To identify a course handout, follow these steps.
From the Content menu, select Updates.
In the Course Handouts panel, select Edit.
In the editor that opens, use HTML formatting to add a link to the previously uploaded file. An example follows.
<p><a href="/static/Syllabus_Fall2016.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, the system adds these pages to every new course.
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.
To customize your course, you can make the following changes to 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.
An example of the navigation bar for a course that includes a textbook named Introduction to Music Theory and custom pages for the Course Schedule and Supplements follows.
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 Staffing.
If you add a custom page to a course after its start date, the page is visible in the LMS as soon as you save your work. As a best practice, be sure to prepare the following aspects of your page design before you add a page.
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 change the audience for the page, select Settings, and then enter Hide Page from Learners. By default, pages are visible to all course participants.
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.
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 PDF textbooks to your course.
Note
Do not use image files (for example, .png files) as textbooks for your course, as they are not accessible to 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 create smaller communities in your course, or design different course experiences for different groups of learners, you can set up cohorts in your course.
In discussion topics that are divided by cohort, learners can also communicate and share experiences privately within the cohort that they are assigned to. Cohort-specific discussion opportunities can help learners develop a sense of community, provide specialized experiences, and encourage deeper, more meaningful course involvement.
If you use cohorts in your course, you define a set of cohorts that reflect communities of learners, then select a strategy for assigning learners to cohorts.
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.
For more information about using cohorts, see the following topics.
For information about discussions in general, see Managing Course Discussions.
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 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. An automated assignment strategy means that you create cohorts to which learners are assigned automatically and randomly. A manual assignment strategy means that you create cohorts to which learners are assigned only when you or your course team manually adds them. You can use a hybrid assignment method by creating a combination of automated and manual cohorts. Typically, your purpose in including the cohort feature determines which assignment option you use for your course.
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 more information about 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 particpates 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 students. 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 student 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).
- Course-wide discussion topics are unified by default, but you can specify that they are divided by cohort.
- Content-specific discussion topics are divided by cohort by default. You do not need to take any action if you want all content-specific discussions to be divided by cohort. You only need to change settings if you want to make only a few discussion topics divided by cohort and make the remaining topics unified.
You complete these procedures on the Cohorts tab on the Instructor Dashboard.
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 discussion on the Course or Discussion pages. Learners who access the Home page or other course pages such as a Textbook page do not receive a cohort assignment until they view course content or 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
You can only add learners to a cohort manually if they have enrolled in your course.
Manual assignments should be as complete as possible before your course starts. If learners enroll after your course starts, you should continue to assign new learners to cohorts. 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 Cohort 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
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.
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. Making changes to cohort assignments after the course starts affects the course experience for learners.
To manually assign learners to cohorts in your course, follow these steps.
Note
You can only add learners to a cohort manually if they have enrolled in your course.
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.
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.
Note
You can only add learners to a cohort using a .csv file if they have enrolled in your course.
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 also complete manual cohort assignments as soon as possible after any learner enrolls, including any enrollments that occur while your course is running. 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.
For example, if your .csv file contains conflicting information such as Student A being first assigned to Cohort 1, then later in the spreadsheet being assigned to Cohort 2, the end result of your .csv upload is that Student A is assigned to Cohort 2. However, the upload results file will count Student A twice in the “Students 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 errors.
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 students | You must include at least one column identifying students: either “email” or “username”, or both. If both the username and an email address are provided for a student, the email address has precedence. In other words, if an email address is present, an incorrect or non- matching 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 student. The specified cohorts must already exist in Studio. |
Columns with headings other than “email”, “username” and “cohort” are ignored. |
To manually add enrolled learners to cohorts by uploading a .csv file, 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 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 students you assigned to that cohort in the .csv file. |
Students Added | The number of learners added to the cohort during the row by row processing of the .csv file. |
Students Not Found | A list of email addresses or usernames (if email addresses were not supplied) of learners who could not be matched by either email address or username and who were therefore not added to the cohort. |
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 designating specific components in your course as visible only 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 visibility settings for the video component at the end of each section so that it is visible only to the “University-Specific Content” content group. You do not need to edit the visibility settings of the quiz component, because if no content group is specified in a component’s visibility settings, it is visible 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 visible to particular cohorts of learners.
You create content groups in Studio, and in your course outline you use the Visibility Settings to designate whether a component is selectively visible only to one or more content groups. Any course components that do not have an explicitly restricted visibility setting remain visible to all students, regardless of their cohort.
Content groups do not have an actual impact on the visibility of a course component until you associate them with one or more cohorts. If you have designated certain course content as visible to a content group, and in addition have associated that content group with one or more cohorts, then 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 visible to specific content groups. For details, see Specify Components as Visible 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.
To view the units that are visible to a content group, 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 whether the content group is used in this course. If it is used, you see the number of units that it is used in, and links to each unit.
Select each link to go to that unit in the Course Outline, where you can specify whether that unit is visible to the content group.
For details about previewing your course to ensure that learners in a cohort correctly see the content intended for them, see Preview Cohort-Specific Course Content. For details about deleting content groups, see Delete Content Groups.
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.
After you create at least one content group, you can edit your course in Studio and modify the visibility settings of components that you want to make visible only to particular content groups.
Note
You do not need to edit the visibility settings of components that are intended for all learners. Components that you do not explicitly indicate as visible to a group are visible to all learners enrolled in your course, regardless of the cohort that they belong to.
You can specify content as visible to content groups only at the component level in a unit. You cannot specify entire units, subsections, or sections for visibility to content groups.
In a separate task, you create cohorts and associate content groups with cohorts. Then, only the cohorts associated with content groups which you selected in a component’s visibility settings can view the component. See Associate Cohorts with Content Groups for details about associating cohorts with content groups.
To specify components as visible only to particular content groups, follow these steps.
In Studio, select Content, then select Outline.
For each component that you want to make visible only to a particular content group or groups, select the unit name, then select the Visibility Settings icon.
In the Editing visibility dialog, select Specific Content Groups, then select the checkbox for each content group for which you want the current component to be visible.
Select Save.
The Visibility Settings icon for the component is now black.
The publishing details for the course section in the sidebar indicate that some content is visible only to particular groups.
For details about previewing your course to ensure that students in a cohort correctly see the content intended for them, see Preview Cohort-Specific Course Content.
Note
In addition to visibility settings for content groups, a learner’s ability to see a course component also depends on whether it is hidden from students, whether the unit is published, and the course’s release date. For details about previewing course content in general, see Preview 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 visible to that content group is visible to students 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 designate components as being visible only to certain content groups, you can preview your course content to ensure that each group correctly sees the content intended for them.
Note
In addition to visibility settings for content groups, a learner’s ability to see a course component also depends on whether it is hidden from students, whether the unit is published, and the course’s release date. For details about previewing course content in general, see Preview Course Content.
You can view the course as a member of these groups.
Role | When You “View As” This Role |
---|---|
Staff | You see all content in the course, including content that is hidden from learners. |
Student | You see any content that is intended for all students. |
Specific Student | You see content that is intended for the student whose email or username you specify. |
Student in <Content Group Name> | You see content that is intended for all learners, as well as any content specifically set to be visible to this content group. |
In Studio, in the course outline, select Preview. You see your course section in the Course section of the LMS.
In the navigation bar at the top of the page, select one of the options in the View this course as drop down list, as described in the table above.
The course view refreshes and the content is presented as a member of the selected content group would see it.
After your course is live, you can also see the live version as a learner would see it, by selecting View Live from Studio. For more information, see View Your Live Course.
This section provides information about setting up discussions for specific cohorts.
In courses that have cohorts enabled, discussion topics can be either divided by cohort, or unified and accessible to all learners.
Discussion topics that are divided by cohort are visible to all learners but the posts, responses, and comments within them are divided so that they are visible only to members of the same cohort. Posts, responses, and comments within unified discussion topics are visible to all learners in the course, regardless of cohort.
When you first enable cohorts in your course, the initial behavior for course-wide discussion topics is different from the behavior of content-specific discussion topics.
By default, course-wide discussion topics are unified because these discussions are generally used for posts that are of broad interest to all learners in the course. In contrast, content-specific discussion topics are by default divided by cohort. You can change discussion topics of either type to be divided or unified on the instructor dashboard in the LMS.
Warning
If you change the cohort 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. If you make changes to cohort settings in a running course, be aware of the implications of your changes. For more details, see Altering Cohort Configuration in a Running Course.
For information about cohort settings for discussion topics, see the following topics.
For overview information about discussions in a course, see Managing Course Discussions. For information about using cohorts in a course and managing discussions that are divided by cohort, see Using Cohorts in Your Courses and Managing Discussions in Courses with Learner Cohorts.
Note
Making discussion topics divided by cohort, described in this and the following topics, only divides posts within the discussion topics by cohort; the discussion topics are still visible to all learners in the course. If you want to make specific content-specific discussion topics visible only to certain cohorts, you can implement content groups and change the visibility settings on the discussion components. For more details, see Creating Cohort-Specific Course Content.
When you first create a course-wide discussion topic, it is unified, and all learners in the course can post, read, respond, and comment in the topic without regard to their cohort assignments.
After you add a course-wide topic, you can configure it so that it is divided by cohort instead. For step-by-step instructions for specifying whether a course-wide discussion topic is unified or divided by cohort, see Specify Whether Course-Wide Discussion Topics are Divided by Cohort.
Course-wide discussion topics are by default unified, so that all learners can participate. In some instances, however, you might decide that it makes sense to divide some course-wide discussion topics by cohort, so that members of each cohort only see and respond to posts made by learners in the same cohort.
For example, in addition to the system-supplied General topic, you add three new course-wide discussion topics, for a total of four discussion topics.
The posts that you intend to make to the General and Course Q&A topics, and the subjects you expect learners to explore there, are appropriate for a unified learner audience.
However, you decide that it will be useful for the Announcements and Brainstorming topics to be divided by cohort. For information about specifying whether course-wide discussion topics are divided by cohort, see Specify Whether Course-Wide Discussion Topics are Divided by Cohort.
You also decide to apply a naming convention so that learners will know the audience for the discussion topics before they add any posts. For information about naming conventions, see Apply Naming Conventions to Discussion Topics.
When you create course-wide discussion topics, they are by default unified, and all learners in the course can see and respond to posts from all other learners. You can change course-wide discussion topics to be divided by cohort, so that only members of the same cohort can see and respond to each other’s posts.
To change the cohort settings for course-wide discussion topics, follow these steps.
In the LMS, select Instructor, then select Cohorts.
Select Specify whether discussion topics are divided by cohort.
In the Course-Wide Discussion Topics section, select the checkbox next to each course-wide discussion topic that you want to divide by cohort. Clear the checkbox next to each course-wide discussion topic that you want to make unified.
Select Save.
The list of course-wide discussion topics is updated to show which topics are divided by cohort, and which are unified.
For more information about managing discussions that are divided by cohort, see Managing Discussions in Courses with Learner Cohorts.
When you enable the cohort feature for a course, and create content-specific discussion topics by adding discussion components to units in Studio, these content-specific discussion topics are by default divided by cohort. A learner who is assigned to one cohort cannot read or add to the posts, responses, or comments contributed by the members of another cohort.
If you want all content-specific discussion topics in your course to be divided by cohort, you do not need to take any action. For more information, see Specify that All Content-Specific Discussion Topics are Cohorted.
Alternatively, you can specify that you want most of the content-specific discussion topics in your course to be unified, and make only a few discussion topics divided by cohort.
The default behavior for content-specific discussion topics is that they are divided by cohort when you first add them in your course. If you want all content-specific discussion topics in your course to be divided by cohort, you do not need to take any action.
You can confirm this setting on the Instructor Dashboard Cohorts tab.
In the Content-Specific Discussion Topics section, you see that the Always cohort content-specific discussion topics option is selected.
All content-specific discussion topics in your course are divided by cohort, and you cannot change the cohort settings of individual content-specific discussion topics.
For information about changing the cohort settings for your content-specific discussions to make all of them unified except a few, see Specify that Some Content-Specific Discussion Topics are Divided by Cohort.
The default behavior for content-specific discussion topics is that they are divided by cohort when you first add them in your course.
To make only a few of your content-specific discussion topics divided by cohort, you change the cohort settings for content-specific discussion topics to make them all unified, and then explicitly select only the topics that you want to be divided by cohort.
Warning
When you change the cohort setting from Always Cohort Content- Specific Discussion Topics to Cohort Selected Content-Specific Discussion Topics, you are making all content-specific discussion topics in your course unified, unless you explicitly change them to be divided by cohort before saving your changes. This means that any posts that were previously divided by cohort and restricted to viewing, responding, and commenting by members of the same cohort are now visible to all learners in your course.
If you make changes to cohort settings in a running course, be aware of the implications of your changes. For more details, see Altering Cohort Configuration in a Running Course.
To specify that only some content-specific discussion topics in your course are divided by cohort, follow these steps.
In the LMS, select Instructor, then select Cohorts.
Select Specify whether discussion topics are divided by cohort.
In the Content-Specific Discussion Topics section, if it is not already selected, select Cohort selected content-specific discussion topics.
Warning
If you make changes to cohort settings in a running course, be aware of the implications of your changes. For more details, see Altering Cohort Configuration in a Running Course.
All content-specific discussion topics that you add in your course are unified and visible to all learners. The list of content-specific discussion topics becomes editable.
Select the checkbox next to each content-specific discussion topic that you want to divide by cohort.
Select Save.
The changes to your content-specific discussions are saved. The content-specific discussion topics that you selected are saved as being divided by cohort. All other content-specific discussion topics are unified.
For more information about managing discussions that are divided by cohort, see Managing Discussions in Courses with Learner Cohorts.
This section provides information about managing discussions when cohorts are enabled in your course.
In courses that have cohorts enabled, every post has an indicator of who can read it: either all learners, or only the members of a single cohort. For learners, this is the only noticeable difference between discussions in courses that include cohorts when compared to courses that do not.
You can share the examples in the Read the Cohort 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, or community TA role see the same indicator of who can read each post. Unlike the learners, however, team members with discussion privileges can read and contribute to every post, regardless of the cohort assignment of the learner who posted it.
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 cohort. For information about assigning discussion moderation roles, see Assign Discussion Administration Roles.
Learners who have the Community TA role can read and contribute to all posts.
In courses with the cohort feature enabled, course team members who have discussion moderator or admin privileges can also:
All of the other options and features described in the Managing Course Discussions section continue to be available to the discussion moderation team.
In a course that includes cohorts, all posts include a cohort indicator above the title. This indicator appears after any student or team member adds a post. Other than naming the cohorts carefully when you add them, no configuration is necessary to include this identifier.
Optionally, you can name your discussion topics to show students who will be able to view their posts. 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 cohort 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 post itself.
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 cohort is particularly sensitive about the privacy of their conversations.
For example, you add “(everyone)” to the names of the unified course-wide discussion topics in your course.
When learners visit the Discussion page and use dropdown lists to select a course-wide topic, the topic names indicate who can see the posts, responses, and comments.
(In the illustration above, every topic name includes either “(everyone)” or “(private)”. You might find it necessary only to explicitly identify topics that have a unified audience for all posts.)
For more information about adding and configuring course-wide discussion topics, see Create Course-Wide Discussion Topics and Specify Whether Course-Wide Discussion Topics are Divided by Cohort.
If desired, you could also apply a naming convention to the content-specific discussion topics that you add as Discussion components in Studio. For example, you could include an identifier like “(private)” or “(small group)” in the Subcategory name of every Discussion component that you add.
If you have the discussion admin, discussion moderator, or community TA role, you can make posts to divided discussion topics visible to everyone who is enrolled in the course or to the members of a selected cohort only. When you add a post, the Visible to dropdown list appears above the Title field.
This example shows a new post being added to a content-specific discussion topic.
As a discussion team member, you can choose the visibility of your posts in topics that are divided by cohort. 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 cohort. It also means that it is possible for you to unintentionally share information with a different audience than you intended.
Note
Learners do not 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 students, regardless of cohort assignment.
It may be helpful to keep these additional considerations in mind when you edit posts in a course that includes cohorts.
When a course includes learner cohorts, you can view posts and monitor discussion activity for one cohort at a time. You can also view all posts.
Note
Course team members must have discussion moderator or admin privileges in addition to their course team privileges to be able to view posts that are divided by cohort.
Above the discussion navigation pane on the Discussion page, the in all cohorts filter is selected by default. You see every post when you make this selection, as shown in the illustration on the left. To limit the list so that you can view the same set of posts as the members of a cohort, select the name of that cohort as shown on the right.
Note that both of these lists include posts that are visible to everyone. When you filter the list by cohort, you see the same, complete set of posts that the members of the cohort see.
For other options that you can use to view posts, see Moderate Discussions.
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.
Teams are not as effective when members have no specific team tasks or goals. EdX does not recommend using teams in your course if you want only to provide a way for learners to connect socially. You can encourage learners to connect socially by using discussions within the course. For more information about using discussions, see Run a Discussion.
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 Managing 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 Assign Discussion Administration Roles. For information about managing discussions, see Run a Discussion.
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.
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.
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 to configure 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 may want to do two different 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 are:
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 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:
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 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 experiments that use the group configuration:
Select a link to go to the unit page that contains the 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 the 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.
In the unit page, under Add New Component, select Advanced.
Select Content Experiment.
A new content experiment is added to the unit.
You can work with the content experiment 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.
Next to 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.
Note
You cannot duplicate a content experiment.
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 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 the 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 must add components to any new groups that you create. You can use the components from the previous groups, as well as create new components.
Warning
Changing the group configuration of a learner-visible experiment will affect the experiment data.
Open the unit page of 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 a Timed Exam 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.
From the instructor dashboard, a course team member can grant a learner extra time to complete a timed exam.
View the live version of your course.
Select Instructor, and then select Special Exams.
Expand the Allowance Section.
Select Add Allowance.
Select the subsection that contains the timed exam.
For Allowance Type, select Additional Time (minutes).
In the Value field, enter the number of extra minutes that you are granting the learner.
Note
Enter a whole number greater than 0.
Enter the learner’s Username or Email.
Select Save.
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.
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.
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.
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.
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 Home
page for the course. The URL for the Home page is
https://courses.edx.org/courses/course-v1:edX+BlendedX+1T2015/info
. 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://edge.edx.org/courses/edX/DemoX/2014/info
, and its course ID is
edX/DemoX/2014
.
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
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.
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.
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.
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 Course Certificates.
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 open response assessments. For details about setting the response date for an ORA assignment, see Specify Assignment Names and Dates.
On the Grading page, under Grading Rules & Policies, enter a value in the Grace Period on Deadline field. Enter the value in Hours:Minutes 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 only set assignment types and due dates at the subsection level. 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.
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 not 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 Timed Exams.
After a grading policy is in place, learners can view both their problem scores and the percent completed and current grade in the Progress tab for the course.
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 select View Live to test your work, find gaps and errors, and mimic the learner experience. 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
The Auto Enroll option has no effect when you select Remove beta testers. The user’s role as a beta tester is removed; course enrollment is not affected.
View the live version of your course.
Select Instructor then Membership.
In the Administration List Management section, use the drop-down list to select Beta Testers.
Under the list of users who currently have that role, enter an email address or username and click Add Beta Tester.
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.
This topic describes steps to launch your course.
To launch a course, you prepare the course itself, the course team, and the learners. This topic includes a course launch checklist to use as a model for your schedule of activities.
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. 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, a checklist or time line 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 Setting Start and End Dates.
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 managing course discussions.
After you create a course in Studio, you can access information about it in the LMS by selecting Instructor to access the instructor dashboard.
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, and then select Course Info if necessary.
The Basic Course Information section of the page that opens lists 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.
The course data that displays on the instructor dashboard is defined in Studio, or derived from data that you define in Studio.
Organization: Specified in Studio when you create the course. Becomes part of the course URL, and cannot be changed.
Course Number: Specified in Studio when you create the course. Becomes part of the course URL, and cannot be changed.
Course Name: Specified in Studio when you create the course. Becomes part of the course URL, and cannot be changed. In Studio, this field is labeled Course Run.
Course Display Name: Specified in Studio when you create the course. In Studio, this field is labeled Course Name.
This name can be changed in Studio (not recommended if your course is live): From the Settings menu select Advanced Settings. The value for the Course Display Name policy key defines the course name that appears in the LMS only.
The illustration that follows shows the information that you enter in Studio for a new course, side-by-side with the same information as it appears on the Course Info page of the instructor dashboard.
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 (for example, a course team member who is also enrolled in the course) only receives one copy of the message.
The following preset recipient groups are available.
In addition, 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 |
|
|
Note
To send an email message to all course team members as well as all learners, select both Staff and Administrators and All Learners. Recipients who are in both groups will receive only one copy of the email message.
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 how far it has gotten 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.
View the live version of your course.
Select Instructor, and then select Email.
In the Email Task History section of the page, select Sent Email History. The list of sent messages displays.
To review additional information for a message, select its subject. The message opens in a dialog box.
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, and to how many people. 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 on the Home page includes all currently enrolled learners, regardless of account activation status, and as a result can be different than this 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 on the Home page. To use keywords, you must send email messages; keywords are not supported in discussion topics or the Home page.
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. For a course running on edx.org, enrollment is publicly available to anyone who registers an edX account. For other courses, such as those on edx Edge, enrollment is limited to learners who know the course URL and learners you explicitly enroll.
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.
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.
An example of the email message that a learner received when this option was selected during enrollment follows. In this example, the learner already had a registered and activated edx.org account, and both Auto Enroll and Notify students by email were selected.
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.
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. See Learner Data.
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 Manage Course Fees.
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 Setting Start and End Dates.
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.
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.
If your course has a fee, users with an appropriate course role can manage the fees for your course in the LMS by selecting Instructor and then E-Commerce. On this instructor dashboard page, you set the price for each seat in the course, create and manage coupon codes and enrollment codes, and download reports about financial transactions.
Before you can manage your course fees, you must configure your Open edX environment to support paid courses.
For more information, see the following sections.
Configuring your Open edX environment to support paid courses has several steps.
Currently, Open edX only supports payment through CyberSource. To allow users to submit payment for your course, you must obtain a merchant account with CyberSource. For more information, see the CyberSource website.
When you obtain a merchant account with CyberSource, CyberSource provides you with the following information. You will add this information to one of the .json files in your Open edX environment.
To enable users to pay for your course, you must add the following configuration code in your Open edX environment.
Add the following code to the lms.env.json file.
...
"FEATURES": {
...
"ENABLE_SHOPPING_CART": true,
"ENABLE_PAID_COURSE_REGISTRATION": true,
...
}
....
Add the following code to the lms.auth.json file.
...
"CC_PROCESSOR": {
"CyberSource2": {
"ACCESS_KEY": "{access key provided by CyberSource}",
"PROFILE_ID": "{profile ID provided by CyberSource}",
"PURCHASE_ENDPOINT": "{purchase endpoint URL provided by CyberSource}",
"SECRET_KEY": "{secret key provided by CyberSource}"
}
},
"CC_PROCESSOR_NAME": "CyberSource2",
...
To manage course fees, you must add a mode for the course in the Django administration website for your Open edX instance.
https://<host name of your Open edX instance>/admin
and
sign in. For example, this might be https://edge.edx.org/admin
.
- Course id: Enter the course ID for this course in the
{org}/{course}/{run}
format. This ID must exactly match the course ID that you set in Studio. For example, the course ID may beedX/DemoX/2015_T2
.- Mode slug: Set this to
honor
.- Mode display name: Enter the mode name that you want learners to see. For example, you could enter “Honor Code”.
- Min price: Enter the price of a single seat in the course.
- Currency: Leave the default value (
usd
) or enter the ISO code for another currency, such assar
for Saudi Riyal.- Expiration Date and Time: (optional) The expiration date for the course. EdX recommends that you leave these fields blank.
- Description: (optional) A description of the course.
- SKU: (optional) A SKU number for the course.
To manage fees, coupon codes, and enrollment codes for a course, you give users one of these administrative roles.
To give a user the Finance Admin or Sales Admin role, follow these steps.
Note
A user can have both the Finance Admin and Sales Admin roles.
Access the Django administration website for your instance of Open edX. To
do this, go to https://<host name of your Open edX instance>/admin
and
sign in. For example, this might be https://edge.edx.org/admin
.
If you have problems signing in this way, you can also sign in to your edX
instance from https://<host name of your Open edX instance>/
. After you
sign in to edX, add admin
after your Open edX instance host name in
your browser’s address bar. Make sure to include a slash (/
) between
the host name and the word “admin”.
On the Django Administration page, locate Student in the Site Administration list, and then select Course access roles.
In the upper right corner of the page, select Add course access role.
On the Add course access role page, complete the form.
- User: The username of the user who needs the Sales Admin or Finance Admin role.
- Course id: Enter the course ID for this course in the
{org}/{course}/{run}
format. This ID must exactly match the course ID that you set in Studio. For example, the course ID may beedX/DemoX/2015_T2
.- Role: Select finance_admin or sales_admin.
To add another role for the user, repeat steps 3-4.
When a user has the Sales Admin or Finance Admin role, in the LMS that user can select Instructor and then see an E-Commerce page on the instructor dashboard. The E-Commerce page includes the following sections. Users with the Finance Admin role can access all sections. Users with the Sales Admin role can access all sections except the Course Seat Purchases section.
You set the price of an individual seat in the course on the E-Commerce page on the instructor dashboard. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
To set the price for each course seat, follow these steps.
You can create coupon codes to give learners a discount on the price of the course. To create and manage coupon codes, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
Learners enter the coupon code when they enroll in and pay for the course. Unlimited learners can use the same coupon code. Optionally, you can set an expiration date for coupon codes.
You can see all the coupon codes for your course in the Coupon Code List section of the E-Commerce page on the instructor dashboard. You can also see information such as the discount amount and the number that have been used.
Active coupon codes appear in the order in which they were created. Deleted and expired coupon codes appear at the end of the list.
You create coupon codes from the E-Commerce page on the Instructor Dashboard. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
Your coupon code can be any combination of uppercase and lowercase letters numbers, and special characters. For example, your coupon code could be Holiday_10, MYDISCOUNT, or ZYX321.
Note
The coupon code must have 16 or fewer characters.
To create coupon codes, follow these steps.
To see information about a particular coupon code, follow these steps.
In the LMS, select Instructor.
Select E-Commerce, and then select the Coupon Code List section.
In the Coupon Codes list, locate the coupon code that you want to see.
The Coupon Codes list has the following information.
[x]
to delete the
coupon code, or select Edit to edit the coupon code.You edit or delete coupon codes on the E-Commerce page on the Instructor Dashboard. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
Note
You can only edit the description of a coupon code. You cannot edit the code, discount percentage, course ID, or expiration date.
In the LMS, select Instructor.
Select E-Commerce, and then select the Coupon Code List section.
In the Coupon Codes list, locate the coupon code that you want to edit or delete.
To edit the coupon code, select Edit in the Actions column, edit the description of the coupon code in the Edit Coupon Code dialog box, and then select Update Coupon Code.
To delete the coupon code, select the [x]
in the Actions column.
The coupon code moves to the end of the list and appears crossed out with a
light red background.
If an organization wants to purchase enrollment for multiple seats in your course at one time, you can create enrollment codes for the organization. The purchasing organization then distributes these codes to its learners. Each enrollment code has an associated URL that learners use to enroll in the course directly. Learners do not have to pay any additional fees.
Unlike coupon codes, which are valid for multiple learners, each enrollment code is valid for only one learner.
You create enrollment codes on the E-Commerce page on the Instructor Dashboard. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
When you select Create Enrollment Codes, the system automatically creates a comma-separated values (.csv) file and downloads the .csv file to your computer. In addition to information about your course and the transaction, such as the invoice number, the .csv file contains course enrollment codes and URLs. Each enrollment code has a separate URL, and only one learner can use each enrollment code.
The system also sends a confirmation email to the purchasing organization. The email instructs the purchasing organization to distribute enrollment codes to learners and includes a template that the organization can use. The email has two attachments: an invoice and a .csv file. The .csv file contains only the enrollment codes and their associated URLs. It does not contain additional information about your course or the transaction.
When you create enrollment codes, the system automatically sends a confirmation email message to the purchasing organization. You can change the default confirmation message according to your organization.
To change the default email, follow these steps.
Both sales admins and finance admins can cancel an enrollment code, restore an enrollment code, or mark an enrollment code as unused. In addition, finance admins can cancel and resubmit the invoices that accompany enrollment codes.
You manage individual enrollment codes in the Enrollment Codes section of the E-Commerce page. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
In the Enrollment Codes section, you can perform the following transactions.
To cancel, restore, or mark an enrollment code as unused, follow these steps.
In the LMS, select Instructor.
Select E-Commerce, and then select the Enrollment Codes section.
Under Cancel, restore, or mark an enrollment code as unused, select Change Enrollment Code Status.
In the Enrollment Code Status dialog box, enter an enrollment code in the Enrollment Code field, and then select Find Enrollment Code.
When the status for the enrollment code appears Find Enrollment Code, you can see the possible actions for that enrollment code under Actions. Select the action that you want to take.
Note
After you cancel an enrollment code, the learner who used that enrollment code is no longer enrolled in the course and cannot see any course content.
You cancel and resubmit invoices for enrollment codes or course seat purchases in the Course Seat Purchases section of the E-Commerce page. To see the Course Seat Purchases section of the E-Commerce page, you must have the Finance Admin role. For information, see Assign Admin Roles.
To cancel or resubmit an invoice, follow these steps.
- To cancel an invoice, enter the invoice number in the Invoice Number field, and then select Cancel Invoice.
- To resubmit an invoice, enter the invoice number in the Invoice Number field, and then select Resubmit Invoice. You can find the invoice number in the .csv file that the system creates and downloads to your computer when you create enrollment codes.
Note
After you cancel an invoice, learners who have used any of the enrollment codes on the invoice are no longer enrolled in the course and cannot see any course content.
Both sales admins and finance admins can download reports about enrollment codes. In addition, finance admins can see and download information about invoices and credit card sales.
You download enrollment code reports in the Enrollment Codes section of the E-Commerce page. To see the E-Commerce page, you must have either the Sales Admin or Finance Admin role. For information, see Assign Admin Roles.
To help you keep track of the enrollment codes that have been issued for your course, you can download .csv files that contain enrollment code reports. The reports contain data such as the following information.
You can download the following reports.
To download an enrollment code report, select the E-Commerce page on the instructor dashboard, and then select the report that you want in the Enrollment Codes section. If you enter an organization name in the Company Name field, the report contains the enrollment codes for only that organization.
To see information about financial transactions, including a list of enrollment code invoices and detailed credit card purchase information, you can download .csv files in the Course Seat Purchases section of the E-Commerce page. To see the Course Seat Purchases section of the E-Commerce page, you must have the Finance Admin role. For information, see Assign Admin Roles.
To see financial transaction information, follow these steps.
- View the total dollar amount that the course has received for all credit card transactions.
- To download a .csv file of all the invoices for enrollment codes, select Download All Invoices. This .csv file contains information such as the invoice number, the company that purchased the enrollment codes, the number of enrollment codes purchased, and the number of enrollment codes that have been used.
- To download a .csv file of all credit card purchases, select Download Credit Card Purchases. This .csv file contains information such as the order ID number, the username of the purchaser, the company that the purchaser is affiliated with (if any), and the date and time of the purchase.
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 the future.
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.
For information about running and moderating discussions, see the following sections.
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.
For information about how using cohorts in your course affects how your course team might moderate course discussions, see Managing Discussions in Courses with Learner Cohorts.
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.
All course team members and enrolled learners can add posts, responses, and comments, and they can also view posts, responses, and comments made by other course participants. For information about cohorts and how members of cohorts interact in course discussions, see Course-Wide Discussion Topics and Cohorts and see Content-Specific Discussion Topics and Cohorts.
Members of the course community, learners as well as the course team, can be given permission to moderate or administer course discussions through a set of discussion administration roles.
Note
The course team members that you set up in Studio or in the LMS are not automatically granted discussion administration roles. Only people who have a discussion administration role can view all of the discussion contributions, for example in courses using cohorts.
Discussion administration roles must be explicitly granted to members of the course team for them to moderate or administer course discussions. The course author, and any team members with the Admin role, can grant discussion administration roles. For information about assigning discussion privileges, see Assign Discussion Administration 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.
Discussions in an edX course include both broad topics on course-wide areas of interest such as “Feedback”, “Troubleshooting”, or “Technical Help”, and the content-specific topics that you add to course units as discussion components. You create both types of discussion topics in Studio.
For more information about creating discussion topics, see Create Course-Wide Discussion Topics and Create Content-Specific Discussion Topics. For information about configuring discussion topics in courses that use cohorts, see Setting up Discussions in Courses with Cohorts.
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
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 Course-Wide Discussion Topics and Cohorts.
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.
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 Visibility of Discussion Topics.
Note
In courses with cohorts enabled, all content-specific discussion topics are divided by cohort when you first add them. Posts by learners to divided discussion topics can only be read and responded to by members of the same cohort and course team members who have a discussion administration role. You can change the configuration of content-specific discussion topics to make them unified and available to all learners in the course. For more information, see Content-Specific Discussion Topics and Cohorts.
You can designate a team of people to help you run course discussions. Team members who have a discussion administration role have additional options for working 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 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 administration 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.
Discussion moderators 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 moderators are marked with a Staff identifier. The moderator role is often given to course team members who already have the Staff role.
Discussion community teaching assistants (TAs) have the same options for working with discussions as moderators do.
Posts, responses, and comments made by community TAs are marked with a Community TA identifier. The community TA role is often given to learners.
Discussion admins have the same options for working with discussions as moderators, and their posts, responses, and comments have the same Staff identifiers.
This role can be reserved for assignment to course team members who have the Admin role only: the discussion admins can then both moderate discussions and give other users discussion management roles whenever necessary.
Before you can assign roles to your discussion team, you need their email addresses or usernames.
You can assign a course team role to any user who is already enrolled in your course. To assign a discussion administration role, you must be the course author or an Admin.
To remove a role from a user, you must be the course author or an Admin.
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.
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.
On an ongoing basis, the members of your discussion team run the course discussion by making contributions, marking answers as correct, and guiding learner messages into pertinent threads. Techniques that you can use throughout your course to make discussions successful follow.
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 Visibility of 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 long threads (with more than 200 responses and comments) can be difficult to read, and can therefore 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 a post. 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 a response 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 a post. 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. You can post information from the overview in this section, or the anatomy of edX discussions in the next section, in a course-wide discussion topic (such as General) to provide guidance about when to start a new thread by adding a post, responding to an existing post, or commenting on a response.
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 to the course team.
Developing and sustaining a positive discussion culture requires that sufficient moderator time is dedicated to reviewing and responding to discussions. Keeping up-to-date with a large MOOC forum requires a commitment of 5 or more hours per week, and involves reading threads, replying to and editing posts, and communicating with the rest of the discussion administration team and other members of the course team.
For information on setting up moderators for your course, see Assign Discussion Administration Roles.
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 settings profile.
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.
Discussion monitors 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.
Discussion moderators, community TAs, and discussion admins 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.
Discussion moderators, community TAs, and discussion admins can delete the content of posts, responses, and comments. Posts that include spam or abusive language may need to be deleted, rather than edited.
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. Moderators, community TAs, and admins can check for messages that have been flagged in this way and edit or delete them as needed.
For a learner who continues to misuse the course discussions, you can unenroll the learner from the course. For more information, see Unenroll Learners from a Course. If the enrollment period for the course is over, the learner cannot re-enroll.
You can close the discussions for your course so that learners cannot add messages. Course discussions can be closed temporarily, such as during an exam period, or permanently, such as when a course ends.
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.
When you close the discussions for a course, all of the discussion topics in course units and all of the course-wide topics are affected.
Note
To make sure your learners understand why they cannot add to discussions, you can add the dates that discussions are closed to the Home page and post them to a General discussion.
To close course discussions, you supply a start date and time and an end date and time in Studio. You enter the values in the following format.
["YYYY-MM-DDTHH:MM", "YYYY-MM-DDTHH:MM"]
where:
For example, to close course discussions temporarily for a final exam period in July, you enter these start and end dates.
["2016-07-22T08:00", "2016-07-25T18:00"]
To add a blackout date that closes course discussions permanently on 9 August 2016, you add these start and end dates.
["2016-07-22T08:00", "2016-07-25T18:00"], ["2016-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.
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 the start and end date for the time period during which you want discussions to be closed. Be sure to use the required date format specification.
To define the temporary blackout period in the example above, the field contains start and end dates in the following format.
[["2016-07-22T08:00", "2016-07-25T18:00"]]
To add the dates that close the discussions permanently, the field contains a second pair of start and end dates in the following format.
[["2016-07-22T08:00", "2016-07-25T18:00"], ["2016-08-09T00:00", "2099-08-09T00:00"]]
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.
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
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.
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
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. For courses that have fewer than 200 learners enrolled, 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. For courses with fewer than 200 learners enrolled, 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.
Note
This option is available only for courses with an enrollment of less than 200.
View the live version of your course.
Select Instructor, and then select Data Download.
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.
With the learner engagement report, you can monitor what individual learners are doing in your course. The report contains a row for each enrolled learner, and has columns that quantify overall course activity and engagement with course problems, videos, discussions, and textbooks.
With this report, you can identify which learners are, and which are not, visiting course content. Further, you can identify the learners who are attempting problems, playing videos, participating in discussions, or viewing textbooks.
The server generates a new learner engagement report every day for the previous day’s activity. On Mondays, an additional report is generated to summarize activity during the previous week (Monday through Sunday).
To measure problem-related activity, the learner engagement report includes data for CAPA problems. That is, the report includes data for problems for which learners can select Submit, including these problem types.
- Checkboxes
- Custom JavaScript
- Drag and Drop
- Dropdown
- Math expression input
- Multiple choice
- Numerical input
- Text input
The report does not include data for open response assessments or LTI components.
For more information about the problem types that you can add to courses, see Adding Exercises and Tools.
The learner engagement report .csv files contain the following columns.
Column | Description |
---|---|
Date | Included only in the daily report. The date of the reported activity. |
End Date | Included only in the weekly report. The last date of the report period. |
Course ID | The identifier for the course run. |
Username | The unique username for an edX account. |
The unique email address for an edX account. | |
Cohort | Indicates the learner’s assigned cohort. Blank if the learner is not assigned to a cohort. |
Was Active | Included only in the daily report. 1 for learners who visited any page (URL) in the course at least once during the reported day, 0 otherwise. |
Days Active This Week | Included only in the weekly report. Identifies the number of days during the week that the learner visited any page (URL) in the course. |
Unique Problems Attempted | The number of unique problems for which the learner selected Submit to submit an answer. |
Total Problem Attempts | The number of times the learner selected Submit to submit answers, regardless of the particular problem attempted. |
Unique Problems Correct | The number of unique problems for which the learner submitted a correct answer. |
Unique Videos Played | The number of times the learner played a video. Each video that the learner began to play is included in this count once. |
Discussion Posts | The number of new posts the learner contributed to the course discussions. |
Discussion Responses | The number of responses the learner made to posts in the course discussions. |
Discussion Comments | The number of comments the learner made on responses in the course discussions. |
Textbook Pages Viewed | The number of pages in a .pdf textbook that the learner viewed. |
URL of Last Subsection Viewed | The URL of the last subsection the learner visited. |
An automated process runs daily on the system server to update learner engagement data and create the daily or weekly .csv file for you to download. Links to the .csv files are available in the LMS from the instructor dashboard.
To download a learner engagement report, follow these steps.
student_engagement_daily_{date}.csv
or student_engagement_weekly_{end
date}.csv
file name. You might have to scroll down to find a specific
file.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.
#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"
}
}
Before you can download a report of all learner answers for a problem, you need the unique identifier of the problem that you want to investigate.
To download the Student State report, which is a report of the answers submitted for a problem by every learner, follow these steps.
{course_id}_student_state_from_{problem_location}_{date}.csv
file.The Student State report contains a row for each learner who has viewed a problem or submitted an answer for the problem, identified by username. 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. |
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’ experiences in the course as well as analysis of its data. EdX recommends that you announce any unavoidable changes learners by using, for example, the Home page. You should also carefully track these changes for researchers.
For any course, you can generate grades and then download a file with the results for each enrolled learner.
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 enrolled 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.
For courses with fewer than 200 learners enrolled, you also have the option to review learner grades on the instructor dashboard. For more information, see Review Grades for Enrolled Learners (Small Courses).
To generate and download the grade report for the learners who are currently enrolled in your course, follow these steps.
Important
Because the grade report file contains confidential, personally identifiable data which might be subject to the Family Educational Rights and Privacy Act (FERPA), 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 enrolled 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 Enrolled Learners (All Courses).
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.
Note that this assignment type average takes into account dropped assignments. 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.
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 learners who attained a passing grade before this report was requested, and for all whitelisted learners, regardless of grade attained. The value is “N” for learners who did not attain a passing grade and for those who live in embargoed countries.
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”.
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 the learners who are currently enrolled in your course, follow these steps.
Important
Because the problem grade report file contains confidential, personally identifiable data which might be subject to the Family Educational Rights and Privacy Act (FERPA), 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 enrolled 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.
For courses with enrollments of up to 200 learners, you can review a gradebook on the instructor dashboard. To review grades for a small course, follow these steps.
View the live version of your course.
Select Instructor, and then select Student Admin. For courses with fewer than 200 learners enrolled, this page includes a View gradebook for enrolled learners section.
Select View Gradebook. Grades are calculated and the gradebook displays.
The gradebook includes the following features.
You can select the username in each row to review that learner’s Course Progress page. For more information, see Check the Progress of a Specific Learner.
There is a column for each {assignment type} {number} defined in your grading configuration, with the scores that the learner attained for that specific assignment.
The gradebook does not have a scroll bar, but it can be dragged: to see columns that are hidden at one side of the grade book, select the gradebook and then drag left or right to reveal those columns.
For assignment types that include more than one assignment, an {assignment type} Avg column displays each learner’s current average score for that assignment type.
The Total column presents the total score that each learner has currently attained in the course. This value is expressed as a whole number: a learner with a grade of 65 has earned 65% of the credit in the course, and a learner with a grade of 100 has earned 100%.
To filter the data that displays you can use the Search students option. This option is case-sensitive and limits the rows shown in the gradebook to usernames that match your entry.
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 supply 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.
Select Instructor, and then select Student Admin.
In the View a specific learner’s grades and progress section, enter the learner’s email address or username.
Select View 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.
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 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, 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.
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. 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 if 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 Enrolled Learners (All Courses).
The learner’s final grade and the grading configuration you set in Studio determine whether the learner has earned a certificate for the course.
Typically, you generate and issue certificates after the course ends for instructor-paced courses, or at specific intervals for self-paced courses.
For self-paced courses, you can also allow learners to request and download certificates before they have completed all of the course materials. To receive these on-demand certificates, learners must have completed enough of the course, and with a high enough grade, to qualify for a certificate.
If the administrator of your instance of Open edX has configured your instance to allow course teams to generate and issue certificates, you can issue certificates for your course. For more information, see Generate Certificates For a Course.
If your Open edX administrator has not configured your instance to allow course teams to generate and issue certificates, you must work with your administrator to issue your course certificates. For more information, see Enabling Certificates.
You can allow your learners to receive on-demand certificates as soon as they qualify for a certificate in your course. This process has two steps.
Note
If your course offers on-demand certificates, we encourage you to include this information on your course About page, on the Home page, and in communication with your learners.
To allow learners to request on-demand certificates, you modify the Enable Student- Generated Certificates setting on the Instructor Dashboard.
View the live version of your course.
In the LMS, select Instructor, and then select Certificates.
Select Enable Student-Generated Certificates.
When they have qualified, learners can request their certificates from the Progress page.
To prevent learners from requesting certificates, select Disable Student-Generated Certificates.
To allow learners to download on-demand 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. |
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 re-run a 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 Use Re-Run to Create a Course and Update 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.
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.
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.
Supply a Course Run to 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 Identify a Course Handout or Add a Link to a File.
Review the staff biographies and other information on the course summary page and make needed updates. See The Course About Page.
Create initial posts for discussion topics and an “introduce yourself” post. See Managing 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 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.
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.
For more information, see the course about page.
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.
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 course certificates.
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 Watching Videos on the edX Video Player.
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 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 Run
The term or time frame in which a specific offering of your course takes place. You set the course run when you create your course. For more information, see Creating a New Course.
Course Page
The page where learners access the primary instructional materials for your course. Sections, subsections, units, and components are all accessed from the Course page. This page was formerly called the Courseware page.
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 EdX Research Guide.
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.
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.
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.
Home Page
The page that opens first every time learners access your course. You can post announcements on the Home page. The handout navigation sidebar appears at the side of this page. This page was formerly called the Course Info 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 Entering Mathematical and Scientific Expressions 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.
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.
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 Add 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.
Progress Page
The page in the learning management system that shows learners their scores on graded assignments in the course. For more information, see Checking Your Progress in a Course 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 Research Data Exchange.
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.
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 Course Description
The description of your course that appears on the edX Course List page.
For more information, see Describe Your Course.
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.
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.
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 create transcript in Working with Video Components.
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.
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.