Building and Running an Open edX Course: Juniper Release

General Information

Read Me

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.

Other edX Resources

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.

Resources for edx.org Learners

Documentation

The edX Help Center for Learners includes topics to help you understand how to use the edX learning management system. The Help Center is also available when you select Help while you are in a course, and from your edX dashboard.

In a Course

If you have a question about something you encounter in an edX course, try these options for getting an answer.

Note

If you find an error or mistake in a course, contact the course staff by adding a post in the course discussions.

  • Check the Course page in the course. Course teams use this page to post updates about the course, which can include explanations about course content, reminders about when graded assignments are due, or announcements for upcoming events or milestones.
  • Look for an “Introduction”, “Overview”, or “Welcome” section in the course content. In the first section in the course, course teams often include general information about how the course works and what you can expect, and also what they expect from you, in the first section in the course.
  • Participate in the course discussions. Other learners might be able to answer your question, or might have the same question themselves. If you encounter an unfamiliar word, phrase, or abbreviation, such as “finger exercise” or “board work”, search for it on the Discussion page, or post a question about it yourself. Your comments and questions give the course team useful feedback for improving the course.
  • Investigate other resources. Some courses have a wiki, which can be a good source of information. Outside of the course, a course-specific Facebook page or Twitter feed might be available for learners to share information.
Resources on the edx.org Website

To help you get started with the edX learning experience, edX offers a course (of course!). You can find the edX Demo course on the edx.org website.

When you are working in an edX course, you can select Help to access a help center with frequently asked questions and answers.

If you still have questions or suggestions, you can contact the edX Support team for help.

For opportunities to meet others who are interested in edX courses, check the edX Global Community meetup group.

The edX Partner Portal

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.

  1. Visit partners.edx.org, and select Create New Account.
  2. Select Request Partner Access, then fill in your personal details.
  3. Select Create New Account. You will receive a confirmation email with your account access within 24 hours.

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.

Course Team Support in the edX Partner Portal

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

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.

  1. Visit open.edx.org/user/register.
  2. Fill in your personal details.
  3. Select Create New Account. You are then logged in to the Open edX Portal.
Release Announcements by Email

To receive and share product and release announcements by email, you can subscribe to announcements on one of the edX portal sites.

  1. Create an account on the Open edX Portal or the edX Partner Portal as described above.
  2. Select Community and then Announcements.
  3. Under Subscriptions, select the different types of announcements that you want to receive through email. You might need to scroll down to see these options.
  4. Select Save.

You will now receive email messages when new announcements of the types you selected are posted.

System Status

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.

Resources for edx.org Course Teams

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 edX Course Creator Series

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.

edX101: Overview of Creating a Course

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.

StudioX: Creating a Course with edX Studio

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.

BlendedX: Blended Learning with edX

In BlendedX you explore ways to blend educational technology with traditional classroom learning to improve educational outcomes.

VideoX: Creating Video for the edX Platform

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

Documentation for course teams is available from the docs.edx.org web page.

  • Building and Running an edX Course is a comprehensive guide with concepts and procedures to help you build a course in Studio and then use the Learning Management System (LMS) to run a course.

    You can access this guide by selecting Help in Studio or from the instructor dashboard in the LMS.

  • Using edX Insights describes the metrics, visualizations, and downloadable .csv files that course teams can use to gain information about student background and activity.

These guides open in your web browser. The left side of each page includes a Search docs field and links to the contents of that guide. To open or save a PDF version, select v: latest at the lower right of the page, then select PDF.

Note

If you use the Safari browser, be aware that it does not support the search feature for the HTML versions of the edX guides. This is a known limitation.

Email

To receive and share information by email, course team members can:

  • Subscribe to announcements and other new topics in the edX Partner Portal or the Open edX Portal. For information about how to subscribe, see Release Announcements through the Open edX Portal.
  • Join the openedx-studio Google group to ask questions and participate in discussions with peers at other edX partner organizations and edX staffers.
Wikis and Web Sites

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.

Resources for Researchers

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.

Documentation

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.

Discussion Forums and Email

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.

Wikis

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.

Resources for Developers

Software engineers, system administrators, and translators work on extending and localizing the code for the edX platform.

Documentation

Documentation for developers is available from the edX Developer Documentation landing page.

GitHub

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.

Getting Help

The Getting Help page in the Open edX Portal lists different ways that you can ask, and get answers to, questions.

Wikis and Web Sites

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.

Resources for Open edX

Hosting providers, platform extenders, core contributors, and course staff all use Open edX. EdX provides release-specific documentation, as well as the latest version of all guides, for Open edX users. See the Open edX documentation page for a list of the documentation that is available.

edX Browser Support

Most current browsers will work on edX.org. For best performance, we recommend the latest versions of:

We also support the latest versions of:

Note

If you use the Safari browser, be aware that it does not support the search feature for the guides on docs.edx.org. This is a known limitation.

Getting Started

Getting Started with Studio

This topic describes the tools you use to build an Open edX course, and how to view your courses.

What Is Studio?

Studio is the tool you use to build your courses.

You use Studio to create a course structure, and then add problems, videos, and other resources for learners.

With Studio, you can also manage the course schedule, identify members of the course team, set the grading policy, publish your course, and more.

You use Studio directly through your browser. You do not need any additional software.

What Is the LMS?

The LMS is the web-based tool where you view the courses you have created in Studio.

If you have not created a course, see Creating a New Course in Studio.

  1. In Studio, locate your course on your dashboard and open your course.

  2. On the Course Outline page, select View Live.

    Your course enrollment page opens in a new browser tab.

  3. Select Enroll to enroll in your course. After you enroll in your course, it opens in the LMS.

To continue working on your course, return to the browser tab that shows Studio.

Exploring Your Dashboard and Profile

Note

Your dashboard is available only from the LMS. If you are currently working in Studio, view the live version of your course to access your dashboard.

You can access course, account, or profile information from any page on the website, whether you are in a course or browsing the course catalog. Select the dropdown menu icon next to your username, and then choose one of the following menu options.

  • Dashboard gives you access to the courses and programs that you have enrolled in, and to information such as course start and end dates, certificates, and email settings.
  • Profile gives you the option to provide personal information about yourself that other course participants can see, such as an image and biographical information.
  • Account gives you access to your account settings and preferences. For example, you can update your password or email address and set your time zone.

Accessing Your Courses from the Dashboard

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.

The menu that appears on the website when you select the dropdown icon next to your username. The Dashboard option is circled, and the other options are Profile, Account, and Sign Out.

You can find information about your courses and change course-specific email subscription settings on your dashboard. For more information, see Updating Course-Specific Settings.

Sharing Your Courses on Social Media

On your dashboard, you can share the courses you are enrolled in on social media sites such as Facebook and Twitter.

This feature is available only if it has been enabled by your course provider.

  1. Sign in to the social media site on which you want to share your course enrollment.
  2. From your dashboard, find the course that you want to share.
  3. Select the icon for the social media site where you want to share. A dialog box for the social media site you selected opens, with the course URL entered and a default social media message.
  4. Optionally, modify the text of the social media message.
  5. Select the appropriate button to publish your message on the social media site.

Adding Profile Information

Your personal profile allows you to optionally share information about yourself with other participants in the courses that you take. If you choose to add profile information, course teams and other learners in your courses can view the information that you share.

You can share either a limited profile or a full profile.

Note

If you are under 13 years of age, your limited profile only includes your username. You cannot add a profile picture.

  • A limited profile shares only your username. You can also add a profile picture, if you are over 13 years of age.

    A learner's limited profile showing only username and image.
  • A full profile includes the following details.

    • Your full name
    • Your username
    • Your profile image (optional)
    • The date that you joined edX
    • Your language (optional)
    • Your location (optional)
    • Information about you (optional)
    • Links to any course certificates that you have earned
    • Links to your social media accounts (optional)
    A learner's full profile shows full name, join date, location, language, biographical information, links to course certificates, and linked social media icons, in addition to username and profile image.

Add or Update a Limited Profile

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.

  1. At the top of any page, select Dashboard from the dropdown menu icon next to your username, then select the Profile tab.

  2. In the header area of your profile page, for Profile Visibility, select Limited Profile.

  3. (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.

    1. Move your cursor over the placeholder image, and click Upload an image.

      A profile with the image upload area selected.
    2. In the file navigation window, select the image file that you want to use as your profile image, and then click Open.

    To change or remove your profile image, move your cursor over your image, and then select either Change image or Remove. When you remove your profile image, the placeholder image appears as your profile image.

The site saves your changes automatically.

Add or Update a Full Profile

Note

You must specify your year of birth on the Account Settings page before you can share a full profile. If you are under 13 years of age, you can share only a limited profile.

If you create a full profile, you share the following information in addition to your username and profile image.

  • Your full name.
  • Your location.
  • Your language.
  • A paragraph about yourself. You might include your interests, goals, or other information that you want to share. This paragraph can contain up to 300 characters.
  • Links to your personal social media accounts.

To add or update your profile, follow these steps.

  1. At the top of any page, select Dashboard from the dropdown menu icon next to your username, then select the Profile tab.

  2. In the header area of your profile page, for Profile Visibility, select Full Profile.

  3. (optional) Add a profile image.

    Your image must be a .gif, .jpg, or .png file that is less than 1 MB in size. If you do not add an image, the placeholder image appears as your profile image.

    1. Move your cursor over the placeholder image, and click Upload an image.
    2. In the file navigation window, select the image file that you want to use as your profile image, and then click Open.

    To change or remove your profile image, move your cursor over your image, and then select either Change image or Remove. When you remove your profile image, the placeholder image appears as your profile image.

  4. On your profile page, move your cursor over the information that you want to change.

  5. Click inside the field to choose an option from the list, or enter text.

The site saves your changes automatically.

Note

If you change your profile type from Full Profile to Limited Profile, your full name, location, language, and descriptive paragraph are no longer visible on your profile page. However, this information is saved, and becomes visible again to other learners and course teams if you change your profile back to Full Profile.

View Another Learner’s Profile

You can view other learners’ profiles through their posts, responses, or comments in course discussions.

  1. 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.

  2. On the learner’s Discussion page, select their linked username.

The learner’s account profile page opens.

Updating Course-Specific Settings

From the dashboard, access the courses that you are enrolled in and change course-specific settings. You can also unenroll from a course from the dashboard.

Change a Course Email Preference

To subscribe or unsubscribe to emails from a course, follow these steps.

  1. On your dashboard, locate the course.

  2. Select the course settings icon. The course settings icon resembles a gear and appears next to View Course or View Archived Course.

    The course settings icon next to the View Course button on the learner dashboard.
  3. Select Email Settings.

  4. 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.

Reaching As Many Learners As Possible

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.

Designing Your Course For a Mobile Experience

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.

  • 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.
  • Display names are critical for navigating through courses on smartphones. As you create course content, make sure you replace the default display names for every component with useful course component names.
  • Keep display names and labels concise. Long display names and labels might wrap on smaller screens, or might not be easily viewable. For example, if several components have names that all start with the first five words and differ only after that, learners using smartphones to access your course might have difficulty distinguishing between components.
  • Do not use Flash, which is not supported on mobile platforms, to create course content.
  • Only use iFrames in course content where necessary, because iFrame content might not be responsive and cannot be optimized for viewing on a range of devices.
  • If you develop course components in HTML, including course announcements, make sure you set relative rather than explicit sizes for objects such as images, tables, text, and so on, so that they will scale appropriately when viewed on displays of different sizes.
  • Learners might be viewing your course materials on screens as large as a high-resolution Mac Thunderbolt display, or as small as a 5 inch smartphone screen, so it is difficult to size an image so that it displays well at all resolutions. In general, edX recommends keeping most images under 0.5MB in size so that learners who have low Internet bandwidth will not have trouble downloading the images. If you have a large image that requires zooming to view the full detail, in addition to providing an image that can be easily downloaded, link to a full resolution copy that can be opened separately from the course.
  • When you make choices about the problem types to use for graded and ungraded assignments in your course, or which problem types to present in a single unit, keep the mobile experience in mind. Whenever possible, use mobile- ready assessment types. If you use assessment types that are not supported on smartphones, notify learners in the body of your course that they will not be able to complete assignments that contain unsupported assessment types using the edX iPhone and Android mobile apps.
  • Timed and proctored exams cannot be completed using the mobile app.
  • When learners access your course using the edX Android and iPhone apps, they progress from component to component by swiping through them. It might seem useful to include an HTML component in a unit for the purpose of providing a demarcation point or guiding learners to the next unit, but having to swipe through too many “markers” with no real course content is not a good experience for mobile users.
  • Make sure your JavaScript and CSS are compliant. You should verify that all components render correctly in the edX Android and iPhone apps as well as directly in the LMS.

Testing Your Course For Mobile Devices

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.

Accessibility Best Practices Guidance for Content Providers

The core mission of edX is to expand access to education for everyone. We expect courses and course content developed on our platform to be accessible to everyone, regardless of any physical limitation that they might have.

In furtherance of our mission, edX has entered into an agreement with the United States, under which we have agreed to incorporate accessibility into our website (http://www.edx.org), mobile applications, and platform to meet a wide variety of requirements of learners with disabilities and to enable content providers to develop accessible course content.

The topics in this section are intended to help course teams understand how to develop courses that can serve the widest possible audience.

Note

Course teams should familiarize themselves with this best practices guidance and distribute it to any members of their teams who are responsible for creating course content.

What Is The EdX Accessibility Best Practices Guidance Based On?

EdX measures and evaluates accessibility using the World Wide Web Consortium’s Web Content Accessibility Guidelines (WCAG) 2.0 (Dec. 11, 2008). All features that are merged into edX repositories are expected to conform to Level AA of this specification and satisfy the requirements outlined in the edX Website Accessibility Policy.

In addition, our guidance is based on principles of universal design (usable by all, to the greatest extent possible, without the need for adaptation or specialized design). Course teams who build courses based on these principles create an inclusive experience that considers the diverse set of learning styles and needs of all learners, including learners with disabilities, learners whose native language is not English, learners with technical issues such as low bandwidth internet or no access to audio.

For the purposes of this guidance, we assume that end users are equipped with the appropriate adaptive technology and compatible software. To supplement the accessibility you can achieve within our platform, we recommend that you engage the resources available at your institution to support learners with disabilities. Most institutions offer disability support services and information technology resources that provide accessibility advice and support. These professionals are trained in making disability accommodation decisions and can advise you on what accommodations may be appropriate in light of the goals of the course and the instructional methodologies employed.

For more information, see the following topics.

Supporting Learners with Diverse Needs

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.

Who Are Our Learners?

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.

  • Blind learners who use a screen reader, which reads page text aloud, or a Braille display device, which renders page text in refreshable Braille.
  • Low-vision learners who use screen magnification software to enlarge or modify the contrast of text and other onscreen content.
  • Learners with vision impairments, such as difficulty seeing in low-light conditions, who modify their browser or operating system to change background colors and text settings to make text easier to read.
  • Learners with learning disabilities, such as dyslexia, who use text-to- speech technology that reads page content aloud.
  • Physically disabled learners who control their computers using switching devices, voice recognition software, or eye gaze-activated technology instead of mouse devices or keyboards.
  • Learners who modify their operating system settings to make the mouse or keyboard easier to use.
  • Learners with hearing impairments who cannot access audio content and need the equivalent information in an alternative format, such as captions.

Removing Barriers to Learning

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.

Accessibility Best Practices for Developing Course Content

EdX is dedicated to creating a platform that is not only itself accessible, but also enables course content creators to create accessible content. If you encounter platform issues that you believe might affect your ability to provide accessible course content, please contact us using one of the following methods. We welcome any comments and questions.

Note

Use of authoring tools other than those provided by edX might result in inaccessible course content. However, for clarity, use of edX authoring tools does not ensure that your course content will be accessible.

Make Sure Your Course Content is Perceivable

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.

Include Text Alternatives for Non-Text Content

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.

Provide Alternatives for Time-Based Media

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.

Make Sure Your Content is Adaptable

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 It Easier for Learners to See and Hear Content

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 Understandable

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.

Write Simply and Clearly

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.

Make Your Course Easy to Navigate

One aspect of making your course understandable is making sure that learners can easily grasp its structure, find content, and determine where they are within the course.

Name your course sections, subsections, units, components, and discussion topics in a consistent way, and make sure the names are useful and easy to skim. Make an element’s name descriptive of its content, and put important keyword information first in the name. These names are used in navigation menus, page headings, and section headings; they are signposts that help learners to navigate your course and read course content.

When you create written learning resources, break text into sections using HTML elements such as headings, paragraphs, and lists. Long blocks of unbroken text are a barrier to most readers. Segmented content is more inviting and is easier to navigate and search. See Use Best Practices for HTML Markup for guidance on creating accessible HTML.

When you provide links to external materials, use link text that clearly explains the link destination (for example, “Review the Course Syllabus”). Avoid using constructs such as “Review the Course Syllabus here”, with only the word “here” serving as link text. For links that point to documents rather than web pages, include the document type in the link. For example, “Supplemental Reading for Week 1 (EPUB)”. Screen reader users frequently browse lists of links, or navigate web pages by moving from one link to the next. Ensuring that link text is understandable without surrounding context is important.

Use Best Practices for Describing Images

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.

Images That Contain Text

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.

Images That Contribute Meaning or Additional Context to the Page

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.

  • For a representative image of the bridge included on a page about Florence, a meaningful alt attribute would be “Photo of Ponte Vecchio, a famous bridge and shopping center in Florence, Italy.”
  • If the context of the page is about the bridge itself a meaningful alt attribute would be more specific: “Photo of Ponte Vecchio showing its three stone arches which span the Arno River.”
  • For a technical diagram, or illustration, on a page about the construction of the bridge the 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.”
  • For a map intended to provide directions to the bridge, the alt attribute would provide directions as text.
Graphs or Complex Visual Representations of Information

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>
Images With Unknown Descriptions at The Time of Publication

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.”

Non-Informative Images

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.

Information Graphics (Charts, Diagrams, Illustrations)

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.

  • Avoid using only color to distinguish important features of an image. For example, on a line graph, use a different symbol or line style as well as color to distinguish the data elements.
  • Whenever possible, use an image format that supports scaling, such as .svg, so that learners can employ zooming or view the image larger. Consider providing a high-resolution version of complex graphics that have small but essential details.
  • For every graphic, provide a text alternative that provides the equivalent information that a sighted learner would obtain from viewing the graphic. For charts and graphs, a text alternative could be a table displaying the same data. See Use Best Practices for Describing Images for details about providing useful text alternatives for images.
Accessible Images Resources

Create Accessible Course Materials

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.

  • Can screen readers read the document text?
  • Do images in the document include alternative text descriptions?
  • Are all tables, charts, and math provided in an accessible format?
  • Does all media include text equivalents?
  • Does the document have navigational aids, such as a table of contents, index, headings, and bookmarks?

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.

  • Images must have descriptive text associated with them.
  • Documents should be well structured.
  • Information should be presented in a logical order.
  • Hyperlinks should be meaningful and describe the destination.
  • Tables should include properly defined column and row headers.
  • Color combinations should be high contrast.

The information that follows provides some practical guidance to publishing accessible course materials in popular formats.

Accessible Course Materials Resources
  • The DAISY Consortium is a global partnership of organizations that supports and helps to develop inclusive publishing standards.
  • The EPUB 3 format is widely adopted as the format for digital books.
Creating Accessible PDF Documents

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.

Best Practices for Authoring Accessible PDF Documents
  • Explicitly define the language of the document so that screen readers know what language they should use to parse the document.
  • Explicitly set the document title. When you export a file to PDF format, the document title usually defaults to the file name, not a human readable title.
  • Verify that all images have alternative content defined or are marked as decorative only.
  • Verify that the PDF file is “tagged”. Make sure the semantic structure from the source document has been correctly imported to the PDF file.
  • Verify that a logical reading order is defined. This is especially important for documents that have atypical page layouts or structure.
  • If your document includes tables, verify that table headers for rows and columns are properly defined.

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.

Evaluating PDF Files for Accessibility

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.

Accessible PDF Resources
Creating Accessible Word Documents

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.

  • Keep formatting simple. Use headings, paragraphs, lists, images, and captions. Use tables for tabular data. Do not add unnecessary indents, rules, columns, blank lines, or typographic variation.
  • Use standardized styles for formatting your text, such as Normal, Heading 1, and Heading 2, rather than manually formatting text using text styles and indents. Formatting text for its semantic meaning and not for its visual appearance allows users of assistive technology to consume and navigate documents effectively and efficiently.
Accessible Microsoft Word Resources
Creating Accessible Excel Documents

Many of the same accessibility techniques and principles that apply to authoring data tables in HTML also apply to creating Excel spreadsheets.

Accessible Microsoft Excel Resources
Creating Accessible PowerPoint Documents

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.

Accessible PowerPoint Resources

Use Best Practices for Mathematical Content

Math in online courses can be challenging to deliver in a way that is accessible to people with vision impairments. Non-scalable images of mathematical content cannot be sufficiently enlarged or navigated by low-vision users and are not accessible to blind users at all.

EdX uses MathJax to render math content in a format that is clear, readable, and accessible to people who use screen readers. MathJax works together with math notation such as LaTeX and MathML to render mathematical equations as text instead of images. EdX recommends that you use MathJax to author your math content. MathJax renders math in a variety of formats on the client side, offering the end user the ability to consume math content in their preferred format. EdX Studio supports authoring math directly in LaTeX using the LaTeX Source Compiler to transform LaTeX into MathJax.

Note

EdX has carefully designed an assessment workflow that is flexible enough to meet the needs of course authors, and accessible enough to be used by all learners. However, because of limitations with HTML and screen reader technology, screen readers may not be able to read math problems in edX courses by default. To work around this limitation, edX recommends that learners who use screen readers use one of the following methods.

  • If the browser and screen reader both support MathML, the learner can specify MathML as the preferred math renderer in MathJax.
  • On the screen reader, switch from Interactive mode to Reading mode. In Reading mode, screen readers can present math to learners in an accessible format.

Course authors do not need to make any changes to the way they create math content to work around this problem.

Accessible Mathematical Content Resources
  • The MathJax website provides guidance on creating accessible pages using their display engine.
  • The DO-IT project from the University of Washington provides guidance on creating accessible math content.
  • The AccessSTEM website provides guidance on creating accessible science, technology, engineering and math educational content.
  • Design Science shares information about making math accessible.

Use Best Practices for Custom Content Types

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 and Interactive Modules

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.

    • Do not make using the simulation a requirement for a graded assessment activity.
    • Provide a warning that the simulation contains flickering or flashing content.
Online Exercises and Assessments

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.

  • Exercises requiring fine hand-eye coordination, such as image mapped input or drag and drop exercises, might present difficulties to learners who have limited mobility. Consider alternatives that do not require fine motor skills, unless, of course, such skills are necessary for effective participation in the course. For example, instead of a drag and drop exercise for mapping atoms to compounds, provide a checkbox or multiple choice exercise.
  • Highly visual stimuli, such as word clouds, might not be accessible to learners who have visual impairments. Provide a text alternative that conveys the same information, such as an ordered list of words in the word cloud.
Third-Party Content

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.

Accessible Custom Content Resources

Create Accessible Media

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

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.

  • Each caption frame should not be on screen for less than three seconds.
  • Each caption frame must not be on screen for less than two seconds.
  • Each caption frame should not exceed more than 2 lines.
  • Each caption frame must not exceed more than 3 lines.
  • Each line should not exceed more than 32 characters
  • All caption frames should be precisely time synched to the audio.
  • When multiple speakers are present, it is sometimes helpful to identify who is speaking, especially when the video does not make this clear.
  • Non-speech sounds like [MUSIC] or [LAUGHTER] should be added in square brackets.
Descriptions in Video

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.

Downloadable Transcripts

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.

Accessible Media Resources

Use Best Practices for HTML Markup

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.

    • Unordered lists, where the order of items is not important. Each item is marked with a bullet.
    • Ordered lists, where the order of items is important. Each item is listed with a number.
    • Definition lists, where each item is represented using term and description pairs (like a dictionary).
  • 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.

HTML Markup Resources
  • Creating Semantic Structure provides guidance on reflecting the semantic structure of a web page in the underlying markup (WebAIM).
  • Creating Accessible Tables provides specific guidance on creating data tables with the appropriate semantic structure so that screen readers can correctly present the information (WebAIM).

Apply Universal Design for Learning

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.

  1. Present information and content in various ways.
  2. Provide more than one way for learners to express what they know.
  3. Stimulate interest and motivation for learning.

Course teams can apply these principles in course design by following several guidelines.

  • Design resources and activities that can be accessed by learners in a variety of ways. For example, if there is a text component, provide the ability to enlarge the font size or change the text color. For images and diagrams, always provide an equivalent text description. For video, include text captions.
  • Provide multiple ways for learners to engage with information and demonstrate their knowledge. This is particularly important to keep in mind as you design activities and assessments.
  • Identify activities that require specific sensory or physical capability and for which it might be difficult or impossible to accommodate the accessibility needs of learners. For example, an activity that requires learners to identify objects by color might cause difficulties for learners with visual impairments. In these cases, consider whether there is a pedagogical justification for the activity being designed in that way. If there is a justification, communicate these requirements to prospective learners in the course description and establish a plan for responding to learners who encounter barriers. If there is no justification for the requirements, edX recommends that you redesign the learning activities to be more flexible and broadly accessible.
Universal Design for Learning Resources

Setting Up a Course

When you begin to set up a course, the first step is to plan and specify two types of basic information about your course.

  • Course information remains true whether the course runs one time or multiple times. This is information such as the course title and number, subject, and course description.
  • Course run information changes every time the course runs. This is information such as the course staff and start and end dates.

This section provides information about how to determine required course and course run information, as well as how to enter this information in Studio.

Planning Course Information

Course information remains true whether the course runs one time or multiple times. This section lists the optional and required information for courses, as well as guidelines to help you create an effective course and About page.

After you have determined the information for your course, you enter this information in Studio. For more information, see Creating a Course.

Course Title and Number

The course title (sometimes also called the course name) and number are important identifiers for your course. It is a good idea to use titles and numbers that are easy to understand and remember.

For information about how to add your course title and number, see Creating a New Course in Studio.

For guidelines for determining a course title and number, see the following topics.

Course Title Guidelines

When you determine the title of your course, consider the following guidelines.

  • Use title capitalization and normal spacing and punctuation.
  • Limit the course name to 70 characters. Many of the most effective course titles have 50 or fewer characters.
  • If the course is part of a sequence, create a title that includes both sequence and course information, formatted as “Sequence: Course”.
  • Select a course title that clearly indicates the course subject matter.
  • Make sure the course title follows search engine optimization (SEO) guidelines.
  • Make sure the course title targets a global audience.

For information about how to add your course name, see Creating a New Course in Studio.

Note

The title that you specify when you create your course becomes part of the course URL. The course URL cannot be changed. However, if you want to change the way that your course title appears in Studio and the LMS, see Change the Course Title.

Example Course Titles

The following course titles are for stand-alone courses.

  • English Grammar and Essay Writing
  • Front-End Web Developing
  • The Science of Happiness

The following course titles are for courses in a sequence or in a program such as an XSeries.

  • Circuits and Electronics 1: Basic Circuit Analysis
  • Circuits and Electronics 2: Amplification, Speed, and Delay
  • Circuits and Electronics 3: Applications
Course Number Guidelines

Course numbers have the following guidelines.

  • Course numbers can have a maximum of 10 characters.
  • Characters can be letters, numbers, or periods.
  • If a course consists of several modules, the course number can have an ending such as .1x or .2x.

Note

The number that you specify when you create your course becomes part of the course URL. The course URL cannot be changed. However, if you want to change the way that your course number appears in Studio and the LMS, see Change the Course Number.

For information about how to add your course number, see Creating a New Course in Studio.

Example Course Numbers
  • CS002x
  • BIO1.1x and BIO1.2x
  • 6.002.1x and 6.002.2x

Images and Videos for a Course or Program

The About page for a course or program includes both a representative image and a short About video. The course or program image also appears in places such as learner dashboards and search engine results.

For information about how to add your course title and number, see Creating a New Course in Studio.

Representative Image Guidelines

A representative image is an eye-catching, colorful image that captures the essence of a course or program. These images are visible in the following locations.

  • The About page.
  • The learner dashboard.
  • Search engine results.

When you create a course or program image, keep the following guidelines in mind.

  • The image should not include text or headlines.
  • You must have permission to use the image. Possible image sources include Flickr creative commons, Stock Vault, Stock XCHNG, and iStock Photo.
  • Each course in a sequence or program must have a unique image.
Image Size Guidelines

Images must follow specific size guidelines.

Course Image Size

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.

Course About Video Guidelines

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.

  • Who is teaching the course?
  • What university or institution is the course affiliated with?
  • What topics and concepts are covered in your course?
  • Why should a learner enroll in your course?

This video should deliver your message as concisely as possible and have a run time of less than two minutes.

Before you upload a course About video, make sure that it follows the same video guidelines as your course content videos.

Note

  • If you upload both a course image and a course About video, the course image appears on learner dashboards with a play icon superimposed on it. If you upload only a course video, the first frame of the the video file appears with the play icon.
  • The process for adding a course about video is different than the process for including videos as part of the content of your course. For more information about including video content, see Creating and Adding Video Content.

For information about how to add an About video to your course About page, see Add a Course About Video.

Course Description

Descriptive course information includes information such as the course short and long descriptions, as well as information about what learners will learn, the subject, and the difficulty level.

Course Short Description Guidelines

An effective short description follows these guidelines.

  • Contains 25–50 words.
  • Functions as a tagline.
  • Conveys compelling reasons to take the course.
  • Follows search engine optimization (SEO) guidelines.
  • Targets a global audience.
Example Short Descripton

The first MOOC to teach positive psychology. Learn science-based principles and practices for a happy, meaningful life.

Course Long Description Guidelines

Given the diversity of online learners, be sure to review your course description to ensure that it clearly communicates the target audience, level, and prerequisites for your course. Use concrete, unambiguous phrasing, such as a prerequisite of “understand eigenvalue decomposition” rather than “intermediate linear algebra”.

An effective long description follows these guidelines.

  • Contains 150–300 words.
  • Is easy to skim.
  • Uses bullet points instead of dense text paragraphs.
  • Follows SEO guidelines.
  • Targets a global audience.

Note

The first four lines of the course long description are visible when the About page opens. Learners can select “See More” to view the full description.

Example Long Descriptions

The following long description is a content-based example.

Want to learn computer programming, but unsure where to begin? This is the course for you! Scratch is the computer programming language that makes it easy and fun to create interactive stories, games and animations and share them online.

This course is an introduction to computer science using the programming language Scratch, developed by MIT. Starting with the basics of using Scratch, the course will stretch your mind and challenge you. You will learn how to create amazing games, animated images and songs in just minutes with a simple “drag and drop” interface.

No previous programming knowledge needed. Join us as you start your computer science journey.

The following long description is a skills-based example.

Taught by instructors with decades of experience on Wall Street, this M&A course will equip analysts and associates with the skills they need to rise to employment in the M&A field. Additionally, directors and managers who have transitioned, or hope to transition, to M&A from other areas such as equities or fixed income can use this course to eliminate skill gaps.
What You Will Learn Guidelines

The “what you will learn” information describes the skills and knowledge learners will acquire in the course in an itemized list. EdX recommends that you format each item as a bullet with four to ten words.

Example What You Will Learn
  • Basic R Programming
  • An applied understanding of linear and logistic regression
  • Application of text analytics
  • Linear and integer optimization
Subject Guidelines

A primary subject is required. Optionally, you can select up to two subjects in addition to the primary subject. Only the primary subject appears on the About page.

Example Subjects

A particular course might specify the following subjects.

  • Primary subject: History
  • Additional subject: Architecture
  • Additional subject: Anthropology
Level Guidelines

Use the following guidelines to select the level for your course.

  • Introductory - No prerequisites; a learner who has completed some or all secondary school could complete the course.
  • Intermediate - Basic prerequisites; learners need to complete secondary school or some university courses.
  • Advanced - Significant prerequisites; the course is geared to third or fourth year university students or master’s degree students.

Additional Course Information

Optionally, you can share additional information on your About page. This section describes this information.

You can add these optional items to your course About page. For more information, see Creating a Course About Page in Studio.

Skill and Knowledge Prerequisites

You might want to make sure that your learners have a specific set of skills and knowledge before they take your course. This information appears on the course About page.

Optionally, you can also require that learners complete a specific course before they enroll in your course, or that learners complete an entrance exam before they access course content. This information also appears on the About page, but you specify these prerequisites on the Schedule & Details page in Studio. For more information, see Prerequisite Courses and Require an Entrance Exam.

You add skill and knowledge prerequisites in Studio. For more information, see Creating a Course About Page in Studio.

Example Skill and Knowledge Prerequisites
  • Secondary school (high school) algebra; basic mathematics concepts
  • Graduate-level understanding of Keynesian economics
  • Basic algebra
  • Familiarity with eigenvalue decomposition
Prerequisite Courses

When you require that your learners pass a particular course before they enroll in your course, learners see information about course prerequisites on the course About page.

A course About page with prerequisite course information circled.

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.

The learner dashboard with an available course and a course that is unavailable because it has a prerequisite.

You enter this information in Studio. For more information, see Prerequisite Courses.

Entrance Exam

You can require your learners to pass an entrance exam before they access your course materials. If you include an entrance exam, learners who enroll in your course can access only the Entrance Exam page until they pass the exam. After learners pass the exam, they can access all released materials in your course.

You enter this information in Studio. For more information, see Require an Entrance Exam.

Best Practices for Entrance Exams

We strongly recommend that you follow several guidelines to help you and your learners have a positive experience with entrance exams.

  • Make sure that your beta testers include the entrance exam when they test your other course content.
  • Make sure that you mention the entrance exam in the course description on your course About page. Otherwise, learners will not know about the entrance exam before they enroll in your course and try to access course content.
  • Add an announcement to the Course Updates & News page that contains information and instructions for learners who need to take the exam. When learners first try to access content in a course that has an entrance exam, they see the Course Updates & News page. We suggest that you include the following information.
    • To begin the course entrance exam, learners select Entrance Exam.
    • After learners complete the entrance exam, they must select Entrance Exam again or refresh the page in their browsers. After the page refreshes, learners can access all currently available course content.
Syllabus Guidelines

A syllabus is a review of content covered in your course, organized by week or module. To create an effective syllabus, keep the following guidelines in mind.

  • Focus on topics and content.
  • Do not include detailed information about course logistics, such as grading, communication policies, and reading lists.
  • Format items as either paragraphs or a bulleted list.

You can add the syllabus to your course About page. For more information, see Creating a Course About Page in Studio.

You can also add a syllabus to your course in Studio by creating a custom page or a handout. For more information, see Adding Custom Pages and Add a Course Handout.

Example Syllabus

Week 1: From Calculator to Computer

Introduction to basic programming concepts, such as values and expressions, as well as making decisions when implementing algorithms and developing programs.

Week 2: State Transformation

Introduction to state transformation, including representation of data and programs as well as conditional repetition.

FAQ Guidelines

To help prospective learners, you can add any frequently asked questions (FAQ) and the answers to those questions to your About page.

You can add the FAQ to your course About page. For more information, see Creating a Course About Page in Studio.

Example FAQ

Q: Is the textbook required?

A: No, the textbook is not required. However, you will find that it more completely explains some of the concepts that we cover quickly in the course, and will add depth to your understanding.

Q: How much is the final exam worth?

A: The final exam is worth 30% of the total grade. You can find more information about the value of each assignment on your Progress page.

Learner Testimonial Guidelines

A learner testimonial is a quote from a learner in the course, demonstrating the value of taking the course.

To be effective, a testimonial should contain no more than 25-50 words.

You can add the learner testimonial to your course About page. For more information, see Creating a Course About Page in Studio.

Course Metadata

You may need to be able to make certain custom information about your course available to entities such as customer relationship management (CRM) software, a marketing site, or other external systems. This information is not visible to learners.

For example, you might want to make the following information available.

  • The course difficulty
  • The course ID in an external system
  • Course prerequisites

You add this information as a JSON dictionary in Studio. For more information, see Add Course Metadata.

Planning Course Run Information

Course run information can change each time a course is run. This section lists the optional and required information for course runs, as well as guidelines to help you create an effective course and About page.

After you have determined the information for your course run, you enter this information in Studio. For more information, see Creating a Course.

Planning Course Staff

You can designate a team of people to help you run your course.

You add staff members in Studio. For more information, see Adding Course Team Members in Studio.

About Page Biography Guidelines

Staff biographies for the course About page must include the following information.

  • Name
  • Title
  • Email address
  • Biography (1-2 paragraphs)
  • Image

Note

The instructor’s image must meet the following requirements.
  • Resolution of 110 x 110 pixels
  • Under 256 KB in size
  • .gif, .jpg, or .png file type

Additionally, biographies can optionally include the following information.

  • Facebook, Twitter, and blog URLs
  • List of major works

For information about how to enter this information in your course About page, see Creating a Course About Page in Studio.

Course Team Roles

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.

  • Staff
  • Admin

You can assign these privileged roles when you work in either the LMS or Studio. The people who have these roles can work on your course in Studio, the LMS, and Insights. For more information about assigning roles to team members in Studio, see Add Course Team Members.

You can also designate teams of people to beta test your course or to moderate and manage its discussions by assigning other roles in the LMS. Beta testers and discussion team members must be enrolled in your course, but they do not need to have the Staff or Admin role. For more information, see Beta Testing a Course and Assigning Discussion Moderation Roles.

For more information about how to add course team members, see Adding Course Team Members in Studio.

Administrative Team Roles

To provide access to features on the instructor dashboard in the LMS, you can assign the Staff role or the Admin role to course team members.

Team members who have either of these roles can work on your course in Studio immediately, and can also use the LMS and Insights. For more information about assigning roles while you run your course, see Planning Course Staff.

You can also designate teams of people to beta test your course and to moderate and manage its discussions by assigning other LMS roles. The beta testers and discussion administrators must be enrolled in your course, but they do not need to have Staff or Admin access. For more information, see Beta Testing a Course and Assigning Discussion Moderation Roles.

For more information about how to add course team members, see Adding Course Team Members in Studio.

The Staff Role

Course team members who have the Staff role can complete the following tasks.

  • View the course before the course start date.
  • Enroll and unenroll learners.
  • Access and modify grades for individual learners. For example, users with the Staff role can reset an individual learner’s attempt to answer a question.
  • See course HTML errors.
  • Send email messages to course participants.
  • Activate course certificates.
The Admin Role

Course team members who have the Admin role can complete all the tasks that team members who have the Staff role can complete. In addition, they can complete the following tasks.

  • Access and modify grades for all learners in a course. For example, users with the Admin role can reset all learners’ attempts to answer a question.

  • Add team members to, and remove them from, the Staff role.

  • Add team members to, and remove them from, the Admin role.

  • Add and remove team members as beta testers.

  • Add team members to, and remove them from, the Discussion Admin or Discussion Moderator role.

  • Add enrolled learners to, and remove them from, the Community TA or Group Community TA role.

    Note

    To moderate course discussions, team members must explicitly be added to a discussion moderation role in addition to having the course team Staff or Admin role. For more information, see Assigning Discussion Moderation Roles.

Scheduling a Course Run

Scheduling, which includes start and end dates as well as whether the course is self-paced or instructor-paced, changes with every course run.

After you determine scheduling for your course run, you enter this information in Studio before the course run begins. For more information, see Creating a Course About Page in Studio.

Guidelines for Start and End Dates

The start and end dates you set for your course are important for prospective and current learners. Current learners see your course start or end date on their dashboards. You should consider your course dates carefully.

Course Start Date and Time

The course start date and time specify when learners can access published course content. By default, the course start date and time are set to 01/01/2030 at 00:00 UTC to ensure that your course does not start before you intend it to.

The following guidelines can help you determine a course start date.

  • Start on a Tuesday, Wednesday, or Thursday.
  • Avoid major public holidays.
  • Specify a month, day, and year. If you are unsure of the exact date, specify a day that is close to the estimated start date. For example, if your course will start near the end of March, specify March 31.
  • Set the start time of your course early in the day, generally 00:00 Coordinated Universal Time (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, the course starts at 00:00 UTC.

Although learners cannot access any part of your course before the course start date, course team members who are enrolled in the course and who have the staff, admin, or beta tester role can see published content in the course before the course start date. For information about testing your course content before the course start date, see Beta Testing a Course.

Note

You can set a different advertised start date for your course. You might do this if the exact start date is uncertain. For example, you could advertise the start date as “Coming Soon”. For more information, see Advertise a Different Start Date.

Course End Date and Time

The course end date and time specify when learners can no longer earn credit toward certificates. Learners can continue to complete available coursework, but cannot earn credit after the course ends. Learners who have earned certificates can view the certificates soon after the course end date.

In self-paced courses, course teams can make certain course components unavailable based on the course end date. For example, course teams can make a final exam unavailable after the end date for a self-paced course. For more details, see Hide a Subsection Based on Date.

Important

If you do not set a course end date, learners cannot access earned certificates.

Enrollment Start Date and Time

As soon as enrollment starts, prospective learners can see your course in the course catalog, view the course About page, and enroll in the course.

The enrollment start date and time specify when learners can start to enroll in the course. Ensure that the enrollment start date is early enough to allow learners to both enroll in and prepare for the course.

Enrollment End Date and Time

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.

The Learner’s View of Course Start and End Dates

When learners browse courses, the start date for each course is visible in the course catalog and in the course’s About page.

Course cards in the course catalog, showing each course's start date. The course About page, showing the start date.

To find the URL of your course’s About page in Studio, select Settings, and then select Schedule & Details.

After learners enroll in courses, the courses appear on their course dashboards. To access the dashboard, learners select their usernames and then select Dashboard. For a course that is in progress or has not yet started, the start date is visible. For a course that has ended, the course end date is visible.

The learner dashboard with a course in progress, one that has ended, one that is self-paced and can be started any time, and one that has not started.
Course Pacing

This topic describes the difference between instructor-paced and self-paced courses.

Overview of Course Pacing

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.

The Course Outline page with a call-out for the indicator that the course is instructor-paced.

Note

You cannot change the course pacing after the course start date has passed.

Instructor-Paced and Self-Paced Courses

Instructor-paced courses progress at the pace that the course author sets. You set release dates for content and due dates for assignments, and assignment due dates are visible in the LMS. Learners cannot access course content before its release date, and learners must complete assignments by their due dates.

In self-paced courses, learners can access all course materials when the course begins, and assignments do not have due dates. You do not have the option to set release dates for course content or due dates for assignments. The LMS shows indicators for graded assignments but no due dates. Learners can complete course material at any time before the course end date.

Side-by-side comparison of subsection settings for instructor-led and self-paced courses, showing release and due date options for the instructor-led course.

Note

If you set due dates for assignments or exams in an instructor-led course and later change the course to be self-paced, Studio stores the due dates that you previously set. If you change the course back to instructor- paced later, Studio restores the due dates.

Additional Course Run Information

Optional additional information that may change with each course run includes information about the languages that course content is available in, as well as the time you expect learners to spend with your course.

For information about how to enter this content in Studio, see Creating a Course About Page in Studio.

Language Guidelines

You are required to specify a language or languages for the following content.

  • Course content, including text
  • Video transcripts

Optionally, you can also specify additional languages for course videos.

Effort Guidelines

Effort indicates the number of hours each week you expect learners to work on your course, rounded to the nearest whole number.

Creating a Course

This topic describes how to use Studio to create and set up a course, as well as enable several different course features and create a course About page.

Adding Course Team Members in Studio

After you have selected the members of your course team, you are ready to add team members in Studio.

For more information about selecting course team members, see Planning Course Staff.

Add Course Team Members

Course team members are users who help you build your course. To add someone to the course team, you must meet these prerequisites.

  • You must have the Admin role in the course.
  • The team member that you want to add must register a user account and activate the account.
  • You need the same, registered email address for the team member you want to add.

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.

  1. Ensure you have Admin access.
  2. Ensure that the new team member has registered and activated an account.
  3. In Studio, from the Settings menu, select Course Team.
  4. Select Add a New Team Member.
  5. Enter the new team member’s email address, then select ADD USER.

The new team member can now work on the course in Studio.

  • To preview the course in the LMS, the team member must enroll in the course.
  • To moderate course discussions, the team member must also have one of the discussion roles. For more information, see Assigning Discussion Moderation Roles.

You can also assign privileged roles to users when you work in the LMS by selecting Instructor and then Membership.

Assign Course Team Roles

Assigning a course team role to a user both adds the user to the course team and assigns the role to that user.

To assign the Staff or Admin role to a team member, you must meet these prerequisites.

  • You must have the Admin role in the course.
  • You need the email address or username of each team member you want to add.
  • Each of those team members must register a user account for that email address or username, activate the account, and enroll in your course.

To assign a privileged role to a course team member, follow these steps.

  1. View the live version of your course.
  2. Select Instructor, and then select Membership.
  3. In the Course Team Management section, select Staff or Admin.
  4. Under the list of users who currently have that role, enter an email address or username, and then select Add for the role type.

To remove an assigned role, view the list of users and then select Revoke access.

Creating a New Course in Studio

This topic describes how to use Studio to create and set up a course.

To create and run a course, you can either create an entirely new course in Studio, or you can re-run an existing course. For more information about re- running a course, see Re-running a Course.

You can also export and import courses as XML files. You can do this when you need to back up a course or edit the course in XML.

Create a Course

To create a course, follow these steps.

  1. Sign in to Studio.

  2. Select New Course.

  3. Enter the following information about your course.

    Important

    The values that you enter for the organization, course number, and course run cannot be edited after you create your course.

    • For Course Name, enter the title of your course. For example, the name might be “Sets, Maps, and Symmetry Groups”. Use title capitalization for the course title, and normal spacing and punctuation.

    • For Organization, you enter the identifier for your organization. Do not include spaces or special characters.

    • For Course Number, you enter both a subject abbreviation and a number. For example, for public health course number 207, enter PH207. For math course 101x, enter Math101x. Do not include spaces or special characters in the course number.

      Note

      If your course will be public, be sure to include the “x”. If it is exclusively an on campus offering, do not include the “x”.

    • For Course Run, you enter the term in which your course will run. For example, enter 2014SOND or T2_2014. Do not include spaces or special characters.

      The value that you enter for the run does not affect the course start date that you define for the course. For more information, see Scheduling a Course Run.

    The organization, course number, and course run values that you enter are used to create the URL for your course. Because URLs do not have an unlimited length, the total number of characters that you enter for these values must be 65 or fewer.

  4. Select Create.

    The Course Outline page opens. You can start developing course content. For more information, see Getting Started with Course Content Development.

Edit a Course

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.

Image of the course on the Studio dashboard.

Note

After the end date for a course has passed, the course moves to the Archived Courses tab on the Studio dashboard. If the course that you want to edit is not visible on the Courses tab, look for the course on the Archived Courses tab.

To edit a course, select the course name. The Studio Course Outline page appears.

Change the Course Title or Number

The course title and number that you specify when you create your course become part of the course URL. The course URL cannot be changed. However, you can change the way that your course title and number appear in Studio and the LMS.

Change the Course Title

To change the way that your course title appears in Studio and the LMS, follow these steps.

Note

EdX does not recommended that you do this if your course is live.

  1. Open the course in Studio.
  2. On the Settings menu, select Advanced Settings.
  3. In the Course Display Name field, enter the title that you want.
  4. Select Save.

In Studio and the LMS, your course title changes to the value that you specify in the Course Display Name field. The URL for your course does not change.

Change the Course Number

To change the way that your course number appears in Studio and the LMS, follow these steps.

Note

EdX does not recommended that you do this if your course is live.

  1. Open the course in Studio.
  2. On the Settings menu, select Advanced Settings.
  3. In the Course Number Display String field, enter the number that you want.
  4. Select Save.

In Studio and the LMS, your course number changes to the value that you specify in the Course Number Display String field. The URL for your course does not change.

Add Course Metadata

To make certain information about your course available to entities such as customer relationship management (CRM) software, a marketing site, or other external systems, follow these steps.

  1. Create a JSON dictionary that contains the metadata that you want to add.
  2. In Studio, open your course, and then select Advanced Settings on the Settings menu.
  3. In the Other Course Settings field, paste your JSON dictionary.

Set the Course Run Schedule and Pacing in Studio

After you determine the start and end dates for a course run, and whether you want your course run to be self-paced or instructor-paced, you specify these settings on the Schedule & Details page in Studio.

For more information about determining how to schedule your course, see Scheduling a Course Run.

Set Start and End Dates and Times in Studio

To set dates and times for the course and for course enrollment in Studio, follow these steps.

Note

EdX recommends that you verify all important dates in Studio one week before you plan to start the course.

  1. On the Settings menu, select Schedule & Details.

  2. 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.

  3. 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.

Set Pacing for Your Course in Studio

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.

  1. Log in to your Open edX Django Admin panel.
  2. In the Self_Paced section, locate Self paced configurations, and then select Add.
  3. Select the Enabled and Enable course home page improvements checkboxes.
  4. Select Save.

To set the pacing for your course, follow these steps.

Note

You cannot change the course pacing after the course start date has passed.

  1. On the Settings menu, select Schedule & Details.
  2. Scroll down to the Course Pacing section.
  3. Under Course Pacing, select either Instructor-Paced or Self-Paced.
  4. Select Save Changes.

Specifying Prerequisite Courses and Exams

In Studio, you can specify that learners must complete a specific course before they can take another course. You can also require learners to complete an entrance exam before they can access your course content.

For more information about course prerequisite options, see Skill and Knowledge Prerequisites.

Prerequisite Courses

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.

  1. In Studio, open your course.
  2. On the Settings menu, select Schedule & Details.
  3. On the Schedule & Details page, locate the Requirements section.
  4. Under Prerequisite Course, select a course from the list.
  5. Select Save Changes.

Note

Currently, you can specify only one prerequisite course.

For more information about prerequisite courses, see Prerequisite Courses.

Require an Entrance Exam

To require an entrance exam, follow these steps.

  1. In Studio, open your course.
  2. On the Settings menu, select Schedule & Details.
  3. On the Schedule & Details page, locate the Requirements section.
  4. Select the Require students to pass an exam before accessing course materials option.
  5. Select Save Changes.

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.

Create an Entrance Exam

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.

Adjust Scores in the Entrance Exam

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.

Creating a Course About Page in Studio

The course About page, sometimes called the course summary page, provides information about your course to learners. Learners can see the About page before they enroll in the course.

A course About page, showing the course image, video, description, and additional information.

Note

If the CourseTalk widget is enabled for your instance of the Open edX platform, the About page for every course also includes the CourseTalk widget. Learners who have enrolled in your course use this widget to write reviews of your course on the Course page in the LMS. These reviews are then visible on the course About page. For more information, see Adding the CourseTalk Widget.

You add the contents of your course About page in Studio. For more information, see one of the following topics.

Describe Your Course

Learners see a description of your course on the course About page, under the heading “About this course”. The course description contains the following information about your course.

  • The long course description. This description contains 150-400 words.
  • Names of course staff, together with short bios and images. For best results, course staff images should be 110 x 110 px.

Additionally, a course description can contain the following information.

  • Skill and knowledge prerequisites.
  • Frequently asked questions.
  • Available languages for text, videos, and video transcripts.

For more information about creating an effective course description, see Course Description.

To provide a description for your course, follow these steps.

  1. From the Settings menu, select Schedule & Details.

  2. In the Introducing Your Course section, locate the Course Overview field. This field contains a raw HTML template with placeholders for your course content.

  3. Overwrite the placeholder content with information for your course, following the directions in the template. Do not edit HTML tags.

    If you want to include information that does not have a specific section in the template, such as languages, you can add this information in the “About This Course” section.

  4. To test how the description will appear to learners, locate the text that follows the Course Overview field, and then select your course summary page.

  5. Select Save Changes.

Add a Course Image

For more information about effective course images, see Images and Videos for a Course or Program.

To add a course image in Studio, follow these steps.

  1. From the Settings menu, select Schedule & Details.
  2. In the Course Card Image section, complete one of the following steps.
  3. In the panel at the bottom of the screen, select Save Changes.
  4. View your dashboard to test how the image will appear to learners.
Add a Course About Video

To upload a course About video, follow these steps.

  1. Upload the video file to YouTube. When the file is uploaded, copy the code that appears between watch?v= and &feature in the URL. This code is the YouTube video ID.

    For example, in the following URL, B-EFayAA5_0 is the code.

    https://www.youtube.com/watch?v=B-EFayAA5_0&feature=you.tube
    
  2. From the Settings menu, select Schedule & Details.

  3. Scroll down to the Course Introduction Video section.

  4. In the field below the video box, enter the YouTube video ID that you copied in step 1. When you add the code, the video automatically loads in the video box.

  5. 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.

  6. View your course About page to test how the video will appear to learners.

Set Course Effort Expectations

The estimated effort that the course requires appears in the course About page.

To set the hours per week week estimate in Studio, follow these steps.

  1. From the Settings menu, select Schedule & Details.

  2. In the Requirements section, locate the Hours of Effort per Week field.

  3. 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.

  4. Select Save Changes.

  5. View your course About page to test how the requirements will appear to learners.

Setting Up Certificates in Studio

This section describes how to create and manage certificates for your course.

For more information about certificates, see these additional topics.

For information about awarding badges for your course, see Enable or Disable Badges for Your Course.

Overview

Using Studio, you create and manage the certificates that learners can earn in your course.

By default, Studio automatically generates certificates as each learner passes the course for both self-paced and instructor-paced courses.

  • For self-paced courses, certificates are available immediately after Studio generates them.
  • For instructor-paced courses, certificates become available 48 hours after your course end date by default. You can also specify a different date to make certificates available. For more information, see Specify a Different Certificates Available Date.

When certificates become available to learners, a link to the certificate is visible on the learner dashboard and the Progress page.

For more information about issuing certificates, see Issuing Certificates.

The design of certificates for your course, including your institution’s logo, are configured on your instance of Open edX. For more information, see Enabling Course Certificates in Installing, Configuring, and Running the Open edX Platform.

Note

If your course is configured to issue certificates, you cannot start the course until the required certificates are activated.

For information about starting the course, see Guidelines for Start and End Dates.

Enable Certificates

Before you can create certificates, you must enable certificates for your course.

  1. From the Settings menu, select Advanced Settings.
  2. In the Certificate Web/HTML View Enabled field, enter true.
  3. At the bottom of the page, select Save Changes.
Create a Certificate

To create a certificate for your course, follow these steps.

  1. In Studio, from the Settings menu, select Certificates.
  2. On the Certificates page, select Add your first certificate or Add a new certificate.
  3. 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.
  1. Optionally, upload an image file showing the signature of each signatory.

    The image file must be a transparent .png file, 450px by 150px.

  1. 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.

Edit a Certificate

You can edit certificates before and after they are activated.

Only course team members with the Staff or Admin role can edit activated certificates.

Caution

As a best practice, do not make changes to certificates in a running course if it is possible that certificates have already been issued to learners, because different learners might be awarded certificates with different details for the same course.

If you must edit an activated certificate, you should deactivate the certificate before making changes to it.

To edit a certificate, follow these steps.

  1. In Studio, from the Settings menu, select Certificates.

  2. On the Certificates page, at the top of the certificate form, select the Edit icon.

  3. When you have finished editing the certificate, select Save.

    After you save your changes, you can preview the certificate to make sure it appears as you want it to. You then need to activate the certificate before certificates can be issued.

Specify a Different Course Title

Optionally, you can specify an alternative course title to use on the certificate. You might want to use a different title on your course certificates if, for example, the official course name is too long to fit on the certificate.

  1. In Studio, from the Settings menu, select Certificates.
  2. On the Certificates page, at the top of the certificate form, select the Edit icon.
  3. In the Course Title Override field, enter the alternative title for your course.
  4. Select Save.

You can also specify an alternative course number. To do this, see Set a Course Number Override.

Specify a Different Course Number

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.

  1. In Studio, select Settings, and then Advanced Settings.

  2. Locate the Course Number Display String field. This field contains the course number you set to override the official course number on certificates.

  3. Between quotation marks (" "), enter the course number you want displayed on certificates.

  4. Select Save Changes.

    A message lets you know whether your changes were saved successfully.

Specify a Different Certificates Available Date

By default, certificates become available to learners 48 hours after your course ends. You can also specify a different date to make certificates available.

  1. In Studio, open your course.
  2. On the Settings menu, select Schedule & Details.
  3. In the Course Schedule section, enter the date and time when you want to issue certificates in the Certificates Available Date and Certificates Available Time fields.
Delete a Certificate

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.

  1. In Studio, from the Settings menu, select Certificates.

  2. On the Certificates page, at the top of the certificate form, select the “Delete” icon.

    Top portion of the certificate form showing the delete icon at the top.
  3. In the confirmation dialog, confirm that you want to delete the certificate.

Preview Certificates

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.

  1. In Studio, from the Settings menu, select Certificates.

  2. 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.

Activate a Certificate

When you have verified your certificate, a course team member with the Admin or Staff role can activate the certificate.

Note

Course team members without the Admin or Staff role cannot activate a certificate.

To activate a certificate, follow these steps.

  1. Make sure that you have the Admin or Staff role for the course. For more information, see Planning Course Staff.
  2. In Studio, on the Settings menu, select Certificates.
  3. On the Certificates page, select Activate.

After certificates are activated, learners in your course who attain a passing grade or otherwise qualify receive certificates.

Deactivate a Certificate

In some situations, after you have activated a certificate, you might need to deactivate the certificate to make changes.

As a best practice, do not make changes to certificates in a running course if the course has already issued certificates to learners.

To deactivate a certificate, follow these steps.

Note

Only course team members that have the Admin or Staff role can deactivate a certificate.

  1. Make sure that you have the Admin or Staff role for the course. For more information, see Planning Course Staff.
  2. In Studio, on the Settings menu, select Certificates.
  3. On the Certificates page, select Deactivate.

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.

Manage Certificate Images

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.

Enable or Disable Badges for Your Course

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.

  1. In Studio, from the Settings menu, select Advanced Settings.
  2. Locate the Issue Open Badges policy key. The default value is True.
  3. Change the setting to False and save your changes.

To enable badging for your course if it was previously disabled, change the value of the key to True.

Creating a Custom Course

This topic describes custom courses on the edX platform (CCX).

Overview

You can create a custom course in the edX platform (CCX) to reuse course content. By using a CCX, you can run some or all of an existing course for a group of learners on a new schedule.

A CCX can contain only content from an existing course; you cannot author new content in a CCX.

Custom Courses and Roles

There are three roles involved in creating and running a CCX.

  • Admins create the existing course and have privileges to create CCX coaches for their course.
  • CCX Coaches select content from the existing course for the CCX. CCX coaches also enroll learners, set start and due dates for their scheduled content, and manage the grading policy for the CCX.
  • Learners take the CCX and view the selected content on the specified schedule.
Enable Custom Courses for an Existing Course

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.

  1. In Studio, from the Settings menu, select Advanced Settings.
  2. Find the Enable CCX key and change the value to true.
  3. Select Save Changes.

You can now add a CCX coach.

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.

  1. In the LMS, select Instructor, and then select Membership.
  2. In the Course Team Management section, from Select a course team role, select CCX Coaches.
  3. Enter the CCX coach’s username or email address and select Add CCX Coach.

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.

Create the Custom Course

When you have been made the CCX coach for a course, you can then access the course and create a CCX.

  1. In the LMS, select the CCX Coach tab.
  2. From the CCX coach Dashboard, enter the name for your CCX, then select Coach a new Custom Course for edX.
  3. When the CCX is created, you are re-directed to the full CCX coach Dashboard.

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

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.

Schedule Tab

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.

Enrollment Tab

On the Enrollment tab, you can invite learners to a course, enroll learners in a course automatically, and remove learners from a course.

  • To invite one or more learners to a course, enter one or more email addresses or usernames in the Batch Enrollment field, and then select Enroll under the field.

    Note

    If you want to enroll these learners automatically, select Auto Enroll under the Batch Enrollment field.

    If you want these learners to receive an email invitation to the course, select Notify users by email. Learners are automatically enrolled in the course when they access the invitation.

  • To remove learners from the course, use one of the following methods.

    • If the learner or learners are enrolled in the course and have active accounts on the Open edX instance, locate the username or email address for each learner in the Student List Management list, and then select Revoke access for that learner.

      Note

      The Student List Management list contains only learners who are enrolled and have an active account.

    • If the learner or learners are enrolled in the course but do not have active accounts on the Open edX instance, enter the email addresses or usernames for the learners in the Batch Enrollment field, and then select Unenroll under the field.

Student Admin Tab

You use the Student Admin tab to view the gradebook and download learner grades.

Grading Policy Tab

Use the Grading Policy tab to modify the grading policy for the CCX.

A CCX coach can modify the grading policy of the underlying course for their CCX.

Note

As a CCX coach, you can modify the grading policy of the original course on which the CCX was based. Only attempt this if you are confident that you understand how your changes will affect grading. Modifying the grading policy can make your CCX unusable.

The grading policy is in JSON format. Verify that it is well-formed before selecting Save Grading Policy.

For information about how to develop your course content in the Studio course outline, see Developing Your Course.

Developing Your Course

Use the topics in this section to understand how to develop your course content in the Studio Outline page.

For information on building specific course component types, see Adding Course Components.

For information on creating exercises and tools, see Adding Exercises and Tools.

For information on creating content libraries from which you can randomly draw content for randomized assigments, see Working with Content Libraries.

Getting Started with Course Content Development

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.

Understanding Course Building Blocks

Before you begin, you should understand the building blocks of an edX course.

  • The course outline is the container for all of your course content. The outline contains one or more sections.
  • Course sections are at the top level of your course and typically represent a time period. A section contains one or more subsections.
  • Course subsections are parts of a section, and usually represent a topic or other organizing principle. A subsection contains one or more units.
  • Course units are lessons in a subsection that learners view as single pages. A unit contains one or more components.
  • Course components are objects within units that contain your actual course content.

Creating New Course Content

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:

Diagram of the content creation process

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.

Making Course Content Visible to Students

Course content visibility depends on the following factors.

For more information, see Controlling Content Visibility and Access.

Making Course Content Searchable

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.

Revising Content

You can revise your course content at any time.

The following diagram summarizes the content revision workflow and content visibility:

Diagram of the content creation process

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.

Developing Your Course Outline

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.

Open the Course Outline

To view the course outline, follow these steps.

  1. Sign in to edX Studio.

  2. 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.

Understanding a Course Outline

Course authors build a course outline on the Course Outline page in Studio. Learners see this course outline in the LMS.

To view the course outline in the LMS, go to the Course Outline page in Studio, and then select either Preview or View Live.

In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.

Sections, subsections, and units in the course outline in Studio and in the LMS.

The numbers represent the following levels.

  1. Sections
  2. Subsections
  3. Units

Note

The Course Outline page does not show components. You add or access components by selecting the units that contain the components.

Course Progress Information

The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.

  • Viewed all of each video.
  • Submitted answers for all of the problems.
  • Viewed all HTML content for at least five seconds.

If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.

For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.

Add Content in the Course Outline

You can add content in the course outline by creating a new section, subsection, or unit, or by duplicating an existing unit, subsection, or section.

For information about adding content to a unit, see Developing Course Components.

Note

If you want to require an entrance exam for your course, you also create the exam in the course outline. Before you can create an exam, you must set your course to require an entrance exam in Studio. For more information, see Require an Entrance Exam.

Adding New Sections, Subsections, or Units
  • To add a section to the outline, select New Section. This option appears at both the top of the page and below the current sections in the outline. For more information, see Create a Section.
  • To add a subsection to the end of the section, expand the section and select New Subsection.
  • To add a unit to the end of a subsection, expand the subsection and select New Unit. The unit page opens.
Duplicating Existing Sections, Subsections, or Units

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.

Modify Settings for Objects in the Course Outline

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.

Configure icons in the course outline.

For more information, see the links above.

Publish Content from the Course Outline

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.

Publishing icons in the course outline.

Note

The Publish icon only appears when there is new or changed content within the object.

For more information, see the following topics.

Reorganize the Course Outline

You can reorganize your course content by dragging and dropping sections, subsections, and units to new locations in the outline.

You can reorganize components by dragging and dropping them within the same unit, or by moving them from one unit to another unit. For more information, see Reorganizing Components.

To drag a section, subsection, or unit to another position in the course outline, move your cursor over the handle on the right of the object’s box until the cursor changes to a four-headed arrow. For example, in the image below, the handle for the subsection Lesson 1 - Getting Started is selected.

A subsection handle selected to drag it.

Then, select and drag the object to the location that you want.

If you expanded the section or subsection you are moving the object to, when you move the object, a blue line indicates where the object will land when you release the mouse button. For example, in the image below, the subsection Lesson 1 - Getting Started is being moved to the end of the section Introduction.

A subsection being dragged to a new section.

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.

A subsection being dragged to a new section.

Note

When you move a subsection to a different section, the release date and time for that subsection does not change.

Delete Content in the Course Outline

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.

The outline with Delete icons circled.

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.

Developing Course Sections

To develop sections in your course, you must first understand the following topics.

What Is a Section?

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.

Viewing Sections in the Outline

In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.

Sections, subsections, and units in the course outline in Studio and in the LMS.

The numbers represent the following levels.

  1. Sections
  2. Subsections
  3. Units

Note

The Course Outline page does not show components. You add or access components by selecting the units that contain the components.

Course Progress Information

The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.

  • Viewed all of each video.
  • Submitted answers for all of the problems.
  • Viewed all HTML content for at least five seconds.

If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.

For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.

Sections and Visibility to Learners

Learners cannot see any content in a section if the section’s release date is unscheduled or has not passed.

If a section’s release date has passed, learners can see content in the section if:

  • The release date for the subsection that contains that content has passed.
  • The unit has been published.
  • The unit is not hidden from learners.

Release Statuses of Sections

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.

Unscheduled

If you do not change the course start date default value, 1/1/2030 00:00:00 UTC, when you create a new section, its release date will appear as Unscheduled. When the section release date is unscheduled, learners cannot see any content in that section, regardless of the publishing status of that content.

If you have modified the course start date, when you create a new section, the default release date is the course start date.

To make the content available to learners, you must schedule the release date.

Scheduled

A section that is scheduled for release on a future date will not be visible to learners until after the release date. Regardless of the publishing status of content within the section, the entire section will not visible to learners.

The scheduled date must pass for the section to be visible to learners.

Released

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.

Released with Unpublished Changes

If you change a unit in a released section but do not publish the changes, learners see the last published version of the modified unit.

You must publish the unit for learners to see the updates.

Staff Only Content

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.

Create a Section

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.

  1. 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.

  2. 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.

  3. Add subsections to the new section as needed.

It is recommended that you test course content as you create new sections.

Change a Section Name

To edit a section name, move your cursor over the section name to show the Edit icon.

The Edit Section Name 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.

Set a Section Release Date

To set the section release date, follow these steps.

  1. Select the Configure icon in the section box.

    The section settings icon circled.

    The Settings dialog box opens.

  2. 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.

  1. Select Save.

For more information, see Release Dates.

Set Section Highlights for Weekly Highlight Emails

If your Open edX system adminstrator has configured your instance of the Open edX platform to send course highlight emails, you can send automatic email messages to learners in your course that contain three to five “highlights” of upcoming course content. A highlight is a brief description of an important concept, idea, or activity in the section. Your Open edX system administrator provides the template for this course highlight email, and you enter the highlights for the email in Studio.

For more information, contact your Open edX system administrator.

Note

The highlights that you specify persist when you re-run your course.

Send Weekly Highlight Emails

To send weekly highlight emails to your learners, you must first set highlights for each section. When you have set section highlights, you then enable the Weekly Highlight Emails setting.

The number of highlights that you have set for a section is visible in the course outline, below the name of the section.

The Course Outline page, showing a section name and "3 Section Highlights" under the name.
Set Course Section Highlights

Note

If your Open edX system adminstrator has not configured your instance of the Open edX platform to send weekly course highlight messages, learners do not receive messages even if you enable highlights and enter highlights for each section.

To set highlights for a course section, follow these steps.

  1. On the Course Outline page, locate the section you want, and then select Section Highlights under the section name.
  2. In the Highlights for <section name> dialog box, enter three to five highlights for the section. Enter one highlight in each field. Each highlight can include up to 250 characters.
  3. Select Save.
Enable Weekly Highlight Emails

After you have set and reviewed the highlights for each course section, you enable weekly highlight emails.

To enable weekly highlight emails, follow these steps.

  1. On the Course Outline page, locate the Weekly Highlight Emails setting, and then select Enable Now.
  2. In the dialog box that opens, select Enable.

Note

If you do not enable highlights, the edX platform does not send weekly course highlight emails, even if you enter highlights for one or more sections.

You cannot disable weekly highlight emails after you enable them. If you do not want to send weekly highlight emails after you enable them, you can delete highlights in all sections.

Publish All Units in a Section

To publish all new and changed units in a section, select the Publish icon in the box for the section.

Publishing icon for a 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.

Hide a Section from Learners

You can hide all content in a section from learners, regardless of the status of subsections and units within the section.

For more information, see Visibility Settings.

To hide a section from learners, follow these steps.

  1. Select the Configure icon in the section box.

    The section settings icon circled.

    The Settings dialog box opens.

  2. In the Section Visibility section, select Hide from learners.

  3. 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.

Delete a Section

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.

  1. Select the Delete icon in the section that you want to delete.
The section with Delete icon circled.
  1. When you receive the confirmation prompt, select Yes, delete this section.

Developing Course Subsections

To develop subsections in your course, you must first understand the following topics.

What Is a Subsection?

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.

Viewing Subsections in the Outline

In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.

Sections, subsections, and units in the course outline in Studio and in the LMS.

The numbers represent the following levels.

  1. Sections
  2. Subsections
  3. Units

Note

The Course Outline page does not show components. You add or access components by selecting the units that contain the components.

Course Progress Information

The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.

  • Viewed all of each video.
  • Submitted answers for all of the problems.
  • Viewed all HTML content for at least five seconds.

If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.

For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.

Subsections and Visibility to Learners

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.

  • The release date of the parent section has passed.
  • The units have been published.
  • The subsection or the units are not hidden from learners.

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.

Release Statuses of Subsections

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.

Scheduled with the Section

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.

Unscheduled

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.

Scheduled Later than the Section

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.

Scheduled with Unpublished Changes

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.

Released with Unpublished Changes

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.

Released

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.

Staff Only Content

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.

Create a Subsection

To create a new subsection, follow these steps.

  1. In the outline, expand the section in which you want to create a new subsection.
  2. Select New Subsection at the bottom of the expanded section. A new subsection appears at the end of the section, with the subsection name selected.
  3. Enter the name for the new subsection. 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.
  4. Add units to the new subsection as needed.

It is recommended that you test course content as you create new subsections.

Change a Subsection Name

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.

Set a Subsection Release Date

To set the subsection release date, follow these steps.

  1. Select the Configure icon in the subsection box.

    A subsection in the course outline with an arrow pointing to the configure icon.

    The subsection settings dialog box opens.

  2. On the Basic tab, under Release Date and Time, enter the release date and time for the subsection.

    Note

    The time that you set is in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.

    Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.

  3. Select Save.

For more information, see Release Dates.

Set the Assignment Type and Due Date for a Subsection

You set the assignment type for problems at the subsection level.

When you set the assignment type for a subsection, all problems in the subsection are graded and weighted as a single type. For example, if you designate the assignment type for a subsection as Homework, then all problem types in that subsection are graded as homework.

Note

Unlike other problem types, ORA assignments are not governed by the subsection due date. Due dates for each ORA assignment are set in the assignment’s settings. For details, see Specify a Name and Dates.

To set the assignment type and due date for a subsection, follow these steps.

  1. Select the Configure icon in the subsection box.

    The subsection settings dialog box opens.

  2. On the Basic tab, locate the Grading section.

  3. In the Grade as list, select the assignment type for this subsection.

  4. For Due Date and Due Time in UTC, enter or select a due date and time for problems in this subsection.

    Note

    The time that you set is in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.

    Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.

  5. Optionally, for a course that has the timed exam feature enabled, select the Advanced tab to set the subsection to be timed.

  6. Select Save.

For more information, see Establishing a Grading Policy For Your Course.

Set Problem Results Visibility

By default, when learners submit answers to problems, they immediately receive the results of the problem: whether they answered the problem correctly, as well as their scores. However, you might want to temporarily hide problem results from learners when you run an exam, or permanently hide results when you administer a survey. You can do this by using the Assessment Results Visibility setting.

Note

The Assessment Results Visibility setting is a subsection setting. You cannot change the visibility of individual problems. The Assessment Results Visibility subsection setting overrides the Show Answer setting for individual problems. Answers to problems are not visible when results are hidden.

The Assessment Results Visibility setting can be used with the following common problem types.

The Assessment Results Visibility setting can be used with the following advanced problem types.

To change the results visibility for your subsection, follow these steps.

  1. Select the Configure icon in the subsection box.

    The Settings dialog box opens.

  2. Select the Visibility tab, and locate Assessment Results Visibility.

  3. Select one of the available options.

    • Always show results: This is the default setting. Problem results and subsection scores are visible immediately when learners and staff submit answers.

    • Never show results: Subsection scores are visible, but problem results are never visible to learners or to course staff.

    • Show results when subsection is past due: For learners, results are not visible until the subsection due date (for instructor-paced courses) or the course end date (for self-paced courses) has passed. For course staff, results are always visible unless the staff member is previewing or viewing the course as a learner.

      Note

      If the subsection does not have a due date, or the course does not have an end date, results are always visible.

  4. Select Save.

Publish All Units in a Subsection

To publish all new and changed units in a subsection, select the Publish icon in the box for the subsection.

Part of a course outline with the publishing icon for a subsection circled.

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.

Hiding a Subsection from Learners

You can hide a subsection from learners in the following ways.

  • Entirely hide the subsection so that it does not appear in course navigation. Subsections that are hidden in this way are not included when grades are calculated.
  • Prevent learners from accessing a subsection’s contents after its due date (for instructor-led courses) or the course end date (for self-paced courses) has passed, but keep the subsection visible in course navigation. Subsections that are hidden based on date remain included when grades are calculated.

You can also hide just the answers to problems in the subsection, leaving the problems visible. For more information, see Set Problem Results Visibility.

For more information, see Visibility Settings.

Entirely Hide a Subsection 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.

  1. Select the Configure icon in the subsection box.

    A subsection in the course outline with an arrow pointing to the configure icon.

    The subsection settings dialog box opens.

  2. On the Visibility tab, locate Subsection Visibility, and then select Hide entire subsection.

  3. 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.

Hide a Subsection Based on Date

You can make a subsection’s content unavailable based on date. For example, you might want to make exam questions unavailable after a certain date. For instructor-led courses, this option uses the subsection’s due date. For self- paced courses, this option uses the course’s end date.

Subsections that are hidden in this way remain visible in the course navigation, and are included when grades are calculated. However, learners can no longer access the subsection’s content after the due date or the course end date.

Note

If you want to continue to show a subsection’s content, but hide learners’ results for problems in the subsection, see Set Problem Results Visibility.

To hide a subsection based on date, follow these steps.

  1. Select the Configure icon in the subsection box.

    The subsection settings dialog box opens.

  2. On the Visibility tab, locate Subsection Visibility, and then select the appropriate option.

    • In instructor-led courses, select Hide content after due date.
    • In self-paced courses, select Hide content after course end date.
  3. Select Save.

Learners who access the subsection after the due date or course end date has passed are shown a message indicating that the subsection is no longer available because the due date (or course end date) has passed.

In the course outline in Studio, the subsection is shown with an icon and a “Subsection is hidden after due date” or “Subsection is hidden after course end date” message under the subsection’s display name.

Delete a Subsection

When you delete a subsection, you delete all units within the subsection.

Warning

You cannot restore course content after you delete it. To ensure you do not delete content that you might need later, you can move any unused content to a section in your course that you set to never release.

To delete a subsection, follow these steps.

  1. In the subsection that you want to delete, select the Delete icon.
Part of a course outline showing a subsection with the Delete icon circled.
  1. When the confirmation prompt appears, select Yes, delete this subsection.

Developing Course Units

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.

What Is a Unit?

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.

Viewing Units in the Outline

In the following image, the Studio view of the course outline is on the left. On the right is the view of the course outline in the LMS.

Sections, subsections, and units in the course outline in Studio and in the LMS.

The numbers represent the following levels.

  1. Sections
  2. Subsections
  3. Units

Note

The Course Outline page does not show components. You add or access components by selecting the units that contain the components.

Course Progress Information

The course outline in the LMS also indicates a learner’s progress through the course. A green check mark next to the name of a section, subsection, or unit indicates that a learner has completed all the following actions in the section, subsection, or unit.

  • Viewed all of each video.
  • Submitted answers for all of the problems.
  • Viewed all HTML content for at least five seconds.

If a learner selects the Resume Course option, the course opens to the unit that the learner most recently completed.

For information about more specific learner data, including the learner’s grades or answers for individual problems, see Managing Learner Progress and Grades.

Viewing the Unit Page

In Studio, when you select a unit name in the outline, the Unit page opens.

The following example shows a unit page in Studio with two components, with circles and text to show different areas and controls in the page.

The unit page with numbered indicators.
  1. A component in the unit.
  2. Options for testing the unit.
  3. Status panel for the unit.
  4. A unit navigation bar that shows where in the subsection this unit is located, and provides easy navigation options to nearby unit pages.
  5. A way to add new units to a subsection through the unit navigation bar.
  6. Navigation tools to quickly get to other sections or subsections.

Viewing Units as a Learner

To a learner using the edX learning management system (LMS), each unit in the subsection is represented by an icon in the unit navigation bar at the top of the Course page. The current unit is indicated with bold underlining in the unit navigation bar. The components in the current unit appear below the unit navigation bar.

The following image shows a subsection in the LMS that contains several units.

A unit in the LMS, with all of the unit icons in the unit navigation bar indicated. Green check marks are visible for some units.

A green check mark next to a unit icon indicates that a learner has completed the unit. A learner has completed the unit if the learner has completed all the following actions.

  • Viewed all of each video.
  • Submitted answers for all of the problems.
  • Viewed all HTML content for at least five seconds.

The Unit Workflow

When you have set up the section and subsection in the course outline, you then work with units.

The typical workflow includes these steps.

  1. Create a unit.
  2. Add components to the unit.
  3. Modify components in the unit.
Diagram of the unit development workflow.

You publish the unit after you add all of its components. If you make additional modifications, you must publish the unit again for the changes to be visible to learners.

As you work through these steps, the publishing status of the unit changes. The publishing status controls the content available to learners, along with release dates (in an instructor-paced course). See the next section for more information.

Note

Release dates apply only to instructor-paced courses. For more information about instructor-paced and self-paced courses, see Course Pacing.

Unit Publishing Status and Visibility to Learners

The following information summarizes whether or not learners can see a unit.

  • Learners never see a unit with the publishing status Draft (Never Published).
  • Learners never see a unit with the publishing status Visible to Staff Only. For more information, see Hide a Unit from Learners.
  • Learners do not see a unit with the publishing status Published Not Yet Released until the release date (in an instructor-paced course). On the release date, the status changes to Published and Live.
  • If the publishing status is Published and Live, learners see the current version of the unit.
  • If the publishing status is Draft (Unpublished Changes), learners see the last published version of the unit if the release dates for the containing section and subsection have passed.
  • If you used access settings to specify that a unit is available only to specific groups of learners (such as content groups associated with particular cohorts, or enrollment track groups), only those learners who are in groups to which you have given access can see the unit after it is published and live.

For more information, see Controlling Content Visibility and Access. For information about testing content, see Testing Your Course Content.

Unit Publishing Statuses

As a course author, you work with units that have the following statuses.

Draft (Never Published)

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.

Status panel of a unit that has never been published, with "Draft (Never published)" at the top.

Note

The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses. For more information about instructor-paced and self-paced courses, see Course Pacing.

In Studio, you see the draft content as you develop the unit. Though you do not see the unit in the LMS, you can preview the unit.

Learners never see a unit with this status, even after the release date (in an instructor-paced course). You must publish the unit for it to be included in the LMS.

Published and Live

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.

Status panel of a unit that is published, with "Published and Live" at the top.

The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses. For more information, see Course Pacing.

Published (not yet released)

You published the unit, but the release date is still in the future. Learners cannot see this unit until the release date passes.

Status panel of a unit that is published but not released, with "Published (not yet released)" at the top.

This status applies only to instructor-paced courses. It does not apply to self-paced courses.

Draft (Unpublished changes)

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.

Status panel of a unit that has pending changes, with "Draft (Unpublished Changes)" at the top.

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.

Visible to Staff Only

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).

Status panel of a unit that is hidden from learners, with an icon and "Hide from learners" text visible.

The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses.

Create a Unit

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.

  1. In the outline, expand the subsection in which you want to create a new unit.
  2. Select New Unit at the bottom of the expanded subsection. A new page opens for you to add components to the unit.
  3. 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.
  4. Add components to the new unit as needed.

To create a unit from a unit page, follow these steps.

  1. In the Unit Navigation Bar area, select New Unit.

    The Unit Navigation Bar in the Unit page.

    The unit page for the new unit opens automatically.

  2. 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.

  3. Add components to the new unit as needed.

You must then publish the unit to make it visible to learners.

Edit a Unit

You can edit a unit in the following ways.

When you make any of these changes, if you previously published the unit, the state changes to Draft (Unpublished Changes). You must then publish the unit to make your edits visible to learners.

If you are designing your course to offer different content to different groups of learners, you can also Set access restrictions for the unit to specify which learner groups a unit is available to.

Edit the Unit Name

To edit a unit name, on the unit page in Studio, select Edit next to the name.

The Edit icon for the unit name with the mouseover help showing.

The name field becomes editable. Enter the new name, and then tab or click outside of the field to save the name.

Reorganize Components in Units

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 discussion component selected so that it can be dragged.

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.

A component being dragged to a new location. :width: 600

Set Access Restrictions For a Unit

If you have more than one enrollment track in your course, or if you have enabled cohorts, you can limit a unit’s availability to specific groups of learners. For information about offering different content to different learner groups, see Offering Different Content to Different Learner Groups.

Note

A unit’s group access settings are inherited by components in the unit. If you set additional group access restrictions for a component, make sure the component access settings do not contradict the unit access settings. For example, you cannot give Group A of learners access to a component if Group A does not have access to the unit that contains the component.

Tp specify a unit’s access settings, follow these steps.

  1. In Studio, select Content, and then select Outline.

  2. For the unit that you want to restrict access to, select the Configure icon in the unit’s toolbar.

    The configure icon in a unit's toolbar in the Studio course outline.

    You can also access the Restrict access to option from the gear icon next to a unit’s name on a unit page in Studio.

    The gear icon next to a unit's title on the unit page in Studio is another way to launch the unit access settings dialog.
  3. In the unit’s Settings dialog box, for the Restrict access to option, select the group type by which you want to restrict access.

    The Enrollment Track Groups option is available only if your course has more than one enrollment track. The Content Groups option is available only if you have created content groups for use with cohorts.

    The visibility and access settings dialog for a unit, with a

    After you select a group type, you see a list of the groups that exist for that group type.

  1. Select the checkbox for each group for which you want the current unit to be available.

    The visibility and access settings dialog for a unit, with enrollment track groups selected, and two enrollment tracks available for selecting.
  2. Select Save.

    The groups which have access to the unit are listed under the unit title in the Studio course outline, as well as under the unit title on the unit page in Studio.

    When a unit has restricted access, a message listing the groups which have access to a unit appears under the unit title in the Studio course outline.

Preview a 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, select Preview above the status panel in the Studio unit page.

The unit opens in preview mode in the LMS.

Note

When you are revising a previously published unit, it can be helpful to preview your changes in one browser window and view the published unit in a second window.

For information about previewing and testing content, see Testing Your Course Content.

Publish a Unit

Publishing a unit makes the current version of the unit in Studio available to learners. In an instructor-paced course, the release dates for the section and subsection must also have passed for learners to access a published unit.

You publish a unit that has a status of Draft (Never Published) or Draft (Unpublished Changes). When you publish a unit, the status changes to Published and Live or Published Not Yet Released.

You can publish a unit from the unit page or the course outline.

For more information about instructor-paced and self-paced courses, see Course Pacing.

Use the Unit Page to Publish a Unit

To publish the unit, select Publish in the status panel.

Use the Outline to Publish a Unit

To publish a unit from the outline, select the Publish icon in the box for the unit.

The Course Outline page with an arrow pointing to the Publish icon for a unit.

Note

The Publish icon only appears when there is new or changed content in the unit.

Discard Changes to a 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.

View a Published Unit

To view the last published version of a unit in the LMS, select View Live Version at the top of the page.

The unit page opens in the LMS in Staff view. You might be prompted to log in to the LMS.

If the unit status is Draft (Unpublished Changes), you do not see your changes in the LMS until you publish the unit again.

If the unit status is Draft (Never Published), View Live Version is not enabled.

For information about viewing and testing content, see Testing Your Course Content.

Hide a Unit from Learners

You can prevent learners from seeing a unit regardless of the unit status or the release schedules of the section and subsection.

For more information, see Visibility Settings.

You can hide a unit from learners using the course outline or the unit page.

Use the Unit Page to Hide a Unit

In the status panel, select Hide from learners.

The Release section applies only to instructor-paced courses. It does not appear for units in self-paced courses.

For more information, see Controlling Content Visibility and Access.

Use the Outline to Hide a Unit
  1. Select the Configure icon in the unit box.

    The Course Outline page with the Configure icon for a unit indicated.

    The Settings dialog box opens.

  2. In the Unit Visibility section, select Hide from learners.

  3. Select Save.

Make a Hidden Unit Visible to Learners

Before you make a hidden unit visible to learners, be aware that course content will immediately be visible to learners, as follows.

  • For a hidden unit that previously was published, deselecting Hide from learners publishes the current content for the unit. If you made changes to the unit while is was hidden, those draft changes are published.
  • When you make a section or subsection that was previously hidden visible to learners, draft content in units is not published. Changes you made since last publishing units are not made visible to learners.

You can make a hidden unit visible to learners from the unit page or the course outline. Follow the instructions above and clear the Hide from learners check box.

You are prompted to confirm that you want to make the unit visible to learners.

Delete a Unit

You delete a unit from the course outline in Studio.

When you delete a unit, you delete all components within the unit.

Warning

You cannot restore course content after you delete it. To ensure that you do not delete any content that you need later, move the unit to a hidden section or subsection instead of deleting it.

To delete a unit, follow these steps.

  1. On the course outline page in Studio, select the Delete icon in the box for the unit you want to delete.

    The Course Outline page with the Delete icons for several units circled.
  2. When you receive the confirmation prompt, select Yes, delete this unit.

Developing Course Components

This section describes how you develop course components.

For more information about specific component types, see the following topics.

What is a Component?

A component is the part of a unit that contains your actual course content. A unit can contain one or more components.

By default, Studio includes four basic types of components for you to add to your course.

  • Discussion components provide discussion spaces in the body of your course. Learners can explore ideas about a lesson with their peers in a discussion space.
  • HTML components allow you to add text, images, and some types of learning tools to your course. Content in HTML components is formatted as HTML.
  • Problem components enable you to add many different types of exercises and problems to your course, from simple multiple choice problems to complex circuit schematic exercises.
  • Video components contain the videos that you want to include in your course.

Add a Component

To add a component to the unit, follow these steps.

  1. In Studio, open the page for the unit.
  2. Under Add New Component, select a component type. The default component types are discussion, HTML, problem, and video.

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.

Edit a Component

To edit a component, you select Edit in the component’s title bar in Studio.

A component with the Edit icon indicated in the toolbar.

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.

Set the Display Name for a Component

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.

The identifying display name for a problem in Studio, the LMS, and 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.

  1. Edit the component. A dialog box opens.

    • For a discussion or video component, the dialog box opens to the list of settings, including the Display Name field.
    • For an HTML or problem component, the dialog box opens to an editing view. Select Settings to show the list of settings, including the Display Name field.
  2. Edit the Display Name field.

    The settings dialog box for a problem component.
  3. Select Save.

Different types of components have different fields in the Settings dialog box, but all of them have a Display Name field.

Set Access Restrictions for a Component

If you have more than one enrollment track in your course, or if you have enabled cohorts, you can limit a component’s availability to specific groups of learners. For information about offering different content to different learner groups, see Offering Different Content to Different Learner Groups.

Note

Components inherit any group access restrictions that are set for their parent unit. If you set additional group access restrictions for a component, make sure the component access settings do not contradict the unit access settings. For example, you cannot give Group A of learners access to a component if Group A does not have access to the unit that contains the component.

To specify a component’s access settings, follow these steps.

  1. In Studio, select Content, and then select Outline.

  2. On a unit page, for each component for which you want to restrict access to, select the Access Settings icon.

    The access settings icon for a component on a Studio unit page
  3. In the Editing access dialog box, for the Restrict access to option, select the group type by which you want to restrict access.

    Note

    The Enrollment Track Groups option is available only if your course has more than one enrollment track. The Content Groups option is available only if you have created content groups for use with cohorts.

    The access settings dialog for a component, with a dropdown list for selecting the type of learner group you will use for restricting access.

    After you have selected a group type, you see a list of the groups that exist for that group type.

  4. Select the checkbox for each group for which you want the current component to be available.

  5. Select Save.

    The groups which have access to the component are listed under the component title in the Studio course outline.

    When a component has restricted access, a message listing the groups which have access to the component appears under the component title in the Studio course outline.

    In addition, on the unit page in Studio, a message in the publishing status bar indicates that some content in the unit is restricted to specific groups of learners.

    When any component in a unit has restricted access, a message appears in the unit's publishing status bar.

Duplicate a Component

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.

A unit with the Duplicate icon selected and highlighted.

Then, follow instructions for the type of component you are editing.

After you duplicate a component, the new component is not visible to learners until you publish the unit.

Note

Duplicating content experiments after you have configured them is not supported.

Delete a Component

Caution

Be sure you want to delete the component. You cannot undo the deletion.

To delete a component, follow these steps.

  1. Select the Delete icon in the component header.
A unit with the Delete icon circled.
  1. When you receive the confirmation prompt, select Yes, delete this component.

After you delete a component in Studio, the component remains visible to learners until you publish the unit.

Reorganizing Components

You can drag and drop components to a new position within their current unit, or you can move components from one unit to another unit.

Reorganize Components Within a Unit

To reorganize components within their current unit, you drag and drop components in the same way that you can drag and drop units, subsections, and sections on the Course Outline page. For more information, see Reorganize the Course Outline.

For components that consist of nested components (for example, a content experiment), you can also use drag and drop to move a child component into a different parent component, if both parents are expanded. For example, you can select the video component that is in Child Component A and drag it into Child Component B. Select the video component, and as you drag it into Child Component B, release the mouse button when a dashed outline of the component you are moving appears in the new location.

A child component being dragged to a new location in a different parent component.

You can also drag a child component outside of a parent, so that the child moves to the same level as the parent.

Move Components to Other Units

To move components to another unit in the course outline, follow these steps.

  1. Select the Move icon for the component that you want to move.

    The action icons for components, with the Move icon highlighted.

    A dialog box appears that displays your course outline tree, starting at the section level.

  2. In the Move dialog box, navigate to the location where you want to move the component by selecting the section, the subsection, and then the unit.

    The Move dialog box displays your course outline tree for navigating to the unit that you want to move your component to.

    The Move button is enabled only when your selected location is a valid level and location for moving your component. For example, when you move a component, the Move button is enabled only when you have navigated to a unit to which the component can be moved.

  3. Select Move.

    The component moves to the new location. A success message appears that provides options to go to the new location or to undo the move.

    Note

    If the old and new locations of the component that you moved were previously published, your changes are not reflected in the learner’s view of the course until you republish the affected units.

Components that Contain Other Components

For specific use cases, you configure course content so that components contain other components. For example, if you want to include conditional components or content experiments, you have to create components inside components. See Creating Content Experiments for more information.

The component that contains other components is referred to as the parent; the contained components are referred to as child components, or children.

On a unit page, a parent component appears with its display name and a View link.

A unit page with a parent component.
Edit a Parent Component

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.

View Child Components

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.

An expanded child component.

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.

Add a Child Component

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.

XML for Parent and Child Components

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.

The Learner View of Nested Components

For learners, all parent and child components appear on the unit page.

Note

The visibility of nested components depends on the visibility of the parent unit. The parent unit must be public for learners to see nested components. For more information, see Unit Publishing Status and Visibility to Learners.

The following example shows the learner view of the unit described above.

The learner's view of nested components.

Controlling Content Visibility and Access

As a member of the course team, you must carefully control which content is available to which learners, and when. Visibility settings, together with publishing states, are used to hide content from learners while still allowing course staff to view it. Access settings are used to specify which learner groups can access particular components or units.

You can control content visibility and access using the following Studio features.

You can also configure Open edX so that courses or course outlines are visible to anyone, not just registered and enrolled learners. For information, see Enabling Public Course Content.

Release Dates

In instructor-paced courses, you can specify release dates and times for sections and subsections. By defining release dates, you ensure that course content is available to learners on a planned schedule, without requiring manual intervention while the course is running.

Note

Self-paced courses do not have release dates for sections and subsections. For more information about instructor-paced and self-paced courses, see Course Pacing.

By default, a subsection inherits the release date and time of the section it is in. You can change the release date of the subsection to another date.

Published units are not visible to learners until the scheduled release date and time. When the section and subsection have different release schedules, published units are not visible until both dates have passed.

Course team members can access content that has not been released by previewing the course.

Note

When you set release times in Studio, times are in Coordinated Universal Time (UTC). You might want to verify that you have specified the times that you intend by using a time zone converter such as Time and Date Time Zone Converter.

Learners who have specified a time zone in their account settings see course dates and times converted to their specified time zone. Learners who have not specified a time zone in their account settings see course dates and times on their dashboards, in the body of the course, and on their Progress pages in the time zone that their browsers specify. Learners see other course dates and times in UTC.

For more information about setting release dates in an instructor-paced course, see the following topics.

Unit Publishing Status

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.

Visibility Settings

You can use the visibility controls in Studio to hide content from learners in both instructor-paced and self-paced courses.

You might choose to hide a unit from learners, for example, when that unit contains an answer to a problem in another unit in the same subsection. After the problem’s due date, you can make the unit that contains the answer visible. You might also permanently hide a unit from learners if that unit provides instructions or guidance that is intended only for the course team. Only course team members would see that unit in the course.

Content that is hidden by being excluded from the course outline is never available to learners, regardless of the release and publishing status.

Important

Content that you make “invisible” to learners by excluding it from the course outline is also excluded from grading. As a best practice, do not hide sections, subsections, or units that contain graded content by excluding them from the course outline.

Instead, if you want to prevent learners from accessing graded content at certain times, you can use options to hide content based on due date or course end date. For more information, see Hiding Graded Content and Hide a Subsection Based on Date.

You can hide content at different levels, as described in the following topics.

Note

Units and subsections inherit visibility settings from their parent subsections or sections. Be aware that when you make a previously hidden section or subsection visible to learners, all child subsections or units also become visible, unless you have explicitly hidden the subsection or unit. Subsections or units that are explicitly hidden remain hidden even when you change the visibility of their parent section or subsection.

Hiding Graded Content

Grading is affected if you hide sections, subsections, or units that contain graded problems in such a way that they are not included in the course navigation. When the platform performs grading for a learner, the grading process does not include problems that are not included in that learner’s course outline.

If you want the problems in the subsection to remain visible, but you want to hide learners’ results for these problems, see Set Problem Results Visibility.

Note

As a best practice, do not hide graded sections, subsections, or units by excluding them from the course outline. Content that is hidden in this way is not included when the platform performs grading for learners.

Instead, if you want to prevent learners from accessing the content of a subsection while the subsection itself remains visible in the course navigation, you can use the option to hide a subsection or timed exam’s content based on date. In instructor-led courses, you can hide a subsection based on its due date. In self-paced courses, you can hide a subsection based on the course’s end date. For more details, see Hide a Subsection Based on Date.

Access Settings

In the course outline in Studio, you can use access settings to specify which learner groups can access particular components or units. You can restrict access based on one group type, such as content group or enrollment track.

For example, if you have cohorts enabled in your course, you can use content groups to give access to particular components or units in your course only to learners in specific cohorts. If your course has more than one enrollment track, you might provide the same practice assignments to all learners yet provide learners in the certificate track with different exams from non- certificate learners.

For information about creating differentiated content based on cohorts, see Creating Cohort-Specific Course Content.

For information about creating differentiated content based on enrollment track, see Creating Course Content for Specific Enrollment Tracks.

Prerequisite Course Subsections

You can lock subsections of your course until learners complete other, prerequisite subsections. If a subsection has a prerequisite, it is displayed in the course outline with a lock icon, and learners cannot view the subsection content until they have earned a minimum score in the prerequisite subsection.

Note

You must first Enabling Course Prerequisites before prerequisite course subsections can be used.

Enable Subsection Prerequisites

To enable prerequisite subsections in a course, follow these steps.

  1. From the Settings menu, select Advanced Settings.
  2. In the Enable Subsection Prerequisites field, enter true.
  3. Select Save Changes.
Create a Prerequisite Subsection

To prevent learners from seeing a subsection of your course until they have earned a minimum score or completed a minimum portion in a prerequisite subsection, follow these steps.

Note

Make sure that you configure subsection prerequisites in the order that you intend for learners to encounter them in the course content. The prerequisite configuration controls do not prevent you from creating a circular chain of prerequisites that will permanently hide them from learners.

Note

You cannot use open response assessments that have a point value of 0 as the prerequisite for other course subsections.

  1. Enable subsection prerequisites for your course. For more information, see Enable Subsection Prerequisites.

  2. Select the Configure icon for the subsection that must be completed first. This is the prerequisite subsection.

    A subsection in the course outline with the configure icon indicated.
  3. Select the Advanced tab.

  4. Under Use as a Prerequisite, select Make this subsection available as a prerequisite to other content.

  5. Select Save.

  6. Select the Configure icon for the subsection that will be hidden until the prerequisite is met.

  7. Select the Advanced tab, and then locate the Limit Access section.

  8. In the Prerequisite list, select the name of the subsection you want to specify as the prerequisite.

    The Limit Access section in the Advanced settings, showing the Prerequisite, Minimum Score, and Minimum Completion Percentage controls.
  9. To require that learners achieve a minimum score in the prerequisite subsection before the current subsection opens, enter the percent of the total score that learners must earn in the Minimum Score field. If the prerequisite section is not a problem set, set Minimum Score to 0 and set Minimum Completion Percentage to a value greater than zero.

    For example, if the prerequisite subsection includes four problems and each problem is worth the same number of points, set the Minimum Score to 75 to require at least three correct answers.

    To require that learners complete a minimum portion of the prerequisite subsection before the current subsection opens, enter the percent of the prerequisite subsection that learners must complete in the Minimum Completion Percentage field.

    If you set both the Minimum Score field and the Minimum Completion Percentage field to a value greater than zero, then learners must satisfy both conditions in the prerequisite section before they can view the current subsection. The default value for both the Minimum Score field and the Minimum Completion Percentage field is 100.

  10. Select Save.

  11. In the course outline, if a subsection has a prerequisite, the prerequisite name appears under the subsection name.

    A subsection in the course outline with a prerequsitie indicated.

Note

Prerequisite course subsection settings are not retained when you export or import a course, or when you re-run a course.

Course Licensing

You can specify licensing options for your course content as well as for each video in your course. By specifying the license, you communicate to learners whether and how they can reuse your course content.

You specify licensing options in Studio. For more information, see Set Course Content Licensing in Studio.

License Options

For your course content and for each video in your course, you can select one of the following license options.

  • All Rights Reserved
  • Creative Commons
All Rights Reserved

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.

Creative Commons License

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.

Set Course Content Licensing in Studio

When you have determined what licenses you want your course content to have, you set course content licensing in Studio.

For more information about licensing options, see Course Licensing.

When you create a new course, the license is set to All Rights Reserved. You can change the license for your course in the Schedule & Details page in Studio.

The license options that you select apply to all course content, including videos, unless you explicitly specify different licensing options for your videos. Learners see the license at the bottom of all pages in the course.

  1. From the Settings menu, select Schedule & Details.

  2. Scroll to the bottom of the page to view the Course Content License section.

    The Course Content License section of the Schedule & Details page.
  3. 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.

      The Creative Commons license options.

      Select the Creative Commons license options to apply.

    • To reserve all course content rights, select All Rights Reserved.

  4. Select Save at the bottom of the page to save your changes.

Set Video Licensing

If you intend for a specific video to have a different license than the course as a whole, you must set the license in the video advanced options.

For example, you might license for your course under Creative Commons, but use a video from another party that is copyrighted. In this case, you can set the license for that particular video to All Rights Reserved.

If a video is to have the same license as the course as a whole, you do not need to set the license for the video.

Learners’ View of Licenses

When they view content in the Course tab, learners see the license that you set for the course at the bottom of the page.

A course unit page with a pointer to the license.

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.

A video with a pointer to the license.

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.

Testing Your Course Content

The way your course looks in Studio is different from the way that learners will see and experience it when it is live in the LMS. As a best practice, you should test content continually as you build your course, by interacting with the course content from a learner’s point of view.

The method that you choose for experiencing the course content as a learner depends on the publishing status of the content.

  • For published and released content, use View Live.
  • For draft and unreleased content, use Preview.

For more information, see the following topics.

Beta testing your course is another way to evaluate course content. For information about setting up a beta test for your course, see Beta Testing a Course.

To test content before a course has started, you can add yourself as a beta tester on the instructor dashboard. Make sure to set the course start date and the appropriate Days Early for Beta value. For more information, see Beta Testing a Course.

Viewing Published and Released Content

If your course has started, you can view published and released course content from the point of view of a learner. When you select View Live or View Live Version from the course outline in Studio, you can choose specific views in the LMS to experience the course content exactly as a particular learner would.

Note

For courses that have not started, View Live mode provides only Staff view, and you can only view content that has a publishing status of Published.

In courses that have started, when you use Staff view in View Live mode, keep the following points in mind.

  • In addition to units that have a publishing status of published and live you also see units that are published but not yet released.
  • You see published units that are in Visible to Staff Only or Draft (Unpublished changes) status, regardless of the release dates of the containing section or subsection, but you see only the latest published version of such units.
  • You do not see units that are in Draft (Never Published) status. To see these units, you must use Preview mode, as described in Previewing Draft Content.
  • If you view the course in a role other than Staff, you do not have access to the Instructor tab or to staff functions such as View Unit in Studio, Staff Debug Info, or Submission History.

For information about unit publishing statuses, see Unit Publishing Statuses.

View Published and Released Content

To view published and released content as it would appear to members of different groups, follow these steps.

  1. 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.

  2. In the LMS, select one of the View this course as options, as described in Viewing Course Content Based on Roles.

The course view refreshes to present published course content as a learner in the selected group would see it.

For more information about each view, see Staff View, Learner View, or Specific Learner View. For more information about viewing cohort-specific course content, see Viewing Cohort-Specific Course Content.

Previewing Draft Content

Before your course has started, or before you release content to learners, you can test how the content will appear when it is released.

Similar to viewing published content, you can choose specific views in the LMS to experience draft or unreleased course content as learners belonging to different groups would, but you select Preview from the course outline in Studio instead of View Live.

In Preview mode, if you use one of the student-based View course as options, you can see draft course content unrestricted by release date. You see any content that has a publishing status of Published and Live as well as content with publishing statuses of Draft (Never Published) or Draft (Unpublished changes).

When you use Staff view in preview mode, you also see any content that is Visible to Staff Only.

Preview Draft Content

To preview draft content and see how it would appear to members of different groups when it is released, follow these steps.

  1. From a unit page in the Course Outline in Studio, select Preview.

    A separate browser tab opens for the course in the LMS.

  2. In the LMS, select one of the View this course as options, as described in Viewing Course Content Based on Roles.

The course view refreshes to present course content as it is currently configured in Studio, and as a learner in the selected group would see it.

Note

If you use randomized content blocks in your course, you cannot preview unpublished units that contain content from randomized content blocks, because the randomized content is not assigned until after the unit is published. For information about viewing the actual content that has been assigned to a particular learner from a randomized content block in a live course, see Specific Learner View.

Viewing Course Content Based on Roles

When you select View Live or Preview from the course outline in Studio, you can see how it would appear to members of different groups by selecting one of the View this course as options in the LMS.

The "View this course as" drop down list, with a group selected.

The following table summarizes the content that is available in either View Live mode or Preview mode when you choose a role for viewing the content.

“View this course as” Role In “View Live” Mode In “Preview” Mode
Staff You see content that has any of the publishing statuses Published and Live, Published (not yet released), or Draft (Unpublished changes). In Staff view, you also see content that is Visible to Staff Only. In addition to the content you would see in “View Live” mode, you also see content that is in Draft (Never Published) status. In Staff view, you also see content that is Visible to Staff Only.
Learner You see content that has a status of Published and Live, and that is intended for all learners. For example, you see content that is not intended for a specific cohort group. In Student view, you do not see content that is Visible to Staff Only. In addition to the content that you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes). In Student view, you do not see content that is Visible to Staff Only.
Specific Learner You see content that has a status of Published and Live, and is intended for the specific learner whose email or username you enter. Specific student view is not available for unpublished content or if the course has not started.
Learner in a Specific Content Group You see content that has a status of Published and Live that would be available to learners who belong to the specified content group. In addition to the content you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes) that would be available to learners who belong to the specified content group.
Learner in an Enrollment Track You see content that has a status of Published and Live that would be available to learners who are in the specified enrollment track. In addition to the content you would see in “View Live” mode, you also see content that has a status of Draft (Never Published) or Draft (Unpublished changes) that would be available to learners who are in the specified enrollment track.

Note

When a unit’s state is Published and Live, the preview and the live versions of the course are exactly the same. In this case, selecting either View Live or Preview gives you the same view of that unit.

Staff View

Staff view displays content in your course as any member of the course team would experience it.

When you view your course content using Staff view, you can execute tests to make sure that your course works the way you intend. For example, before the release date of a subsection, members of the course team can work through the problems to verify that the correct answer receives a green check for correct, and that any answer other than the correct one receives a red X for incorrect.

When you use Staff view in the LMS, you can go back to Studio to edit course content in the following ways.

  • On a unit page, select View Unit in Studio to open the unit within the course outline in Studio.
  • From the instructor dashboard, select View Course in Studio to open the course outline in Studio.
  • On the Progress page, select View Grading in Studio to open the Grading page in Studio.
Learner View

Learner view displays content in your course as an enrolled learner in your course would experience it.

Note

If your course uses randomized content blocks, or if your course is designed so that learners in different enrollment track groups or content groups are shown different content, you can select an option from the View Course As dropdown list to see the content that a specific learner sees, or that a learner in a specific group sees. For more information, see Specific Learner View or Viewing Cohort-Specific Course Content.

Specific Learner View

Note

This view is available only if your course has started, and only for content that has a status of Published and Live.

Specific learner view displays published content in your live course as the learner that you specify experiences it. When you view the Progress page, the page displays grades and progress for the learner that you have specified.

When you view your course content as Specific student, be aware of the following limitations.

  • You cannot view open response assessment problems as a specific learner.
  • In courses with randomized content blocks, you see the actual problem that was assigned to a specific learner. This view allows you to evaluate a request to adjust a grade or reset the number of attempts for a problem. For details about adjusting grades or resetting attempts, see Adjust Grades for One or All Learners.
Learner in a Content Group View

This view displays content as a learner who belongs to the specified content group would experience it. You can use this view to verify that content designed for learners in a specific content group is displaying as intended.

For details about content groups, and about creating and previewing cohort-specific content, see Content Groups, Creating Cohort-Specific Course Content, and Viewing Cohort-Specific Course Content.

Learner in an Enrollment Track Group View

This view displays content as a learner who is in a specific enrollment track would experience it. You can use this view to verify that content designed for learners in a specific enrollment track is displaying as intended.

For more information about enrollment track groups, and about creating and previewing enrollment track based content, see Enrollment Track Groups and Creating Course Content for Specific Enrollment Tracks.

Adding Course Components

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.

Working with HTML Components

This section describes how to work with HTML components in Studio.

HTML Component Overview

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

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.

Options for Editing HTML Components

You can use two different editing interfaces to work with an HTML component.

  • The Visual Editor

    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.

  • The Raw HTML Editor

    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.

Set the Editor for an HTML Component
  1. Add or locate the HTML component in your course.
  2. Select Edit, and then select Settings.
  3. Select Visual or Raw.
  4. Select Save, and then reopen the component to use the new editor.

Warning

If you work with content in the raw HTML editor, then switch to the visual editor, custom HTML can be lost. If you need to create custom HTML, we recommend that you start by using the visual editor, and then switch to the raw HTML editor when you are ready to add the custom HTML.

The Visual Editor

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.

An image of the visual editor toolbar, with numbers next to each of the formatting buttons.
  1. Select a formatting style for the selected text, such as paragraph, preformatted (monospace), or a heading level.

    Note

    The available heading levels in the HTML component editor begin with heading 3 (<h3>). HTML components are part of a complete page, and elements outside the HTML component use heading levels 1 and 2 by default. Because tools such as screen readers use heading levels to navigate through pages, using heading levels 1 or 2 inside an HTML component can interfere with the functionality of these tools.

  2. Select a font family for selected text, such as Arial, Courier New, or Times New Roman.

  3. Format the selected text in bold, or remove this formatting. The editor inserts <strong> tags around the selected text.

  4. Format the selected text in italics, or remove this formatting. The editor inserts <em> tags around the selected text.

  5. Underline the selected text, or remove this formatting. The editor encloses the selected text in the tag <span style="text-decoration: underline;">.

  6. Change the color of the selected text. The editor encloses the selected text in the tag <span style="color: color-hex-code;">.

  7. Format the selected text as a code block, or remove this formatting. The editor inserts <code> tags around the selected text, which is then displayed in a monospace font.

  8. Align text and images to the left. The editor adds style="text-align: left;" to the <p> tags that surround the text.

  9. Center text and images. The editor adds style="text-align: center;" to the <p> tags that surround the text.

  10. Align text and images to the right. The editor adds style="text-align: right;" to the <p> tags that surround the text.

  11. Justify text and images. The editor adds style="text-align: justify;" to the <p> tags that surround the text.

  12. Create a bulleted list, or remove this formatting. The editor inserts <ul> tags around the selected text, and encloses each paragraph in <li> tags.

  13. Create a numbered list, or remove this formatting. The editor inserts <ol> tags around the selected text, and encloses each paragraph in <li> tags.

  14. Decrease and increase the indentation of the selected paragraph.

  15. Format the selected paragraph as a blockquote. The editor inserts <blockquote> tags around the selected text, which is then displayed as a separate paragraph in a monospace font.

  16. Create a hypertext link from the selected text. For more information, see Add a Link in an HTML Component.

  17. Remove a hypertext link from the selected text.

  18. Insert an image at the cursor. For more information, see Add an Image to an HTML Component.

  19. Review the HTML markup.

Note

The visual editor is not available for course handouts.

Review HTML Markup in the Visual Editor

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.

The HTML source code editor for the visual editor in Studio, showing HTML with markup.

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

The raw HTML editor is a text editor. It does not offer a toolbar with formatting options.

The raw HTML editor, showing example HTML.

When you use this editor, you must supply valid HTML. The raw HTML editor does not validate your HTML code. If you use this editor, you should thoroughly test the HTML content in your course.

Important

When you add a heading to an HTML component, make sure that you use only heading level 3 <h3> through heading level 6 <h6>. HTML components are part of a complete page, and elements outside the HTML component use heading levels 1 and 2 by default. Because tools such as screen readers use heading levels to navigate through pages, using heading levels 1 or 2 inside an HTML component can interfere with the functionality of these tools.

Create an HTML Component

  1. Under Add New Component, select HTML.

  2. 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.

  3. In the component, select Edit.

    The HTML component opens in the visual editor.

  4. Enter and format your content. You can review the HTML markup.

  5. To enter a display name for the component, select Settings, and then enter text in the Display Name field.

    Each HTML template supplies a default display name. Changing the default to a unique, descriptive display name can help you and your learners identify course content quickly and accurately. If you delete the default display name and do not enter your own identifying name, the platform shows “Text” as the name of the component.

    To return to the visual editor, select Editor.

  6. Select Save.

When you use the visual editor, you can also perform the following tasks.

HTML Component Templates

When you create an HTML component, you select one of the following templates.

  • Text
  • Announcement
  • IFrame Tool
  • Raw HTML

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.

Add an Image to an HTML Component

When you use the visual editor, you can add any image from your computer to an HTML component. You can see a preview of the image before you add it to the component.

Note

  • Before you add an image, make sure that you obtain copyright permissions for images you use in your course, and that you cite sources appropriately.
  • To add effective alternative text for images, review Use Best Practices for Describing Images.
  • You can only add one image at one time.
  • Each individual image file must be smaller than 10 MB.

To add an image to an HTML component, you can use one of the following procedures.

  • Drag an image from your computer into the Add Image dialog box in the HTML component.
  • Locate an image by using the Browse Your Computer option in the Add Image dialog box.
  • Select an image that you have uploaded to the Files & Uploads page.
Drag an Image into the Add Image Dialog Box
  1. In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.

  2. In the Add an Image dialog box, drag an image from your computer into the Drag and Drop area.

    As soon as your file uploads, the Edit Image Settings dialog box opens.

  3. In the Edit Image Settings dialog box, add an image description.

    • In the Image Description (Alt Text) field, enter alternative text for the image. This text becomes the value of the alt attribute in HTML and is required for your course to be fully accessible. For more information, see Use Best Practices for Describing Images.
    • If your image is a decorative image that does not convey important information, select the This image is decorative only checkbox.
  4. (optional) Specify the width and height of your image. For more information, see Change the Image Size.

  5. Select Insert Image.

  6. Save the HTML component and test the image.

Locate an Image on Your Computer
  1. In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.

  2. In the Add an Image dialog box, Browse Your Computer.

  3. In the dialog box that opens, locate the file that you want to add, and then select Open.

    As soon as your file uploads, the Edit Image Settings dialog box opens.

  4. In the Edit Image Settings dialog box, add an image description.

    • In the Image Description (Alt Text) field, enter alternative text for the image. This text becomes the value of the alt attribute in HTML and is required for your course to be fully accessible. For more information, see Use Best Practices for Describing Images.
    • If your image is a decorative image that does not convey important information, select the This image is decorative only checkbox.
  5. (optional) Specify the width and height of your image. For more information, see Change the Image Size.

  6. Select Insert Image.

  7. Save the HTML component and test the image.

Select a Previously Uploaded Image
  1. If you have not already added the image that you want to add, open the Files & Uploads page, and then upload the image. For more information about uploading images, see Adding Files to a Course.

    When you upload an image, the image automatically becomes available in a list that opens when you add an image to an HTML component.

  2. In the HTML component, position the cursor where you want to add an image, and then select the image icon on the toolbar.

  3. In the Add an Image dialog box, locate the image in the Select a previously uploaded image list, and then select Next.

  4. In the Edit Image Settings dialog box, complete one of the following options.

    • In the Image Description (Alt Text) field, enter alternative text for the image. This text becomes the value of the alt attribute in HTML and is required for your course to be fully accessible. For more information, see Use Best Practices for Describing Images.
    • If your image is a decorative image that does not convey important information, select the This image is decorative only checkbox.
  5. (optional) Specify the width and height of your image. For more information, see Change the Image Size.

  6. Select Insert Image.

  7. Save the HTML component and test the image.

Format an Image in an HTML Component

You have several options for formatting an image in an HTML component.

Align an Image

To align your image to the right, the left, or the center, follow these steps.

  1. In the HTML component, select the image.
  2. On the toolbar, select the left align, right align, or center icon.
Change the Image Size

To change the size of your image, follow these steps.

  1. In the HTML component, select the image that you want to edit, and then select the image icon on the toolbar.

  2. In the Edit Image Settings dialog box, locate Image Dimensions, and then enter the values that you want for the Width and Height options.

    Note

    To make sure that the image keeps the same proportions when you change the image size, make sure that Lock proportions is selected, and enter a number in only the Width field or the Height field. After you tab or click outside that field, the number in the other field changes to a value that maintains the image proportions.

  3. Select Insert Image.

If you want to change the image back to the original size, clear the values in the Width and Height fields.

Import LaTeX Code into an HTML Component

You can import LaTeX code into an HTML component. You might do this, for example, if you want to create “beautiful math” such as the math in the following image.

Math formulas created with LaTeX in an HTML component.

Warning

The LaTeX processor that Studio uses to convert LaTeX code to XML is a third party tool. We recommend that you use this feature with caution. If you use the tool, make sure that you work with your partner manager.

Enable the LaTeX Processor

The LaTeX processor is not enabled by default. To enable it, you have to change the advanced settings in your course.

  1. In Studio, select Settings, and then select Advanced Settings.
  2. In the field for the Enable LaTeX Compiler policy key, change false to true.
  3. At the bottom of the page, select Save Changes.
Add an HTML Component that Contains LaTeX Code

When the LaTeX processor is enabled, you can create an HTML component that contains LaTeX code.

  1. 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.

  2. Select Edit to open the new component.

  3. At the bottom of the component editor, select Launch Latex Source Compiler.

    The LaTeX editor opens.

    The LaTeX editor.
  4. Add your LaTeX code. To do this, complete either of the following procedures.

    • In the High Level Source Editing field, add your LaTeX code.
    • To upload a LaTeX file from your computer, select Upload.
  5. Select Save & Compile to edX XML.

  6. On the unit page, select Preview to verify that your content looks correct in the LMS.

    If you see errors, go back to the unit page. Select Edit to open the component again, and then select Launch Latex Source Compiler to edit the LaTeX code.

Working with Video Components

You use video components to add videos to your course in Studio. In video components, you add the name and location of your video, as well as the video transcript. Learners view your videos in the LMS.

For information about the way learners interact with videos, see Watching Videos on the edX Video Player.

For more information about adding videos to your course, see Creating and Adding Video Content.

For more information about options in the video component, see Specifying Additional Video Options.

Working with Discussion Components

This section describes how to work with discussion components in Studio.

Overview

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.

Create a Discussion Component

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.

  1. 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.

  2. In the discussion component that appears, select Edit.

  3. Follow the guidelines in the editor to fill in the Category, the Display Name, and the Subcategory fields.

    Note

    Each Category/Subcategory pair for the discussion topics in your course must be unique.

    The value in the Display Name field identifies the discussion in the course content. The default display name for new discussion components is “Discussion”. Changing the default to a unique, descriptive display name can help you and your learners identify different topics quickly and accurately. If you delete the default display name and do not enter your own identifying name, the platform supplies “discussion” for you.

    The values in the Category (1) and Subcategory (2) fields are visible to learners in the list of discussion topics on the Discussion page.

    A list of discussions with the "Answering More Than Once" topic indented under "Getting Graded".
  4. Select Save.

Note

On the Discussion page, you cannot see category and subcategory names of discussion components that you created until after the course has started and the unit is released. For more details about when discussion topics are visible, see Understanding When Learners Can See Discussion Topics.

A Learner’s View of the Discussion

When you add a discussion component to a unit, in the LMS, learners see only the discussion, together with the display name of the discussion component, the category, and the subcategory. EdX recommends that you add an HTML component before each discussion component where you add some text to introduce the discussion topic.

In the following example, the discussion component follows an HTML component. Learners select Add a Post to post their own contributions.

An HTML text component and then a discussion component, as they appear in the LMS.

Content-specific topics that you add using discussion components are included on the course Discussion page in the same way as course-wide discussion topics as included. In the following example, the category (1) and the subcategory (2) of the discussion component is shown in the list of discussion topics.

The list of discussions on the Discussion page in the LMS, showing the category and subcategory of a content-specific discussion topic.

Working with Problem Components

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.

Adding a Problem

To add interactive problems to a course in Studio, in the course outline, at the unit level, you select Problem. You then choose the type of problem that you want to add from the Common Problem Types list or the Advanced list.

The common problem types include relatively straightforward CAPA problems such as multiple choice and text or numeric input. The advanced problem types can be more complex to set up, such as math expression input, open response assessment, or custom JavaScript problems.

The common and advanced problem types that the problem component lists are the core set of problems that every course team can include in a course. You can also enable more exercises and tools for use in your course. For more information, see Enabling Additional Exercises and Tools.

Adding Graded or Ungraded Problems

When you establish the grading policy for your course, you define the assignment types that count toward learners’ grades: for example, homework, labs, midterm, final, and participation. You specify one of these assignment types for each of the subsections in your course.

As you develop your course, you can add problem components to a unit in any subsection. The problem components that you add automatically inherit the assignment type that is defined at the subsection level. For example, all of the problem components that you add to a unit in the midterm subsection are graded.

For more information, see Set the Assignment Type and Due Date for a Subsection.

The Learner View of a Problem

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.

A problem from a learner's point of view, with numbered callouts for elements of the problem.
  1. 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.

  2. Response field. Learners enter answers in response fields. The appearance of the response field depends on the type of the problem.

  3. Rendered answer. For some problem types, the LMS uses MathJax to render plain text as “beautiful math.”

  4. Submit. When a learner selects Submit to submit a response for a problem, the LMS saves the grade and current state of the problem. The LMS immediately provides feedback about whether the response is correct or incorrect, as well as the problem score. The Submit option remains available if the learner has unused attempts remaining, so that she can try to answer the problem again.

    Note

    If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.

  5. 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.

  6. 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.

  7. 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.

    • If the learner has already submitted an answer, selecting Reset clears the submission and, if the problem includes a Python script to randomize variables and the randomization setting is On Reset, changes the values the learner sees in the problem.
    • If the problem has already been answered correctly, Reset is not available.
    • If the number of Maximum Attempts that was set for this problem has been reached, Reset is not available.
  8. Show Answer. You can specify whether this option is available for a problem. If a learner selects Show Answer, the learner sees both the correct answer and the explanation, if any.

    If you specify a number in Show Answer: Number of Attempts, the learner must submit at least that number of attempted answers before the Show Answer option is available for the problem.

  9. 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.

    A problem from a learner's point of view, with callouts showing the feedback elements of an answered problem.

    Note

    If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.

In addition to the items above, which are shown in the example, problems also have the following elements.

  • Correct answer. Most problems require that you specify a single correct answer.

    Note

    If you want to temporarily or permanently hide learners’ results for the problem, see Set Problem Results Visibility.

  • Explanation. You can include an explanation that appears when a learner selects Show Answer.

  • Grading. You can specify whether a group of problems is graded.

  • Due date. The date that the problem is due. Learners cannot submit answers for problems whose due dates have passed, although they can select Show Answer to show the correct answer and the explanation, if any.

Note

Problems can be open or closed. Closed problems, such as problems whose due dates are in the past, do not accept further responses and cannot be reset. Learners can still see questions, solutions, and revealed explanations, but they cannot submit responses or reset problems.

There are also some attributes of problems that are not immediately visible. You can set these attributes in Studio.

  • Accessible Label. Within the problem text, you can identify the text that is, specifically, the question that learners need to answer. The text that is labeled as the question is used by screen readers, reports, and Insights. For more information, see The Simple Editor.
  • Randomization. In certain types of problems, you can include a Python script to randomize the values that are presented to learners. You use this setting to define when values are randomized. For more information, see Randomization.
  • Weight. Different problems in a particular problem set can be given different weights. For more information, see Problem Weight.

Editing a Problem in Studio

When you select Problem and choose one of the problem types, Studio adds an example problem of that type to the unit. To replace the example with your own problem, you select Edit to open the example problem in an editor.

The editing interface that opens depends on the type of problem you choose.

  • For common problem types, the simple editor opens. In this editor, you use Markdown-style formatting indicators to identify the elements of the problem, such as the prompt and the correct and incorrect answer options.

  • For advanced problem types (with the exception of open response assessment), the advanced editor opens. In this editor you use open learning XML (OLX) elements and attributes to identify the elements of the problem.

    For open response assessment problem types, you define the problem elements and options by using a graphical user interface. For more information, see Create an Open Response Assessment Assignment.

You can switch from the simple editor to the advanced editor at any time by selecting Advanced Editor from the simple editor’s toolbar.

Note

After you save a problem in the advanced editor, you cannot open it again in the simple editor.

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.

Adding Markdown Formatting

The following image shows the multiple choice template in the simple editor.

A template of required formatting for multiple choice problems, with numbered callouts for each formatting option.

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.

  1. Heading: Identifies a title or heading by adding a series of equals signs (=) below it on the next line.
  2. Multiple Choice: Identifies an answer option for a multiple choice problem by adding a pair of parentheses (( )) before it. To identify the correct answer option, you insert an x within the parentheses: ((x)).
  3. Checkboxes: Identifies an answer option for a checkboxes problem by adding a pair of brackets ([ ]) before it. To identify the correct answer option or options, you insert an x within the brackets: ([x]).
  4. Text Input: Identifies the correct answer for a text input problem by adding an equals sign (=) before the answer value on the same line.
  5. Numerical Input: Identifies the correct answer for a numerical input problem by adding an equals sign (=) before the answer value on the same line.
  6. Dropdown: Identifies a comma-separated list of values as the set of answer options for a dropdown problem by adding two pairs of brackets ([[ ]]) around the list. To identify the correct answer option, you add parentheses (( )) around that option.
  7. Explanation: Identifies the explanation for the correct answer by adding an [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.
  8. Advanced Editor link: Opens the problem in the advanced editor, which shows the OLX markup for the problem.
  9. Toggle Cheatsheet: Opens a list of formatting hints.
  10. Question or Prompt: Identifies the question that learners need to answer. The toolbar does not have an option that provides this formatting, so you add two pairs of inward-pointing angle brackets (>> <<) around the question text. For example, >>Is this the question?<<.
    • You must identify a question or prompt in every problem component. In problems that include multiple questions, you must identify each one.
    • The Student Answer Distribution report uses the text with this formatting to identify each problem.
    • Insights also uses the text with this formatting to identify each problem. For more information, see Using edX Insights.
  11. Description: Identifies optional guidance that helps learners answer the question. For example, when you add a checkbox problem that is only correct when learners select three of the answer options, you might include the description, “Be sure to select all that apply.” The toolbar does not have an option that provides this formatting, so you add it after the question within the angle brackets, and then you separate the question and the description by inserting a pair of pipe symbols (||) between them. For example, >>Which of the following choices is correct? ||Be sure to select all that apply.<<.
Adding Text, Symbols, and Mathematics

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 enter >, type &gt;.
  • To enter <, type &lt;.
  • To enter &, type &amp;.

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.

The Advanced Editor

When you edit one of the advanced problem types, the advanced editor opens with an example problem. The advanced editor is an XML editor that shows the OLX markup for a problem. You edit the following advanced problem types in the advanced editor.

For the Open Response Assessment advanced problem type, a dialog box opens for problem setup.

Blank advanced problems do not provide an example problem, but they also open in the advanced editor by default.

The following image shows the OLX markup in the advanced editor for the same example multiple choice problem that is shown in the simple editor above.

An example multiple choice problem in the advanced editor.

For more information about the OLX markup to use for a problem, see the topic that describes that problem type.

Defining Settings for Problem Components

In addition to the text of the problem and its Markdown formatting or OLX markup, you define the following settings for problem components. To access these settings, you edit the problem and then select Settings.

If you do not edit these settings, default values are supplied for your problems.

Note

If you want to temporarily or permanently hide problem results from learners, you use the subsection-level Results Visibility setting. You cannot change the visibility of individual problems. For more information, see Set Problem Results Visibility.

Display Name

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.

The identifying display name for a problem in Studio, the LMS, and Insights.

For more information about metrics for your course’s problem components, see Using edX Insights.

Maximum Attempts

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.

Problem Weight

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.

An example problem that contains three questions, with the possible number of points, 3, shown near the 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.

Computing Scores

The score that a learner earns for a problem is the result of the following formula.

Score = Weight × (Correct answers / Response fields)

  • Score is the point score that the learner receives.
  • Weight is the problem’s maximum possible point score.
  • Correct answers is the number of response fields that contain correct answers.
  • Response fields is the total number of response fields in the problem.

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.

Randomization

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.

An image of the same problem shown twice, with color highlighting on values that change.

If you want to randomize numeric values in a problem, you complete both of these steps.

  • Make sure that you edit your problem to include a Python script that randomly generates numbers.
  • Select an option other than Never for the Randomization setting.

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.
Show Answer

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.
Show Answer: Number of Attempts

This setting limits when learners can select the Show Answer option for a problem. Learners must submit at least the specified number of attempted answers for the problem before the Show Answer option is available to them.

Show Reset Button

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.

Timer Between Attempts

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.”

Including Multiple Questions in One Component

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.

Adding Multiple Questions to a 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.

  • In the simple editor, you use three hyphen characters (---) on a new line to separate one question and its answer options from the next.
  • In the advanced editor, each question and its answer options are enclosed by the element that identifies the type of problem, such as <multiplechoiceresponse> for a multiple choice question or <formularesponse> for a math expression input question.
  • You can provide a different explanation for each question with the appropriate Markdown formatting ([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>

Adding Feedback and Hints to a 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.

Feedback in Response to Attempted Answers

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.

Image of a multiple choice problem with feedback.
Best Practices for Providing Feedback

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.

Providing Hints for Problems

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.

Image of a multiple choice problem with the first hint.

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.

Image of a multiple choice problem with the second hint.
Best Practices for Providing Hints

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.

Create Problems with Feedback and Hints

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.

Awarding Partial Credit for a Problem

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.

How Learners Receive Partial Credit

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.

A multiple choice problem with partial credit for an incorrect answer.
Partial Credit and Reporting on Learner Performance

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.

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.

Adding Tooltips to a Problem

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.

An example of a tooltip from a learner's point of view.

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>
     . . .

Problem Randomization

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.

Modifying a Released Problem

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.

Workarounds

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.

  • In the problem component that you changed, increase the number of attempts for the problem, and then ask all of your learners to redo the problem.
  • Delete the entire problem component in Studio and replace it with a new problem component that has the content and settings that you want. Then ask all of your learners to complete the new problem. (If the revisions you must make are minor, you might want to duplicate the problem component before you delete it, and then revise the copy.)

For information about how to review and adjust learner grades in the LMS, see Adjust Grades for One or All Learners.

Working with Content Libraries

This section describes how to work with content libraries in Studio.

Content Libraries Overview

In Studio, you can create a library to build a pool of components for use in randomized assignments in your courses. You can add HTML components, problems, and video components to a library. Open response assessment and discussion components are not supported in libraries.

Note

Content libraries are available only for courses that have course identifiers in this format: {key type}:{org}+{course}+{run}. For example, course-v1:edX+DemoX+Demo_2015. Your course identifier appears in the browser address bar as the final part of the URL when you open your course in Studio. For more details, see Create a Course.

After creating a library and adding components to it, if you have enabled content libraries in your course, you can use these library components in randomized assignments in your course. You do this by adding a randomized content block to a course unit and specifying the name of the library from which the randomized content is to drawn. You also specify the number and type of problems that each learner is assigned. For information about randomized content blocks, see Randomized Content Blocks.

Libraries have separate users and levels of access from courses. Initially, only the person who created the library has access. She can add other users to the library. For details, see Give Other Users Access to Your Library. The libraries that you create or have access to are listed on the Libraries tab on the Studio Home page.

Create a New Library

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.

  1. Log in to Studio.

  2. Select New Library.

  3. 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.

    Image of the library creation page.
  • 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.
  1. Select Create.

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.

Edit a 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.

  1. Log in to Studio.

  2. Select Libraries, then select the library whose name you want to edit.

  3. Select the Edit icon next to the library name.

    The library name field becomes editable.

    The Edit icon to the right of the Library Name.
  4. In the library name field, make edits or enter a new library name.

  5. 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.

Add Components to a Library

To add new components to your library, follow these steps.

  1. Log in to Studio.
  2. Select Libraries, then select the library that you want to add components to.
  3. Select Add Component, then select the component type that you want to add under Add New Component.

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.

View the Contents of a Library

To view the entire contents of a library in Studio, follow these steps.

  1. Log in to Studio.
  2. Select Libraries, then select the library whose components you want to view.
  3. Optionally, select Hide Previews at the top right of the library page to collapse the component previews and see only the list of component display names. To return to the full preview of components in the library, select Show Previews.

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.

    Image showing a pair of page numbers with the first number circled.

To view the list of matching components in the library, see View the Matching Components in a Randomized Content Block.

To view the randomized content that was assigned to a specific learner, see Specific Learner View.

Edit Components in a Library

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.

Delete a Library

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.

Give Other Users Access to Your 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.

  • User – Users can view library content and can use library components in their courses, but they cannot edit the contents of a library.
  • Staff – Staff can use library components in their courses. In addition, as content co-authors, they have full editing privileges in a library.
  • Admin – Admins have full editing privileges for a library. In addition, they can add and remove other team members from library access. There must be at least one user with Admin privileges in a library.

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.

Add a User to the Library

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.

  1. Ensure that the new library member has an active Studio account.

  2. On the Studio home page, select the Libraries tab and locate the library to which you are adding this user.

  3. From the Settings menu select User Access.

  4. On the User Access page, select Add a New User.

  5. 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.

Remove a User from the Library

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.

  1. In Studio, select the Libraries tab and locate your library.

  2. From the Settings menu select User Access.

  3. On the User Access page, locate the user that you want to remove.

  4. Hover over the user’s box and select the trash can icon.

    You are prompted to confirm the deletion.

  5. Select Delete.

The user is removed from the library.
Add Staff or Admin Access

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.

  1. In Studio, select the Libraries tab and locate your library.
  2. From the Settings menu select User Access.
  3. On the User Access page, locate the user to whom you are giving additional privileges.
  • 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.

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.

  1. In Studio, select the Libraries tab and locate your library.
  2. From the Settings menu select User Access.
  3. On the User Access page, locate the user whose access level you are changing.
  • 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.

Exporting and Importing a Library

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.

Export a Library

There are several reasons why you might want to export your library.

  • To save your work in progress
  • To edit the XML in your library directly
  • To create a backup copy of your library
  • To share with another course team member

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.

  1. In Studio, select the Libraries tab.
  2. Locate the library that you want to export.
  3. From the Tools menu, select Export.
  4. Select Export Library Content and specify where you want the file to be saved.

When the export process finishes, you can access the .tar.gz file on your computer.

Import a Library

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.

  1. In Studio, select the Libraries tab.

  2. Locate the library to which you want to import the new library content.

  3. From the Tools menu, select Import.

  4. Select Choose a File to Import and select the .tar.gz file that you want to import.

  5. 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.

  6. 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.

Creating and Adding Video Content

Videos in a course supplement active learning components, such as discussions and problems. Videos can be effective for presenting motivating material, showing experiments, reducing cognitive load for complex content, and other purposes.

When you create video content, you need to keep various guidelines in mind. This section describes these guidelines, as well as video technical specifications, how to add video content to your course, and how to specify options for your videos.

For more information about how learners can interact with course videos, see Watching Videos on the edX Video Player.

Important

It is very important that all of your videos are accessible to learners with disabilities. Be sure to review Create Accessible Media before you create videos for your course.

Video Process Overview

The following diagram outlines the general process for adding videos to a course.

The process for adding videos to a course, as outlined in the following numbered steps.
  1. The course team prepares to add videos to the course. These steps can happen simultaneously.
  1. The course team uploads the videos to the third party hosting service.
  1. The course team creates video components and adds the video location to the components.
  2. The course team uploads transcripts in the video component.

Preparing a Video

Before you add a video to a course, you need the following items.

For more information, see the following topics.

Set Up a Hosting Service

You must work with a third party hosting site to make your videos available for streaming or download.

To host your videos, you can use any video hosting site that you want, such as Amazon S3 or YouTube.

When you select a video hosting site, we strongly recommend that you keep the following information in mind.

  • If you host your videos on YouTube, you must follow all rules and restrictions that are associated with YouTube.
  • The hosting site might have to handle high traffic volume.

  • Not all hosting sites are available in all countries or regions. We recommend that you upload videos to more than one hosting site.

  • Learners’ internet connections vary widely. We recommend that you make your videos available for both download and streaming.

  • The URL for your videos must end in .mp4, .mpeg, .webm, or .ogg. The video player cannot support videos that you upload on sites such as Vimeo, Dailymotion, or other sites that use their own player.

    Note

    To help make sure all standard browsers can play your video, we strongly recommend that you use .mp4 format.

Create a Video

Your videos can contain whatever content you want to include in the course. The following resources can help you to create good video content that is based on extensive experimental research in student learning.

When you create video files, keep the following guidelines in mind.

General Guidelines
  • Videos should be as short as possible. Learners are more likely to finish watching videos that are no more than 5-10 minutes long.
  • Each video file that you upload must be less than 5GB in size.
  • Each video should follow established file naming conventions and video compression specifications.
  • The video player supports videos in .mp4, .mov, .mpeg, .webm, and .ogg format. However, to help make sure all standard browsers can play your video, we strongly recommend that you use the .mp4 format.
  • We strongly recommend that you create copies of your videos in the following resolutions. When multiple resolutions are available, the video player automatically plays the best video for each learner’s device and internet connection.
    • 1080p
    • 720p
    • Mobile 360p
File Naming Conventions

To facilitate identifying and tracking video files, we strongly recommend that organizations define and use a naming convention for all video files in all courses. At a minimum, your naming convention should include these elements.

  • A course identifier.
  • The year of the initial course run.
  • A revision or version number.

For example, you might use the following naming convention.

{course number}_{year}_{section}_{subsection}_{unit}_{version}.{type}

This convention might yield the following file name.

SPU27_2015_S1_SS3_U4_v2.mp4

Additionally, when you name your video files, we recommend that you follow these guidelines.

  • Make sure that each video file in your organization has a unique name.
  • Include only alphanumeric characters and underscores in video file names.
  • Make sure that the video file name contains no special characters, such as ç, å, or ó.
  • Do not use periods except for the period before the file name extension (for example, .mp4).
Video Compression Specifications

The following video compression specifications are strongly recommended, but not required.

Codec H.264 .mp4
Resolution & Frame Rate

1920x1080, progressive, 29.97 fps

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.

Aspect 1.0
Bit Rate VBR, 2 pass
Target VBR 5 mbps
Max VBR 6 mbps
Audio AAC 44.1 / 192 kbps

Obtain a Video Transcript

Transcripts are required for all videos. Transcripts help learners with hearing impairments understand audio content, and they are helpful for learners who speak other languages.

Transcripts are available to learners in the following ways.

  • 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. Learners can select a line in the transcript to jump to the point in the video where that line is spoken.
  • Learners can show the transcript file as overlaid closed captions for the video by selecting the CC icon in the video player’s control bar.
  • You can allow learners to download transcripts so that learners can read the transcripts offline. For more information, see Enable Video and Transcript Downloads.
Obtaining a Video Transcript

When you work with a transcript provider, you send your videos to the transcript provider, and the provider sends you the completed transcripts. You later upload the transcripts when you create a video component.

Transcript File Naming Conventions

To prevent errors when you upload your video transcripts, we recommend the following conventions for naming your transcript files.

  • Give each transcript file an identifying name that is unique across all of your course uploads, including non-transcript files.
  • Make sure that the transcript contains no special characters, such as ç, å, or ó.
  • Make sure that the file type (.srt) is in lowercase.
  • Do not include periods in file names other than the period before the .srt file type.

Upload a Video

To make a video visible in your course, you create a video component in a unit in Studio, and then you add the following information for the video to the video component.

To upload a video to a third party hosting site, follow the instructions for that site. Keep the following guidelines in mind.

  • If you host your videos on YouTube, you must follow all rules and restrictions that are associated with YouTube.
  • The URL for the video that you upload on a third party hosting site must end in .mp4, .mpeg, .webm, or .ogg. The video player cannot support videos that you upload on sites such as Vimeo, Dailymotion, or other sites that use their own player.

    To help make sure all standard browsers can play your video, edX strongly recommends that you use .mp4 format.

    The video URL might resemble the following example.

    https://s3.amazonaws.com/edx-course-videos/edx-edx101/EDXSPCPJSP13-G030300.mp4

  • If you have copies of a video in multiple resolutions, you must upload each copy to the hosting site. For more information, see General Guidelines.

  • After you upload a video on a hosting site, you must make sure you have the URL for that copy of the video. If you upload copies of your video on more than one hosting site, make sure you have the URL for each video location.

For more information about hosting your videos, see Set Up a Hosting Service.

Adding a Video to a Course

To make a video visible in your course, you create a video component in a unit in Studio, and then you add the following information for the video to the video component.

  • A display name for the component.

  • The video location.

    The video location is the video URL that is created when you upload the video to the hosting site. The video URL might resemble the following example.

    https://s3.amazonaws.com/edx-course-videos/edx-edx101/EDXSPCPJSP13-G030300.mp4

  • The video transcript.

Add a Video and Transcript

To add a video and its transcript, follow these steps.

  1. In Studio, locate the unit that you want, and then select Video under Add New Component.

  2. When the new video component appears, select Edit.

    The video editor opens to the Basic page.

  3. In the Component Display Name field, enter the name that you want learners to see for this video.

    This name appears as a heading above the video in the LMS, and it identifies the video for you in Insights. If you do not enter a display name, the platform specifies “video” for you.

  4. Locate the Default Video URL field, and then enter the location of your video. This is the URL that was created when you uploaded the video to the hosting site.

    Note

    If you have created multiple versions that use different encodings or hosting services, add the URL for each video by selecting Add URLs for additional versions below the Default Video URL field. The first listed video that is compatible with the learner’s computer plays.

    For the best experience for mobile users, make sure that the URL for the 360p version of the video is the first URL in the list.

  1. Add the .srt transcript to the video. To do this, locate Default Timed Transcript, and then select one of the following options.

    • If Studio already has a transcript for this video, Studio automatically adds the transcript in the Default Timed Transcript field. This situation can occur when you reuse a video from an existing course. You do not have to make any changes.

    • If Studio does not have a transcript for the video, and the transcript uses the .srt format, select Upload New Transcript to upload the .srt transcript file from your computer.

      Note

      Only use this option for transcripts in .srt format. If you want to provide a transcript in any other format, such as .pdf, see Add a Supplemental Downloadable Transcript.

  2. Optionally, select Advanced to set more options for the video. For a description of each option, see Set Advanced Options.

  3. Select Save to save the video component.

To test the transcript with the video, after you have saved the video, select the Show transcript (”) icon in the video player’s control bar. The transcript file scrolls while the video file plays. You can also test the transcript by selecting the CC icon.

Specifying Additional Video Options

When you create a video component, you can specify additional options such as download options for the video and transcript, video license options, and a start and stop time for the video.

Enable Video and Transcript Downloads

You can allow learners to download videos and transcript files that you have provided so that they can view them offline.

To enable video and transcript downloads, follow these steps.

  1. In the video component, select the Advanced page.
  2. For Video Download Allowed, select True to allow learners to download the video.
  3. For Download Transcript Allowed, select True to allow learners to download an .srt or .txt video transcript.
  4. Select Save.

To test transcript downloads for the video, select Download transcript in the video player’s control bar. You can download either the SubRip (.srt) format or text (.txt) format.

Set Advanced Options

The following options appear on the Advanced page of the video component.

Component Display Name The name that you want your learners to see. This is the same as the Display Name field on the Basic page.
Default Timed Transcript This is the same as the Default Timed Transcript setting on the Basic page. You can specify the default timed transcript on either page.
Download Transcript Allowed

Specifies whether you want to allow learners to download the .srt or .txt transcript. (By default, Studio creates a .txt transcript when you upload an .srt transcript.) If you select True, a link to download the file appears below the video.

If you want to provide a downloadable transcript in a different format as well, such as .pdf, see Add a Supplemental Downloadable Transcript.

Downloadable Transcript URL

The URL for a non-.srt version of the transcript file posted on the internet. Learners see a link to download the non-.srt transcript below the video.

Important

When you add a transcript to the Downloadable Transcript URL field, only the transcript that you add is available for download. The .srt and .txt transcripts become unavailable. If you want to provide a downloadable transcript in addition to the .srt and .txt transcripts, edX recommends that you upload a handout for learners by using the Upload Handout field. For more information, see Add a Supplemental Downloadable Transcript.

License

Optionally, you can set the license for the video, if you want to release the video with a license different from the overall course license.

  • Select All Rights Reserved to indicate to learners that you own the copyright for the video.

  • Select Creative Commons to grant others the right to share and use the video. You must then select the Creative Commons license options that you want.

    The license options that you select control the copyright notice that learners see for the video. For more information, see Course Licensing.

Show Transcript Specifies whether the transcript appears next to the video by default. If this is set to False, learners can still view transcripts by selecting the Show Transcript (”) icon.
Transcript Languages The transcript files for any additional languages. For more information, see Add a Transcript in Another Language.
Upload Handout Allows you to upload a handout to accompany the video, such as a PDF transcript or other handout. Learners can download the handout by selecting Download Handout under the video. The procedure for adding handouts is the same as the procedure for adding a supplemental transcript. For more information, see Add a Supplemental Downloadable Transcript.
Video Available on Web Only If you select True, learners can only play this video in a web browser. If you select False, learners can use any compatible application to play the video, including web browsers and mobile apps.
Video Download Allowed Specifies whether learners can download the video. If you select True, you must add at least one URL in the Video File URLs field.
Video File URLs

The URL or URLs where you posted different versions of the video. On the Basic tab, if you added URLs by selecting Add URLs for additional versions below the Default Video URL field , the URLs are listed in the fields next to Video File URLs.

Every URL must end in .mp4, .mpeg, .webm, or .ogg. Learners will view the first listed video that is compatible with their computer or mobile device.

For the best experience for mobile users, make sure that the URL for the 360p version of the video is the first URL in the list.

To help make sure all standard browsers can play your video, we strongly recommend that you use the .mp4 format.

Video ID The identifier that the video process assigns to the video. This field is the same as the Video ID setting on the Basic page. Only courses on edx.org use this field.
Video Start Time

The time you want the video to start if you do not want the entire video to play. Use HH:MM:SS format. The maximum value is 23:59:59.

Note

Learners who play video in the mobile app see the entire video file. Only videos that play in a browser start playing at the specified start time.

Video Stop Time

The time you want the video to stop if you do not want the entire video to play. Use HH:MM:SS format. The maximum value is 23:59:59.

Note

Learners who play video in the mobile app see the entire video file. Only videos that play in a browser stop playing at the specified stop time.

YouTube IDs As of March 2018, edX no longer supports videos on YouTube.

Specifying Additional Transcript Options

Edit a Video Transcript

If you want to edit an existing .srt video transcript, follow these steps.

  1. In Studio, open the video component for the video.
  2. For an .srt transcript, locate Default Timed Transcript, and then select Download Transcript for Editing.
  3. After the file downloads, open a text editor and make any changes that you want.
  4. Select Upload New Transcript to upload the edited file.

Add a Supplemental Downloadable Transcript

Note

You can also use this procedure to upload a different kind of handout for learners to download, such as an image or a chart.

By default, a .txt file is created when you upload an .srt file, and learners can download either the .srt or .txt transcript when you allow transcript downloads. For more information about allowing transcript downloads, see Enable Video and Transcript Downloads.

In addition, you can provide a downloadable transcript in a format such as .pdf. To do this, you upload the additional transcript in the video player as a handout. Learners see an option to download the handout below the video.

To add another downloadable transcript, follow these steps.

  1. Create or obtain your transcript as a .pdf or in another format.
  2. In the video component, select Advanced.
  3. Locate Upload Handout, and then select Upload.
  4. In the Upload File dialog box, select Choose File.
  5. In the dialog box, select the file on your computer, and then select Open.
  6. In the Upload File dialog box, select Upload.

Add a Transcript in Another Language

You can provide transcripts for your video in more than one language. To do this, you work with a third-party service to obtain an .srt transcript file for each language, and then associate the .srt file with the video in Studio.

Before you add a transcript file, make sure that each file has a unique name. If you use the same transcript name more than once, only the most recently added transcript will appear for every video component that is set up to use a transcript with that name. To avoid this problem, a best practice is to name additional transcript files by appending the transcript’s language to the video file name.

For example, you have two videos, named video1.mp4 and video2.mp4, and their original transcripts are named video1.srt and video2.srt. When you add Hindi transcripts for these videos, you name them video1_hi.srt and video2_hi.srt. When you add Spanish transcripts for the videos, you name them video1_es.srt and video2_es.srt.

To add a transcript to a video component, follow these steps.

  1. After you obtain the .srt files for additional languages, open the video component for the video.
  2. On the Advanced tab, scroll down to Transcript Languages, and then select Add.
  3. Select the language for the transcript that you want to add.
  4. Select Upload, browse to the .srt file for the transcript in that language, and then select Open.
  5. In the Upload translation dialog box, select Upload.
  6. Repeat steps 2 - 5 for any additional languages.

When your learners view the video, they can select the Language menu to select a language.

The video player with the language menu selected to show English and Spanish as transcript options

Troubleshooting Video Problems

When you use video, you might experience one of the following problems.

  • If you (or your beta testers or learners) encounter an error when you view a course video, try one of the following troubleshooting methods.

    • Verify that the viewer’s browser is up to date. For example, some older versions of the Mozilla Firefox browser did not play .mp4 video files. These problems do not occur in more recent browser versions.

      For more information, see Media formats supported by the HTML audio and video elements.

    • Verify that file metadata, particularly the MIME type, is correctly set on the host site. For example, when edX offered support for Internet Explorer 10 browsers, videos did not play if the MIME type was not set. The HTTP header Content-Type had to be set to video/mp4 for an .mp4 file.

      As an example of how you might set metadata on a video host site, the Console User Guide for Amazon Simple Storage Service (S3) provides information about editing object metadata.

  • If two sets of captions appear when you select CC on the video player, YouTube and your course might both be providing captions for the video. This problem can occur when YouTube is the host service for the video and your YouTube account settings for playback are set to always show captions. To correct this problem, select CC again or change your YouTube account settings.

Adding Exercises and Tools

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.

Problems, Exercises, and Tools

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.

Levels of Support

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.

Enhancing Your Course with Additional Exercises and Tools

“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.

  • To use an exercise or tool in your course beyond the core set of problem types, you must explicitly enable that exercise or tool. For more information, see Enabling Additional Exercises and Tools.
  • After you enable an exercise or tool for use in your course, you might need to select Advanced, HTML, or Problem on the unit page to add content of that type to your course.

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.

Core Problem Types

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.

Common Problem Types

When you select any of the common problem types in Studio the simple editor opens.

  • If you choose the Blank Common Problem option, the editor opens without providing a template or example for you to follow You can begin to add text and markdown for required and optional problem elements immediately.
  • If you choose one of the following problem types, a template appears in the editor with guidance for adding all of that problem type’s required elements, as well as several optional elements.
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.

Advanced

When you select any of the advanced problem types in Studio the advanced editor opens.

  • If you choose the Blank Advanced Problem option, the editor opens without providing a template or example for you to follow. You can begin to add OLX markup and the text for required and optional problem elements immediately.
  • If you choose one of the following problem types, a template appears in the editor with guidance for adding all of that problem type’s required elements, as well as several optional elements.

Note

Some advanced problem types are unsupported and are not available in the list of problem types unless you enable a setting in Studio. For more information, see Unsupported Advanced Problem Types and Adding Unsupported Problem Types and Exercises.

Type Description Support
Custom JavaScript Display and Grading Custom JavaScript display and grading problems (also called custom JavaScript problems or JS input problems) allow you to create a custom problem or tool that uses JavaScript and then add the problem or tool directly into Studio. Full support
Write-Your-Own-Grader Problem In custom Python-evaluated input (also called “write-your-own-grader”) problems, the grader uses a Python script that you create and embed in the problem to evaluate a learner’s response or provide hints. These problems can be any type. Provisional support
Math Expression Input Problems Learners enter mathematical expressions to answer a question. These problems can include unknown variables and more complex symbolic expressions. You can specify a correct answer either explicitly or by using a Python script. Full support; mobile-ready
Open Response Assessment Learners receive feedback on responses that they submit and give feedback to other course participants. Open response assessments include self assessment, peer assessment, and optionally, staff assessment. Full support
Unsupported Advanced Problem Types

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

Additional Exercises and Tools

This table lists the fully or provisionally supported additional exercises and tools that you can add to your course.

Note

Some additional exercises and tools are not supported by edX. You can enable an option to make unsupported exercises and tools available in Studio. For more information, see Unsupported Additional Exercises and Tools and Adding Unsupported Problem Types and Exercises.

Note

In addition to the following exercises and tools, Open edX offers the Notes tool. The Notes tool allows learners to highlight and make notes about what they read in the course. This tool is not available for courses on edx.org.

Type Description Support
Calculator Tool Learners can enter input that includes Greek letters, trigonometric functions, and scientific or e notation in addition to common operators. The calculator tool is available for every course through the course advanced settings. When the calculator tool is enabled, it appears on every unit page. Provisional support
Conditional Module You can create a conditional module to control versions of content that groups of learners see. For example, learners who answer “Yes” to a poll question then see a different block of text from the learners who answer “No” to that question. Provisional support
Drag and Drop Problem Learners respond to a question by dragging text or objects to a specific location on an image. Full support; mobile-ready
External Grader An external grader is a service that receives learner responses to a problem, processes those responses, and returns feedback and a problem grade to the edX platform. You build and deploy an external grader separately from the edX platform. An external grader is particularly useful for software programming courses where learners are asked to submit complex code. Provisional support
Google Calendar Tool Learners see a Google calendar embedded in your course. You can use a Google calendar to share quiz dates, office hours, or other schedules of interest to learners. Provisional support
Google Drive Files Tool Learners see a Google Drive file, such as a document, spreadsheet, or image, embedded in your course. Provisional support
Iframe Tool With the iframe tool, you can integrate ungraded exercises and tools from any Internet site into an HTML component in your course. Provisional support
LTI Component LTI components allow you to add an external learning application or non- PDF textbook to Studio. Full support
Oppia Exploration Tool You can embed Oppia explorations in your course so that learners can interact with them directly in the course body. Provisional support
Peer Instruction Tool This type of exercise offers the experience of the Peer Instruction learning system within your online course. Full support
Poll Tool You can include polls in your course to gather learners’ opinions on various questions. You can use the Poll Tool in Studio. Full support
Qualtrics Survey Tool You can import surveys that you have created in Qualtrics. The survey appears inside an iframe in your course. Provisional support
Survey Tool You can include surveys in your course to collect learner responses to multiple questions. Full support
Word Cloud Tool Word clouds arrange text that learners enter in response to a question into a colorful graphic. Provisional support
Unsupported Additional Exercises and Tools

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

Mobile-Ready Problem Types

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.

Adding Unsupported Problem Types and Exercises

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.

  1. In Studio, select Settings, then Advanced Settings.
  2. Locate the Add Unsupported Problems and Tools field, and enter a value of true.
  3. Select Save Changes.

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.

Enabling Additional Exercises and Tools

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

Enable an Exercise or Tool for Your Course

To enable an advanced exercise or tool, follow these steps.

  1. In Studio, select Settings, and then Advanced Settings.

  2. Locate the Advanced Module List field. This field lists any exercises and tools that have been added to your course.

  3. 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 ([).

  4. Enter the key for the exercise or tool that you want to add.

  5. 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 (,).

  6. 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"
      ]
      
  7. 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.

Annotation Problem

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.

An example annotation problem.

Enable Annotation Problems

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.

Create an Annotation Problem

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.

Add Instructions and Guided Discussion

To add the Instructions and Guided Discussion segments of the problem, follow these steps.

  1. In the unit where you want to create the problem, under Add New Component select Advanced.
  2. In the list of problem types, select Annotation.
  3. In the component that appears, select Edit.
  4. In the component editor, replace the example code with your own code.
  5. Select Save.
Add Annotation Problem

To add the Annotation problem segment of the problem, follow these steps.

  1. Under the annotation component, create a new blank advanced problem component.

  2. 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>
    
  3. Select Save.

Calculator Tool

Note

EdX offers provisional support for this tool.

Overview

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.

Course page with an arrow pointing to the calculator.

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.

Course page with the calculator visible along the edge of the browser.

Learners close the calculator by selecting the X.

Enable the Calculator Tool

To enable the calculator tool, follow these steps.

  1. In Studio, on the Settings menu, select Advanced Settings.
  2. In the Show Calculator field, change false to true.
  3. Select Save Changes.

Checkbox Problem

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.

Overview

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.

Example Checkbox Problem

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.

An example checkbox problem in the LMS. This problem was incorrectly answered because the learner selected only two of the three required answer options. An explanation appears below the answer options because the learner also selected "Show Answer".

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>
Analyzing Performance on Checkbox Problems

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.

Adding a Checkbox Problem

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.

Use the Simple Editor to Add a Checkbox Problem

When you add a checkbox problem, you can choose one of these templates.

  • Checkboxes
  • Checkboxes with Hints and Feedback

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.

  1. In the unit where you want to create the problem, under Add New Component select Problem.

  2. 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.

  3. Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.

  4. 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.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Use the Advanced Editor to Add a Checkbox Problem

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.

  1. Follow steps 1-3 for creating the problem in the simple editor.

  2. Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.

  3. 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.

  4. Update the OLX to add optional elements and attributes required for your problem.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Adding Feedback to a Checkbox Problem

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.

Adding Feedback for Individual Options

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.

  • The learner selects a correct option. This type of feedback should indicate why the option is correct.
  • The learner does not select a correct option. This type of feedback should indicate that the learner missed checking this option and why it is correct.
  • The learner selects an incorrect option. This type of feedback should indicate that the learner incorrectly checked this option and why it is incorrect.
  • The learner does not select an incorrect option. This type of feedback should reinforce why the learner correctly left this option unselected.
Adding Compound 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.

  • A
  • B
  • C
  • A, B
  • B, C
  • A, C
  • A, B, C

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.

Configuring Feedback in the Simple Editor

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.

Configure Feedback for Individual Options

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.}}
Configure Compound Feedback

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.

Configuring Feedback in the Advanced Editor

You can configure individual option and compound feedback in the advanced editor.

Configure Individual Option Feedback

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>
Configure Compound Feedback

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>

Adding Hints to a Checkbox Problem

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.

Configure Hints in the Simple Editor

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.||
Configure Hints in the Advanced Editor

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>

Awarding Partial Credit in a Checkbox 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.

A checkbox choice problem with partial credit for two out of three answers.

You can use the following methods to award partial credit in a checkbox problem.

Using the Every Decision Counts Method

You can configure a checkbox problem so that every selection a learner makes for the checkbox problem is evaluated and scored. This method is known as every decision counts (EDC).

With EDC, if “n” is the number of possible options, learners earn 1/n of the total possible score for each correct option they select. Learners receive partial credit for every correct answer selected and every incorrect answer left unselected.

For example, if there are four options, every option that a learner matches is worth 25% of the total score. A learner also gains 25% for each incorrect answer that a learner does NOT select.

The following table shows how the different combinations of learner selections would score for one EDC problem whose answers are as follows.

  • Correct options: A, B, D
  • Incorrect options: C
Learner’s Selections Score Explanation
A, B, D 100% The learner matched each of the 3 correct answers for 75%, and also gained 25% for not selecting the incorrect answer.
A, B 75% The learner matched 2 of the correct answers for 50%, and also gained 25% for not selecting the incorrect answer.
A, B, C 50% The learner matched 2 of the correct answers for 50%, but selected the incorrect answer.
A, C 25% The learner matched 1 of the correct answers for 25%, but selected the incorrect answer.
Configure an EDC Checkbox Problem

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>
Using the By Halves Method

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.

  • If a learner makes no errors, she receives full credit for the problem.
  • If a learner makes one error, she receives 50% of the possible points, as long as there are three or more choices in the problem. If a learner makes one error and there are only two choices in the problem, no credit is given.
  • If a learner makes two errors, she receives 25% of the possible points, as long as there are five or more choices in the problem. If a learner makes two errors and there are only three choices or four choices in the problem, no credit is given.
  • If a learner makes three errors, she receives no credit for the problem, regardless of how many answer options there are.

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
Configure a By Halves Checkbox Problem

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>

Checkbox Problem OLX Reference

Note

You can also set attributes and options by adding a <script> element. For more information, see Using the Script Element.

Template
<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>
Elements

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.

Attributes
Attribute Description
partial_credit Optional. Specifies the type of partial credit given. EDC or halves.
Children
  • <label>
  • <description>
  • <checkboxgroup>
  • <solution>
<label>

Required. Identifies the question or prompt. You can include HTML tags within this element.

Attributes

None.

Children

None.

<description>

Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.

Attributes

None.

Children

None.

<checkboxgroup>

Required. Indicates the beginning of the list of options.

Attributes

None.

Children
  • <choice>
  • <compoundhint>
<choice>

Required. Designates an answer option.

Attributes
Attribute Description
correct

Indicates a correct or incorrect answer.

  • When set to "true", the choice is a correct answer. At least one required.
  • When set to "false", the choice is an incorrect answer.
Children

<choicehint>

<choicehint>

Optional. Specifies feedback for the answer.

Attributes
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.
Children

None.

<compoundhint>

Optional. Specifies feedback for a specific combination of answers.

Attributes
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.
Children

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.

<demandhint>

Optional. Specifies hints for the learner. For problems that include multiple questions, the hints apply to the entire problem.

Attributes

None.

Children

<hint>

<hint>

Required. Specifies additional information that learners can access if needed.

Attributes

None.

Children

None.

Advanced Options for Checkbox Problems

Using the Script Element

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.

Use the Advanced Editor to Configure the Script Element

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>

Chemical Equation 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.

Image of a chemical equation response problem.

Note

You can make a calculator available to your learners on every unit page. For more information, see Calculator Tool.

Create a Chemical Equation Problem

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.

  1. In the unit where you want to create the problem, select Problem under Add New Component, and then select the Advanced tab.
  2. Select Blank Advanced Problem.
  3. In the component that appears, select Edit.
  4. In the component editor, paste the code from below.
  5. Select Save.
Sample Chemical Equation Problem Code
<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>

Chemical Equation Problem XML

Template
<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>
Tags
  • <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)

Circuit Schematic Builder Problem

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.

A problem that asks learners to use the circuit schematic builder to build a mixer that combines the signals generated by two voltage sources.

Create a Circuit Schematic Builder Problem

  1. In the unit where you want to create the problem, under Add New Component select Problem, and then select Advanced.
  2. Select Circuit Schematic Builder.
  3. In the component that appears, select Edit.
  4. In the component editor, replace the example code with your own code.
  5. Select Save.

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="{&quot;tran&quot;:[[&quot;output&quot;,0.00025,0.00035,0.00065,0.00075]]}" initial_value="[[&quot;v&quot;,[56,48,0],{&quot;name&quot;:&quot;V1&quot;,&quot;value&quot;:&quot;square(0,1,1k)&quot;,&quot;_json_&quot;:0},[&quot;2&quot;,&quot;0&quot;]],[&quot;g&quot;,[56,96,0],{&quot;_json_&quot;:1},[&quot;0&quot;]],[&quot;v&quot;,[56,128,0],{&quot;name&quot;:&quot;V2&quot;,&quot;value&quot;:&quot;sin(0,1,5k,0,0)&quot;,&quot;_json_&quot;:2},[&quot;1&quot;,&quot;0&quot;]],[&quot;g&quot;,[56,176,0],{&quot;_json_&quot;:3},[&quot;0&quot;]],[&quot;w&quot;,[56,48,88,48]],[&quot;w&quot;,[56,128,88,128]],[&quot;L&quot;,[224,48,3],{&quot;label&quot;:&quot;output&quot;,&quot;_json_&quot;:6},[&quot;output&quot;]],[&quot;w&quot;,[224,48,200,48]],[&quot;w&quot;,[224,48,224,128]],[&quot;w&quot;,[224,128,200,128]],[&quot;s&quot;,[224,48,0],{&quot;color&quot;:&quot;magenta&quot;,&quot;_json_&quot;:10},[&quot;output&quot;]],[&quot;view&quot;,0,0,2,&quot;5&quot;,&quot;10&quot;,&quot;10MEG&quot;,null,&quot;100&quot;,&quot;5ms&quot;]]"/>
    </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) &lt; 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>

Completion Tool

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.

Overview

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.

The Completion Control

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.

The completion component in an incomplete state.

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.

The completion component in a complete state.

Enable the Completion Tool

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.

Add a Completion Component

After you have enabled the completion tool in Studio, to add a completion component to a unit in a course, follow these steps.

  1. In the course outline in Studio, locate the unit to which you want to add the completion component.
  2. Under Add New Component, select Advanced.
  3. Select Completion. The completion component is added to the unit.

Note

Select Edit in the completion component for information about the tool.

Conditional Module

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.

Format description

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 ';'

Examples

Example: conditional depends on poll
<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>
Example: conditional depends on poll (use <show> tag)
<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>
Examples of conditional depends on problem
<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>

Custom JavaScript Display and Grading Problem

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.

An example JavaScript Input problem that contains a dropdown selector inside an inline frame.

Caution

  • You cannot use a custom JavaScript problem in a component that contains more than one problem. Each custom JavaScript problem must be in its own component. See Including Multiple Questions in One Component for more information.
  • The Show Answer button does not work for JS input 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 learner’s view of the problem in the LMS, but the button does not work.

Create a Custom JavaScript Display and Grading Problem

  1. Create your JavaScript application, and then upload all files associated with that application to the Files & Uploads page.
  2. In the unit where you want to create the problem, under Add New Component select Problem , and then select Advanced.
  3. Select Custom JavaScript Display and Grading.
  4. In the component that appears, select Edit.
  5. In the component editor, modify the example code according to your problem. Be sure to specify a title attribute on the jsinput tag. This title is used for the title attribute on the generated inline frame.
  6. (Optional) To add a Save button to your problem, select Settings, and then set Maximum Attempts to a number larger than zero.
  7. Select Save.

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.

JavaScript Input Example Problem Code

The following code recreates the JavaScript Input problem example shown in the overview. The example problem uses these files.

<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.

  • The jsinput_example.js file defines three JavaScript functions (JSInputDemo.getGrade, JSInputDemo.getState, and JSInputDemo.setState).
  • The JavaScript input problem code uses JSInputDemo.getGrade, JSInputDemo.getState, and JSInputDemo.setState to grade, save, or restore a problem. These functions must be global in scope.
  • JSInputDemo.getState and JSInputDemo.setState are optional. You need to define these functions only if you want to conserve the state of the problem.
  • Width and height represent the dimensions of the inline frame that holds the application.
  • The response is graded as correct if the correct option is selected in the dropdown control when the user selects Submit.
  • Selecting Submit registers the problem’s current state.

JavaScript Input Problem XML

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.

Template

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
Required Attributes
  • 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.

Optional Attributes
  • 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:

    • The previous output of gradefn (i.e., the previous answer) if get_statefn is not defined.
    • The previous output of get_statefn (see below) otherwise.

    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.

Drag and Drop Problem

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).

Overview of Drag and Drop Problems

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.

  • In standard mode, the problem gives learners unlimited attempts to match items and it provides immediate feedback to indicate whether an item is matched correctly.
  • In assessment mode, learners must match all of the draggable items to target zones and then submit the problem. The problem does not reveal whether items are matched correctly until the learner submits the problem.

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.

An example of a simple drag and drop problem. The components of the problem, such as its title, text, and introductory feedback are labeled.

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.

An example of a simple drag and drop problem. The success feedback message appears above the background image.

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.

An example of a simple drag and drop problem. The error feedback message appears over the background image.

The following image shows a completed drag and drop problem. The final feedback message informs the learner that the problem is complete.

An example of a simple drag and drop problem. The problem is complete and the final feedback message appears below the background image.
Understanding Background Images

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.

A background image and target zones shown in the drag and drop problem editing dialog box.

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.

Understanding Draggable Items

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.

Using Draggable Items with Images

The following image shows draggable items with images. For examples of items with text, see Overview of Drag and Drop Problems.

Draggable items with image labels in the item area of a drag and drop problem.

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.

Choosing a Drag and Drop Problem Mode

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.

  • In standard mode, learners have unlimited attempts to match items and the problem provides immediate feedback to indicate whether an item is matched correctly.
  • In assessment mode, learners must match all of the draggable items to target zones and then choose to submit the problem. The problem does not reveal whether items are matched correctly until the learner submits the problem. You can limit the number of attempts a learner is allowed, or allow unlimited attempts.
Using Standard Mode

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.

Using Assessment Mode

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.

Creating a Drag and Drop Problem

To create a drag and drop problem, follow these steps.

  1. In the unit where you want to create the problem, under Add New Component select Advanced.

  2. From the list of advanced components, select Drag and Drop.

    Studio adds the drag and drop problem to the unit.

  3. 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.

Understanding the Drag and Drop Editing Controls

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.

Changing the Visual Style of a Drag and Drop Problem

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.

Drag and Drop Problem (Deprecated)

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.

Image of a drag and drop problem.

Adding a Drag and Drop Problem

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.

  1. On the Files & Uploads page, upload your image file. For more information about uploading files, see Adding Files to a Course.

  2. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.

  3. Click Drag and Drop.

  4. In the component that appears, click Edit.

  5. In the component editor, replace the example text with the text of your problem.

  6. 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).

  7. 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"/>

  1. 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.

  2. Determine the coordinates and radius of the correct area on the image.

  3. 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 (}).

  4. Click Save.

Sample Drag and Drop Problem Code

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.

  1. Download the following files from edX:
  • Allopurinol.gif
  • AllopurinolAnswer.gif

To download both these files in a .zip archive, click http://files.edx.org/DragAndDropProblemFiles.zip.

  1. Upload the Allopurinol.gif and AllopurinolAnswer.gif files to the Files & Uploads page.
  2. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
  3. Click Drag and Drop.
  4. In the component that appears, click Edit.
  5. In the component editor, replace the example code with the following code.
  6. Click Save.

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>

Drag and Drop Problem XML

<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>
Tags
  • <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)

Targets on Draggables

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).

Limitations of targets on draggables
  • 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.

Correct answer format

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.

Answer format for targets on draggables

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.

Grading logic

  1. 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 incremental group_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..
  1. 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.
  1. For every group, lists of targets are compared using the rule for that group.
Set and +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].

External Grader

Note

EdX offers provisional support for this tool.

An external grader is a service that receives learner responses to a problem, processes those responses, and returns feedback and a problem grade to the platform. Course teams build and deploy a grader on an external platform, such as Amazon Web Services (AWS) or Azure, and then link their external grader to the platform using an interface called XQueue. XQueue is a Representational State Transfer (RESTful) interface that uses JavaScript Object Notation (JSON) objects.

For more information, see the following sections.

External Grader Workflow

XQueue uses the following workflow for external grader problems.

  1. In the learning management system (LMS), the learner either enters code or attaches a file for a problem, then selects Submit.
  2. The LMS sends the learner’s code to XQueue.
  3. The external grader actively retrieves, or pulls, the code from XQueue.
  4. The external grader runs the tests that you created on the code.
  5. The external grader returns the grade for the submission, as well as any messaging in a JSON, to XQueue.
  6. The XQueue delivers the results to the LMS.
  7. In the LMS, the learner sees the problem results and the grade.

For the code for the XQueue interface, see the urls.py file in the edX XQueue repository.

External Grader Example

An external grader is particularly useful for software programming courses where learners are asked to submit complex code. The grader can run tests that you define on that code and return results to a learner.

For example, you define a problem that requires learners to submit Python code, and create a set of tests that an external grader can run to verify the submissions. When a learner enters Python code for the problem and selects Submit, the LMS sends the code to the grader for testing. If the code passes all tests, the grader returns the score and a message indicating that the solution is correct. The learner can see the message by selecting See full output. A message can be useful when the learner’s solution is not correct and you want to return information about the failed tests, as in the following example.

A learner's view of a programming problem that uses an external grader, with an incorrect result.

External Grader Problem Requirements

An external grader problem in Studio must have the following requirements.

GPG Key

Before you can add an external grader problem, you must obtain a public GNU Privacy Guard (GPG) key. For information about how to obtain a GPG key, see the GnuPG website.

XQueue Name

The external grader problems in your course must use a specific XQueue name. You create the name for the XQueue that your course uses when you request account credentials.

To request account credentials, contact the system administrator for your instance of the Open edX platform.

Testing Your XQueue Credentials

We strongly recommend that you test your XQueue credentials when you receive them. To test your XQueue credentials, run the following commands at a command prompt. Replace the placeholder values with the values for your credentials.

curl -v -d "username=&password=" "https://xqueue.edx.org/xqueue/login/"
curl -v -b "sessionid=returnedbylogin"   "https://xqueue.edx.org/xqueue/get_queuelen/?queue_name=your_q"

curl -v -d "username=&password=" "https://xqueue.edx.org/xqueue/login/"
curl -v -b "sessionid=returnedbylogin"   "https://xqueue.edx.org/xqueue/get_queuelen/?queue_name=your_queue_name"
XQueue JSON Objects

Both the learner submission that XQueue sends to the grader, and the response that the grader sends to XQueue, are JSON objects.

Note

XQueue does not send the learner ID to the external grader. Your grader cannot access IDs or associate learner IDs with submissions.

Learner Submissions

The grader must receive a JSON object as a learner submission. The JSON object has the following keys.

  • xqueue_header: A dictionary that the grader uses to identify the submission when the grader returns the submission to XQueue. Do not edit this dictionary. Return this dictionary to XQueue in the same xqueue_header part of the JSON object.
  • xqueue_files: A dictionary of key/value pairs that contains a list of files that the learner submitted. In this dictionary, each key is a file name, and each value is the location of the file.
  • xqueue_body: A dictionary that contains the actual submission as JSON.
    • student_info: A dictionary that contains the following information about the student in relation to this submission.
      • anonymous_student_id: A string that contains an anonymized identifier of the student.
      • submission_time: A string that contains a timestamp with the time of submission in YYYYMMDDHHMMSS format.
      • random_seed: If a randomization script is attached to the problem, random_seed is an integer that contains the seed that initializes the randomization script.
    • student_response: A string that contains the learner’s code submission. A learner can submit code by entering a string in the LMS or by attaching a file. XQueue stores files that learners upload in xqueue_files.
    • grader_payload: An optional string that you can specify when you create the problem. For more information, see Create an External Grader Problem in Studio.

An example JSON object for a learner submission follows.

{
  "xqueue_header": {
    "submission_id": 72,
    "submission_key": "ffcd933556c926a307c45e0af5131995"
  }
  "xqueue_files": {
    "helloworld.c": "http://download.location.com/helloworld.c"
  }
  "xqueue_body":
  "{
    "student_info": {
      "anonymous_student_id": "106ecd878f4148a5cabb6bbb0979b730",
      "submission_time": "20160324104521",
      "random_seed": 334
    },
    "student_response": "def double(x):\n return 2*x\n",
    "grader_payload": "problem_2"
   }"
}
External Grader Responses

After the grader runs tests and records the results for a submission, the grader must return information by posting a JSON response. The JSON string contains a value that indicates the following information.

  • Whether the submission was correct.
  • The score for the problem.
  • Any message that the tests create.

In the following example external grader response, the learner’s submission was correct, the score was 1, and the tests created a brief message.

{
“xqueue_header”: {
  Identical to what was received from the xqueue
},
“xqueue_body”: {
 "correct": true,
 "score": 1,
 "msg": "<p>The code passed all tests.</p>"
}
}
External Grader Requirements

The course team builds and deploys the external grader.

When you build your external grader, keep the following requirements in mind.

  • To communicate with XQueue, the grader must accept and return JSON objects. For more information, see XQueue JSON Objects.

  • The external grader must actively retrieve, or pull, submissions from the XQueue through a RESTful interface at regular intervals.

    The following repositories contain examples of external graders that use pull mode.

  • The grader must be scalable. Many learners might submit responses at one time, such as shortly before an exam is due. The grader must be able to process many submissions in a limited time, without failure or unexpected delays.

  • The grader must not constantly send queries unless the grader detects that the queuelen value is growing. If XQueue receives too many requests from a grader, the XQueue system administrator may apply throttling to the grader.

  • The grader must implement security features.

    You are responsible for the server that runs the code that learners submit. Your system must protect against learners who might submit malicious code and ensure that the external grader runs only code that is relevant to the course problems. Your specific security implementation depends on the programming language that you are using and your deployment architecture. You must ensure that malicious code will not damage your server.

  • You must have a plan to immediately notify the team that operates your grader, as well as your Open edX system administrator, if the grader fails. You must also have a process to quickly identify the cause of the failure, whether the problem is with your grader or XQueue.

If you know the grader will be unavailable at a certain time for maintenance, you should add a course update.

  • You must test the grader thoroughly before your course starts. Be sure to test incorrect code as well as correct code to ensure that the grader responds with appropriate scores and messages.
OLX Definition

To create an external grader problem in Studio, you create an Open Learning XML (OLX) definition of the problem, and then add the code to a problem component.

The OLX definition of a problem contains the following information.

  • A queuename attribute that specifies the name of the XQueue that you created. For more information, see XQueue Name.
  • A <label> element that contains the instructions for the problem.
  • The type of input that the problem accepts, specified as one of two elements.
    • <textbox>: The learner enters code in a browser field while the learner views the course unit.
    • <filesubmission>: The learner attaches and submits a code file in the unit.
  • (optional) An element that contains a JSON object that you send to the external grader. For example, you can use the <grader_payload> element to tell the grader which tests to run for a problem.

The following example shows the OLX definition of a problem that uses an external grader.

<problem>
  <coderesponse queuename="my_course_queue">
    <label>Write a program that prints "hello world".</label>
    <textbox rows="10" cols="80" mode="python" tabsize="4"/>
    <codeparam>
      <initial_display>
        # students write your program here
        print ""
      </initial_display>
      <answer_display>
        print "hello world"
      </answer_display>
      <grader_payload>
        {"output": "hello world", "max_length": 2}
      </grader_payload>
    </codeparam>
  </coderesponse>
</problem>

Create an External Grader Problem in Studio

To create a code response problem in Studio, follow these steps.

  1. In the unit where you want to add the code response problem, select Problem under Add New Component.
  2. In the list that opens, select the Advanced tab, and then select Blank Advanced Problem. The advanced editor opens.
  3. In the new component, select Edit.
  4. In the problem editor, enter the online learning XML (OLX) definition for the problem that you created.
  5. Select Save.
  6. Test the problem in the LMS.

Note

To validate your external grader and test a problem, you must view the component in a published unit in the LMS. If you test a problem in Studio, you receive an “Error: No grader has been set up for this problem” message.

For more information about creating problems in Studio, see Working with Problem Components.

Full Screen Image Tool

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 View of a Full Screen Image

The learner sees the full screen image in a unit page. When the learner moves the cursor over the image, the Fullscreen option appears.

Image of the full screen image tool with the Full Screen button.

When the learner selects Fullscreen, the image opens and expands in the full browser window. Close, Zoom In, and Zoom Out options appear.

Image of the Image Modal tool with the Full Screen button.

The learner can then zoom in on the image, and drag the image to view a specific part of it.

Image of the Image Modal tool with the Full Screen button.

Create a Full Screen Image

  1. Upload your image file to the Files & Uploads page. For more information, see Adding Files to a Course.

  2. Under Add New Component, select HTML, and then select Full Screen Image Tool.

  3. In the new component that appears, select Edit.

  4. In the component editor, replace the default title, remove the instructional paragraph, and add text as needed.

  5. Select HTML from the toolbar to edit the HTML source code.

  6. 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.

  7. Select Save.

Gene Explorer Tool

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:

  1. Finds the promoter and terminator.
  2. Reads the DNA sequence to produce the pre-mRNA.
  3. Finds the splice sites.
  4. Splices and tails the mRNA.
  5. Finds the start codon.
  6. Translates the mRNA.
Image of the gene explorer.

For more information about the gene explorer, see The Gene Explorer.

Gene Explorer Code

<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:

  • width and height specify the dimensions of the application, in pixels.
  • genex_dna_sequence is the default DNA sequence that appears when the problem opens.
  • dna_sequence contains the application’s state and the learner’s answer. This value must be the same as genex_dna_sequence.
  • genex_problem_number specifies the number of the problem. This number is based on the five gene editor problems in the MITx 7.00x course–for example, if you want this problem to look like the second gene editor problem in the 7.00x course, you would set the genex_problem_number value to 2. The number must be 1, 2, 3, 4, or 5.

Google Calendar Tool

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.

Overview

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.

Embedding a Google Calendar in Your Course

To embed a Google Calendar in your course, follow these steps.

Enable the Google Calendars Tool

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.

Enable Google Calendars in OLX

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="[&quot;google-document&quot;,
    &quot;google-calendar&quot;]" 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.

Make the Google Calendar Public and Obtain Its ID

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.

Make the Google Calendar Public
  1. Open the Google Calendar.

  2. From the Settings menu, select Settings.

  3. Select the Calendars tab.

    You might have multiple calendars on the Calendars tab. Find the calendar that you want to share in your course.

  4. In the row for the calendar to share, in the Sharing column, select Edit Settings.

  5. Select the Share this Calendar tab, and then select Make this calendar public.

Google Calendar settings.
  1. Select Save.

    The Calendar Settings page closes, and you return to the Calendars tab. You continue by obtaining the Google Calendar’s ID.

Obtain the Google Calendar ID
  1. On the Calendars tab, select the name of the calendar.

  2. Select the Calendar Details tab.

  3. 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.

    Image of Calendar Address label with the calendar ID to the right.

    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.

Add a Google Calendar in the Course Body

To add a Google calendar in the course body, you create an advanced component in Studio or create a Google Calendar XBlock in OLX.

Add a Google Calendar Component in edX Studio

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.

  1. On the Course Outline page, open the unit where you want to add the Google Calendar component.

  2. 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.

  3. In the new component, select Edit.

  4. In the Display Name field, type the name for the component.

  5. In the Public Calendar ID field, paste the calendar ID you copied in the Obtain the Google Calendar ID task.

  6. 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.

  7. Select Save.

You can then Previewing Draft Content to see how the unit with the Google Calendar will appear to learners.

Add a Google Calendar XBlock in OLX

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.

Editing Google Calendars

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.

Google Drive Files Tool

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.

Overview

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.

  • Google Docs (text documents)
  • Google Drawings (images)
  • Google Forms (forms or surveys)
  • Google Slides (presentations)
  • Google Sheets (spreadsheets)

Embedding a Google Drive File in Your Course

To embed a Google Drive file in your course, follow these steps.

Enable the Google Drive Files Tool

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.

Enable Google Drive Files in OLX

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="[&quot;google-document&quot;,
    &quot;google-calendar&quot;]" 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.

Publish the Google Drive File and Obtain the Embed Code

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.

  1. Open the Google Drive file.

  2. From the File menu, select Publish to the web.

    The Google Drive file Publish to the web dialog box.
  3. Select Publish, and then select OK to confirm the action.

  4. Select the Embed tab.

    The Google Drive file Publish to web Embed tab
  5. 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.

Add a Google Drive File to Your Course

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.

Add a Google Drive File Component in edX Studio

Ensure you enable Google Drive files before you add the component.

To add a Google Drive file component, follow these steps.

  1. On the Course Outline page, open the unit where you want to add the Google Drive component.

  2. 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.

  3. In the new component, select Edit.

  4. In the Display Name field, enter the name for the component.

  5. In the Embed Code field, paste the embed code that you copied in the Obtain the Google Drive File Embed Code task.

  6. Select Save.

You can then Previewing Draft Content to see how the unit with the Google drive file will appear to learners.

Add a Google Drive File XBlock in OLX

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="&lt;iframe
  frameborder=&quot;0&quot; src=&quot;https://docs.google.com/spreadsheet/pub
  ?key=0AuZ_5O2JZpH5dGVUVDNGUE05aTFNcEl2Z0ZuTUNmWUE&amp;output=html&amp;widge
  t=true&quot;&gt;&lt;/iframe&gt;" 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.

Editing Google Drive Files

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.

Iframe Tool

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.

Iframe tool showing a Euler line exercise.

Before you make content or a tool from an external site available through your course, be sure to review the content or tool to ensure that it is accessible to people with disabilities. For example, in addition to testing the iframe components that you add to your course, you can ask third party providers to confirm that a tool is accessible, and, if available, contact your on campus accessibility support services for additional guidance. For more information, see Accessibility Best Practices for Developing Course Content.

Iframes are well-suited for tools that demonstrate a concept, but that are not graded or used to store student data. If you want to add a graded tool or exercise, add the tool as a custom JavaScript problem or an LTI component.

For more information about iframes, see the iframe: The Inline Frame element.

Create an IFrame Tool

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.

  1. Under Add New Component, select HTML, and then select IFrame Tool.

  2. In the new component, select Edit.

  3. In the visual editor toolbar, select HTML.

  4. 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>
    
  5. 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.

  6. 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.

  7. Select OK to close the HTML source code editor and return to the visual editor.

  8. In the visual editor, replace the default text with your own text.

  9. Select Save.

Iframe Settings

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>
Iframe with only the top half showing and a vertical scroll bar on the side.
<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>
Iframe with only the top half showing but no scroll bar available.

For more information about iframe attributes, see iframe: The Inline Frame element.

Image Mapped Input Problem

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.

Problem that asks learners to click inside Egypt on a map of Africa.

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.

Create an Image Mapped Input Problem

To create an image mapped input problem, follow these steps.

  1. Collect the information that you need for the image.
  2. Create the problem in Studio.
Collect Image Information

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.

Create an Image Mapped Input Problem in Studio
  1. In Studio, upload your image to the Files & Uploads page, and make a note of the file path for the image. For more information, see Adding Files to a Course.
  2. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
  3. Click Image Mapped Input.
  4. In the component that appears, click Edit.
  5. In the component editor, replace the example problem text with your own text.
  6. In the <imageinput> element, follow these steps.
    1. Replace the example file path in the src attribute with the file path for your image.
    2. Include alt text for your image to make the image accessible. For more information about alt text, see Use Best Practices for Describing Images.
    3. Replace the example values for the width and height attributes with the dimensions for your image.
    4. Modify the example 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.
  7. Click Save.
Specify a Rectangular Region

To specify a rectangular region, edit the rectangle attribute in the <imageinput> element.

  • Specify the coordinate pair for the upper-left and lower-right corners of the rectangle, separating the x and y values with a comma.
  • Surround each coordinate pair with parentheses.
  • Use a hyphen to separate the coordinate pairs.
  • Surround the set of coordinate pairs with quotation marks (“).

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>
Specify Multiple Rectangular Regions

You can specify more than one rectangular region in an image.

Problem that asks learners to click inside one of three rectangles

To specify multiple rectangular regions, edit the rectangle attribute in the <imageinput> element.

  • Specify the coordinate pair for the upper-left and lower-right corners of each rectangle, separating the x and y values with a comma.
  • Surround each coordinate pair with parentheses.
  • Use a hyphen (-) to separate the coordinate pairs.
  • Separate each rectangle with a semicolon (;).
  • Surround the entire set of coordinates with quotation marks (“).

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>
Specify an Irregular Region

You can specify one non-rectangular region.

Problem that asks learners to click inside a pentagon.

To specify an irregular region, edit the rectangle attribute in the <imageinput> element.

  • Change rectangle to region.
  • Specify three or more coordinate points in any order.
  • Enter each coordinate pair in brackets ([]). Do not use parentheses.
  • Separate each set of points with a comma (,) and a space.
  • Enclose the whole list of coordinate points in brackets ([]).
  • Surround the outer brackets with quotation marks (“).

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>

Image Mapped Input Problem XML

Template
<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>
Tags
  • <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)

LTI Component

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.

Overview

You can use an LTI component in several ways.

  • You can add remote LTI tools that display content only, and that do not require a learner response. An example is a digital copy of a textbook in a format other than PDF.
  • You can add remote LTI tools that do require a learner response. A remote LTI tool provider grades the responses.
  • You can use the LTI component as a placeholder for synchronizing with a remote grading system.

For example, the following LTI component integrates a Cerego tool that learners interact with into the LMS for a course.

A page in the LMS showing the Cerego music player and a question for learners to answer about it.

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.

LTI Authentication Information

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.

Creating an LTI Passport String

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

Adding an LTI Passport to the Course Configuration

To add an LTI passport for an LTI tool to the configuration for your course, follow these steps.

  1. From the Studio Settings menu, select Advanced Settings.

  2. In the LTI Passports field, place your cursor between the brackets.

  3. 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.

  4. 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"
    ]
    
  5. 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.

Enabling LTI Components for a Course

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.

Adding an LTI Component to a Course Unit

To add an LTI component to a course unit, follow these steps.

  1. 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.

  2. 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.

  3. Select Edit in the component that appears.

  4. Configure the LTI component in the component editor. For more information about each setting, see LTI Component Settings.

  5. 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.

LTI Component Settings

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.

{key}={value}

For example, an LTI tool that displays an e-book might accept a page parameter to control which page the e-book opens to by default. The following example sends a page parameter to an LTI tool.

["page=144"]
LTI Launch Target

Controls the way that the course page will open and display the remote LTI tool.

Options are:

  • Inline - the LTI tool will appear directly in the course page.
  • Modal - the LTI tool will appear in a separate display window in front of the course page. The modal display window prevents learners from interacting with the course page until they dismiss the LTI tool.
  • New Window - the LTI tool will appear in a new web browser window. Depending on the configuration of the web browser, it may appear in a new tab or in a separate browser window. Learners can interact with both the course page and the LTI tool.
Button Text Enter a custom label for the button that opens the external LTI tool.
Inline Height

Specifies the on-screen height of the LTI tool in pixels.

This setting is only applied if the LTI Launch Target is set to Inline.

Modal Height

Specifies the on-screen height of the LTI content window as a percentage of the visible web browser window height. Enter the percentage in whole numbers.

This setting is only applied if the LTI Launch Target control is set to Modal.

Modal Width

Specifies the on-screen width of the LTI content window as a percentage of the web browser window width. Enter the percentage in whole numbers.

This setting is only applied if the LTI Launch Target control is set to Modal.

Scored Indicates whether the LTI component receives a numerical score from the remote LTI tool provider. By default, this value is set to False.
Weight

Specifies the number of points possible for a problem. By default, if a remote LTI tool provider grades the problem, the problem is worth one point, and a learner’s score can be any value between zero and one.

This setting is only applied if Scored is set to True.

For more information about problem weights and computing point scores, see Problem Weight.

Hide External Tool

Controls whether the LTI component will display the remote LTI tool on the course page.

Set the value to True to prevent the course page from displaying the remote LTI tool. For example, you might use an LTI component to synchronize with a remote grading system. In that situation, the LTI component should not appear on the course page.

Set the value to False to display the remote LTI tool and allow learners to interact with it.

Accept grades past deadline Specifies whether third party systems are allowed to post grades after the deadline. By default, this value is set to True.
Request user’s email

Sends the learner’s email address to the remote LTI tool.

An LTI component will only send learners’ email addresses if the LTI Launch Target control is set to New Window. When the new window launches, the learners are warned that if they continue, their email address will be shared with the LTI provider.

By default, this setting is not available in Studio.

To make this setting available, a system administrator must enable the setting in the Django administration console.

Request user’s username

Sends the learner’s username to the remote LTI tool. This is the username that the learner used to register for the course.

An LTI component will only send learners’ usernames if the LTI Launch Target control is set to New Window. When the new window launches, the learners are warned that if they continue, their username will be shared with the LTI provider.

By default, this setting is not available in Studio.

To make this setting available in Studio, a system administrator must enable the setting in the Django administration console.

Math Expression Input Problems

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.

Overview

In math expression input problems, learners enter text that represents a mathematical expression. The text is converted to a symbolic expression that appears below the response field. Unlike numerical input problems, which only allow integers and a few select constants, math expression input problems can include unknown variables and more complicated symbolic expressions.

For more information about how learners enter expressions, see math formatting in the EdX Learner’s Guide or Completing Mathematical and Scientific Assignments in the Open edX Learner’s Guide.

Note

You can make a calculator tool available to your learners on every unit page. For more information, see Calculator Tool.

For math expression input problems, the grader uses numerical sampling to determine whether a learner’s response matches the math expression that you provide, to a specified numerical tolerance. You specify the allowed variables in the expression as well as the range of values for each variable.

When you create a math expression input problem in Studio, you use MathJax to format text strings into “beautiful math.” For more information about how to use MathJax in Studio, see Using MathJax for Mathematics.

Note

Math expression input problems currently cannot include negative numbers raised to fractional powers, such as (-1)^(1/2). Math expression input problems can include complex numbers raised to fractional powers, or positive non-complex numbers raised to fractional powers.

Example Math Expression Input Problem

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.

A problem shown in the LMS that requests the symbolic expressions for displacement and for elongation of a blade. Both questions were answered correctly. The solutions are not shown.

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>
Analyzing Performance on Math Expression Input Problems

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.

Adding a Math Expression Input Problem

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.

  1. In the unit where you want to create the problem, under Add New Component select Problem.
  2. Select Advanced.
  3. From the list of Advanced problem types, select Math Expression Input. Studio adds a template for the problem to the unit.
  4. Select Edit. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.
  5. Replace the guidance provided by the template to add your own text. For example, replace the question or prompt, answer options, and solution.
  6. Update the OLX to use any additional elements and attributes in your problem.
  7. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.
  8. Select Save.

Math Expression Input Problem OLX Reference

Template

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.

Elements

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.

Attributes
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.

  • variables: A set of variables that learners can enter.
  • lower_bounds: For every defined variable, a lower bound on the numerical tests to use for that variable.
  • upper_bounds: For every defined variable, an upper bound on the numerical tests to use for that variable.
  • num_samples: The number of times to test the expression.

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.

"variables@lower_bounds:upper_bounds#num_samples"

For example, a <formularesponse> element that includes the samples attribute might look like either of the following.

<formularesponse samples="x,n@1,2:3,4#10">

<formularesponse samples="R_1,R_2,R_3@1,2,3:3,4,5#10">

Variable names must be at least one character long. They must start with a letter, which can be followed by letters, numbers and underscores. We strongly recommend only using one underscore, which renders to students as a subscript.

Tensor notation is also supported, as Name_{ijk}^{123}, where the name must start with a letter, but can otherwise contain letters or numbers, subscripts are contained in the lower braces, and superscripts are contained in the raised braces. Superscripts and subscripts must only be letters or numbers. No other underscores can appear in the name. Note that the subscript must come first, and the braces ensure that the superscripts are not confused with exponentiation.

All variable names (standard and tensor formats) may contain one or more apostrophes (primes) at the end of the variable name, for example, to indicate a derivative or new coordinate system. Note that some students may have trouble entering primes, which some browsers/operating systems automatically convert to a “smart apostrophe” (tablets are most likely to have this issue). We recommend providing a variable name that students may copy and paste to get around this problem.

The following are examples of valid variable names: V_out, m_1, G_{ij}, H^{xy}, f', x_1'', and H_{ij}^{12}''.

Children
  • <label>
  • <description>
  • <formulaequationinput>
  • <responseparam>
  • <script>
  • <solution>
<label>

Required. Identifies the question or prompt. You can include HTML tags within this element.

Attributes

None.

Children

None.

<description>

Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.

Attributes

None.

Children

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.

Attributes
Attribute Description
size Optional. Defines the width, in characters, of the response field in the LMS.
Children

None.

<responseparam>

Used to define an upper bound on the variance of the numerical methods used to approximate a test for equality.

Attributes
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.
Children

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.

Attributes
Attribute Description
type Required. Must be set to loncapa/python.
Children

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.

Molecule Editor Tool

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.

An example molecule editor problem that asks learners to draw a caffeine molecule using the editor. The correct answer and explanation are shown.

Create the Molecule Editor

To create a molecule editor, you need the following files.

  • MoleculeAnswer.png
  • MoleculeEditor_HTML.png
  • dopamine.mol

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.

  1. Upload all of the files listed above to the Files & Uploads page in your course.
  2. Create the HTML component.
  1. In the unit where you want to create the problem, click HTML under Add New Component, and then click HTML.
  2. In the component that appears, click Edit.
  3. In the component editor, paste the HTML component code from below.
  4. Make any changes that you want, and then click Save.
  1. Create the problem component.
  1. Under the HTML component, click Problem under Add New Component, and then click Blank Advanced Problem.
  2. In the component that appears, click Edit.
  3. In the component editor, paste the problem component code from below.
  4. Click Save.
Molecule Editor Code

To create the molecule editor, you need an HTML component and a problem component.

HTML Component Code
<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>&nbsp;</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">&nbsp;</div>
Problem Component Code
<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 &gt; .490
</script>
  <customresponse cfn="grader_2">
    <editamoleculeinput file="/static/dopamine.mol">
    </editamoleculeinput>
</customresponse>
</problem>

Molecule Viewer Tool

Note

EdX does not support this tool.

Studio offers two tools that you can use in discussions of molecules.

  • With the molecule viewer tool, you can create three-dimensional representations of molecules for students to view.
  • With the molecule editor problem type, you can allow students to draw their own molecules. For more information about this tool, see Molecule Editor Tool.

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.

Image of molecule viewer showing a molecule of Ciprofloxacin.

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.

Create the Molecule Viewer Tool

Creating a molecule viewer tool has several steps.

  1. Download files from the BioTopics website and from edX.
  2. Move or edit some of the files that you downloaded.
  3. Upload a folder that contains all of the files that you downloaded and edited to your own file hosting site.
  4. Create an HTML component that contains an iframe element in Studio. The iframe references the files that you upload to the file hosting site.
Download Files from BioTopics and edX
  1. 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.

  2. Download the MoleculeViewerFiles.zip file from edX.

  3. 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 and Edit the MoleculeViewer.html File
  1. Move the .mol file that you downloaded from BioTopics into the data folder that you downloaded from edX.

  2. Edit the MoleculeViewer.html file:

    1. In a text editor, open the MoleculeViewer.html file.

    2. 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;"

  3. Save the MoleculeViewer.html file.

Upload Files to a Hosting Site
  1. Make sure that your MoleculeViewerFiles folder contains the following folders and files.

    • data (folder): Earlier, you added a .mol file to this folder.
    • j2s (folder)
    • js (folder)
    • MoleculeViewer.html (file): Earlier, you changed line 19 in this file.
  2. 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.

Create a Component in Studio
  1. In Studio, open the unit where you want to add the molecule viewer.

  2. Under Add New Component, select HTML, and then select IFrame Tool.

  3. In the component editor that opens, replace the existing content with your own text.

  4. In the toolbar, select HTML.

  5. 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>

  6. 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>

  7. Select OK to close the HTML Source Code box, and then select Save.

  8. Select Preview to see your component as a student would see it.

Multiple Choice Problem

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.

Overview

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.

Example Multiple Choice Problem

In the LMS, learners select a single answer option to complete a multiple choice problem. An example of a completed multiple choice problem follows.

An incorrectly answered multiple choice problem shown in the LMS. One of the answer options was incorrectly selected. An explanation appears below the answer options.

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>
Analyzing Performance on Multiple Choice Problems

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.

Pedagogical Considerations for Multiple Choice Questions

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.

  • Ungraded multiple choice questions can help students think about a concept in the context of knowledge transfer.
  • For many subject areas, authentic assessments are either unavailable or prohibitively complex to use. In such courses, multiple choice questions can act as the only available fall back.

Fortunately, multiple choice questions are among the best studied in assessment literature. A few guidelines for the creation of such questions follow.

  • Organize the set of answers logically. Use consistent phrasing for the answers, and when possible, parallel structure.
  • Place as many of the words in the stem as possible, and keep the answers as concise as possible.
  • The distractors should not be substantially shorter, longer, or use different structure than the correct answer. The answer options should be as consistent in structure, length, and phrasing as possible.
  • Avoid using negatives (and especially double negatives) in the question and the answers.
  • Test higher order thinking (comprehension and critical thinking). Avoid simple recall.
  • If you specify a finite number of attempts, avoid trick questions and try to keep wording clear and unambiguous.
  • Make all distractors plausible.
  • Use “All of the above” and “None of the above” answer options with caution. If a learner can identify at least two correct answers, it can give away the answer with only partial comprehension.

Adding a Multiple Choice Problem

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.

Use the Simple Editor to Add a Multiple Choice Problem

When you add a multiple choice problem, you can choose one of these templates.

  • Multiple Choice
  • Multiple Choice with Hints and Feedback

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.

  1. In the unit where you want to create the problem, under Add New Component select Problem.

  2. 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.

  3. Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.

  4. 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.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Use the Advanced Editor to Add a Multiple Choice Problem

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.

  1. Follow steps 1-3 for creating the problem in the simple editor.

  2. Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.

  3. 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.

  4. Update the OLX to add optional elements and attributes required for your problem.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Note

On editing and saving please make sure that a multiple choice problem is encapsulated inside <problem> tag. The problem will render correctly in Studio but will fail when exported and then imported to a course. For a sample XML structure, see Multiple Choice Problem OLX Reference.

Adding Feedback to a Multiple Choice Problem

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.

  • Add feedback to incorrect answers to target common misconceptions and mistakes.
  • Ensure feedback provides some guidance to the learner about how to arrive at the correct answer.
  • Add feedback for the correct answer to reinforce why the answer is correct. Because learners are able to guess, ensure that feedback provides a reason why the answer is correct for learners who might have selected that answer by chance.

You can add feedback in a multiple choice problem using the simple editor or the advanced editor.

Configuring Feedback in the Simple 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.}}
Configuring Feedback in the Advanced Editor

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>
Customizing Feedback Labels

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.

Customize Feedback Labels in the Simple Editor

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.}}
Customize Feedback Labels in the Advanced Editor

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>

Adding Hints to a Multiple Choice Problem

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.

Configure Hints in the Simple Editor

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.||
Configure Hints in the Advanced Editor

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>

Awarding Partial Credit in a Multiple Choice 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.

A multiple choice problem with partial credit for an incorrect answer.

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.

Configure a Multiple Choice Problem to Award Partial Credit

To configure a multiple choice problem to award partial credit for a specific answer, you add the following attributes to the problem OLX.

  • Add the partial_credit="points" attribute to the <multiplechoiceresponse> element.
  • For each answer that you intend to award partial credit, in the <choice> element set the value of the correct attribute to "partial".
  • Optionally, define the percentage of the problem score to award for each answer. Add the 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>

Multiple Choice Problem OLX Reference

Note

You can also set attributes and options by adding a <script> element. For more information, see Using the Script Element.

Template
<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>
Elements

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.

Attributes
Attribute Description
partial_credit Optional. Specifies that the problem can award partial credit. If used, must be set to "points".
Children
  • <label>
  • <description>
  • <choicegroup>
  • <solution>
<label>

Required. Identifies the question or prompt. You can include HTML tags within this element.

Attributes

None.

Children

None.

<description>

Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.

Attributes

None.

Children

None.

<choicegroup>

Required. Indicates the beginning of the list of answer options.

Attributes
Attribute Description
type Required. Must be set to "MultipleChoice".

Additional attributes are available to support advanced options.

Children

<choice>

<choice>

Required. Lists an answer option.

Attributes
Attribute Description
correct

Indicates a correct, incorrect, or partially correct answer.

  • When set to "true", the choice is a correct answer. At least one required.
  • When set to "false", the choice is an incorrect answer.
  • When set to "partial", the learner receives partial credit for selecting the 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.

Children

<choicehint>

<choicehint>

Optional. Specifies feedback for the answer.

Attributes

None.

Children

None.

<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.

<demandhint>

Optional. Specifies hints for the learner. For problems that include multiple questions, the hints apply to the entire problem.

Attributes

None.

Children

<hint>

<hint>

Required. Specifies additional information that learners can access if needed.

Children

None.

Advanced Options for Multiple Choice Problems

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.

Shuffle Answers in a Multiple Choice Problem

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.

Use the Simple Editor to Shuffle Answers

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.

Use the Advanced Editor to Shuffle Answers

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.

Targeted Feedback in a Multiple Choice Problem

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.

Use the Advanced Editor to Configure Targeted Feedback

You configure the problem to provide targeted feedback by editing the OLX in the advanced editor.

  • Add a targeted-feedback attribute to the <multiplechoiceresponse> element, with no value: <multiplechoiceresponse targeted-feedback="">.
  • Add an explanation-id attribute with a unique value to each of the <choice> elements: <choice correct="false" explanation-id="feedback1">.
  • You can use the <solution> element for the correct answer.
  • Add a <targetedfeedbackset> element after the <multiplechoiceresponse> element.
  • Within <targetedfeedbackset>, add one or more <targetedfeedback> elements.
  • Within each <targetedfeedback> element, add one of the unique identifying explanation-id attributes to map that feedback to a specific answer choice.
  • Within each <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>
Answer Pools in a Multiple Choice 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.

Use the Advanced Editor to Configure Answer Pools

You configure the problem to provide answer pools by editing the OLX for the problem in the advanced editor.

  • In the <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">.
  • If you include more than one correct answer among the options, for each correct answer add an explanation-id attribute with a unique value to the <choice> element: <choice correct="false" explanation-id="correct1">.
  • If you include more than one correct answer among the options, for each <solution> element, add an explanation-id attribute and a value that maps back to a specific correct answer. For example, <solution explanation-id="correct1">.
  • Place the <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>
Using the Script Element

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.

Use the Advanced Editor to Configure the Script Element

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>

Multiple Choice and Numerical Input 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.

Image of a multiple choice and numerical input problem

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.

Create a Multiple Choice and Numerical Input Problem

To create a multiple choice and numerical input problem, follow these steps.

  1. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
  2. Click Blank Advanced Problem.
  3. In the component that appears, click Edit.
  4. In the component editor, paste the code from below.
  5. Replace the example problem and response options with your own text.
  6. Click Save.

Multiple Choice and Numerical Input Problem Code

<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>

Notes Tool

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.

Image of a course page that includes highlighted text and a note.

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.

The Notes page, listing the notes a learner has made in the course.

You must enable the Notes tool before learners can use it. To enable the Notes tool, follow these steps.

  1. In Studio, select Settings, and then Advanced Settings.
  2. In the Enable Notes field, enter true.
  3. Select Save Changes.

For more information about the ways learners can use notes, see Taking Notes in an edX Course.

Numerical Input Problem

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.

Overview

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.

A learner typed n*x^(n-1) to enter the symbolic expression n times x to the n minus 1 power.

For more information about how learners enter expressions, see math formatting in the EdX Learner’s Guide or Completing Mathematical and Scientific Assignments in the Open edX Learner’s Guide.

Some of the options for numerical input problems include the following.

  • You can specify a correct answer explicitly or use a Python script.
  • You can specify a margin of error, or tolerance, for the answers to numerical input problems so that learners’ responses do not have to be exact.

Note

You can make a calculator tool available to your learners on every unit page. For more information, see Calculator Tool.

Example Numerical Input Problem

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.

A problem with one question, answered correctly, in the LMS.

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>
Analyzing Performance on Numerical Input Problems

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.

Adding a Numerical Input Problem

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.

  • If your problem text contains italics, bold, or special characters, the simple editor does not support these values. Use the advanced editor to add an HTML paragraph (<p>) element and HTML formatting tags as needed.
  • If your problem contains a Python script, use the advanced editor.

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.

A problem with two questions, both answered correctly in the LMS. One question uses italics and superscript in the question, and the other uses a script to determine the correct answer.

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.

Use the Simple Editor to Add a Numerical Input Problem

When you add a numerical input problem, you can choose one of these templates.

  • Numerical Input
  • Numerical Input with Hints and Feedback

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.

  1. In the unit where you want to create the problem, under Add New Component select Problem.

  2. 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.

  3. Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.

  4. 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.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Use the Advanced Editor to Add a Numerical Input Problem

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.

  1. Follow steps 1-3 for creating the problem in the simple editor.

  2. Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.

  3. 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.

  4. Update the OLX to add optional elements and attributes required for your problem.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Adding a Tolerance, Multiple Correct Responses, or a Range

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.

Adding a Tolerance

You can specify a margin of error or tolerance for learner responses. You can specify a percentage, number, or range.

Add a Tolerance in the Simple Editor

To add a tolerance in the simple editor you use the following Markdown formatting.

  • To specify a number on either side of the correct answer, after the answer value add +-{number}. For example, to include a tolerance of 5, add +-5.
  • To specify a percentage on either side of the correct answer, after the answer value add +-{number}%. For example, to include a 2% tolerance, add +-2%.
Add a Tolerance in the Advanced Editor

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>
Adding Multiple Correct Responses

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.

Add Multiple Correct Responses in the Simple Editor

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
Add Multiple Correct Responses in the Advanced Editor

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>
Specifying an Answer Range

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.

  • Use a bracket to include the number next to it in the range, as in a less than or equal to, or greater than or equal to, inequality.
  • Use a parenthesis to exclude the number from the range, as in a less than or greater than inequality.

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]">

Adding Feedback to a Numerical Input Problem

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.

Configure Feedback in the Simple Editor

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.

Configure Feedback in the Advanced Editor

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.

Customizing Feedback Labels

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.

Customize a Feedback Label in the Simple Editor

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.}}
Customize a Feedback Label in the Advanced Editor

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>

Adding Hints to a Numerical Input Problem

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.

Configure Hints in the Simple Editor

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.||
Configure Hints in the Advanced Editor

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>

Awarding Partial Credit in a Numerical Input 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.

A numerical input problem with partial credit for a close answer.

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.

Identifying Close Answers

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.

  • An answer within the tolerance receives 100% of the points for the problem.
  • An answer within or equal to 2x of the tolerance receives 50%.
  • An answer more than 2x the outside of the tolerance receives 0%.

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.

  • An answer within the tolerance receives 100% of the points for the problem.
  • An answer within or equal to 3x of the tolerance receives 50%.
  • An answer more than 3x outside of the tolerance receives 0%.
Configure Close Answers for a Numerical Input Problem

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>
Awarding Partial Credit for Answers in a List

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.

Configure a List for a Numerical Input Problem

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>

Add Text after the Numeric Response Field

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.

Three numerical input problems with text after the response field: "km", a percent sign, and a symbol for meters per second squared.

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>

Numerical Input Problem OLX Reference

Templates

The following templates represent problems without, and with, a Python script.

Problem with No Tolerance
<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>
Answer Created Using a Script

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>
Elements

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.

Attributes
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)”.

Children
  • <label>
  • <description>
  • <formulaequationinput>
  • <additional_answer>
  • <responseparam>
  • <correcthint>
  • <script>
  • <solution>
<label>

Required. Identifies the question or prompt. You can include HTML tags within this element.

Attributes

None.

Children

None.

<description>

Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.

Attributes

None.

Children

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.

Attributes
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.
Children

None.

<additional_answer>

Optional. Specifies an additional correct answer for the problem. A problem can contain an unlimited number of additional answers.

Attributes
Attribute Description
answer Required. The alternative correct answer.
Children

correcthint

<responseparam>

Specifies a tolerance, or margin of error, for an answer.

Attributes
Attribute Description
type Optional. "tolerance" defines a tolerance for a number.
default
Optional. A number or a percentage specifying a numerical or percent
tolerance.
partial_range Optional. For partial credit problems of type="close", a multiplier for the tolerance. Default is 2.
partial_answers
Optional. For partial credit problems of type="list", a comma-
separated list of values that are to receive 50% credit.
Children

None.

<correcthint>

Optional. Specifies feedback to appear after the learner submits the correct answer.

Attributes
Attribute Description
label Optional. The text of the custom feedback label.
Children

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.

Attributes
Attribute Description
type Required. Must be set to loncapa/python.
Children

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.

<demandhint>

Optional. Specifies hints for the learner. For problems that include multiple questions, the hints apply to the entire problem.

Attributes

None.

Children

<hint>

<hint>

Required. Specifies additional information that learners can access if needed.

Attributes

None.

Children

None.

Open Response Assessments

Introduction to Open Response Assessments

In open response assessments (ORA), learners submit essay responses and then go through a series of assessment steps (such as peer assessment and self assessment) to complete the assignment.

Note

Open response assessments that are visible to all learners do not respect cohorts. In other words, it is possible for learners in one cohort to be asked to grade responses for learners in another cohort. If you want to make an open response assessment divided by cohort, you must create that assessment in a course component that is defined as cohort-specific. For more information about cohorts and creating cohort-specific course content, see Using Cohorts in Your Courses and Creating Cohort-Specific Course Content.

The following topics provide conceptual information about open response assessments.

For information about creating and managing open response assessments, including step by step instructions, see the following sections.

For information about the learner experience with open response assessments, see sfd_ora in the edX Guide for Learners.

Elements of an Open Response Assessment

When you create an open response assessment assignment, you include several elements.

  • One or more prompts, or questions, that learners answer.
  • A rubric. One rubric is used to grade all the prompts in the assessment.
  • One or more assessment steps. Assignments can include a learner training step, a peer assessment step, a self assessment step, and a staff assessment step.

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.

Prompts

A prompt is the question that you want your learners to answer. You can add more than one prompt in an ORA assignment. In addition to requiring a written response, you can require or allow learners to upload an image or other type of file to accompany their written response.

Within each prompt, you can include helpful information for your learners, such as the approximate number of words or sentences that their responses should have, the types of files that they can upload, or what they can expect after they submit their responses. For more information, see Step 2. Add Prompts.

In the learner view of the assignment, each prompt appears above the field where learners enter their responses. For more information, see steps in an open response assessment.

Rubric

Your assignment must include a rubric. Grading for every type of assessment in an ORA assignment (self, peer, or staff) is done by comparing each response against the same rubric. You add one rubric for each problem, regardless of the number of prompts in the problem. The person performing the assessment sees the rubric when she begins grading, and compares the submitted response to the rubric.

A rubric consists of several criteria and a set of options for each criterion.

  • Criteria. Each criterion describes characteristics that a response should have. Examples are concepts that a response should cover, or the amount of supporting information that a response must include.

    Each criterion has a name and a prompt.

    • The criterion name is a one or two word summary of the criterion, such as “Content” or “Organization”. This name must be unique within the assignment and cannot be changed after you release the assignment.
    • The criterion prompt describes how to evaluate a response based on this criterion.
  • Options. Each criterion has a set of options, usually a range of ratings, which describe how well each response satisfies the criterion. For example a set of options might be “Fair”, “Good”, or “Excellent”.

    Each option has a name, an explanation, and a point value.

    • The option name is a one or two word summary of the rating.
    • The option explanation consists of details that help the person performing the assessment to decide whether the response matches the rating. Make sure the explanation for each option is as specific as possible.
    • The option point value is the number of grade points given for this option.

Note

Different criteria in the same assignment can have different numbers of options.

You can also include criteria that do not have options, but that do include a field where learners or staff can enter feedback. For more information, see Provide Only Comment Fields for Individual Criteria.

In a rubric as it appears to a learner, the following elements are visible.

  1. A criterion prompt
  2. The names of the criterion’s options
  3. Descriptions for each option
  4. The point value for each option
Image of a rubric in the LMS with call-outs for the criterion prompt and option names, explanations, and points.

Criterion names do not display in the rubric that learners use to perform their assessments, but do appear on the page that shows the learner’s final ORA assignment grade.

For information about creating a rubric, see Step 3. Add the Rubric.

An Example Criterion

In a rubric, one criterion and its set of options might resemble the following.

Criterion

Name: Origins

Prompt: Does this response explain the origins of the Hundred Years’ War? (5 points possible)

Options

Points Name Explanation
0 Not at all This response does not address the origins of the Hundred Years’ War.
1 Dynastic disagreement This response alludes to a dynastic disagreement between England and France, but doesn’t reference Edward III of England and Philip VI of France.
3 Edward and Philip This response mentions the dynastic disagreement between Edward III and Philip VI, but doesn’t address the role of Salic law.
5 Salic law This response explains the way that Salic law contributed to the dynastic disagreement between Edward III and Philip VI, leading to the Hundred Years’ War.
Assessment Steps

In your assignment, you also specify the assessment steps. You can set the assignment to include some combination of the following steps.

Note

If you include a learner training step, you must also include a peer assessment step. The learner training step must come before peer or self assessment steps. If you include both peer and self assessment steps, edX recommends that you place the peer assessment before the self assessment. If you include a staff assessment step, it should be the final step in the assignment.

You can see the type and order of the assessments when you look at the assignment. In the following example, after learners submit their responses, they complete a learner training step (“Learn to Assess Responses”), complete peer assessments on other learners’ responses (“Assess Peers”), and then complete a self assessment (“Assess Your Response”).

A peer assessment showing assessment steps.
Learner Training Step

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 "Learn to Assess Responses" step, with the number of example responses circled.

The learner selects an option for each of the assignment’s criteria, and then selects Compare your selections with the instructor’s selections. If all of the learner’s selections match the selections defined by the course team, the next sample response opens automatically.

If any of the learner’s selections differ from those specified by the course team, the learner sees the response again, with a message indicating that his assessment differs from the instructor’s assessment.

The learner continues to try scoring the sample response until his scoring for all criteria matches the scoring defined by the course team.

For more information, see Learner Training.

Peer Assessment Step

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.

Number of Responses and Assessments

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.

Feedback Options

By default, in peer assessment steps, learners can provide text feedback for the entire response, using a single comment field below the entire rubric. You can also add a comment field to an individual criterion or to several individual criteria. This comment field can contain up to 300 characters.

Comment fields for individual criterion appear below the options for the criterion.

For more information, see Step 3. Add the Rubric and Provide Only Comment Fields for Individual Criteria.

Assessing Additional Responses

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.

Self Assessment Step

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.

Staff Assessment Step

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.

How Scores for Open Response Assessments Are Calculated

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.

Peer Assessment Scoring

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.

Self Assessment Scoring

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.

Staff Assessment Scoring

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.

Top Responses

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.

Section that shows the text and scores of the top three responses for the assignment.

You can allow the Top Responses section to show between 1 and 100 responses. Keep in mind, however, that each response might be up to 300 pixels in height in the list. (For longer responses, learners can scroll to see the entire response.) EdX recommends that you specify 20 or fewer responses to prevent the page from becoming too long.

Note

It can take up to an hour for a high-scoring response to appear in the Top Responses list.

If a high-scoring response is removed from peer assessment it is also removed from the Top Responses list.

For more information, see Include Top Responses.

Best Practices for Open Response Assessments

Open response assessments can be a powerful teaching tool, but they are more effective in some situations than in others. In general, open response assessments are best suited to open-ended or project-based assignments with subjective essay answers and discussion. For example, open response assessments work well in humanities assignments where learners are encouraged to make subjective assessments of text, images, or other contributions, but they might not be the ideal tool in chemistry assignments where there are definitively correct or incorrect answers to questions.

Note

Do not add more than one ORA component in a course unit. Multiple ORA assignments in a unit cause errors when learners submit their assessments.

EdX suggests that you follow the guidelines and best practices in the following sections when you use open response assessments in your courses.

Designing the Assignment
  • 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.
  • Do not include 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 for course staff, use staff assessment steps only in assignments that are available to a limited number of learners. For example, in courses that have cohorts enabled, make the assignment containing the staff assessment step available only to members of one or more cohorts.
Grading and Rubrics
  • Make sure you have a well designed and clear rubric for the assignment. 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.
Peer Assessments
  • Set the Must Grade number higher than the Graded By number to minimize the chance that some responses will not be peer assessed. EdX recommends a setting such as Must Grade = 4 and Graded By = 3.

  • To allow enough time for peer assessments to be performed after learners have submitted their own responses, set the response due date and time at least one week before the peer assessment due date and time.

    If the response due time and peer assessment due time are too close together, and a learner submits a response just before responses are due, other learners may not have time to perform peer assessments before peer assessments are due.

  • Use course discussion posts to provide guidance for peer grading of ORA assignments.

  • Consider extending due dates to allow the discussion moderation team to monitor course discussions for questions about, or reactions to, peer grading, and to address issues when necessary.

    If learners raise concerns about ORA assignments in course discussions, course team members can perform actions such as deleting a learner’s history, or “state” for a problem so that he can submit his assignment again, overriding a learner’s grade, or removing a learner response from peer grading. If there are more widespread issues with peer grading, the course team can reduce the weight of the peer assessment within the final course grade or allow learners to drop the lowest graded assignment from their grades.

Asking Learners to Upload Files in Responses

In ORA assignments, you can ask your learners to upload images, .pdf files, or other types of files as a part of their responses. Other learners evaluate the responses and their accompanying files during the peer assessment. Offering the option to upload files in addition to a text response can give learners the opportunity to use tools and develop skills that are relevant to your course.

Before you decide to ask learners to upload files along with their text responses, however, be aware of the following limitations and best practices.

  • During the peer assessment step, learners download the files that other learners uploaded. To reduce the potential for problems from files with malicious content, learners cannot upload files with certain file extensions. For a complete list, see Prohibited File Extensions.
  • Course teams can only access uploaded files for one learner at a time. Uploaded file content is not included in the reports of answer submissions that are available from the instructor dashboard, and course data packages do not include any of the uploaded files.
  • The cumulative size of all uploaded files must be less than 10 MB.
  • Image files must be in .jpg, .gif, or .png format.

For more information, see Specify the Response Type.

Prohibited File Extensions

Learners cannot upload file types that have the following file name extensions as part of an open response assessment on edx.org or edX Edge. When you define a set of custom file types for learners to upload with their responses, you cannot specify these file types. The extensions on this list are selected and maintained by the development operations team at edX, and are subject to change.

This set of file name extensions is provided as the default for Open edX installations. Open edX system administrators can update this list. For more information, see Prohibiting Submission of Specified File Types.

A through I .action, .apk, .app, .application, .bat, .bin, .cmd, .com, .command, .cpl, .csh, .dmg, .exe, .gadget, .hta, .inf, .ins, .inx, .ipa, .isu
J through P .jar, .job, .jse, .lnk., msc, .msh, .msh1, .msh2, .mshxml, .msh1xml, .msh2xml, .msi, .msp, .mst, .osx, .out, .paf, .pif, .prg, psc1, .psc2, .ps1, .ps1xml, .ps2, .ps2xml
Q through Z .reg, .rgs, .run, .scf, .scr, .sct, .shb, .shs, .u3p, .vb, .vbe, .vbs, .vbscript, .workflow .ws, .wsc, .wsf, .wsh

Create an Open Response Assessment Assignment

Creating an open response assessment (ORA) assignment is a multi-step process. This section covers each step in detail.

In addition, see these other topics about different aspects of open response assessments.

Step 1. Add the Component

To add the open response assessment component to your course, complete these steps.

Note

Do not add more than one ORA component in a course unit. Multiple ORA assignments in a unit cause errors when learners submit their assessments.

  1. In Studio, open the unit where you want to create the open response assessment.

  2. Under Add New Component, select Problem.

  3. Select Advanced, and then select Open Response Assessment.

  4. 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.

  5. 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.

Step 2. Add Prompts

You can format text and add images inside an open response assessment prompt the same way you would for an HTML component. For more information, see The Visual Editor.

To add prompts, or questions, to your ORA assignment, complete these steps.

  1. In the open response assessment component editor, select Prompt.
  2. Replace the example prompt with your prompt.
  3. To add another prompt in the assignment, select Add a Prompt, and then repeat step 2.
Step 3. Add the Rubric

In this step, you add your rubric to provide guidance for assessing responses within the assignment. You add one rubric for each problem, regardless of the number of prompts in the problem.

Note

The most effective rubrics for peer grading are written in clear, simple language, have concrete details, and are as specific as possible. Many novice learners will find it diffidult to make the types of value judgments required by more holistic rubrics.

For each step below, replace any default text with your own text.

Note

All open response assessments include a feedback field below the rubric so that learners can provide written feedback on a peer’s overall response. You can also allow or require learners to provide feedback for individual criteria. See step 4 in the following procedure for instructions. For more information, see Feedback Options.

To add the rubric, follow these steps.

  1. In the ORA component editor, select the Rubric tab.

  2. In the first Criterion section, enter the name and prompt text of your first criterion.

  3. In the Option sections for this criterion, for each option that you provide for the criterion enter a name, explanation, and point value.

    To remove options, select Remove at the top right of the option section.

    To add more options, select Add Option.

  4. Next to Feedback for This Criterion, select a value in the dropdown list.

    • If you do not want to allow feedback for this individual criterion, select None.
    • To require feedback for this criterion, select Required.
    • To allow feedback, but not require it, select Optional.
  5. Repeat steps 2-4 to create additional criteria. To add more criteria than provided for in the template, select Add Criterion at the end of the list of criteria.

  6. Under Feedback for This Response, add instructions for learners to provide overall written feedback on responses that they assess. You can leave the default text in the Feedback Instructions and Default Feedback Text fields, or replace it with your own text.

Note

After you publish an ORA assignment, you can no longer change the structure of the rubric or the point values associated with each criterion in the rubric. If you correct typographical errors in the text of the rubric, only learners who have not yet started the assignment will see the corrections. However, you can modify due dates and the weight of the ORA assignment after you publish an ORA assignment.

Provide Only Comment Fields for Individual Criteria

For an individual criterion, you can omit options, but if you do not include options, you must include the ability to add feedback comments.

To provide a comment field without options, complete these steps.

  1. In the ORA component editor, select the Rubric tab.
  2. In the Criterion section for the criterion that you want to only provide a comment field for, select Remove to remove each option.
  3. Next to Feedback for This Criterion, select Required from the list.
Step 4. Specify Additional Settings

After you have added a prompt and rubric, you must specify additional settings for the assignment. These settings include the type of response that learners must submit, assignment dates, and whether learners will see a list of top scoring responses.

Specify a Name and Dates

Before you specify the start and due dates and times for a response, be sure that you consider these aspects of, and best practices for, the open response assessment feature. For more information, see Best Practices for Open Response Assessments.

  • Unlike other problem types, ORA assignments are not governed by the subsection due date. You set due dates for each ORA assignment in the assignment’s settings.
  • The grace period that you can set for the course does not apply to ORA assignments. For more information about the grade period setting, see Set the Grace Period.
  • You should allow sufficient time for peer assessments to be performed after learners have submitted their own responses. EdX recommends that you allow at least one week between the due date for responses and the due date for peer assessments. 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.
  • The times that you set are in Coordinated Universal Time (UTC). To verify that you have specified the times that you intend, use a time zone converter such as Time and Date Time Zone Converter.

To specify a name for the assignment as well as start and due dates for all learner responses, follow these steps.

  1. In the ORA component editor, select Settings.
  2. Next to Display Name, enter the name you want to give the assignment.
  3. Next to Response Start Date and Response Start Time, enter the date and time when you want learners to be able to begin submitting responses.
  4. Next to Response Due Date and Response Due Time, enter the date and time by which all learner responses must be submitted.
Specify the Response Type

Learners can submit written responses, files, or both in their responses to the assigment. If you want learners to upload files, make sure the text of your prompt includes adequate instructions for learners to upload the required files, including the file types that learners can upload.

Note

Before you ask learners to submit files for your open response assessment, be sure to read about limitations and best practices. For more information, see Asking Learners to Upload Files in Responses.

If you allow or require learners to upload image files, learners must also provide a brief written description of each image for accessibility.

To specify the response type that learners must submit, follow these steps.

  1. In the ORA component editor, select Settings.

  2. For Text Response, select one of the following options.

    • None
    • Required
    • Optional
  3. For File Uploads Response, select one of the following options.

    • None
    • Required
    • Optional

    If you select Required or Optional, the File Upload Types list appears. Select one of the following options.

    • PDF or Image Files
    • Image Files
    • Custom File Types

    If you select Custom File Types, the File Types field appears. Enter the file name extensions, separated by commas, of the types of files that you want learners to submit.

    Note

    To reduce the potential for problems from files with malicious content, learners cannot upload certain file types. For more information, see Prohibited File Extensions.

  4. For Allow LaTeX Responses, select True or False.

Include Top Responses

You can specify whether learners see a section that shows the highest scoring responses that were submitted for each question in the assignment. If offered, this section displays only after each learner has completed all steps in the assignment. You specify the number of highest scoring responses to show.

Note

Because each response can be up to 300 pixels in height, we recommend that you set the number of top responses lower than 20, to prevent the page from becoming too long.

  1. In the ORA component editor, select Settings.

  2. In the Top Responses field, specify the number of responses that you want to appear in the Top Responses section below the learner’s final score.

    If you do not want this section to appear, set the number to 0. The maximum number is 100.

Step 5. Select Assignment 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.

  1. In the ORA component editor, select the Settings tab.

  2. Scroll below the Top Responses field.

  3. Locate the following headings.

    • Step: Learner Training
    • Step: Peer Assessment
    • Step: Self Assessment
    • Step: Staff Assessment

    Select the check boxes for the steps that you want the assignment to include.

  4. (optional) To change the order of the steps, drag the steps into the order that you want.

Step 6. Specify Step Settings

After you select the steps that you want, you can specify settings for those steps.

Note

If you make changes to a step, and then clear the check box for that step, the step will no longer be part of the assignment and your changes will not be saved.

Learner Training

For the learner training step, you enter one or more example responses that you have created, then specify the expected option for each criterion in your rubric.

Note

You must enter your complete rubric on the Rubric tab before you can select options for the learner training responses. If you later change one of your criteria or any of its options, you must also update the learner training step.

To add and score learner training responses, follow these steps.

  1. Under Step: Learner Training, locate the first Scored Response section.
  2. In the Response field, enter the text of your example response.
  3. Under Response Score, for each criterion, select the option that you want.
Peer Assessment

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.

  1. Locate the Step: Peer Assessment heading.
  2. Next to Must Grade, enter the number of responses that each learner must grade.
  3. Next to Graded By, enter the number of learners that must grade each response.
  4. Next to Start Date and Start Time, enter the date and time when learners can begin assessing their peers’ responses.
  5. Next to Due Date and Due Time, enter the date and time by which all peer assessments must be completed.

Note

The times that you set are in Coordinated Universal Time (UTC). To verify that you have specified the times that you intend, use a time zone converter such as Time and Date Time Zone Converter.

Additionally, the course grace period setting does not apply to open response assessments. For more information about the grace period setting, see Set the Grace Period.

For more information about peer assessment steps, see Peer Assessment Step.

Self Assessment

For the self assessment step, you specify when the step starts and ends.

  1. Locate the Step: Self Assessment heading.
  2. Next to Start Date and Start Time, enter the date and time when learners can begin assessing their peers’ responses.
  3. Next to Due Date and Due Time, enter the date and time by which all peer assessments must be complete.

Note

The times that you set are in Coordinated Universal Time (UTC). To verify that you have specified the times that you intend, use a time zone converter such as Time and Date Time Zone Converter.

Additionally, the course grace period setting does not apply to open response assessments. For more information about the grace period setting, see Set the Grace Period.

Staff Assessment

For the staff assessment step, there are no additional settings to specify after you have selected the step for inclusion in the assignment.

Step 7. Test the Assignment

To test your ORA assignment, you can set up the assignment in your course, set the section or subsection date in the future, publish the unit, and ask one or more beta testers to submit responses and grade each other. The beta testers can then let you know if they found the question and the rubric easy to understand or if they had any problems with the assignment.

For more information about beta testing, see Beta Testing a Course.

Managing Open Response Assessment Assignments

After you publish an open response assessment (ORA) assignment and learners start to submit responses and perform assessments, members of the course team can take the following actions.

The following topics provide additional information about open response assessments.

View a Specific Learner’s Response and Assessments

You can view the following information about an individual learner’s open response assessment assignment.

  • The text of the learner’s response, including any files that the learner uploaded.
  • The peer assessments that other learners performed on the learner’s response, including feedback on individual criteria and on the overall response.
  • The peer assessments that the learner performed on other learners’ responses, including feedback on individual criteria and on the overall responses.
  • The learner’s self assessment.
  • The learner’s grade for the assignment.
  • An override grade provided by course staff.

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.

Access a Specific Learner’s Information

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.

  1. View the live version of your course in the LMS, and then go to the ORA assignment.

  2. Scroll to the end of the problem, and then select Manage Individual Learners.

  3. Enter the learner’s username or email address, and then select Submit.

    The Manage Individual Learners dialog box updates with expandable sections for each of the assessment steps in the assignment and other actions you can take on the learner’s response. Only the types of assessment steps (self, peer, or staff) that are included in the assignment are shown.

    If the learner uploaded files along with her response, select View the files associated with this submission to review or download the files.

  4. Select any of the section headings to expand that section.

The expandable sections on the Manage Individual Learners page.
Perform Staff Assessments in an ORA Assignment

When a staff assessment is included in an open response assessment assignment, course team members see a Grade Available Responses option at the end of the assignment in the course, and learners see a Staff Assessment step in their assignment. For information about the possible assessment steps in an ORA assignment, see Assessment Steps.

Submitting a staff assessment has the following results.

  • The score that you give a learner in a staff assessment overrides scores from any other assessment type in the assignment.
  • Peer assessments that are completed before or after your staff assessment have no effect on the learner’s final assignment grade.

To perform a staff assessment in an assignment, follow these steps.

  1. View the live version of your course in the LMS, and then go to the ORA assignment.

  2. 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.

  3. Select the Staff Assessment heading to open a response that is available for grading.

  4. Perform an evaluation of the response using the problem’s rubric.

  5. 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.

Override a Learner’s Assessment Grade

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.

  • The score that you give a learner in an override assessment overrides scores from any other assessment type in the assignment.
  • Any steps that the learner did not complete for the assignment are marked as complete.
  • Peer assessments that are completed before or after your staff assessment have no effect on the learner’s final assignment grade.

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.

Perform an Override Assessment

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.

  1. View the live version of your course in the LMS, and then go to the ORA assignment.

  2. Scroll to the end of the problem, then select Manage Individual Learners.

  3. 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.

  4. Select Submit Assessment Grade Override.

  5. Perform an assessment of the learner’s response using the problem’s rubric.

  6. 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.

Remove a Learner’s Response

In a course that contains assignments with peer assessment steps, learners might alert you to inappropriate responses that they have seen while performing peer assessments. In such a situation you can locate and remove the response. Doing so removes the response so that it is no longer shown to other learners for peer assessment.

Note

Removing a learner’s response is an irreversible action.

When you remove a response, the response is immediately taken out of the pool of submissions available for peer assessment. If the inappropriate response has already been sent to other learners for peer assessment, it is also removed from their queues. However, if any learner has already graded the inappropriate response, it is counted as one of the submissions they have graded.

Note

After you remove an inappropriate response, you can decide whether the learner who submitted that response is allowed to submit a replacement response.

If you do not want to allow the learner to submit a replacement response, you do not need to take any additional action. The learner receives a grade of zero for the entire submission.

To allow the learner to resubmit a response for a cancelled submission, you must delete the learner’s state for the problem.

To remove a submitted response, follow these steps.

  1. Identify the learner who submitted the inappropriate response by following the steps in the Locate a Specific Submission in an ORA Assignment topic.

  2. 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.

  3. Scroll to the end of the problem, and then select Manage Individual Learners.

  4. 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.

  5. Select Remove Submission from Peer Grading.

  6. Enter a comment to explain the removal. The learner sees this comment when she views her response in the open response assessment problem.

    Dialog allowing comments to be entered when removing a learner submission.
  7. 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.

  8. 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.

In Manage Individual Learners, the date, time and comment for removal of a learner response is shown instead of the original response.

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.

In a learner's view of the assignment, all steps have a status of Cancelled, and the learner sees the date, time and comment given for the removal of his submission.
Locate a Specific Submission in an ORA Assignment

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.

  1. Ask the person who reported the incident to send you a sample of text from the inappropriate response.
  2. Generate an ORA data report.
  3. Search the report for text that matches the sample text from the inappropriate response.
  4. From any matching entries in the spreadsheet, locate the username of the learner who posted the submission.
  5. Make a note of the username, and follow the steps to remove a learner response from peer grading.

Accessing Metrics for ORA Assignments

After you release an open response assessment assignment, you can access various metrics for the assignment or for all open response assessment assignments in the course. For example, you can view the number of learners in each step of the assignment or in possible states such as “Waiting” or “Completed” within the assignment. In addition to viewing metrics for the assignment or for assignments in a course, you can also access assignment details for an individual learner, or generate a report containing learner and response details for ORA assignments in the course.

For information about tasks that you can perform on learner responses in an ORA assignment, including performing a grade override assessment or cancelling a learner’s submission, see Managing Open Response Assessment Assignments.

View Statistics for All ORA Assignments in a Course

To view metrics about all of the ORA assignments in a course, follow these steps.

  1. View the live version of the course.
  2. Select Instructor to open the instructor dashboard.
  3. On the instructor dashboard, select Open Responses.

The Open Responses tab of the instructor dashboard displays the following information.

  • The number of course units that include an ORA assignment.
  • The number of ORA assignments in the course.
  • The total number of submitted responses.
  • The number of learners who are in each of the training, peer, self, and staff workflow states.
  • The number of learners who have received a final grade.

The Open Responses tab also displays the same information for each separate ORA assignment in the course, grouped by the course units that include ORA assignments.

View Statistics for a Single ORA Assignment

To view metrics about learners in a single ORA assignment, including the number who are active in each step, follow these steps.

  1. Open the ORA assignment in the course.

  2. 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.

The View Assignment Statistics page shows the number of active learners in each step, the number of learners in the Waiting, Done, and Cancelled states, and the start and due dates for each step.
Generate a Report for ORA Assignments

To generate a report containing details of the ORA assignments in the course, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. In the Reports section, select Generate ORA Data Report.

    A status message indicates that the ORA data report is being generated. This process might take some time to complete, but you can navigate away from this page and do other work while it runs.

    To check the progress of the report generation, reload the page in your browser and scroll down to the Pending Tasks section. The table shows the status of active tasks.

    When the report is complete, a linked .csv file name becomes available above the Pending Tasks section. File names are in the format {course_id}_ORA_data_{datetime}.csv. The most recently generated reports appear at the top of the list.

  4. 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.

Interpret the ORA Data Report

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.

An example ORA data report shown in Excel.

The .csv file contains one row of data for each response from a learner.

  • The IDs in the Submission ID and Item ID columns uniquely identify the problem within the course content and the learner’s submission for that problem.

  • The Anonymized Student ID column lists an ID for each learner without revealing confidential, personally identifiable data such as email addresses and usernames.

  • The Date/Time Response Submitted column displays the date and time that the learner submitted her response, in YYYY-MM-DD HH-MM-SS format.

  • The Response column displays the content of the learner’s response.

  • The Assessment Details column displays the following details for the assessments that were performed on the response.

    • The time and date that the assessment was submitted.
    • The type of assessment: self (SE), peer (PE), staff (ST).
    • The ID of the person who performed the assessment.
    • Any text comments about the response that were included in the assessment.
  • 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.

Oppia Exploration Tool

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.

Overview

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.

An Oppia exploration in the course.

For information about how to create Oppia explorations, see the Oppia User Documentation.

Enable the Oppia Exploration Tool

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.

Add an Oppia Exploration in Studio

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.

  1. On the Course Outline page, open the unit in an ungraded subsection where you want to add the exploration.

  2. Under Add New Component, select Advanced, and then select Oppia Exploration. The new component is added to the unit.

  3. In the new component, select Edit.

    The Edit component dialog box for an Oppia exploration in Studio.
  4. 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.

  5. In the Oppia Exploration ID field, enter the identifier assigned to the exploration you want to add. For example, qG6kclSxlWZn or gC4_ggkWar-L.

  6. In the Oppia Server URL field, enter the host site of the exploration you want to add. For example, www.oppia.org.

  7. 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.

Peer Instruction Tool

Note

EdX offers full support for this tool.

The Peer Instruction learning system provides students with in class opportunities to discuss questions and arrive at a deeper understanding of concepts. The peer instruction tool emulates this classroom experience for the learners in an online course.

For more information about the Peer Instruction learning system, consult the Turn to Your Neighbor blog.

Assignment Overview

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.

  1. An initial response, which includes both an answer choice and a written explanation for that choice.
  2. Review of responses submitted by several other course participants.
  3. A final response, which also includes an answer choice and revised explanation.

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.

Designing an Online Peer Instruction Assignment

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.

    • The random algorithm presents the specified number of responses without regard to the associated answer choices. The responses shown to a learner might include explanations for each of the answer choices, or it might include several explanations for one choice and none for another choice.
    • The simple algorithm includes an additional step to minimize repeated and missed responses for the different answer choices. Explanations are presented for as many different answer choices as possible for the number of responses specified.

After your design is complete, you use Studio to add the assignment to your course.

Note

You might consider including an HTML component before the peer instruction component to describe the workflow that learners will experience in this assessment type. You might also consider including a content-specific discussion component after the peer instruction component to give learners an opportunity to continue the conversation.

For more information about how learners experience peer instruction assignments, see interactive_multiple_choice in the EdX Learner’s Guide or Explaining Multiple Choice Answers in the Open edX Learner’s Guide.

Enable the Peer Instruction Tool

Before you can add a component to your course structure for a peer instruction assignment, you must enable the peer instruction tool for your course.

To enable the peer instruction tool in Studio, you add the "ubcpi" key to the Advanced Module List on the Advanced Settings page. Be sure to include quotation marks around the key value. For more information, see Enabling Additional Exercises and Tools.

Note

This tool was developed and contributed to the edX platform by the University of British Columbia.

Adding a Peer Instruction Assignment in Studio

Upload Images (Optional)

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.

Add a Peer Instruction Component

After you enable the peer instruction tool for your course, you can add the component for a peer instruction assignment.

  1. On the Course Outline page, locate the subsection where you want to add the assignment and add or open a unit.

  2. 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.

    A peer instruction assignment in Studio that uses the template.
  3. Select Edit.

  4. 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.

  5. Select Save, or continue on to replace the template information with the details for this assignment.

Add the Assignment Details

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.

  1. In the new component, select Edit.

  2. For the assignment question, enter text, add an image, or both.

    • To add text, enter the question that you want learners to consider in the Question Text field.
    • To add an image, follow these steps.
      1. Select Add Image to Question. Additional fields appear.
      2. In the Image URL field, paste or enter the Studio URL from the Files & Uploads page.
      3. Specify the Image Position. If your question does not include text, Appears above and Appears below have the same result.
      4. Provide a description of the image. This description should provide enough detail so that learners who cannot see the image, and who rely on screen readers to complete your course, can understand the question.
  3. 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).

  4. 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.

    • If your question has more than three answer choices, select Add New Answer and then enter the answer. You can include up to 10 answer choices.
    • To delete an answer choice, select the X next to the text field for that answer.
  5. Specify which of the answer choices is the correct answer. Alternatively, you can choose to not specify a correct answer by selecting “n/a”. You identify the correct answer choice by its assigned number: to indicate Answer 1 you select Option 1, for Answer 2 you select Option 2, and so on.

  6. Enter a text explanation that describes why the specified answer choice is correct. This is optional if you have chosen to not specify a correct answer.

  7. Configure how, and how many, peer responses to show to learners after they submit an initial response.

    • To guide selection of the responses to show, select either Random or Simple. For more information, see Designing an Online Peer Instruction Assignment.
    • Specify how many responses learners should be given to review. The default, #, shows learners the same number of responses as there are answer options.
  8. 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.

    • If your question has more than three answer choices, you select Add New Example, and then identify the answer choice and enter the example explanation for each of the other answer choices.
    • To delete an example explanation, select the X next to the list of numbered choices.
  9. Select Save.

    If Save is not available, an edit check has detected incomplete or invalid information in the component editor. Review your entries to make sure that each field has an entry (as appropriate), and that you have provided an example explanation for each answer choice. For information about the error found, move your cursor over the question mark that appears next to Save.

Reviewing a Histogram of Learner Responses

When learners submit their final answer choices and revised explanations, the peer instruction tool displays the correct answer, if you have specified one, and its explanation (if applicable). The learner’s initial answer and response, and final answer and response, follow.

As soon as 10 learners complete the assignment, the peer instruction tool displays a pair of class breakdown histograms. These histograms show how frequently learners selected each of the options, before and after they reviewed the responses submitted by other class participants.

Class breakdown histograms showing an increase in correct answer frequency.

Periodic Table Tool

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.

Image of the interactive periodic table

Create the Periodic Table Tool

To create a periodic table, you need the following files:

  • Periodic-Table.js
  • Periodic-Table.css
  • Periodic-Table-Colors.css
  • PeriodicTableHTML.txt

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.

  1. Upload all of the files listed above except PeriodicTable.txt to the Files & Uploads page in your course.
  2. In the unit where you want to create the problem, click HTML under Add New Component, and then click HTML.
  3. In the component that appears, click Edit.
  4. In the component editor, switch to the HTML tab.
  5. Open the PeriodicTable.txt file in any text editor.
  6. Copy all of the text in the PeriodicTable.txt file, and paste it into the HTML component editor. (Note that the PeriodicTableHTML.txt file contains over 6000 lines of code. Paste all of this code into the component editor.)
  7. Click Save.

Poll Tool

Note

EdX offers full support for this tool.

This section describes how to include polls in your course.

Overview

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.

The poll component in Studio, showing the default example poll.

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.

A poll showing results after the learner has submitted a response.

Enable the Poll Tool

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.

Enable the Poll Tool in OLX

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="[&quot;survey&quot;,
    &quot;poll&quot;]" display_name="Sample Course"
    start="2015-01-01T00:00:00Z">
    ...
</course>

Add a Poll in edX Studio

You must enable the poll tool before you add the component.

  1. On the Course Outline page, open the unit where you want to add the poll.

  2. Under Add New Component click Advanced, and then select Poll.

    The new component is added to the unit, with a default example poll that contains several answer fields.

    The poll component in Studio.
  3. In the new component, select Edit.

  4. In the Display Name field, enter the name for the component.

  5. In the Question/Prompt field, enter text that learners see above the poll. You can use Markdown in this field.

  6. In the Feedback field, enter text that learners see after they submit a responses. You can use Markdown in this field.

  7. 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.

  8. 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.

  9. Configure answers for the poll.

    1. In each Answer field, enter the answer text that learners see.
    2. You must enter either text or an image path, or both, for each answer. To enter an image, use the Studio URL for the image.
    3. If you use an image, you must enter useful alternative text in the Image alternate text field for non-sighted users.
    4. To add answers, select Add answer at the bottom of the editor. New answers are added at the bottom of the list.
    5. To change the order of answers, select the up and down buttons next to each answer.
    6. To remove an answer, select Delete next to the answer.
  10. Select Save.

Add a Poll in OLX

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="[
             [&quot;R&quot;,
               {
                 &quot;img&quot;: &quot;/static/image.png&quot;,
                 &quot;img_alt&quot;: &quot;Alt 1&quot;,
                 &quot;label&quot;: &quot;Red&quot;
               }
             ],
             [&quot;B&quot;,
               {
                 &quot;img&quot;: &quot;/static/image.png&quot;,
                 &quot;img_alt&quot;: &quot;Alt 2&quot;,
                 &quot;label&quot;: &quot;Blue&quot;
               }
             ],
             [&quot;G&quot;,
               {
                 &quot;img&quot;: &quot;/static/image.png&quot;,
                 &quot;img_alt&quot;: &quot;Alt3&quot;,
                 &quot;label&quot;: &quot;Green&quot;
               }
             ],
             [&quot;O&quot;,
               {
                 &quot;img&quot;: &quot;/static/image.png&quot;,
                 &quot;img_alt&quot;: &quot;Alt 4&quot;,
                 &quot;label&quot;: &quot;Other&quot;
               }
             ]
           ]
"/>
poll Element Attributes

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.

  • img, the static URL of the answer image.
  • img_alt, the alternative text for the image.
  • label, the answer text.

Each answer must have a value for img or label, or both.

Editing Published Polls

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.

  • If you edit the value of an answer, previous submissions are associated with the new answer value. This change can result in an inaccurate picture of the responses.
  • If you change the poll so that previous submissions are invalid, by removing an answer, those submissions are deleted when learners next view the unit. Learners with invalid submissions can submit new responses.

View Poll Results

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.

A poll with the View Results button for course staff.

The results of the poll are then displayed.

A poll showing results after the learner has submitted a response.

Poll Tool for OLX

Note

EdX does not support this tool.

You can run polls in your course so that your students can share opinions on different questions.

_images/PollExample.png

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.

Terminology

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.

Create a Poll

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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>
    
  6. 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>
    
  7. After you add the poll code, save and close the .xml file.

  8. Re-package your course as a .tar.gz file.

  9. In Studio, re-import your course. You can now review the poll question and answers that you added in Studio.

Note

  • Although polls render correctly in Studio, you cannot edit them in Studio. You will need to follow the export/import process outlined above to make any edits to your polls.
  • A .csv file that contains student responses to the problem is not currently available for polls. However, you can obtain the aggregate data directly in the problem.

Format description

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”.

poll_question tag

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)
answer tag

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.

Example

Example of poll
<poll_question name="second_question" display_name="Second question">
    <h3>Age</h3>
    <p>How old are you?</p>
    <answer id="less18">&lt; 18</answer>
    <answer id="10_25">from 10 to 25</answer>
    <answer id="more25">&gt; 25</answer>
</poll_question>
Example of poll with unable reset functionality
<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>

Problem with Adaptive Hint

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.

Image of a problem with an adaptive hint

Create a Problem with an Adaptive Hint

To create the problem illustrated above, follow these steps.

  1. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
  2. Click Problem with Adaptive Hint.
  3. In the component that appears, click Edit.
  4. In the component editor, replace the example code with the code below.
  5. Click Save.
<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 = "&lt;font color='blue'&gt;Hint: {0}&lt;/font&gt;".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 with Adaptive Hint XML

Template
<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 = "&lt;font color='blue'&gt;Hint: {0}&lt;/font&gt;".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.

Tags
  • <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"/>).

Problem Written in LaTeX

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.

Image of a problem written in LaTeX

Create a Problem Written in LaTeX

To create a problem written in LaTeX, follow these steps.

  1. Enable the policy key in your course.
    1. In Studio, click Settings, and then click Advanced Settings.
    2. In the field for the Enable LaTeX Compiler policy key, change false to true.
    3. At the bottom of the page, click Save Changes.
  2. In the unit where you want to create the problem, click Problem under Add New Component, and then click the Advanced tab.
  3. Click Problem Written in LaTeX.
  4. In the component editor that appears, click Edit.
  5. In the lower left corner of the component editor, click Launch LaTeX Source Compiler.
  6. Replace the example code with your own code. You can also upload a Latex file into the editor from your computer by clicking Upload in the bottom right corner.
  7. In the lower left corner of the LaTeX source compiler, click Save & Compile to edX XML.

Protex Protein Builder Tool

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.

Image of the protein builder

Create the Protein Builder Tool

To create the protein builder, follow these steps.

  1. Under Add New Component, click Problem, and then click Blank Advanced Problem.
  2. In the component that appears, click Edit.
  3. In the component editor, paste the problem component code from the section that follows.
  4. Make any changes that you want, and then click Save.

Protein Builder Tool Code

<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

Qualtrics Survey Tool

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.

A Qualtrics survey with several responses filled in.

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.

Add a Qualtrics Survey to Your Course

To add a Qualtrics survey to your course, you must create the survey in Qualtrics, and then create an HTML component in Studio.

Create the Qualtrics Survey

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.

  1. Using your Qualtrics account, create your survey.

  2. Add the statements and options that you want the survey to include.

  3. Add the user ID element. This element imports data from your course into Qualtrics.

    1. At the top of the page, make sure the Edit Survey tab is selected, and then select Survey Flow.
    2. In the upper left corner, select Add a New Element Here.
    3. Select Embedded Data.
    4. Under Set Embedded Data, replace Enter Embedded Data Field Name Here with uid.
    5. Select Save Flow.
  4. At the top of the page, make sure Edit Survey is selected, and then select Launch Survey.

  5. On the page that opens, select Activate Survey in the upper right corner.

  6. 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.

Create the HTML Component in Studio
  1. Open the unit where you want the survey to appear.

  2. Under Add New Component, select HTML, and then select IFrame Tool.

  3. Select Edit to open the component editor, and then select HTML in the menu bar.

  4. 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, replace Euler 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 and height attributes with values that allow your survey to appear the way you want it to. For example, you might change width to 800 and height to 1000.

  • (Optional) If your survey might be taller than the value that you set for height, in the scrolling attribute, change the value to yes. If you do not change the value to yes and your survey is taller than the height 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.

  1. In the component editor, delete all of the default instructional text, or replace it with introductory text for your Qualtrics survey.
  2. Select Save.

View Survey Responses

You can view both overall survey responses and responses for individual learners.

View Overall Responses

To view your overall survey results and analyze data, open your survey on the Qualtrics website.

View Survey Responses for an Individual Learner

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.

Download Data from the Instructor Dashboard
  1. In the LMS, select Instructor.

  2. Select Data Download.

  3. 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.

  4. Under Reports, select Download profile information as a CSV.

  5. 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.

Download Data from Qualtrics

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.

  1. In Qualtrics, select the View Results tab.
  2. On the page that opens, select Download Data in the upper left corner of the page.
  3. On the page that opens, clear the Compress the desired format into a .zip file before downloading check box. Accept all the other default values.
  4. Under Format, select the This is a Comma Separated Values format… link to download the .csv file.
Review the Data

To associate learners’ responses with their learner profiles, open the three .csv files that you have downloaded in a program such as Microsoft Excel.

  • The Qualtrics file has a uid column that contains each learner’s anonymized ID, as well as columns that contain each learner’s answers to the survey.
  • The anonymized user ID file (<course name>_<course number>_<year>_<term >_anon-ids.csv) contains each learner’s anonymized ID and the learner’s edX user ID.
  • The student profile data file (<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.

Randomized Content Blocks

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.

Use Components from Libraries in a Course

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.

  1. Enable Content Libraries
  2. Add a Randomized Content Block to Your Course

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.

Enable Content Libraries

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.

Add a Randomized Content Block to Your Course

After you enable content libraries you can add library content to your courses using the Randomized Content Block advanced component.

  1. In Studio, open the course in which you want to add randomized problems from a content library.

  2. Select Content, and then select Outline.

  3. In the unit where you want to add a set of randomized problems, select Add New Component

  4. Select Advanced, and then select Randomized Content Block.

    The randomized content block is added to your unit.

  5. Select Edit.

  6. 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.

    Problem type dropdown list in randomized content block settings.
  • 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.

  1. Select Save when you have finished specifying the details of your randomized content block.

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.

View the Matching Components in a Randomized Content Block

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.

  1. In Studio, navigate to the unit containing the randomized content block that references your library.

  2. In the randomized content block, select View.

    The View button for a randomized content block

    You see all components that match the specifications in the randomized content block. The text at the top of the list of components indicates how many of these components are randomly selected and provided to each student.

To view the contents of a library in Studio, see View the Contents of a Library.

To view the randomized content that was assigned to a specific learner, see Specific Learner View.

Editing Components in Randomized Content Blocks

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.

Clear button in the course component field reverts value to library value.

Select Clear to restore the library default setting for that field.

Getting the Latest Version of Library Content

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.

    Error message shown when the source library has changed, with the Update Now link circled.

    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.

    Clear icon in the course component field reverts value to library value.

    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.

Preview the Randomized Content in Student View

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.

View a Specific Student’s Assigned Problems from a Randomized Content Block

In a live course, to view the components that are assigned to a specific student from a randomized content block, follow the steps described in the Specific Learner View topic.

Adjust Grades for a Problem from a Randomized Content Block

To adjust a grade or reset the attempts for a problem that was assigned from a randomized content block, you can view the course as a specific student to see the actual problems that they were assigned.

Obtain the username or email address for the learner whose grades you want to adjust, and follow the steps described in the Specific Learner View topic to view the actual problems in the course that this student was assigned.

In the Specific student course view in the LMS for the student whose username or email you entered, locate the components from the randomized content block. Follow the steps described in Adjust Grades for One or All Learners to rescore the learner’s submission, reset attempts, or delete the learner’s state for a problem.

Recommender Tool

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.

Overview

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.

  • Add new resources.
  • Edit existing resources and work jointly to improve the quality of resources (for example, give an informative resource summary).
  • Manage quality by voting for high quality resources or flagging resources as spam or abuse.

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.

An overview of the RecommenderXBlock.

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.

Enable the Recommender Tool

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.

Add a Recommender

To add a recommender to a course, follow these steps.

  1. Go to the unit in the course outline where you want to add the recommender.
  2. Under Add New Component, select Advanced.
  3. Select recommender.
  4. In the component that appears, select Edit, and then specify settings as needed.
    • Whether to take users on an introduction tour when they see the tool the first time. If selected, the first time (and only the first time) a user sees the recommender, there will be a short guided tutorial.
    • Whether to disable the user interface functions which are under development. Because these are untested and under development, please leave these disabled unless otherwise advised by edX staff.
    • How many resources you want to show in each page of the resource list.
    • How many page icons you want to show in the pagination control (that is, the page range). The icons for pages from (current page - page range) to (current page + page range) will be shown.
  5. Select Save.
  6. Optionally, open the unit in the LMS and suggest some resources.

Staff Graded Points

Note

EdX offers provisional support for this tool.

Staff Graded Points allows you to assign scores to learners for off-platform activities or participation, at the assessment level. It provides a text component with instructions to learners, and a way for you to assign grades.

Create a Staff Graded Points assignment

  1. Under Add New Component select Staff Graded Points
  2. In Advanced Settings, specify title and max_score
  3. Specify learner-facing instructions
  4. After learners complete the assignment you’re grading, Grade Learners (see below.)
Staff Graded Points settings
Attribute Description
Display Name (optional) The display name for this component.
Instructions (optional) Markdown formatted instructions to the learner.
Problem Weight (optional) Enter the number of points possible for this component. The default value is 1.0.
Grading Learners

While your course is running, after learners have had a chance to complete the off-platform assignment you’re grading, you can assign learner grades from the LMS Instructor view of the component as follows:

  1. Export scores. Download a grading CSV and use this as a template to assign scores for this problem. You can use track/cohort filters to limit to grading only a subset of learners.
  2. (On your own machine) Fill out grades. Open the CSV in a spreadsheet editor and assign scores to learners via “New Points” field. Leave scores that you don’t want to change blank.
  3. Import scores Uploading the filled out CSV. Learners will immediately see their grades after import completes. Supports smaller courses - i.e. file sizes up to 4MB. Note: [Provisionally supported: usage in large courses] To use in larger courses, break up your grade file CSV by rows, and import in separate files – or use the track & cohort filters to limit to a subset of rows. In this case, keep the header row for each file. This manual approach for larger courses is error prone, so we are making it available as a use-at-your-own-risk feature for advanced users, but don’t explicitly support it.
  4. Review result File is uploaded, validated, scores are overwritten for non-blank rows. You’ll get a readout at the bottom of the screen.

Survey Tool

Note

EdX offers full support for this tool.

This section describes how to include surveys in your course.

Overview

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.

A survey asking multiple questions about the learner's view of the course.

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.

The results of a survey asking multiple questions about the learner's view of the course.

Enable the Survey Tool

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.

Enable the Survey Tool in OLX

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="[&quot;survey&quot;,
    &quot;poll&quot;]" display_name="Sample Course"
    start="2015-01-01T00:00:00Z">
    ...
</course>

Add a Survey in edX Studio

You must enable the survey tool before you add the component.

  1. On the Course Outline page, open the unit where you want to add the survey.

  2. 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.

    The survey component in Studio.
  3. In the new component, select Edit.

  4. In the Display Name field, enter the name for the component.

  5. In the Feedback field, enter text that learners see after they submit responses.

  6. 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.

  7. 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.

  8. 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.

    1. In each Answer field, enter the text for the column heading that learners will see.
    2. To add answers, select Add answer at the bottom of the editor. New answers are added at the bottom of the list.
    3. The top answer in the list is displayed to learners as the left-most answer column in the survey, and the bottom answer is displayed in the right-most column. To change the order of answers, select the up and down buttons next to each answer.
    4. To remove an answer, select Delete next to the answer.
  9. Configure questions for the survey. Each question is displayed to learners in the left-most column.

    1. You must enter either text or an image path, or both, for each question. To enter an image, use the Studio URL for the image.
    2. The survey template contains three questions. To add questions, select Add question at the bottom of the editor. New questions are added at the bottom of the list.
    3. If you use an image, you must enter useful alternative text in the Image alternate text field for non-sighted users.
    4. Questions are displayed to learners as rows in the order you configure them. To change the order of questions, select the up and down buttons next to each question.
    5. To remove a question, select Delete next to the question.
  10. Select Save.

Add a Survey in OLX

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="[
               [&quot;unique code for question 1&quot;,
                 {
                   &quot;img&quot;: &quot;Static URL to image&quot;,
                   &quot;img_alt&quot;: &quot;Alternative text for image&quot;,
                   &quot;label&quot;: &quot;Text of question 1&quot;
                 }
               ],
               [&quot;unique code for question 2&quot;,
                 {
                   &quot;img&quot;: &quot;Static URL to image&quot;,
                   &quot;img_alt&quot;: &quot;Alternative text for image&quot;,
                   &quot;label&quot;: &quot;Text of question 2&quot;
                  }
                ]
              ]"
  feedback="Feedback displayed to learner after submission"
  private_results="false"
  block_name="Display name for survey"
  max_submissions="1"
  answers="[
            [
              &quot;Unique identifier for answer 1&quot;,
              &quot;Answer text&quot;
            ],
            [
              &quot;Unique identifier for answer 2&quot;,
              &quot;Answer text&quot;
            ]
          ]"
/>
survey Element Attributes

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.

  • img, the static URL of the question image.
  • img_alt, the alternative text for the image.
  • label, the question text.

Each question must have a value for img or label, or both.

answers

An array of answers in the survey. Each answer has a unique identifier, and a dictionary that defines values for the following names.

  • img, the static URL of the answer image.
  • img_alt, the alternative text for the image.
  • label, the answer text.

Each answer must have a value for img or label, or both.

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.

Editing Published Surveys

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.

  • If you edit the value of a question or answer, previous submissions are associated with the new question or answer value. This change can result in an inaccurate picture of the responses.
  • If you change the survey so that previous submissions are invalid, by removing a question or answer, those submissions are deleted when learners next view the unit. Learners with invalid submissions are permitted to submit new responses.

View Survey Results

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.

A survey with the View Results button for course staff.

The results of the survey are then displayed.

The results of a survey asking multiple questions about the learner's view of the course.

Text Input Problem

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.

Overview

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.

Example Text Input Problem

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.

A correctly answered text input problem shown in the LMS. The text entered by the learner exactly matches one of the acceptable answer options, which appear below the response along with the explanation.

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>
Analyzing Performance on Text Input Problems

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.

Adding a Text Input Problem

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.

Use the Simple Editor to Add a Text Input Problem

When you add a text input problem, you can choose one of these templates.

  • Text Input
  • Text Input with Hints and Feedback

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.

  1. In the unit where you want to create the problem, under Add New Component select Problem.

  2. 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.

  3. Select Edit. The simple editor opens to a template that shows the Markdown formatting that you use for this problem type.

  4. 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.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Use the Advanced Editor to Add a Text Input Problem

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.

  1. Follow steps 1-3 for creating the problem in the simple editor.

  2. Select Advanced Editor. The advanced editor opens the template and shows the OLX markup that you can use for this problem type.

  3. 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.

  4. Update the OLX to add optional elements and attributes required for your problem.

  5. Select Settings to provide an identifying Display Name and define settings for the problem. For more information, see Defining Settings for Problem Components.

  6. Select Save.

Adding Multiple Correct Responses

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.

Add Multiple Correct Responses in the Simple 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
Add Multiple Correct Responses in the Advanced Editor

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>

Adding Feedback to a Text Input 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.

Configure Feedback in the Simple Editor

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.}}
Configure Feedback in the Advanced Editor

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>
Customizing Feedback Labels

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.

Customize a Feedback Label in the Simple Editor

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.}}
Customize a Feedback Label in the Advanced Editor

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>

Adding Hints to a Text Input Problem

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.

Configure Hints in the Simple Editor

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.||
Configure Hints in the Advanced Editor

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>

Adding Text after the Response Field

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.

Text input problem with the word "Institute" after the response field.

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>

Case Sensitivity and Text Input Problems

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.

Response Field Length in Text Input Problems

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>

Allowing Regular Expressions as Answers for Text Input Problems

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.

Text Input Problem XML Reference

Template
<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>
Elements

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.

Attributes
Attribute Description
answer (required)

Specifies the correct answer.

Note that if you do not also add the type attribute and set it to regexp, the learner’s answer must match the value for this attribute exactly.

type (optional)

Specifies whether the problem requires a case sensitive response and if it allows regular expressions.

  • If type="ci", the problem is not case sensitive.
  • If type="cs", the problem is case sensitive.
  • If type="regexp", the problem allows regular expressions.

You can also combine these values in a space separated list. For example, <stringresponse type="regexp cs"> specifies that the problem allows regular expressions and is case sensitive.

Children
  • <label>
  • <description>
  • <textline>
  • <additional_answer>
  • <correcthint>
  • <stringequalhint>
  • <solution>
<label>

Required. Identifies the question or prompt. You can include HTML tags within this element.

Attributes

None.

Children

None.

<description>

Optional. Provides clarifying information about how to answer the question. You can include HTML tags within this element.

Attributes

None.

Children

None.

<textline>

Required. Creates a response field in the LMS where the learner enters a text string.

Attributes
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.
Children

None.

<additional_answer>

Optional. Specifies an additional correct answer for the problem. A problem can contain an unlimited number of additional answers.

Attributes
Attribute Description
answer Required. The text of the alternative correct answer.
Children

<correcthint>

<correcthint>

Optional. Specifies feedback to appear after the learner submits a correct answer.

Attributes
Attribute Description
label Optional. The text of the custom feedback label.
Children

None.

<stringequalhint>

Optional. Specifies feedback to appear after the learner submits an incorrect answer.

Attributes
Attribute Description
answer Required. The text of the incorrect answer.
label Optional. The text of the custom feedback label.
Children

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.

<demandhint>

Optional. Specifies hints for the learner. For problems that include multiple questions, the hints apply to the entire problem.

Attributes

None.

Children

<hint>

<hint>

Required. Specifies additional information that learners can access if needed.

Attributes

None.

Children

None.

Deprecated Hinting Method

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>

Word Cloud Tool

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.

Image of a word cloud problem. Contributed words are displayed in different colors and arranged horizontally and vertically in the resulting word cloud graphic. The more often a word is contributed, the larger it appears.

Enable the Word Cloud Tool

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.

Create a Word Cloud

To create a word cloud, follow these steps.

  1. In the unit where you want to create the problem, select Advanced under Add New Component.

  2. In the list of problem types, select Word Cloud.

  3. In the component that appears, select Edit.

  4. 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.

  5. Select Save.

Write-Your-Own-Grader Problem

Note

EdX offers provisional support for this problem type.

This section provides information about writing your own grader directly in a problem component.

Overview

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.

Create a Custom Python-Evaluated Input Problem in Studio

  1. In the unit where you want to create the problem, select Problem under Add New Component, and then select the Advanced tab.
  2. Select Custom Python-Evaluated Input.
  3. In the component that appears, select Edit.
  4. In the component editor, edit the problem in Script Tag Format.
  5. Select Save.

Script Tag Format

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.

The 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.

Example with the Script Tag

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>
Example of the check Function Returning a Dictionary
The following example shows a check 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.

Script Tag Attributes

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.
Create a Custom Python-Evaluated Input Problem in Script Tag Format

To create a custom Python-evaluated input problem using a <script> tag, follow these steps.

  1. In the component editor, modify the example as needed.
  2. Select Save.

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>
Award Partial Credit

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.

Award Half Credit

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.

Award a Percentage of Credit

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.

An image of a write-your-own-grader problem that provides partial credit.

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 &gt; 100 or ans &lt; 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.

  • The points attribute of the <customresponse> element specifies that the question is worth 100 points.
  • The 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.
  • The input_list that is returned specifies that:
    • The answer is acceptable and can receive partial or full credit, with the item 'ok': True.
    • The learner receives the message Your grade is followed by the percent grade, with the item 'msg': 'Your grade is ' + str(ans) + '%'.
    • The grade assigned is the learner’s answer divided by 100, with the item 'grade_decimal':grade.

You can enhance and apply this example for your own partial credit problems.

Create a Randomized Custom Python-Evaluated Input Problem

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>

Zooming Image Tool

Note

EdX does not support this tool.

If you present information to your learners using very large or very detailed images, learners might not be able to clearly see all the information in the image. Use the zooming image tool to provide learners with the ability to zoom in to and enlarge selected areas of your image.

Example zooming image tool showing a chemistry exercise.

Components of a Zooming Image Tool

To create a zooming image tool, you need the following files.

  • The image that you want learners to see when they access the unit.
  • The image that appears in the magnified area when a learner selects the regular image. This image can be larger than the regular image.
  • The jquery.loupeAndLightbox.js JavaScript file from http://files.edx.org/jqueryloupeAndLightbox.js.

Create a Zooming Image Tool

  1. Download the jquery.loupeAndLightbox.js file by right-clicking the following link, and then selecting the option to save or download the linked file.

    http://files.edx.org/jqueryloupeAndLightbox.js

  2. In Studio, select Content and then select Files & Uploads to upload your regular-sized image file, your small image file, and the jquery.loupeAndLightbox.js file. For more information about uploading files for your course, see Adding Files to a Course.

  3. Add a zooming image tool to your course. In the course outline in Studio, select Add New Component, select HTML, and then select Zooming Image Tool.

  4. In the new component that appears, select Edit.

  5. In the component editor, replace the default problem text with your own text.

  6. Select HTML from the toolbar to edit the HTML source code.

  7. Scroll down in the file, and then replace the following placeholders with your own content.

    • Replace the following file name and path with the name and path of the image that you want to appear magnified when the user hovers over the regular image.

      https://studio.edx.org/c4x/edX/DemoX/asset/pathways_detail_01.png

      For example, your file name and path might be /static/Image1.jpg.

    • Replace the following file name and path with the name and path of the image that you want to appear when the page opens.

    https://studio.edx.org/c4x/edX/DemoX/asset/pathways_overview_01.png

    For example, your file name and path might be /static/Image2.jpg.

    • Replace the following name and file path with the name and path of the JavaScript file that you downloaded from files.edx.org.

      https://studio.edx.org/c4x/edX/DemoX/asset/jquery.loupeAndLightbox.js

      Because you uploaded the jquery.loupeAndLightbox.js file to the Files & Uploads page, your file name and path is /static/jquery.loupeAndLightbox.js.

    • (Optional) If you want the magnified area to be larger or smaller, change the width and height values from 350 to larger or smaller numbers. For example, you can change both numbers to 450. Or, if you want a horizontal oval instead of a circle, you can change the width value to a number such as 500 and the height value to a number such as 150.

    The HTML in your zooming image tool might resemble the following.

    Example HTML for a zooming image tool.
  8. Select Save.

Using MathJax for Mathematics

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]

Adding MathJax to HTML Components

In the HTML component editor, you can use MathJax in both visual view and HTML view.

A composite image of four views of the same text and MathJax markup. The HTML component editor visual view and HTML view are shown at the top, with the rendered text and equation on the Studio unit page and in the LMS below.

Adding MathJax to Problem Components

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).

A composite image of four views of the same multiple choice problem. The simple editor Markdown and advanced editor OLX are shown at the top, with the rendered problem on the Studio unit page and in the LMS below.

Adding Course Assets

Use the topics in this section to learn about managing assets in your course.

For information on how to develop your course content in the Studio Outline, see Developing Your Course.

Adding Files to a Course

Adding files, such as images, that you can use in your course has the following steps.

A workflow diagram showing the steps to add and show a file in a course or on the internet.
  1. The course team uploads a file on the Files & Uploads page in Studio.
  2. Studio generates two URLs for the file.
    • The Studio URL is used to add the file inside the course, such as in a component or on a page.
    • The web URL is used to add the file outside the course, such as in an email message or external web page.
  3. The course team adds a link to the file inside or outside the course.
    • To add the file inside the course, the course team adds the Studio URL in the course content, such as in a component or on a page.
    • To add the file outside the course, the course team adds the web URL in an email message or external web page.
  4. The file is visible in the course, email, or external web page.

For more information, see the following topics.

The Files & Uploads Page

You manage most files for your course, including image files, on the Files & Uploads page. This page lists the files that you upload, along with the following information about the files.

  • The file name.

  • A preview of the file (if the file is an image) or an icon that represents the file.

    Note

    If you do not want to see a preview of your files, select the Hide File Preview checkbox in the left pane. To show a preview again, clear this checkbox.

  • The file type.

  • The date the file was added.

  • The URLs that you use to make your files visible in your course or on the internet.

  • An indication of whether the file is locked.

This page also includes a Search option to help you find specific files. For more information, see Find an Uploaded File.

Note

For textbooks or for course handouts that you want to make available in the sidebar of the Course page, see Textbooks or Add a Course Handout.

File Size

The maximum size for each file is 10 MB. We recommend that you use standard compression tools to reduce PDF and image file sizes before you add the files to your course.

You can upload multiple files at a time.

If you have very large audio files or large data sets to share with your students, do not use the Files & Uploads page to add these files to your course. Instead, use another hosting service to host these files.

Upload Files

Note

Ensure that you obtain copyright permissions for files and images you upload to your course, and that you cite sources appropriately.

To upload one or more files, follow these steps.

  1. Create or locate the files on your computer.

    Note

    When Studio generates URLs for an uploaded file, the file name becomes part of the URL and is visible to students when they access the file. Avoid using file names that contain information that you do not want to share about the file contents, such as “Answerkey.pdf”.

  2. On the Content menu, select Files & Uploads.

  3. On the Files & Uploads page, drag your file or files into the Drag and Drop area.

    Note

    If you upload a file that has the same name as an existing course file, the original file is overwritten without warning.

The Files & Uploads page refreshes to show the uploaded file or files.

To upload additional files, drag more files into the Drag and Drop area of the page.

Find an Uploaded File

The Files & Uploads page lists up to 50 files at one time. If your course has more than 50 files, additional files are listed on other pages.

To find a file on the Files & Uploads page, you can use the Search option, or you can view the page that lists the file.

  • To use the Search option, enter one of the following search terms in the Search field, and then select the magnifying glass icon.

    • The full file name.
    • The file name extension, or file type.
    • Part of the file name. You can also enter multiple parts of a file name.

    For example, if the file is named FirstCourseImage.jpg, you can enter any of the following search terms in the Search field.

    • FirstCourseImage.jpg
    • .jpg
    • First Image
    • First .jpg
  • To view the page that lists the file, select Previous or Next to view the previous or next page, or select the number of the page that you want to view.

You can also sort files by name, type, or date added, or filter files by type. For more information, see Sort Files or Filter Files.

Sort Files

On the Files & Uploads page, you can sort your files by name, type, or date added. To sort by one of these columns, select the name of the column. For example, to sort your files by type, select the Type column name.

The arrow or arrows to the right of the column name indicate the column sort order. Files are sorted by the column that has one arrow. The direction of the arrow indicates whether the order is ascending or descending.

To change between ascending and descending order, select the column name again.

Filter Files

You can filter the list of files by type so that only a selected type of file is visible. The list remains in the current sort order.

You can filter by the following file types.

Type Possible File Name Extensions
Audio .aac, .mpeg, .mp3, .ogg, .wav
Code .css, .html, .json, .php, .sql
Documents .pdf, .txt, Microsoft Office and Open Office documents, presentations, spreadsheets
Images .gif, .ico, .jpg, .jpeg, .png, .tif, .tiff
Other Files not included in the other types, such .sjson

To filter the list of files by type, follow these steps.

  1. On the Files & Uploads page, locate Filter by File Type.
  2. In the list, select the checkboxes for the types of file that you want.

The list refreshes to show only the type or types of file you selected. You can sort the resulting list by name, type, and date added.

To reset the list and view files of all types, clear all checkboxes.

Use an Uploaded File Inside or Outside the Course

When you upload a file, Studio assigns a Studio URL and a web URL to the file. The Copy URLs column on the Files & Uploads page lists these URLs. To use an uploaded file, you add a link to the Studio URL or the web URL in your content.

Note

If you do not want to allow access to a file from outside your course, you can lock the file so that only learners who are signed in and enrolled in your course can access the file. For more information, see Lock a File.

Add a File or Image Inside the Course

To add a file or image inside the course, such as to a component, a course update, or a course handout, follow these steps.

  1. On the Files & Uploads page, select the Studio option in the Copy URLs column.

    The Studio option text briefly changes to Copied.

  2. In the component or other content, paste the Studio URL.

For more information, see Add an Image to an HTML Component.

Add a File or Image Outside the Course

To add a file or image outside the course, such as to a bulk email message that you send from the LMS, follow these steps.

  1. On the Files & Uploads page, select the Web option in the Copy URLs column.

    The Web option text briefly changes to Copied.

  2. In the external content, paste the web URL.

Note

Be sure that you do not use the Studio URL in an email message. For more information about sending email messages, see Send an Email Message to Course Participants.

Lock a File

By default, anyone can access a file you upload if they know the web URL, even if they are not enrolled in your course. You can prevent outside access to a file by locking the file. When you lock a file, the web URL only allows learners who are enrolled in your course and signed in to access the file.

To lock a file, select the lock icon in the row for the file.

Delete a File

To delete a file, select the delete icon in the row for file, and then select Permanently delete in the confirmation dialog box.

Warning

After you delete a file, any links to the file from inside or outside the course are broken. You must update links to files that you delete.

Adding Course Updates and Handouts

You can create course updates and handouts in Studio.

Course updates are communications, especially a welcome message, that learners see at the top of the Course page when they enter the course. A welcome message is an important way of making each learner feel personally welcomed to the course, and of providing orienting information that helps learners succeed with the course.

After learners have read the welcome message, they can dismiss the message. The message is automatically dismissed seven days after the learner first views it if the learner doesn’t actively dismiss it first. Learners can access the dismissed message and any other updates from the Updates link in the sidebar on the Course page.

Handouts are links to files that you upload in Studio, for example, a PDF version of the course syllabus, or an article that you want learners to read. Learners see the list of course handouts under Handouts in the sidebar.

The **Course** page as it appears to learners, showing the course welcome message in the main reading area, and in the sidebar, the **Updates** link under the **Course Tools** heading and links to handouts under the **Course Handouts** heading.

Add a Course Update

You create course updates in Studio. On entering the course, learners see the update that has the latest date chronologically (including dates in the future) on their Course page.

Note

Learners can dismiss the update that displays on their Course page after they have read it. When learners have dismissed a message, they can access the dismissed message and any other updates from the Updates link in the sidebar on the Course page.

On the Updates page in Studio, you see the list of updates sorted in the order that they were created (most recent at the top of the list). If you create a new update, learners do not see the update on the Course page unless it has the latest chronological date of all existing updates.

To add a course update, follow these steps.

  1. In Studio, select Updates from the Content menu.

  2. Select New Update.

  3. Create your update in the text editor that opens.

    • Enter text for the update, using HTML tags for formatting. This editor is like the raw HTML editor in HTML components. The course update editor does not have a visual editor.

      Note

      To make sure that your announcements are accessible, if you use headings inside an announcement, make sure that you use only level 6 headings (<h6>). The structure of the course Course page uses heading levels 1-5.

      If you copy text from another source and paste it into the text editor, proofread the result carefully. Some applications automatically change quotation marks and apostrophes from the “straight” version to the “smart” or “curly” version. The editor requires “straight” quotation marks and apostrophes.

    • Specify a date for this update. By default, today’s date is already entered. You can change the date using the calendar tool, or by entering some other valid date.

      Note

      Learners do not see the update on the Course page unless it has the latest chronological date of all existing updates.

  4. Select Post.

    Your new update becomes available to learners immediately. If the update has the latest chronological date, it is shown to learners on the Course page, otherwise the update appears on the Updates page.

  1. Optionally, choose whether to send a notification about your update to the edX mobile app.
  • Learners can choose to turn off notifications for individual courses or for all courses. The Course page continues to show updates.
  • Updates appear on the Course page, even if you do not send notifications.

Add a Course Handout

To add a course handout, you upload a file in Studio, then add an entry to an HTML-formatted list of handouts, specifying the URL to your uploaded file and providing a handout title.

You can open the Studio Files & Uploads page in another browser window to make this process easier.

To add a course handout, follow these steps.

  1. In Studio, select Updates from the Content menu.

    On the Updates page, you see a Course Updates panel and a Course Handouts panel.

    The **Course Updates** page in Studio, showing the Course Handouts panel.
  2. In the Course Handouts panel, select Edit.

  3. In the editor that opens, use HTML formatting to add a link to your uploaded file and a title for the handout. If there are no existing handouts, by default an empty ordered list tag is provided.

    An example using paragraph tags rather than a list, follows.

    <p><a href="/static/Syllabus_Fall2017.pdf" target="_blank">Syllabus</a></p>
    <p><a href="/static/Glossary_v3.pdf" target="_blank">Glossary</a></p>
    
  4. Select Save.

Managing the Pages in Your Course

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.

Working with the Default Pages

By default, every new course has the following pages.

  • Course
  • Discussion
  • Wiki
  • Progress

In the LMS, learners see these options in the navigation bar at the top of every page.

The navigation bar in the LMS, showing the default pages.

In addition, if you enable the notes tool for your course, the system adds a Notes page. The system also adds a page for each textbook that you add to the course. Note that in Studio, all of your textbooks appear in one group, but in the LMS each one appears as a separate page.

As a course team member with the Staff or Admin role, you also see the Instructor option in the navigation bar. Learners do not see the Instructor option.

To customize your course, you can make the following changes to the pages that the system adds by default.

  • You can change the order in which the pages are presented, with the exception that the Course pages is always presented in the first position.
  • If you do not want to use the Wiki or Progress page in your course, you can hide one or both of them.
  • If you want to change the name of a page that appears for a textbook, you can change the name that you entered for the textbook.

You can also add custom pages.

Adding Custom Pages

You can customize your course by adding pages. Each page that you add appears in the navigation bar for your course. When you add a page, you also add its content using an HTML editor.

The following example shows the navigation bar for a course that has added custom pages named Syllabus and Extra Reading.

The navigation bar in the LMS with additional custom pages named "Syllabus" and "Extra Reading".

When you add a page, you can specify whether it and its content are visible only to course team members who have the Admin or Staff role, or to all enrolled learners as well as the course team. For more information about assigning course team roles, see Planning Course Staff.

Add a Custom Page

If you add a custom page to a course after its start date, and have specified that the page should be visible to learners, the page is visible in the LMS as soon as you save your work. As a best practice, be sure the following aspects of your page design are ready before you add a page in Studio.

  • The content for the page, which can include HTML markup.
  • The name of the page.
  • The audience for the page (everyone, or course team members with the Admin or Staff roles only).

To add a custom page and its content to your course, follow these steps.

  1. In Studio, from the Content menu select Pages. A list of the pages that appear in the navigation bar for your course appears.

  2. Select Add a New Page. The system adds a page named Empty to the end of the list.

  3. In the row for the new page, select Edit. The visual editor opens.

  4. 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.

  5. 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.

  6. To hide the page from learners, select Settings, and then select true for Hide Page from Learners. By default, pages are visible to learners.

  7. Select Save.

The new page is immediately available to the specified audience if the course has started.

Hiding or Showing the Wiki or Progress Pages

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.

Hide or Show the Wiki or Progress Pages

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.

  1. 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.

    The list of default course pages. Only the Wiki and Progress pages have Show/Hide controls.
  2. 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.

    The Wiki page on the list of course pages, with the show/hide icon indicating that the page is currently hidden.
  3. Select the Show/hide page icon again to make the page visible.

Reorder the Pages

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.

  1. 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.

  2. Move your pointer over the Drag to reorder icon for the page. Your pointer changes to a four-headed arrow.

  3. Click and drag the page to the new location, and then release.

Delete a Custom Page

You can delete any of the custom pages that were previously added to the course.

  • You cannot delete any of the default pages. However, you can hide the Wiki and the Progress pages.
  • To delete a page that appears for a textbook, you delete the textbook.

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.

  1. In Studio, from the Content menu select Pages.

    On the list of pages, each page that you can delete includes a Delete icon.

  2. Select the Delete icon, and then confirm the deletion.

Textbooks

You can add textbooks in PDF format to your course.

Note

Do not use image files (for example, .png files) as textbooks for your course, because they are not accessible to learners who use screen readers. For more information, review Creating Accessible PDF Documents.

Each textbook that you add is displayed to learners as a page, or tab, in the course navigation bar. EdX recommends that you upload a separate PDF for each chapter of your textbook.

When learners open the textbook page in the course, they can navigate the textbook by chapter.

Add a Textbook

Note

When you add a textbook to your course, Studio automatically adds each PDF file that you upload to the Files & Uploads page.

  1. Prepare PDFs of your textbook on your computer.
  2. On the Content menu, select Textbooks.
  3. Select either Add your first textbook or New Textbook.
  4. On the page that opens, enter the Textbook Name.
  5. Enter the Chapter Name.
  6. Next to Chapter Asset, select Upload PDF to upload a PDF from your computer, and then follow the prompts to upload your file.
  7. To add more chapters, select Add a Chapter and repeat steps 5 and 6.
  8. Select Save.

Delete a Textbook

Note

This method deletes the entire textbook. To delete an individual chapter, see Delete a Chapter.

  1. On the Content menu, select Textbooks.
  2. On the Textbooks page, hover the cursor over the textbook that you want to delete, and then select the trash can icon.
  3. In the confirmation dialog box, select Delete.

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.

Delete a Chapter

  1. On the Content menu, select Textbooks.

  2. On the Textbooks page, hover the cursor over the textbook that contains the chapter that you want to delete, and then select Edit.

  3. On the textbook editing page, locate the chapter that you want to delete, and then select the X icon next to that chapter.

    Textbook editing page with a callout for the X icon

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 a chapter on the Textbooks page, edX strongly recommends that you lock or delete the PDF file for the chapter on the Files & Uploads page to avoid copyright issues.

Using the Course Wiki

Wikis provide a way for the course team and learners to access, share, and collaboratively edit information both about, and for, your course.

About the Course Wiki

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.

  • Sharing answers to course FAQs and collecting new FAQs.
  • Sharing editable course information, such as download and installation instructions for software required for the course
  • Providing shared access to learner-created resources, perhaps as part of a collaborative exercise.
  • Sharing errata for the course.
  • Collecting suggestions for future runs of the course.

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.

Managing the Course Wiki

Keep these points in mind as you design the wiki for your course.

  • Be clear about the purpose for the wiki or for different parts of the wiki. For example, are some parts of the wiki only for disseminating information? If that is the case, then make sure that only your course team has write access for those articles.
  • Decide whether some parts of the wiki are intended for learner collaboration or learner input. Make sure that learners are able to create and edit wiki articles in those sections, and use text to clearly indicate to learners that these pages can be edited.
  • Think about the different tasks that will be performed by people in different roles. Typically you want your course team to have some privileges that learners do not have. For example, course team members can delete wiki articles, but learners cannot.

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.

Showing or Hiding the Wiki

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.

  1. Open your course in Studio.
  2. Select Content, then Pages.
  3. Select the eye icon in the Wiki row. The Wiki page is hidden when the eye icon has a slash through it. You can show the Wiki page again by selecting the eye icon.

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.

Controlling Access to the Wiki

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.

  1. Open your course in Studio.
  2. Select Settings, then Advanced Settings.
  3. Scroll down to the Allow Public Access to Wiki field. This Boolean setting is set to False by default, meaning that only course team members and enrolled learners can see the course wiki. If you change the value of this field to True, then any registered edX user can access the course wiki, even if they are not enrolled in your course. However, public users would have to explicitly navigate to your wiki via the edX-wide wiki structure, or a link that has been provided to them.

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.

Setting Permissions for Wiki Articles

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.

  1. View the live version of your course.
  2. Select Wiki.
  3. Navigate to the article whose permissions you are modifying, and then select Settings.
  4. In the Permissions section of the Settings page, select or clear the checkboxes for read or write access for Group or Other.
  5. At the bottom of the page, select the Save changes button for the Permissions section.

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.

Groups Used in Wiki Permissions

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.

Seeding the Wiki

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.

This section describes how you can contribute to the course wiki.

Adding a Wiki Article

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.

Add Articles at the Same Level

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” .

  1. In your course, select Wiki.
  2. Navigate to the level where you want to add a new article.
  3. Select the Add Article button near the top right of the page.
  4. On the new article page, add a title for the page, and optionally a few keywords to create a “slug” that provides a more specific location identifier for your article.
  5. Add contents to the article. You can enter plain text and use Markdown syntax to add formatting. For help with Markdown syntax, select the link to the cheat sheet at the upper right corner of the Contents field.
  6. When you have finished entering content for your wiki article, select Create Article.
Add Articles Below the Current Level

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” .

  1. In your course, select Wiki.
  2. Navigate to the level above where you want to add the new child article.
  3. Select See all children.
  4. Select the Add Article button under the wiki title.
  5. On the new article page, add a title for the page, and optionally a few keywords to create a “slug” that provides a more specific location identifier for your article.
  6. Add contents to the article. You can enter plain text and use Markdown syntax to add formatting. For help with Markdown syntax, select the link to the cheat sheet at the upper right corner of the Contents field.
  7. When you have finished entering content for your wiki article, select Create Article.

Editing a Wiki Article

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.

  1. In your course, select Wiki.
  2. Navigate to the article you want to edit.
  3. Select Edit.
  4. Make your changes. For help with Markdown syntax, select the link to the cheat sheet at the upper right corner of the Contents field.
  5. In the Summary field at the bottom left, below the Contents field, enter a short description of the changes you made. This description appears in the Changes list, and helps other users of the wiki understand what changes you made to the article.
  6. When you have finished making edits, select Save changes.

Searching for Wiki Articles

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.

Managing Versions of Wiki Articles

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.

View a List of Previous Versions of a Wiki Article
  1. In your course, select Wiki.
  2. Navigate to the wiki article for which you want to see the change history.
  3. Select Changes. Previously saved versions of the current article are listed, with the most recent at the top.
View a Previous Version of a Wiki Article
  1. On the Changes page for your wiki, select the revision of the article that you want to view.
  2. Select Preview this revision to see the article as it appeared after the revision was made.
See Line by Line Changes in a Previous Version
  1. On the Changes page for your wiki, select the revision of the article that you want to view.
  2. Select the linked date, time, and author information to see the line-by-line changes made in that revision. Text that is highlighted in red has been replaced by the text that is highlighted in green below it.
Replace a Current Version with a Previous Version
  1. On the Changes page for your wiki, select the revision of the article that you want to roll back to.
  2. Select Switch to selected version to replace the current version with the selected one.
Combine a Current Version with a Previous Version
  1. On the Changes page for your wiki, select the revision of the article that you want to merge with the current version.
  2. Select Merge selected with current to combine the current and the selected versions.

Locking a Wiki Article

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.

  1. View the live version of your course.
  2. Select Wiki.
  3. Navigate to the article you want to lock, and then select Settings.
  4. In the Permissions section of the Settings page, select the Lock article checkbox.
  5. At the bottom of the page, select the Save changes button for the Permissions section.

Deleting a Wiki Article

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.

  1. View the live version of your course.
  2. Select Wiki.
  3. Navigate to the article you want to delete, and then select Edit.
  4. Select Delete article.
  5. On the deletion confirmation page, select Yes, I am sure.
  6. Optionally, also select the Purge checkbox. For details, see Purging a Wiki Article.
  7. Select Delete article to confirm the deletion.
Purging a Wiki Article

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.

Restoring a Deleted Wiki Article

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.

Using Enhanced Capabilities In Your Course

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.

Including Learner Cohorts

Using Cohorts in Your Courses

This section provides an introduction to using cohorts to divide the learners in your course into smaller groups.

For more information about setting up and managing cohorts, see the following topics.

For information about discussions in general, see Creating Course Discussions.

For information about offering different content to different cohorts of learners, see Offering Different Content to Learners Based on Cohort.

Overview

To create smaller communities in your course, or to design different course experiences for different groups of learners, you can set up cohorts in your course.

To use cohorts in your course, you define a set of cohorts that are either random or that reflect some characteristic of the communities of learners in your course. Then, you decide on a strategy for assigning learners to these cohorts.

With learners divided into smaller groups based on cohort, you can give learners a course experience that is specific to the cohort that they belong to. You can divide discussion topics by cohort so that learners only interact with other members of the same cohort. You can create course content in such a way that learners in different cohorts are offered different variations of assignments or exams.

Note

  • Every learner must be assigned to a cohort. This ensures that every learner has the ability to read and contribute to course discussion topics.
  • Each learner can be in one and only one cohort.

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.

Options for Assigning Learners to Cohorts

Learners are assigned to cohorts either automatically or manually, depending on the types of cohorts that you create.

Manual cohorts do not have learners assigned to them unless you manually add learners. Automatic cohorts have learners randomly assigned to them if learners do not belong to any cohort by the time they access the course content (including the course Discussion page or content-specific discussion topics, if discussion topics are divided). If you have not created any automated cohorts by the time learners access course content, a default automated cohort is created and used for automatic assignment, so that no learner in the course is without a cohort.

Determine the basic strategy that you will use to create cohorts. Typically, your purpose in including the cohort feature determines which assignment option you use for your course.

An automated assignment strategy means that you create cohorts to which learners are assigned automatically and randomly. Automated assignment works well if, for example, you are creating cohorts simply to create small groups of learners. Automated assignment means that learners are assigned randomly to cohorts as they access course content and divided discussion topics. The cohorts that result from automated random assignment are likely to be more equal in size.

A manual assignment strategy means that learners are assigned only to the cohorts you have created when you or your course team manually adds them. A manual assignment strategy makes sense if you want to create cohorts based on some characteristic of your learners. For example, if you want alumni from your institution to have a particular course experience, you can create an alumni cohort and manually assign learners who you know are alumni to that cohort.

You can use a hybrid assignment method by creating a combination of automated and manual cohorts.

Note

You can add learners manually to any cohort, whether it was created as an automated cohort or a manual cohort.

Note

Although you can change the assignment method of a cohort at any time after you create it, you should have a cohort assignment strategy in mind as you design your course, and only make changes to cohorts while the course is running if absolutely necessary. Be aware of the implications of changing cohort configuration while your course is running. For more information, see Altering Cohort Configuration in a Running Course. In general, to provide learners with a consistent experience throughout the course run, do not change cohort configuration or a learner’s cohort assignment after your course begins.

For use cases and examples of the strategies for assigning learners to cohorts, see the following topics.

Automated Assignment: Making MOOC Discussions Manageable

In very large courses, the number of posts that are made to course discussion topics can make for a daunting amount of daily reading. In such courses, dividing the enrollees into separate cohorts makes the volume of posts, responses, and comments by the members of each cohort more manageable, and is more likely to foster community feeling.

If you use the automated assignment strategy, you create several “auto” (automated) cohorts. Learners are automatically and randomly assigned to one of the auto cohorts when they first view any course content on the Course or Discussion page. In this way, each learner who engages with the course content or its discussion community is assigned to a cohort. No learner who participates in these ways remains unassigned.

The following guidelines are based on the experiences of MOOC teams that have used cohorts in this way. They are suggested to help you determine how many automated cohorts to define for your course.

  • Each cohort should be large enough to inspire lively participation and diverse points of view, but small enough to allow a sense of community to develop. Cohorts formed by random assignment tend to be successful if they include between 200 and 500 members.
  • For every 10,000 learners who enroll, approximately 200 to 400 learners remain active in the discussions throughout the course run.
  • Divide the estimated total enrollment of the course run by 10,000.
  • Use the result as the number of automated cohorts to create.

For example, two days before it starts, a course has an enrollment of 80,000 learners. To create small communities within the discussions, the course team enables cohorts and then creates eight automated cohorts. As learners visit the Discussion page or view the course content, they are randomly assigned to one of the eight cohorts. In divided discussion topics, learners read and respond only to contributions made by other members of the same cohort.

For more information, see Implementing an Automated Assignment Strategy.

Manual Assignment: Grouping by Common Characteristics

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.

Hybrid Assignment: Accommodating Small Groups Within a Course

For some courses, the manual assignment strategy is not feasible to execute, and the automated assignment strategy does not accommodate existing cohorts in the student body. The enrollment might be too large to complete manual assignments effectively, or only some of the learners might have strong defining characteristics among an otherwise diverse student body. For these courses, you can use a hybrid of the two strategies to implement cohorts.

An example is a course that enrolls members of an alumni association. The alumni want an opportunity to have private interactions, so manual assignment of those learners to a cohort makes sense. For other learners in the class, manual assignment is not needed: you can create one or more automated cohorts for the remaining learners in the course.

Before you implement the hybrid strategy, you identify the characteristics that define existing cohorts in the student body. You also decide whether you want the remaining learners in the course to be divided into their own, similarly- sized cohorts, or if you want them all to be in just one other cohort.

After you enable cohorts, you create a manual cohort for each learner group that you identified. You manually assign learners who belong to each group to the corresponding cohort. You also set up automated cohorts for the other learners in the course, or rely on the default automated cohort. Any learners who are not assigned to a manual cohort are automatically assigned to one of the automated cohorts or to the default cohort when they first view any course content, including the course Discussion page or content-specific discussion topics. For best results when you use this strategy, you should complete all manual cohort assignments before the course starts and before learners begin viewing course content and discussion topics.

For more information, see Implementing an Automated Assignment Strategy and Implementing a Manual Assignment Strategy.

Ensuring That All Learners Are Assigned: The Default Cohort

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.

A discussion topic post with "This post is visible to Default Group" above the title.

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.

Enabling and Configuring the Cohorts Feature

This section provides information about setting up cohorts in your course.

Overview

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).

  1. Enable cohorts.
  2. Determine the method you want to use to assign learners to cohorts.
  1. Optionally, identify the discussion topics that you want to be divided by cohort.

    For information about divided discussions, see About Divided Discussion Topics.

You complete these procedures on the Cohorts and Discussions tabs on the Instructor Dashboard.

Note

On the Cohorts tab, the number of learners shown next to each cohort name in the Select a cohort list includes only learners who are enrolled in the course. The number does not include preassigned learners who either do not yet have an edX account or are not enrolled in your course.

For an optimal learner experience, you should make sure that configuration of the cohort feature is as complete as possible before the start date of your course. If you need to make changes to the way you have configured cohorts while your course is running, be aware of the implications of your changes. For more information, see Altering Cohort Configuration in a Running Course.

Implementing an Automated Assignment Strategy

To implement an automated assignment strategy of learners to cohorts, you enable the cohort feature for your course, and create cohorts that have the Automatic assignment method. To add learners to these cohorts, you do not need to take any action: the system automatically and randomly assigns learners to the available automatic cohorts when they first access any course content or divided discussions. Learners who access the Course page or other course pages such as a Textbook page do not receive a cohort assignment until they view course content or divided discussions.

Note

You can add learners manually to any cohort, whether it was created as an automated cohort or a manual cohort.

For a scenario using an automated assignment strategy, see Automated Assignment: Making MOOC Discussions Manageable. For a scenario using a combination of automated and manual assignment to cohorts, see Hybrid Assignment: Accommodating Small Groups Within a Course.

Automated Cohorts

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.

Implementing a Manual Assignment Strategy

To implement a manual assignment strategy of learners to cohorts, you enable the cohort feature for your course, and create cohorts that have the Manual assignment method. Then, you manually assign enrolled learners to the appropriate cohorts.

Note

It is not a requirement that learners have enrolled in your course or registered on edx.org for you to add them to a cohort. For learners who have not yet created an edx.org account, you must provide a valid email address. For learners who have an edx.org account but have not yet enrolled in your course, you can provide either a valid email address or a recognized edx.org username.

Manual assignments should be as complete as possible before your course starts. If learners enroll after your course starts, you should assign new learners to cohorts as soon as possible. If you need to make changes to the way you have configured cohorts while your course is running, see Altering Cohort Configuration in a Running Course.

For a scenario using a manual assignment strategy, see Manual Assignment: Grouping by Common Characteristics. For a scenario using a combination of automated and manual assignment to cohorts, see Hybrid Assignment: Accommodating Small Groups Within a Course.

Enabling Cohorts in your Course

To enable cohorts in your course, follow these steps.

  1. In the LMS, select Instructor, then select Cohorts.
  2. Select Enable Cohorts.

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.

Adding Cohorts

After you enable the cohorts feature for your course, you can add cohorts. To add a cohort to your course, follow these steps.

  1. In the LMS, select Instructor, then select Cohorts.

  2. Click Add Cohort.

  3. Enter a name for the cohort.

    Note

    Learners can see the name of the cohort they are assigned to. The message “This post is visible only to {cohort name}” appears with each post in discussion topics that are divided by cohort. See Read the Group Indicator in Posts.

  4. Specify whether learners are automatically or manually assigned to this cohort.

  5. 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.

  6. Select Save.

Continue implementing your cohort strategy by creating additional cohorts as applicable, and specifying the assignment method for each cohort.

Note

By the time your course starts, you must have at least one cohort in your course that is automatically assigned. If you have not created at least one automated assignment cohort in the course by the time that the first learner accesses your course content or a divided discussion topic, edX creates a default cohort to which learners are automatically assigned.

For details about adding learners to a cohort by uploading a .csv file, see Assign Learners to Cohorts by Uploading a .csv File.

For a report that includes the cohort assignment for every enrolled learner, review the learner profile information for your course. See Download or View Learner Data.

Note

You cannot delete cohorts, but you can change their names or the way in which learners are assigned to them. If you need to make changes to the way you have configured cohorts while your course is running, see Altering Cohort Configuration in a Running Course.

Assign Learners to Cohorts Manually

If you have implemented a manual assignment strategy for cohorts in your course, make sure your manual assignments are as complete as possible before your course starts. If learners enroll after your course starts, you should assign new learners to cohorts as soon as possible.

Note

Making changes to cohort assignments after the course starts can affect the course experience for learners. Learners might no longer have access to course and discussion topics that were previously visible to them. For more information, see Altering Cohort Configuration in a Running Course.

To manually assign learners to cohorts in your course, follow these steps.

  1. View the live version of your course. For example, in Studio click View Live.

  2. Select Instructor, then select Cohorts.

  3. Scroll to the Cohort Management section at the bottom.

  4. From the Select a cohort list, select the cohort to which you want to manually assign learners.

  5. On the Manage Learners tab, under Add learners to this cohort enter the username or email address of a single learner, or enter multiple usernames or addresses separated by commas or new lines. You can copy data from a .csv file of email addresses or usernames, and paste it into this field.

    Note

    It is not a requirement that learners have enrolled in your course or registered on edx.org for you to manually add them to a cohort. For learners who have not yet created an edx.org account, you must provide a valid email address. For learners who have an edx.org account but have not yet enrolled in your course, you can provide either a valid email address or a recognized edx.org username.

  6. Select Add Learners.

    Learners you added who have edX accounts are assigned to the selected cohorts. A confirmation message indicates the number of learners who were successfully added to the cohort.

    Learners you added who do not yet have edX accounts are listed as “Preassigned” to the cohort. When preassigned learners enroll in the course, they are automatically added to the cohort.

    If some learners that you listed could not be added to cohorts, an error message lists the email addresses or usernames of learners who could not be added to the cohort.

Note

Because learners can belong to only one cohort, adding a learner to a cohort moves them from any cohort they were previously assigned to. The confirmation message indicates the number of learners who were moved from their previous cohort assignment as a result of your adding them to the current cohort.

For a report that includes cohort assignments for your course, review the learner profile information for your course. See Download or View Learner Data.

Assign Learners to Cohorts by Uploading a .csv File

Uploading a .csv file containing a list of learners and the cohorts that you want to assign them to is another way of assigning learners to cohorts manually. For details about the other manual assignment method, see Assign Learners to Cohorts Manually.

Any assignments to cohorts that you specify in the .csv files you upload will overwrite or change existing cohort assignments. The configuration of your cohorts should be complete and stable before your course begins. You should complete manual cohort assignments as soon as possible after any learner enrolls, especially for enrollments that occur after your course has started. To understand the effects of changing cohort assignments after your course has started, see Altering Cohort Configuration in a Running Course.

Note

Be aware that the contents of the .csv file are processed row by row, from top to bottom, and each row is treated independently. If the same learner is assigned to different cohorts in different rows in the spreadsheet, the last assignment to be performed is that learner’s final assignment.

For example, if in your .csv file Learner A is first assigned to Cohort 1, then later in the spreadsheet is assigned to Cohort 2, the end result of your .csv upload is that Learner A is assigned to Cohort 2. However, the upload results file will include Learner A twice in the “Learners Added” count: once when they are added to Cohort 1, and again when they are added to Cohort 2. Before submitting a file for upload, check it carefully for duplicated learners and other errors.

If the same learner is assigned to a cohort that they already belong to, they are not included in the count of “Learners Added”.

The requirements for the .csv file are summarized in this table.

Requirement Notes
Valid .csv file

The file must be a properly formatted comma-separated values file:

  • The file extension is .csv.
  • Every row must have the same number of commas, whether or not there are values in each cell.
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.

See Creating a Unicode-encoded .csv File.

Header row You must include a header row, with column names that exactly match those specified in “Columns” below.
One or two columns identifying learners

You must include at least one column identifying learners: either “email” or “username”, or both.

To preassign learners who do not yet have edX accounts, you must provide their email addresses in an “email” column.

If both the username and an email address are provided for a learner, the email address has precedence. In other words, if an email address is present, an incorrect or unrecognized username is ignored.

One column identifying the cohort

You must include one column named “cohort” to identify the cohort to which you are assigning each learner.

The specified cohorts must already exist in Studio.

  Columns with headings other than “email”, “username” and “cohort” are ignored.

To manually add learners to cohorts by uploading a .csv file, follow these steps.

Note

To add learners who do not yet have edX accounts to cohorts using a .csv file upload, you must provide their email addresses in a column with the heading “email”. Learners without edX accounts are “preassigned” to cohorts; they are not included in the count of learners “added” to cohorts.

  1. View the live version of your course. For example, in Studio, select View Live.

  2. Select Instructor, then select Cohorts.

  3. From the Select a cohort list, select the cohort to which you are adding students.

  4. Select Assign students to cohorts by uploading a CSV file, then select Browse to navigate to the .csv file you want to upload.

  5. Select Upload File and Assign Students. A status message is displayed above the Browse button.

  6. Verify your upload results on the Data Download page.

    Under Reports Available for Download, locate the link to a .csv file with “cohort_results” and the date and time of your upload in the filename. The list of available reports is sorted chronologically, with the most recently generated files at the top.

The results file provides the following information:

Column Description
Cohort The name of the cohort to which you are assigning learners.
Exists

Whether the cohort was found in the system. TRUE/FALSE.

If the cohort was not found (value is FALSE), no action is taken for learners who you assigned to that cohort in the .csv file.

Learners Added The number of learners added to the cohort during the row by row processing of the .csv file. This number does not include learners who are not enrolled in the course.
Learners Not Found A list of the usernames of learners that could not be matched and who were therefore not added to the cohort.
Invalid Email Addresses A list of email addresses that were not valid. These learners could not be added to the cohort.
Preassigned Learners The email addresses of learners who do not yet have an edX account but who you have preassigned to a cohort using their email addresses. These learners are not included in the count of “Learners Added”. When these preassigned learners create an edX account and enroll in your course, they are automatically added to the cohorts that you preassigned them to.

For a report that includes the cohort assignment for every enrolled learner, review the learner profile information for your course. See Download or View Learner Data.

Creating a Unicode-encoded .csv File

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.

Altering Cohort Configuration in a Running Course

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.

Change Learner Cohort Assignments

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 learner continues to see the posts that are visible to everyone.
  • The learner sees the posts that are visible to his new cohort.
  • The learner no longer sees the posts that are visible only to his original cohort.

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.

Rename a Cohort

You can change the name of any cohort, including the system-created default cohort.

To rename a cohort, follow these steps.

  1. View the live version of your course. For example, in Studio select View Live.
  2. Select Instructor, then select Cohorts.
  3. From the Select a cohort list, select the cohort whose name you want to change.
  4. On the Settings tab, in the Cohort Name field, enter a new name for the cohort.
  5. Select Save. The name for the cohort is updated throughout the LMS and the course, including learner-visible views.
Delete a Cohort

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.

Changing the Assignment Method of a Cohort

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.

  1. View the live version of your course. For example, in Studio select View Live.

  2. Select Instructor, then select Cohorts.

  3. From the Select a cohort list, select the cohort whose assignment method you want to change.

  4. On the Settings tab, the current assignment method is selected. Change the assignment method by selecting the other option, either Automatic or Manual.

  5. 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.

Disable Cohorts in Your Course

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.

  1. In the LMS, select Instructor, then select Cohorts.
  2. Clear the Enable Cohorts option.

All course content and discussion posts that were previously divided by cohort immediately become visible to all students.

Creating Cohort-Specific Course Content

This section provides information about setting up content for specific cohorts.

Overview

If you have enabled cohorts in your course, you can create different course experiences for learners in different cohorts.

You can design your course so that some learners are given different content than others. You do this by creating content groups in Studio, and restricting access to specific components in your course to one or more content groups. Then, if you associate one or more cohorts with a content group, only the learners in cohorts associated with that content group can see course content that you have designated for it.

For more details about content groups, see Content Groups. For an example of cohort-specific course content, see Example: Cohort-Specific Course Content.

Complete these steps to create cohort-specific content in your course.

In Studio

  1. Enable cohorts in your course.
  2. Create content groups.
  3. Specify components or units as available only to particular content groups.

In the LMS

  1. Assign learners to cohorts.
  2. Associate one or more cohorts with a content group.
  3. Preview cohort-specific course content.
Example: Cohort-Specific Course Content

Suppose that you create two cohorts in your course: University Alumni and Current University Students. Learners who are not in either of these cohorts are automatically placed into a third cohort, the default cohort, when they access the Course or Discussion tabs in the course. For more information about enabling cohorts in your course and assigning students to cohorts, see Enabling and Configuring the Cohorts Feature.

You intend all learners to have substantially the same course experience, with the exception that only learners in the two university-related cohorts will receive content that is specific to your university and therefore only of interest to them.

At the end of every section, you intend to include a video message from various university officials, including the university president and the dean of your college. These videos will be shown only to learners in the university and alumni cohorts. Also at the end of each section, you intend to include a quiz to test knowledge of the concepts taught in that section. The quiz will be shown to all learners enrolled in the course.

To achieve this, on the Group Configurations page in Studio you create one content group called “University-Specific Content”. In the Instructor Dashboard, on the Cohorts tab, you associate both the “University Alumni” and the “Current University Students” cohorts with the “University-Specific Content” content group.

Then, in your course outline, you change the access settings for the video component at the end of each section so that it is access is available only to the “University-Specific Content” content group. You do not need to edit the access settings of the quiz component, because if no content group is specified in a component’s access settings, that component is available to all learners.

As a final step, you preview the course in the LMS to ensure that learners see the content that is intended for them. You confirm that when you view the course in the role of Student (in other words, any learner not in a content group), you see a quiz at the end of each section, but do not see the university-related videos. When you view the course as a learner in the “University-Specific Content” group, you see a university-related video as well as the quiz at the end of each section.

Content Groups

Content groups are virtual groupings of learners who will see a particular set of course content. You can use content groups to designate specific course content as available to particular cohorts of learners.

You create content groups in Studio, and in your course outline you use the Access Settings to designate whether a component is selectively available only to one or more content groups. Any course components that do not have an explicit restricted access setting are available to all learners, regardless of their cohort.

Content groups do not have an actual impact on the availability of a course component until you associate them with one or more cohorts. If you have designated certain course content as restricted to a content group, and in addition have associated that content group with one or more cohorts, then only learners in those cohorts will see the designated content.

For an example of using content groups to create cohort-specific course content, see Example: Cohort-Specific Course Content.

Create Content Groups

To create a content group, follow these steps.

  1. In Studio, select Settings, then select Group Configurations.

  2. On the Group Configurations page, select New content group.

    Button on Group Configurations page for adding first content group.
  3. Enter a meaningful name for the content group, then select Create. The page refreshes to show the name of your new content group.

  4. Repeat this step to create as many content groups as you want.

After you create a content group, you can work with your course outline to specify which components are available to specific content groups. For details, see Specify Content as Available Only to Particular Content Groups.

You associate each content group with one or more cohorts in the LMS, on the instructor dashboard. For details, see Associate Cohorts with Content Groups.

Specify Content as Available Only to Particular Content Groups

In Studio, you can modify the settings of units or components to give access only to learners who are in cohorts associated with particular content groups. You cannot specify entire subsections or sections for restricted access by particular content groups.

You do not need to edit the access settings of units or components that are intended for all learners. Units or components that you do not restrict access to are available to all learners enrolled in your course, regardless of the cohort that they belong to.

Note

If a unit has group access restrictions set, all of its child components inherit these group access restrictions unless you explicitly set different group access restrictions for individual child components.

For details about how to modify unit access settings, see Set Access Restrictions For a Unit.

For details about how to modify component access settings, see Set Access Restrictions for a Component.

For details about previewing your course to ensure that learners in a cohort correctly see the content intended for them, see View Usage of a Content Group and Viewing Cohort-Specific Course Content.

Note

In addition to access settings for content groups, a learner’s ability to see a course component also depends on whether it is marked as visible to staff only, whether the unit is published, and the course’s release date. For details about testing course content in general, see Testing Your Course Content.

Associate Cohorts with Content Groups

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:

  1. In the LMS, select Instructor, then select Cohorts.

  2. From the cohorts drop down list, select the cohort to which you want to associate your content group.

  3. Select the Settings tab for the selected cohort.

  4. Under Associated Content Group, choose the Select a Content Group option.

  5. From the content group drop down list, select the content group that you want your cohort to be associated with.

    Select a content group to associate with the cohort.
  6. Select Save.

    You have now associated your content group with a cohort. Any course content that you designate as available to that content group is available to learners in the associated cohort or cohorts.

You can associate additional cohorts with the same or a different content group by repeating steps 3 to 7.

For an example of using content groups to create cohort-specific course content, see Example: Cohort-Specific Course Content.

Viewing Cohort-Specific Course Content

After you restrict access to units or components to particular content groups, you can view your course content as a member of a content group to ensure that members of each group correctly see the content intended for them.

Note

In addition to access settings for content groups, a learner’s ability to see a unit or component also depends on whether it is marked as visible to staff only, whether the unit is published, and the component’s release date. For details about viewing course content in various publishing states, see Viewing Published and Released Content and Previewing Draft Content.

Depending on whether you want to view published content or unpublished content, you choose either View Live or Preview from the course outline in Studio. You can then experience the course content as a learner in a particular group would, by selecting the View this course as option for a learner in the desired content group, as described in Viewing Course Content Based on Roles.

For details about testing course content, see Testing Your Course Content.

View Usage of a Content Group

To view the components or units that have been made available to learners in each of the content groups in your course, follow these steps.

  1. In Studio, select Settings, then select Group Configurations.

  2. On the Group Configurations page, locate the content group for which you want to view the usage.

    The content group’s box displays the number of locations (units or components) that are designated for learners in cohorts associated with that content group.

  3. Click the content group name to view the names of units and components that that are specified as available to learners in the group.

  4. Click a linked location name to go to that unit in the course outline, where you can change the group access settings for the unit or component.

For details about previewing your course to ensure that learners in a cohort correctly see the content intended for them, see Viewing Cohort-Specific Course Content.

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.

  1. In Studio, select Settings, then select Group Configurations.
  2. On the Group Configurations page, locate the content group that you want to delete.
  3. Move your cursor over the content group’s box, then select the Delete icon.
  4. In the confirmation message, select Delete again to confirm the deletion.

Setting up Discussions in Courses with Cohorts

In courses that use cohorts, in addition to discussion topics that are by default shared by all learners, you can create divided discussion topics, within which learners interact only with other members of their cohort.

For information about divided discussions, see About Divided Discussion Topics.

For information about managing and moderating discussions, see Managing Divided Discussion Topics and Moderating Discussions.

Offering Different Content to Different Learner Groups

You can design your course so that some learners are given different content than others, based on the group that they belong to. Learners can be grouped either by cohort, or by the enrollment track that learners join for your course.

This section provides information about offering differentiated content in your course.

For information about dividing discussion topics in your course so that only learners in the same groups interact with each other, see About Divided Discussion Topics.

Note

You can also use experiment groups to compare the performance of groups of learners who are offered different content. For details, see Overview of Content Experiments.

Offering Different Content to Learners Based on Their Enrollment Track

If your course has more than one enrollment track, you can provide different content to learners in each of the enrollment tracks.

For example, you might provide the same course content to all learners except that for the midterm and final exams, learners who are in a non-certificate track and learners who are in a certificate track are given different exams.

For information about creating differentiated content based on enrollment track, see Creating Course Content for Specific Enrollment Tracks.

Offering Different Content to Learners Based on Cohort

If you have enabled cohorts in your course, you can associate one or more cohorts with a content group. You can then design your course so that particular content is available only to learners in a specific content group.

For example, you might intend all learners in your course to have substantially the same course experience, except that you want to show learners who are either current students or alumni of your university a special video in several sections. You already have your university’s current students in one cohort and alumni in another cohort. By associating both of these cohorts with the same content group, and restricting access to the special university-related video to only this content group, you can provide a customized course experience.

For information about creating differentiated content using cohorts, see Using Cohorts in Your Courses and Creating Cohort-Specific Course Content.

Including Teams

Using Teams in Your Courses

This section provides information about setting up teams in your courses.

For information about managing teams in your courses, see the following topics.

Teams Overview

Using teams in your course is an effective way for learners to interact and collaborate on small group projects or activities. You define topics that learners choose from; learners choose a topic they are interested in, and either join a team or create their own team within that topic. Each learner can belong to only one team.

When learners create a new team, they add names and descriptions to identify their team. They can also optionally specify a primary communication language and a primary country that members identify with. Team characteristics might serve as the basis for attracting new members, resulting in small groups of learners with similar interests and goals who will work together on projects or activities within the same topic area.

Teams are most effective when learners have a clear reason for joining a team, and a clear outcome to achieve with fellow team members. For example, you might create an assignment that consists of a group project or activity, with a choice of topics, and ask learners to join teams within the topic of their choice to complete the assignment. Team members can use discussions within the team to communicate and collaborate on the assignment. If you want only to provide a way for learners to connect socially, consider using discussions within the course rather than teams. For more information about using discussions, see Running Course Discussions.

Enable and Configure Teams

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.

  1. 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.

  2. 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

  3. 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.

Three topics on the Browse Teams page.
Create a Team

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.

  1. From the Teams page in the LMS, select Browse, then select the topic in which you want to create a team.

  2. At the bottom of the list of teams within the topic, select the create a new team in this topic link.

    The "create a new team in this topic" link
  1. 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.

    Empty form with fields to be completed when you create a new team.
  2. 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.

  3. 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.

Search for a Team

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.

  1. From the Teams page in the LMS, select Browse, then select the topic in which you want to find a team.

  2. 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.

Edit a Team

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.

  1. In the LMS, select the Teams tab.
  2. On the Teams page, select Browse to show all topics.
  3. Select the arrow button for the topic to show all teams in that topic.
  4. 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.
  5. Select View for the team that you want to edit.
  6. Select Edit Team.
  7. Make your changes, then select Update. The team’s details are updated.
Remove a Learner from a Team

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.

  1. In the LMS, select the Teams tab.

  2. On the Teams page, select Browse to show all topics.

  3. Select the arrow button for the topic to show all teams in that topic.

  4. 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.

  5. Select View for the team from which you want to remove a learner.

  6. Select Edit Team.

  7. On the Instructor Tools bar, select Edit Membership.

    The Edit Membership button on the "Instructor Tools" bar on the Edit Team page.
  8. On the team’s Membership page, select Remove next to the name of the learner who you want to remove from the team.

  9. In the confirmation message, select Remove.

    The team member you removed no longer appears on the Membership page.

  10. 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.

Delete a Team

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.

  1. In the LMS, select the Teams tab.

  2. On the Teams page, select Browse to show all topics.

  3. Select the arrow button for the topic to show all teams in that topic.

  4. 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.

  5. Select View for the team that you want to delete, then select Edit Team.

  6. On the Instructor Tools bar, select Delete Team.

    The Edit Membership button on the "Instructor Tools" bar on the Edit Team page.
  7. 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.

The Learner’s Experience of Teams

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.

Browsing Teams by Topic

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.

On the page showing available topics, one topic has the arrow button that takes users to the list of teams within that topic highlighted.

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.

View of a team within a topic showing name and description, number of members.

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.

Joining, Creating, or Leaving a 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.

View of a team within a topic showing name and description, number of members.

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.

Participating in Team Discussions

Only members of a team (or anyone with a discussion administrator, discussion moderator, or community TA role) can post to a team’s discussion forum. Any learner in your course can view team discussions without being a member, but they cannot add posts to a team’s discussion unless they also belong to that team.

Note

Team discussions are not divided by cohort. Learners who are in the same team but who belong to different cohorts can view and participate in their team discusssions without regard to the cohort they belong to.

For information about course discussions and managing discussions, see Creating Course Discussions and Guidance for Discussion Moderators.

Managing Team Discussions

EdX recommends that you designate course staff and optionally student teaching assistants (TAs) to moderate team discussions. The same discussion administration roles for managing course discussions on the Discussions page apply to discussion administration for team discussions. Course team members and student TAs who already have discussion moderation roles for course discussions on the Discussions page can perform the same roles for discussions in teams.

For information about discussion administration roles, see Assigning Discussion Moderation Roles. For information about managing discussions, see Running Course Discussions.

Ability to Post in Team Discussions

Members of the team, discussion community TAs, and course staff with the roles of Discussion Admin or Discussion Moderator can post to a team’s discussion. Team members can edit their own posts, reply to posts and comments, follow and flag posts, and so on.

Posts made by discussion community TAs are marked with a Community TA label in the discussion navigation pane, and those made by discussion moderators or discussion admins are marked with a Staff label.

Ability to Edit or Delete Posts

Discussion moderators, discussion admins, and community TAs can perform the following actions in team discussions, without being a member of the team.

  • Review, edit, or delete messages
  • Pin, close, or reopen posts
  • Endorse responses

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.

Creating Content Experiments

Overview of Content Experiments

This section provides an introduction to using content experiments.

For more information, see Configure Your Course for Content Experiments and Add Content Experiments to Your Course.

Overview

You use content experiments to show different course content to different groups of learners. Also known as “A/B tests” or “split tests”, content experiments enable you to research and compare the performance of learners in different groups to gain insight into the relative effectiveness of your course content.

If your course uses content experiments, the grade report that you generate from the instructor dashboard includes a column identifying the experiment group that each learner has been assigned to. For more information, see Interpreting the Grade Report.

For information about analyzing events from content experiments, see Testing Events for Content Experiments in the EdX Research Guide.

Important

Due to an issue in the edX mobile apps, content experiments do not display correctly in the mobile apps. Blocks created with Content Experiment components display in the mobile app with a “Group ID” label.

Courses with Multiple Content Experiments

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.

Configure Your Course for Content Experiments

This section provides instructions for configuring your course to use content experiments.

Enable 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.

  1. From the Settings menu, select Advanced Settings.

  2. On the Advanced Settings page, locate Advanced Module List.

  3. 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"
    ]
    
  4. Select Save Changes.

Overview of Group Configurations

Before you can create content experiments, you must specify at least one group configuration for your course.

A group configuration defines how many groups of learners are in an experiment. You can have any number of group configurations in your course. When you create a content experiment, you select the group configuration to use.

For example, you might want to run two different content experiments at different times during your course. In one content experiment, learners either see a video or complete a reading assignment. You can then include problems so that you can see which group learned the material more completely. For this content experiment, you need a group configuration that assigns your learners to two experiment groups.

In the other content experiment, you can present the same question using four different types of problems. For this content experiment, you need a group configuration that assigns your learners to four experiment groups.

Assigning Learners to Experiment Groups

The edX Platform assigns learners to each experiment group in a group configuration.

Experiment group assignments have the following characteristics.

  • Dynamic

    The edX Platform assigns a learner to an experiment group the first time he or she views a content experiment that uses the group configuration.

  • Random

    You cannot control which learners are assigned to which experiment group.

  • Evenly distributed

    The edX Platform keeps track of the size of experiment groups, and assigns new learners to groups evenly. For example, if you have two experiment groups in a configuration, each group includes 50% of the learners in the course; if you have four experiment groups, each group includes 25% of the learners.

  • Permanent

    Learners remain in their assigned experiment groups regardless of how many content experiments you set up that use the same group configuration.

Set up Group Configurations in edX Studio

Note

You must enable content experiments before you can set up group configurations.

To set up group configurations, on the Settings menu, select Group Configurations. The Group Configurations page opens.

From this page you can create, edit, and delete group configurations. You can also view content experiments that use a group configuration.

Create a Group Configuration

You can create a group configuration at any time.

  1. On the Group Configurations page, under Experiment Groups, select New Experiment Group. The following page opens:

    An image of the Create a New Group Configuration page in Studio.
  2. 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.

  3. Optionally, enter a description for the new group configuration.

  4. 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.

    • Modify group names as needed. You see group names in the unit page in Studio, but group names are not visible to learners.
    • Select Add another group to include another group as part of the configuration.
    • Select the X to the right of an existing group to remove it from the configuration. A group configuration must have at least one group.
  5. 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:

The Group Configurations page with one group configuration listed.
Edit a Group Configuration

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.

  1. On the Group Configurations page, hover over the group configuration and select Edit.

    An image of the Group Configurations page with Edit button highlighted.

    The following page opens:

    An image of the Edit a Group Configuration page.
  2. On the Edit a Group Configuration page modify the name and description as needed.

  3. Modify groups in the configuration as needed. See Create a Group Configuration for details.

  4. Select Save to save your changes.

Delete a Group Configuration

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.

  1. On the Group Configurations page, hover over the group configuration and select the Delete icon.

    The Delete icon circled for a group configuration.
  2. When prompted to confirm the deletion, select Delete.

View Experiments that Use a Group Configuration

You can view the content experiments that use each of your group configurations.

On the Group Configurations page, select the name of a group to see its details. You see links to the content experiments that use this group configuration.

An image of a group configuration with the content experiments using the configuration circled.

Select a link to go to the unit that contains the content experiment.

View a Group Configuration from an 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.

    An image of the content experiment in the unit page with the group configuration link circled
  • At the top of the content experiment page, select the name of the group configuration.

    An image of the content experiment page with the group configuration link circled.

In both cases, the group configuration opens.

An image of the Group Configuration page with the experiments using it circled.

You can use the link in the group configuration to return to the unit that contains the content experiment.

Guidelines for Modifying Group Configurations

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).

Modifying a Group Configuration

After the course starts, do not:

  • Delete group configurations.
  • Change the id value of a group configuration.
Modifying Experiment Groups

After the course starts, do not change the id value of an experiment group.

You can change experiment group names at any time.

Removing Experiment Groups from Group Configurations

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.

Set Up Group Configuration for OLX Courses

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.

Example: One Group Configuration

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:

  • The "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.
  • The 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.
Example: Multiple Group Configurations

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.

Add Content Experiments to Your Course

This section provides instructions for adding content experiments to your course.

Before Adding Content Experiments

Before you add content experiments to your course, ensure that you have completed the following tasks.

Add a Content Experiment in Studio

You can add a content experiment in a unit or container page. In Studio, you create and view content for all groups in the content experiment in a container page for the experiment, as shown in Create Content for Groups in the Content Experiment.

When a learner views a unit with the content experiment, she has no indication there is a content experiment in the unit, and the content experiment display name is not shown. She sees only the content that you configure for the group she is assigned to. To the learner, the unit with the content experiment is no different than any other unit.

To configure a content experiment in Studio, you perform the following tasks.

After you configure a content experiment, you can change its group configuration. For more information, see Change the Group Configuration for a Content Experiment.

You can move a content experiment from its current location to a different location in the course outline. For information, see Reorganizing Components.

Create a Content Experiment

Note

Do not create new content experiments by duplicating configured content experiments. Duplicating content experiments after you have configured them is not supported.

  1. On the unit page, under Add New Component, select Advanced.

  2. Select Content Experiment.

    A new content experiment is added to the unit.

    An image showing the content experiment component in a unit page in Studio.

    The content experiment includes a container for each group that is defined in the group configuration you selected. You create content for each experiment group as you do any other component. For more information, see Developing Course Components.

  3. Select either Select a Group Configuration or Edit to open the content experiment component.

    An image of the content experiment editor in Studio.
  4. For Group Configuration, select a group configuration.

  5. 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.

  6. Select Save.

The content experiment is displayed as a component that contains other components. For more information, see Components that Contain Other Components.

You can now create content for the groups in the experiment.

Create Content for Groups in the Content Experiment

After you select a group configuration, in the content experiment component, select View.

The content experiment page that opens automatically includes a container for each group that is defined in the group configuration you selected. For example, if you select a group configuration that defines two groups, Group A and Group B, you see the following page.

An image of the content experiment page in Studio, with two groups.

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.

An image of an expanded content experiment component with an HTML and video component.

Note

It is valid, and can be useful, to have no content for a group in a content experiment. For example, if one group has a video and another group has no content, you can analyze the effect of the video on learner performance.

Change the Group Configuration for a Content Experiment

You can change the group configuration for a content experiment. When you change the group configuration, you edit the content for any additional groups in the group configuration. You can use the components from the previous groups, as well as create new components.

Warning

Changing the group configuration of a learner-visible content experiment will affect the experiment data.

  1. Open the unit that contains the content experiment.

  2. In the content experiment component, select Edit.

    An image of the content experiment editor in Studio, with a group configuration selected.
  3. Select a different group configuration.

  4. Select Save.

  5. 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.

    An image of a content experiment in Studio, with components in an inactive group.
  6. Drag and drop components from the Inactive Groups section into the new groups. You can also create new components in the new groups.

Add a Content Experiment in OLX

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.

Define the Content Experiment in the Sequential File

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.

Define the Experiment Content in the Split Test File

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.

Test Content Experiments

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.

An Image of a unit page in the LMS, with Group 0 selected.

You can change the experiment group selection to view the content that a different experiment group of learners sees.

An image of a unit page in the LMS, with Group 1 selected.

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.

Offering Timed Exams

This topic describes how to add and manage timed exams in your course.

Overview

You can configure a subsection in your course so that learners have a set amount of time to complete and submit all problems in that subsection.

Although you can configure an ungraded subsection to be timed, typically you set a time limit on graded subsections, such as for mid-term or final exams.

When learners take a timed exam, a timer on the exam page counts down and provides alerts as the time limit approaches. When no time remains, learners can no longer access additional exam content, or submit additional responses to the subsection. All problems that were completed are graded. No points are awarded for unsubmitted problems.

Course teams can grant individual learners more time to complete problems in the subsection, but only if learners request additional time before starting a timed exam.

Note

Learners cannot complete timed exams using the edX mobile app.

To better understand the learner’s experience of timed exams, see taking_timed_exams in the edX Learner’s Guide or Taking a Timed Exam in the Open edX Learner’s Guide.

Enable Timed Exams

To enable timed exams in your course, follow these steps.

  1. In Studio, select Settings, then select Advanced Settings.
  2. Locate the Enable Timed Exams field. The default value is false.
  3. Change the value of the setting to true.
  4. Select Save Changes. You can now create timed exams in your course.

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.

Set a Subsection to be Timed

Ensure that you have enabled timed exams in the course. Then follow these steps.

  1. Add and develop a subsection as you would any other subsection.

  2. Select the Configure icon for the subsection.

    A subsection in the course outline with the configure icon indicated.

    The Settings dialog box opens to the Basic tab.

  3. In the Grading section, set the assignment type and due date for the subsection.

  4. 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.

  5. In the Set as a Special Exam section, select Timed.

  6. 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.

  7. Select Save.

Grant Learners More Time for a Timed or Proctored Exam

Note

The course grace period setting does not apply to timed or proctored exams. For more information about the grace period setting, see Set the Grace Period.

From the instructor dashboard, a course team member can grant a learner extra time to complete a timed or proctored exam.

  1. View the live version of your course.

  2. Select Instructor, and then select Special Exams.

  3. Expand Allowance Section.

  4. Select Add Allowance.

    The Add a New Allowance dialog box opens.

  5. For Special Exam, select the subsection that contains the timed or proctored exam.

  6. For Allowance Type, select Additional Time (minutes).

  7. In the Additional Time field, enter the number of extra minutes that you want to grant to the learner.

    Note

    You must enter a whole number greater than 0.

  8. For Username or Email, enter the learner’s information.

  9. Select Save.

For proctored exams, the reviewer takes the special allowance for extra time into account when the proctoring service reviews the learner’s proctored exam results.

Allow Learners to Retake a Timed or Proctored Exam

If a learner needs to retake a timed exam, you can clear their exam attempt and allow them to retake the exam.

Warning

Clearing an exam attempt removes all learner answers in an exam. This action cannot be undone.

To clear a timed or proctored exam attempt, follow these steps.

  1. View the live version of your course.
  2. Select Instructor, and then select Special Exam.
  3. Expand Student Special Exam Attempts. A list of timed and proctored exam attempts appears.
  4. Search for the learner’s username to locate their exam attempts.
  5. In the Exam Name column, locate the name of the specific exam for which you are cleaning the learner’s exam attempt.
  6. In the Actions column, select X. A message displays asking you to confirm that you want to remove the learner’s exam attempt.
  7. Select OK. The learner’s exam attempt is removed from the list.

Hide a Timed Exam After Its Due Date

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.

  1. In Studio, select the Configure icon for the timed exam (subsection) that you want to configure.

    The Settings dialog box opens to the Basic tab.

  2. Select the Visibility tab.

  3. In the Subsection Visibility section, select Hide content after due date.

  4. Select Save.

Using Open edX as an LTI Tool Provider

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.

Reusing Course Content with LTI

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

When you use LTI to reuse edX course content, learners who are already familiar with an external learning management system or other consumer application (external LMS) see content from edX that is seamlessly integrated into a familiar context. Only the content that you specify from edX appears in the external LMS, typically within an iframe on a page.

For example, you can set up a course on an external LMS, such as Canvas, to include a link to a problem component that is part of an edX course. The problem is included as one of the course’s assignments, and appears in Canvas like other content.

An edX molecule builder problem shown as part of a course running on a Canvas system.

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 Roster Management

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.

Learner Identification and Single Sign On

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.

Learner Progress and Grades

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.

Preparing to Reuse Course Content

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

To make the content of an existing edX course reusable in an external LMS, you create a duplicate version of the course. You use the duplicate course specifically as a source of content for your external LMS. Based on configuration choices your organization makes for using edX as an LTI tool provider, you might be asked to create the duplicate course on edX Edge or on another host site.

Before you begin work to reuse the content in an Open edX course, check with your development operations (DevOps) team for information about the website to use. At some sites, a completely separate Open edX instance, with a different Studio website, is set up to be the LTI tool provider.

Planning for Content Reuse

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.

  • Some edX content can be confusing to learners when it appears in the context of an external LMS. For example, in some configurations, edX course discussions identify learners by their internally assigned edX IDs instead of by their usernames. Rather than linking to a subsection or unit that contains discussion components, you could plan to either link only to specific components or remove the discussion components from the unit or subsection, and then use the features available in your external LMS to add discussion forums to the course.
  • Optional edX course features that create groups of learners based on their IDs, such as content experiments and cohorts, are not designed to provide results for external use. To use features like these for your course, you should plan to set them up in the external LMS.
  • To ensure that edX content remains available without interruption, edX course content appears in the external LMS regardless of the start, end, or enrollment dates that are defined for the edX course.
  • To ensure that learners see only edX content that is ready for use, only course content that is published appears in an external LMS.

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.

Create the Duplicate Course

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.

  1. In Studio, export the original course. For more information, see Export a Course.

  2. 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.

  3. In the duplicate course, import the tar.gz file that you exported in step 1. For more information, see Import a Course.

Select Content in the Duplicate 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.

Verify Content Status

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.

  1. In Studio, from the Content menu select Outline. The Course Outline page opens.
  2. Expand each section and subsection.
  3. Locate units with “Unpublished units will not be released” or “Unpublished changes to live content” below the unit name.
  4. For each unpublished unit, make any changes that are necessary to prepare the content for publication. Alternatively, delete the unit.
  5. Publish the unit. For more information, see Publish a Unit.

Determining Content Addresses

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

To include the content of an existing course in another system, you use the edX LMS to find the location identifiers for the content you want to include. You then format the identifiers into an LTI URL.

You might find using a tool like a spreadsheet helpful as a way to organize the course ID and each of the usage IDs that correspond to the course content you want to include in an external LMS.

Find the Course ID

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.

  1. In the edX LMS, open your course.
  2. In the URL shown by your browser, find the course ID.

For example, you open the “Blended Learning with edX” course to the Course page for the course. The URL for the Course page is https://courses.edx.org/courses/course-v1:edX+BlendedX+1T2015/course. From the URL, you determine that the course ID is course-v1:edX+BlendedX+1T2015.

Another example is the edX DemoX course. The URL is https://courses.edx.org/courses/course-v1:edX+DemoX.1+2T2017/course, and its course ID is course-v1:edX+DemoX.1+2T2017.

The same course ID applies to every item of content in the course.

Finding the Usage ID for Course Content

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.

View Staff Debug Info for the Usage ID

To find the usage ID for a unit or component in the LMS, follow these steps.

  1. In the edX LMS, open your course.

  2. Select Course, and then go to the page that contains the unit or component.

  3. Select Staff Debug Info.

  4. To find the usage ID for a component, find the location.

    For example, location = block-v1:edX+BlendedX+1T2015+type@html+block@2114b1b8fd7947d28fba53414459ff01

  5. 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.

View the Page Source for the Usage ID

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.

  1. In the edX LMS, open your course.

  2. Select Course, and then go to the page with the content that you want to include in an external LMS.

  3. 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.

  4. Use your browser’s Find feature to locate the term data-usage-id. This attribute contains the usage ID.

  5. 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 &#34; ISO codes, and then copy and paste it into the spreadsheet.

Constructing the LTI URL

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

Grading Remote Content

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

When you include the problem components in a graded edX subsection in an external LMS, the edX system grades the learner responses to those problems. The edX system then transfers the learner scores back to the external LMS. This exchange between an external LMS, the edX system, and the external LMS again is near real time. It can take a few moments to complete this exchange for a single problem component, and up to several minutes to return aggregated scores of all of the problems in a unit or subsection.

When you include edX problem components in an external LMS, note the following requirements.

  • The edX problem component must be in one of the graded subsections in your course.
  • Your external LMS might also require that you use a specific part of the course for graded content. For example, in Canvas, you must add the LTI URL of a problem component to the “Assignments” section of a course, or to a module item that points to an assignment. In addition, the user who launches the LTI material must be eligible to get a grade for the assignment; that is, a learner and not a TA or course designer.

For more information about constructing an LTI URL for a course component, see Determining Content Addresses.

Example: edX as an LTI Provider to Canvas

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

To use edX course content in the Canvas LMS, you add a new app to the course and then add external tool module items.

Note

This example relies on the use of a third-party tool. Because this tool is subject to change by its owner, the steps and illustrations provided here are intended as guidelines and not as exact procedures.

  1. In Canvas, select your course. In Settings, select Add New App.

    The Canvas page where you enter identifying values for the edX host site as a LTI tool provider.
  2. 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.

    The Canvas page where you add an external tool and supply the LTI URL.

    For more information, see Determining Content Addresses.

  3. Review the content to verify that it appears as you expect.

    An edX drag and drop problem shown as part of a course running on a Canvas system.

Example: edX as an LTI Provider to Blackboard

Note

This feature was a closed pilot experiment. This feature is not supported for new users.

To use edX course content in the Blackboard LMS, you add a new app to the course and then add external tool module items.

Note

This example relies on the use of a third-party tool. Because this tool is subject to change by its owner, the steps and illustrations provided here are intended as guidelines and not as exact procedures.

  1. In Blackboard, select your course.

  2. From the course control panel, select Customizations. In the Tool Availability section, verify that the LTI tool has been enabled.

  3. Open a Content Area page, and from the Build Content menu select Web Link.

    An image of the Blackboard navigation choices from Content Area to Build Content to Web Link.
  4. 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.

    The Blackboard Create Web Link page with example name and URL values.

    For more information, see Determining Content Addresses.

  5. Review the content to verify that it appears as you expect.

    An edX drag and drop problem shown as part of a course running on a Blackboard system.

You can also include content from an LTI provider in your Open edX courses. For more information, see LTI Component.

Proctored Exams

This section describes how to create and manage proctored exams in Studio. Proctored exams are timed exams that learners take while being monitored by online proctoring software.

Proctored Exam Overview

Proctored exams are timed exams that learners take while online proctoring software monitors their computer, environment, and behavior. When learners complete a proctored exam, a reviewer examines the recording of the exam to determine whether the learner complied with the online proctoring rules.

All courses can include proctored exams.

Learners must satisfy the following criteria to pass a proctored exam.

  • Take the exam as a proctored exam.

    By default, learners have the option to take the exam as a proctored exam or as a regular exam. To remove this option, see Prevent Learners from Opting Out of Proctored Exams.

  • Download and install proctoring software.

  • Complete identity and exam environment checks.

  • Earn a passing grade on the exam.

  • Receive a Satisfactory result for their proctoring session review.

Preparing Learners for Proctored Exams

To prepare learners for a proctored exam, follow these guidelines.

  • Emphasize that learners must be aware of the requirements before taking the exam, and that some of the requirements might take some preparation.
  • Well before the exam, provide learners with information about the grading policy in your course.
  • Explain what proctored exams are, and provide learners with links to the Proctored Exams topic in the Open edX Learner’s Guide.
  • Communicate the rules for proctored exams, including the online proctoring rules in the Open edX Learner’s Guide as well as any specific rules for a particular exam. For information about creating specific rules, see Specify Exam Rules and Exceptions.

The Learner Experience of Proctored Exams

The learner experience of a proctored exam depends on the proctoring service that your course or organization uses. Typically, learners can expect to download and install proctoring software, verify their identities, and use their webcams to scan the testing environment before they take the exam. For more information, see Proctored Exams in the Open edX Learner’s Guide.

Practice Proctored Exams

You can create an ungraded practice proctored exam for your course so that learners can become familiar with the process of installing proctoring software and performing the required checks ahead of time. Depending on the proctoring service, learners might complete the following steps for a practice proctored exam.

  • Install the proctoring software.
  • Complete identity checks.
  • Complete a room scan.
  • Complete any example problems in the exam.

Note

Learners who complete practice exams must usually complete the same software installation and environment scan steps again when they take an actual proctored exam.

For information about how to create a practice proctored exam, see Create a Proctored Exam or Practice Proctored Exam.

Creating Proctored Exams

To create a proctored exam, you modify the course advanced settings in Studio to enable proctored exams, and then you modify the settings of a subsection to specify that the subsection is a proctored exam.

Enable Proctored Exams

To enable proctored exams in your course, follow these steps.

  1. In Studio, select Settings, then select Advanced Settings.
  2. Locate the Enable Proctored Exams policy key. The default value is false.
  3. Change the value of the setting to true.
  4. Select Save Changes. You can now create proctored exams in your course.

After you enable this setting for your course, you can create a proctored exam or a practice proctored exam.

Create a Proctored Exam or Practice Proctored Exam

To create a proctored exam or a practice proctored exam, follow these steps.

  1. Add and develop a subsection as you would any other subsection.

    For a practice proctored exam, edX recommends that you include only a few problems in this subsection. Or, you could add a unit with a text component that provides information about the exam.

  2. Select the Configure icon for the subsection.

    A subsection in the course outline with the configure icon indicated.

    The Settings dialog box opens to the Basic tab.

  3. In the Grading section, set the assignment type and due date for the subsection.

    Note

    For a practice proctored exam, leave the assignment type as Not Graded.

  4. Select the Advanced tab, and then locate the Set as a Special Exam section.

  5. Select the proctored exam type.

    • For a proctored exam, select Proctored.
    • For a practice proctored exam, select Practice Proctored.
  6. In the Time Allotted field, enter the length of time that you want to allow for the exam as HH:MM, where HH is hours and MM is minutes.

  7. (optional) For a proctored exam, in the Review Rules field, enter any additions or exceptions to the default rules for proctored exams. For more information, see Specify Exam Rules and Exceptions.

  8. Select Save.

Specify Exam Rules and Exceptions

The rules for proctoring exams vary according to the proctoring service that you or your organization has chosen. However, the online proctoring rules that this guide lists are common to many proctoring services.

Note

The course grace period setting does not apply to proctored exams. For more information about the grace period setting, see Set the Grace Period.

You can also provide custom rules for a particular exam. For example, you might allow learners to use a calculator, or to have one sheet of blank paper. These rules are visible to reviewers and learners at the start of each proctoring exam.

To specify custom proctored exam rules, follow these steps.

  1. In Studio, open your course outline and select the subsection for the exam.

  2. Select the Configure icon to open the Settings dialog box.

  3. Select the Advanced tab, and then locate the Set as a Special Exam section.

  4. In the Review Rules field, enter any additional rules. For example, you might enter the following rule.

    Allow one blank sheet of paper and a pencil or pen. Allow a hand-held calculator on the desk.

  5. Select Save.

Prevent Learners from Opting Out of Proctored Exams

When a proctored exam opens, by default, learners have an option to take the exam without proctoring. If you do not want to allow learners to take proctored exams without proctoring, you can change a setting on the Advanced Settings page in Studio.

Note

If a learner opts to take an exam without proctoring, the exam will not be timed either. In effect, learners who opt out of proctoring will have unlimited time to complete the exam and could return to problem sets at any time. You can reduce the ability to view the exam by selecting a due date for the exam.

To remove the option for learners to opt out of proctored exams in your course, follow these steps.

  1. In Studio, select Settings, then select Advanced Settings.
  2. Locate the Allow Opting Out of Proctored Exams policy key. The default value is true, which gives verified learners the option of taking proctored exams without proctoring.
  3. Change the value of the setting to false.
  4. Select Save Changes.

Check Proctoring Results

For information about how to obtain and interpret proctored exam results, contact your proctoring software provider.

Online Proctoring Rules for Learners

The rules for proctored exams vary according to your online proctoring service. The following rules are common rules for “closed book” exams.

A link to these rules, along with any additional rules that you have specified, is visible to learners on the instructions page at the beginning of every proctored exam.

For more information about specifying rules, see Specify Exam Rules and Exceptions.

Learner Rules for Online Proctored Exams

The following proctored exam rules are the basic rules for “closed book” exams.

Note

Some proctored exams have different or additional rules. For example, some proctored exams allow you to use reference material or a calculator. Any additional rules are visible along with the exam instructions before you start the exam.

Test Environment Rules
  1. You must take the exam in the same room that you scanned during the proctoring setup for the current exam.

    Note

    You must complete a webcam scan of the room where you will take the exam every time you take a proctored exam. However, you do not have to take all of your proctored exams in the same room.

  2. No other person is allowed to enter the room while you are taking the proctored exam.

  3. The lighting in the room must be bright enough to be considered “daylight” quality. Overhead lighting is preferred. If overhead lighting is not available, the source of light must not be behind you.

  4. You must sit at a clean desk or table.

  5. The following items must not be on your desk or used during your proctored exam, unless posted rules for the exam specifically permit these materials.

    • Books.
    • Paper.
    • Pens.
    • Calculators.
    • Textbooks.
    • Notebooks.
    • Phones.
  6. The desk or walls around you must not have any writing.

  7. The room must be as quiet as possible. Sounds such as music or television are not permitted.

The Computer You Use to Take the Test
  1. The computer you are using to take the exam must not have more than one display or monitor. For example, if you usually use a laptop with a monitor connected, disconnect your monitor and use only the laptop screen.
  2. You must close all other programs or windows on your testing computer before you begin the exam.
  3. You must not use the following tools.
    • Programs such as Excel, Word, or PowerPoint.
    • Communication programs such as Skype.
    • Any website page other than the exam window in your course, including other content on edX.org.
Your Behavior
  1. You must establish your identity by using a government-issued photo ID with a name that matches the full name you use in your edx.org account.
  2. You must dress as though you were in a public setting.
  3. You must not use headphones, ear buds, or any other type of listening equipment.
  4. You must not communicate with any other person by any means.
  5. You must not use a phone for any reason.
  6. You must not leave the room during the exam for any reason, unless posted rules for the exam specifically permit you to do so.
Additional Time or Special Allowances

If you have a disability and need additional time or specific accommodations to take the exam, consult your organization’s disability resources or the course team before you make any choices on the exam page. The course team must approve your request and make any adjustments before you start your exam.

Establishing a Grading Policy For Your Course

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.

Set the Grade Range

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.

Image of the Grade Range control.

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):

    Image of an altered Grade Range control.
  • 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.

Grade Ranges and Certificates

If you plan for your course to offer certificates, note that a learner will qualify for a certificate by earning any grade over the F, or Fail, threshold. This is true regardless of how many grade levels you add in the grade range.

For more information, see Setting Up Certificates in Studio.

Set the Grace Period

You can set a grace period that extends homework due dates for your learners. The grace period applies to the whole course; you cannot set different grace periods for individual assignments.

Note

The grace period setting does not apply to the following assignments and exams.

On the Grading page, under Grading Rules & Policies, enter a value in the Grace Period on Deadline field. Enter the value in HH:MM format.

Configure the Assignment Types

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.

  • 10 homework assignments, worth a total of 50% of the grade;
  • A midterm exam, worth a total of 20% of the grade;
  • A final exam, worth 30% of the grade.

By default, a new course has the following four assignment types.

  • Homework
  • Lab
  • Midterm Exam
  • Final Exam

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.

Assignment Type Fields

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.

Graded Subsections

After you configure assignment types, as you are organizing your course, you set the assignment type for subsections that contain problems that are to be graded.

You can set assignment types and due dates at the subsection level only. You cannot set assignment types or due dates for entire sections or for individual units within subsections. Additionally, you can designate a subsection as one, and only one, of the assignment types you configured.

The subsection level is also where you specify whether you want learners to receive immediate results when they complete problems in the subsection, or if you want to hide the results temporarily or permanently. For more information, see Set Problem Results Visibility.

Note

You can create problems in Studio without specifying an assignment type for the subsection. Scores for such problems are listed as “practice scores” on the learner’s Progress page and do not count toward the learner’s grade.

Hidden sections, subsections, or units that contain graded content are not included in grading and also do not count toward a learner’s grade. For more information, see Hiding Graded Content.

Within a graded subsection, you create problems of the type designated for that subsection. You cannot mix problems of different assignment types in the same subsection.

For example, if you want to create a homework assignment and a lab for a specific topic, create two subsections. Set one subsection as the Homework assignment type and the other as the Lab assignment type. Both subsections can contain other content as well as the actual homework or lab problems.

For more information about creating problems and developing subsections, see Working with Problem Components and Developing Course Subsections.

For more information about designating a subsection as a graded assignment, see Set the Assignment Type and Due Date for a Subsection.

For more information about how to designate a subsection as a timed exam, see Offering Timed Exams.

The Learner View of Grades

After a grading policy is in place, learners can view both their problem scores and the percent completed and current grade on the Progress page for the course.

Image of the student Progress tab.

Note

If you have hidden the problem results for some assignments, these scores are not visible on the Progress page. The page shows only that the learner has completed the assignment. For more information about hiding problem results, see Set Problem Results Visibility.

Each item in the X axis of the chart is for a graded subsection. Graded problems in units are not broken out in the chart; the score from each problem in the subsection is added to that vertical bar.

Graded subsections are grouped in the chart by assignment type rather than listed in chronological order. For example, all homework exercises are grouped together, followed by labs, then exams.

Note

The x for an assignment in the Progress tab indicates that the grade for that assignment is currently dropped. You configure how many assignments are dropped when you configure assignment types.

Releasing Your Course

Beta Testing a Course

This topic describes how to beta test your course.

Overview

When you are designing a course in Studio, you can use the Preview or View Live options to test the course content, find gaps and errors, and mimic the learner experience. For more information, see Testing Your Course Content.

To gather information about the overall experience of taking a course, you can also conduct a beta test of the course.

The Beta Testing Process

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.

  1. Planning: What are your objectives for the test? What is the schedule for testing?
  2. Recruitment: How many testers do you need? How much time do you expect testers to spend? When do you need them to complete their feedback?
  3. Provide access to your course: Can testers access your entire course immediately, or are its sections and subsections available at different times? How will that affect the schedule?
  4. Collect feedback: How do you want testers to provide feedback? Who checks for feedback, and how often?
  5. Evaluate feedback: How is feedback evaluated? Who decides what changes to make as a result, and on what schedule?
  6. Conclusion: How do you acknowledge the efforts of your testers? What do you share with them about the results of their efforts?

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.

The Beta Testing Role

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.

Qualities of Good Beta Testers

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.

  • Curiosity.
  • Attention to detail for identifying problems and inconsistencies.
  • Solid communication skills for reporting problems to the course team.

Your beta testers should also have varying levels of knowledge about the course content:

  • To recognize when material is wrong or missing, at least one tester should know the content well.
  • To identify material that is unclear, at least one tester should be less familiar with the 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.

Using Course Team Members as Beta Testers

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.

What to Test

Beta testers should interact with everything in the course.

  • Select all links.
  • Watch all videos.
  • Download video transcripts and other files.
  • Complete all problems.

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.

How Beta Testers See Course Content

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.

Define When the Beta Test Starts

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.

  1. In Studio, from the Settings menu, select Advanced Settings.
  2. In the field for the Days Early for Beta Users policy key, enter the number of days before content releases for beta testers to have access.
  3. Select Save Changes.
Example

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.

Adding Beta Testers

Before you can add beta testers:

  • You need the email address or username of each beta tester.
  • Each beta tester must register and activate a user account for that email address/username.

When you add beta testers, note the following.

  • If the beta test starts before the course Enrollment Start Date, testers cannot enroll themselves in your course. However, you can enroll the beta testers prior to the Enrollment Start Date.
  • If you add the beta testers after the defined start of the beta test, and they are enrolled in the course, they see your course on their Current Courses dashboards when they log in.
  • If you add beta testers before the test starts, or if they are not enrolled, they do not see your course on their dashboards. You can enroll the beta testers in the course yourself, and you may want to send an email message to remind them when the test begins.
Add Multiple Beta Testers

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:

  1. View the live version of your course.

  2. Select Instructor, and then select Membership.

  3. 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.

  4. 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.

  5. 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.
    
  6. Select Add beta testers.

To remove the Beta Tester role from one or more users, enter their email addresses in the Batch Add Beta Testers field and then select Remove beta testers.

Note

When you select Remove beta testers, the Auto Enroll option is not affected. The user’s role as a beta tester is removed, but they remain enrolled in the course.

Add Beta Testers Individually
  1. View the live version of the course.

  2. Select Instructor, and then select Membership.

  3. In the Course Team Management section, select Beta Testers.

  4. Under the list of users who currently have that role, enter the email address or username of the person you want to add.

  5. Select Add Beta Tester.

    The person who you added appears in the list of beta testers.

Note

If the beta test starts before the Enrollment Start Date of your course, you can also enroll the beta tester. See Enrollment.

To remove the Beta Tester role from users individually, find the user in the list of beta testers, and then select Revoke access to the right of that user’s email address.

Reporting Issues During a Course

Despite the efforts of the course team and the beta testers, additional problems, questions, and issues can occur while a course is running.

  • Often, learners report issues by asking questions in a discussion. Your discussion moderation team can watch for posts that indicate problems.
  • To let learners know the best way to report problems, you can post information in the course welcome message, or post it in a discussion.

Course Launching Activities

To launch a course, you prepare the course itself, the course team, and the learners. This topic describes on how to accomplish this.

Course Launch Checklist in Studio

You can access a course launch checklist from the Course Outline page and from the Tools menu. The checklist includes the following important items that you need to complete prior to launching your course.
  • Add a Welcome Message: Personally welcome learners into your course and prepare learners for a positive course experience. See Scheduling a Course Run.
  • Create Your Course Grading Policy: Establish your grading policy, including assignment types and passing score. All assignments add up to 100%. See Establishing a Grading Policy For Your Course.
  • Enable Your Certificate: Make sure that all text is correct, signatures have been uploaded, and the certificate has been activated. See Setting Up Certificates in Studio.
  • Set Important Course Dates: Establish your course schedule, including when the course starts and ends. See Scheduling a Course Run.
  • Validate Assignment Deadlines: Ensure all assignment deadlines are between course start and end dates.

Note

The last two checklist items only appear for instructor-paced courses.

To help you communicate to the course team or to all course participants before the course launches and while it is running, you can send email messages from the LMS by selecting Instructor to access the instructor dashboard. For more information, see Bulk Email Messages from the Course Team. The topic on bulk email also includes a set of example messages to learners that you can use as guidelines when you write your own email messages.

Course Launch Checklist Timeline

As the start date for your course approaches, the following checklist or timeline of activities can help you make sure that your course, and your learners, are ready to begin. Suggestions for activities to complete before your course starts follow.

Verify Course Settings

Verify Certificates

Review First Week Content

  • Verify that all units are present and published. See Developing Course Units.
  • Verify that videos, transcripts, and download links are in place and working. See Working with Video Components.
  • Check all assignments for completeness and verify their due dates. See Working with Problem Components.
  • Use edX Insights to review the answers that beta testers submitted for problems, and to proofread your display names, accessible labels, and answer text.
  • Review feedback from the course team and beta testers to be sure that the content has been thoroughly reviewed and tested.

Welcome Learners

  • Two months before the course start date, prepare and send a welcome email message to currently enrolled learners. See Pre-launch Reminder and Send an Email Message to Course Participants.
  • Compose a welcome message and add it to the Course page. See Add a Course Update.
  • Verify that a syllabus and other references are available on the Course Handouts page. See Add a Course Handout.
  • One month before the course start date, prepare and send a welcome email message to currently enrolled learners.
  • One week before the course start date, prepare and send a welcome email message to currently enrolled learners.
  • Add an “Introduce Yourself” post to a discussion topic. For a MOOC, you may want to manage the size of the thread by distributing learner responses across multiple threads. For example, you can start different threads for introductions based on geographical location, such as “Introduce Yourself: Europe”, “Introduce Yourself: North America”, etc. See Running Course Discussions.
  • On the course start date, prepare and send a launch email message to currently enrolled learners. See Launch Day Welcome.

Prepare the Course Team

  • Define communication methods for all course contributors, including team members with the Staff, Admin, and discussion moderation team roles. For example, set up a course-specific email address.
  • Verify that all course contributors know how to record their work, report issues, and collaborate on tasks.
  • Verify that the people who will be Admins or Staff for your course have the correct role assignments in the LMS. See Planning Course Staff.
  • Verify that the people you have given the Discussion Admin, Discussion Moderator, and Discussion Community TA roles have registered and activated their user accounts and enrolled in the course. See Assigning Discussion Moderation Roles. Note that team members with the Admin and Staff roles must also be given one of these roles to have discussion moderation privileges.
  • Define methods for managing discussions and guidance for discussion moderators, and distribute to the discussion team. See Moderating Discussions and Guidance for Discussion Moderators.

Exporting and Importing a Course

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.

Export a Course

There are several reasons you might want to export your course. Examples follow.

  • To save your work.
  • To edit the XML in your course directly.
  • To create a backup copy of your course, which you can import if you want to revert the course back to a previous state.
  • To share with the team members of another course.
  • To create a copy of your course that you can later import into another course instance and customize.

When you export your course, Studio creates a .tar.gz file that includes the following course data.

  • Course content (all Sections, Subsections, and Units)
  • Course structure
  • Individual problems
  • Pages
  • Course assets
  • Course settings

The following data is not exported with your course.

  • User data
  • Course team data
  • Discussion data
  • Certificates
  • Prerequisite course subsection settings

To export your course, follow these steps.

  1. From the Tools menu, select Export.
  2. Select Export Course Content.

When the export completes you can then access the .tar.gz file on your computer.

Course Outline Terminology in Exported Files

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.

Import a Course

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.

  • To load a course you developed outside of Studio.
  • To run a new version of a course that was not created in Studio.
  • To prepare course content for reuse in another learning system.

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.

  1. From the Tools menu, select Import.
  2. Select Choose a File to Import.
  3. Locate the file that you want, and then Select Open.
  4. Select Replace my course with the one above.

Note

When you import a course, important dates, such as the course start date and time, are overwritten. After the import is complete, you should check dates to ensure they are set as intended. For more information, see Scheduling a Course Run.

Work with the .tar.gz File

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.

Managing a Running Course

Use the topics in this section to learn about managing a course that is currently running, including enrolling or unenrolling learners, and sending email to learners in the course.

Course Information

After you create a course in Studio, you can access information about it on the instructor dashboard. The instructor dashboard is part of the LMS.

View Basic Course Information

On the Course Info page, you can find the following information.

  • Identifying information about the course.
  • Whether the course has started or ended.
  • The number of sections in the course.
  • The defined grade cutoff for passing or failing.

To view this course data, follow these steps.

  1. View the live version of your course.

  2. Select Instructor to open the instructor dashboard.

  3. On the instructor dashboard, select Course Info.

    The Basic Course Information section of the page that opens lists the following information about the course.

    • Course Name: Specified when you create the course. Becomes part of the course URL. For more information, see Course Title Guidelines.
    • Course Run: Specified when you create the course. Becomes part of the course URL, and cannot be changed.
    • Course Number: Specified when you create the course. Becomes part of the course URL. For more information, see Course Number Guidelines.
    • Organization: Specified when you create the course. Becomes part of the course URL, and cannot be changed.
    • Course Start Date: The date and time that the course is scheduled to start. For more information, see Guidelines for Start and End Dates.
    • Course End Date: The date and time that the course is scheduled to end. For more information, see Guidelines for Start and End Dates.
    • Has the course started?: Derived from the Course Start Date value and the current date.
    • Has the course ended?: Derived from the Course End Date value and the current date.
    • Number of sections: The total number of sections created for the course. Includes all course sections, regardless of publication status, release date, or other settings that affect whether learners have access to the sections.
    • Grade Cutoffs: Specified when you define the cutoff for a failing grade. Learners who earn exactly the cutoff value pass the course. For more information, see Set the Grade Range.

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.

Automatic Email Messages from the Open edX Platform

To help learners become and remain engaged in a course, the Open edX platform can send automatic email messages that notify learners of responses to discussion posts.

Note

Before the system can send automatic email messages for any courses, a system administrator must enable automatic messages on the instance of the Open edX platform. For more information, see Enable Discussion Notifications.

Automatic Email Message Text

After a learner or course team member creates a post in the course discussions, the platform sends the following email message the first time a learner or course team member replies to the original post.

Subject: Response to <title of post>

<username> replied to <title of post>:

  <text of comment>

The message also contains a View discussion option that takes the learner to the discussion post.

The platform does not send individual messages for any additional replies on the post. However, the learner automatically receives a daily digest email message that summarizes additional activity on the post. For more information, see Receiving Notifications and receiving daily digests.

Bulk Email Messages from the Course Team

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.

Message Addressing

When you send a bulk email message from the instructor dashboard, you choose its recipients by selecting a Send to option. You can select one or more recipient groups for each message. For details about who is included in each of the preset recipient groups, see Who Is Included in Each Recipient Group?

When you send a message to more than one recipient group, duplicate recipients are filtered out, so that someone who belongs to more than one of the recipient groups only receives one copy of the message. For example, if you address an email message to learners in a particular cohort as well as to learners in the Verified enrollment track, a learner who is in the cohort AND is in the Verified enrollment track will only receive one email message.

The following preset recipient groups are available.

  • Myself. Send an email message only to yourself, to test and review the message before sending it to a larger group.
  • Staff and Administrators. Send an email message to members of the course team who have Staff or Admin privileges. For information about course team member privileges, see Planning Course Staff.
  • All Learners. Send an email message to all currently enrolled learners. This group does not include learners who have not activated their accounts, or who have opted out of receiving email communications. This group does not include course team members, even if they are enrolled in the course.

If you have more than one enrollment track in your course, each enrollment track is available as a separate recipient group. For more information, see Sending Email Messages to Learners in Different Enrollment Tracks.

If you have cohorts enabled in your course, each cohort is available as a separate recipient group. For more information, see Sending Email Messages to Learners in Cohorts.

Who Is Included in Each Recipient Group?

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
  • Any course team member who has the Staff role.
  • Any course team member who has the Admin role.
  • Beta testers who do not also have the Staff or Admin role.
  • Discussion moderators who do not also have the Staff or Admin role.
  • Discussion administrators who do not also have the Staff or Admin role.
  • Learners who have the Community TA or Group Community TA discussion moderator roles.
All Learners
  • All currently enrolled learners in your course, including those who have enrolled but have not yet accessed the course.
  • Learners who have not replied to the account activation email message that they received when they registered on edx.org.
  • Learners who have opted out of receiving email messages through the Email Settings link for the course on the learner’s dashboard.
  • Course team members, regardless of whether they are enrolled in the course.
Sending Email Messages to Learners in Different Enrollment Tracks

If you have more than one enrollment track in your course, each enrollment track is available as a separate recipient group. If your course includes only a single enrollment track, you will not have a track-based recipient group.

For example, if your course includes an audit track and a verified certificate track, you have two additional recipient groups: Learners in the Audit Track and Learners in the Verified Certificate Track.

Sending Email Messages to Learners in Cohorts

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.

Composing Email Messages

When you compose an email message, you can use the following options.

Styling

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.

Images

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.

Keywords

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.

Send an Email Message to Course Participants

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.

  1. View the live version of your course.

  2. Select Instructor, and then select Email.

  3. 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?

  4. In the Subject field, enter a subject for the message.

  5. In the Message box, enter the text for the message.

    For details about options for composing your message, see Composing Email Messages.

  6. 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.

Use Keywords in Messages

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.

Supported Keywords

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 course
Keyword Formatting

You 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>
. . .

Message Workflow States

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.

Flowchart of the possible states of a bulk email task.

Bulk email tasks can have the following workflow states.

  • Queuing: The bulk email task is created and being queued for background processing.
  • Pending: The task is queued and is waiting to run.
  • Started: Background processing is in progress to create emailing subtasks.
  • Progress: The emailing subtasks are in progress.
  • Success: All emailing subtasks are complete. Note that the bulk email task can be in this state even if some or all of its emailing subtasks failed.
  • Failure: An error occurred and task processing did not complete successfully.

While the bulk email task is in progress, you can find out what stage it has reached in the workflow by checking the Pending Tasks section on the Email page.

Information about an email message, including who submitted it and when, in tabular format

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.

Review Sent Messages

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.

  1. View the live version of your course.
  2. Select Instructor, and then select Email.
  3. In the Email Task History section of the page, select Show Sent Email History. The list of sent messages displays.
A tabular list of sent messages, with columns for subject, sent by, time sent, and number sent.
  1. To review additional information for a sent message, select its subject. The message opens in a dialog box.
A dialog box with the subject, sent by, date and time sent, sent to, and message for an email message, and an option to Copy Email to Editor.
  1. 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.

Email Task History Report

The Email Task History report can help you keep track of who sent messages, when, to which groups, and how many messages were successfully sent. For each message sent, the report includes the username of the requester, the date and time it was submitted, the duration and state of the entire task, the task status, and the task progress.

You can use this history to investigate questions relating to bulk email messages that have been sent, such as these examples.

  • How frequently learners are sent course-related email messages.
  • Whether a message was sent successfully.
  • The change in the number of people who were sent course-related messages over time.

To produce the Email Task History report, follow these steps.

  1. View the live version of your course.
  2. Select Instructor, and then select Email.
  3. In the Email Task History section of the page, select Show Email Task History. A report like the following example displays on the instructor dashboard.
A tabular report with a row for each message sent and columns for requester, date and time submitted, duration, state, task status, and task progress.
Review Email Task History

For tasks with a State of Success, the Task Progress column shows an informational message. These messages can have a format such as “Message successfully emailed for 13457 recipients (skipping 29) (out of 13486)”. To interpret this message, note that:

  • The first number (“recipients”) indicates the number of messages sent to the selected recipients.

  • The second number (“skipping”) indicates the number of enrolled and activated users who were not sent the message. This count is of learners who have opted not to receive course email messages.

  • The final number (“out of”) indicates the number of users in the set of recipients you selected who were enrolled in the course (and had activated their user accounts) when you sent the email message.

    Note that the Total number of enrollees shown in enrollment data in Insights includes all currently enrolled learners, regardless of account activation status, and as a result can be different than this “out of” number.

If the “recipients” and “out of” numbers are the same, the message reads “Message successfully emailed for 13457 recipients” instead.

Other Task Progress messages for tasks with a State of Success indicate that some or all of the emailing subtasks did not successfully send email:

  • “Message emailed for {number succeeded} of {number attempted} recipients”
  • “Message failed to be emailed for any of {number attempted} recipients”
  • “Unable to find any recipients to be emailed”

No Task Progress messages display for tasks that have a State of Failure.

Example Messages to Learners

You can use these example messages, prepared for delivery before typical course milestones, as models for your own course communications.

These messages are styled as email messages, but you could also post this information in a course discussion topic or in a course update. To use keywords, you must send email messages; keywords are not supported in discussion topics.

Important

Revise these message templates carefully to include facts for your own course, meet the needs of your learners, and reflect your own objectives and personality. Search for the “{” and “}” characters to locate prompts and replace them with course-specific values.

Some of these messages also contain keywords. Values specific to your course and the recipients will be substituted for the keywords when you send the messages. Ensure you are using keywords appropriately for your course and objectives.

Pre-launch Reminder

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:

  • UTC is used in edX courses. Alternatively, you could include information about your course or the edX platform that will contribute to your learners’ success.
  • The course has a companion social media site. Alternatively, you might include information about planned meetups or other community-building opportunities.

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
Launch Day Welcome

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
Reminder to Register for Verified Certificate

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
Weekly Highlights

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
Mid-Course Encouragement

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
Mid-Course Event

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:

  • How long they have to complete the exam, and when they can see answers to questions.
  • How to communicate any errors or other issues found during the exam to the course staff.
  • Whether the course discussions will be open or closed during the exam. (In the example that follows, the discussions will remain open.)
  • What constitutes an honor code violation.
  • What technical limitations, if any, are imposed by external tools such as graders.

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
Technical Issue

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
Course Farewell and Certificates

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
New Course Run Announcement

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

Enrollment

Learners can enroll themselves in a course during its defined enrollment period.

The course creator and course team members with the Staff and Admin roles can enroll learners in a course. These course team members can also unenroll learners.

Data about course enrollment is available in the LMS, by selecting Instructor to access the instructor dashboard and from Insights. For more information, see Report Learners Not Yet Enrolled.

Registration and Enrollment

Before a learner can enroll in a course, he or she must complete these steps.

  1. Register a user account, which includes supplying a valid email address, on www.edx.org, edge.edx.org, or your implementation of the edX platform. Each platform requires a separate user account.
  2. Activate the registered account by following the emailed instructions.

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.

Options for Enrolling Learners in a Course

You enroll learners, and other course team members, in your course by supplying their email addresses. After the enrollment end date for a course learners can no longer enroll themselves. However, you can still explicitly enroll learners.

Note

When you enroll learners in a course, all learners are automatically enrolled in the audit enrollment track. For more information about course enrollment tracks, see enrollment track.

When you enroll people in a course, you have the following options.

  • Auto Enroll. When you choose this option, the people who you enroll do not need to complete an explicit course enrollment step. Of the list of email addresses that you supply, those that correspond to a registered user account are immediately enrolled in the course, and your course displays on the Current Courses dashboard for those users on log in. Email addresses on the list that do not match a registered user account are enrolled as soon as that account is registered and activated.

    You can track the enrollment status of the learners who you auto enroll. For more information, see Report Learners Not Yet Enrolled.

    If you do not select Auto Enroll, the people who you enroll must also actively locate your course and enroll themselves in it. These learners see the course on their dashboards after they have done so.

  • Notify learners by email. When you choose this option, an email message is automatically sent to each of the email addresses that you supply. The message includes the name of the course and, for learners who are not already enrolled, a reminder to use that same email address to enroll.

Enroll Learners in a Course

To enroll learners or course team members, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Membership.

  3. 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.

  4. For Role of the users being enrolled, select the role of the learner.

    • If the learner is a member of the course staff, select Partner.
    • If the learner is not a member of the course staff, select Learner.

    Note

    All of the users that you enroll at one time must have the same role. If you have some users who are partners and others who are learners, you must complete two batch enrollments.

  5. In the Enter the reason why the students are to be manually enrolled or unenrolled field, enter a specific, detailed reason why you want to enroll these learners.

  6. To streamline the course enrollment process, leave Auto Enroll selected.

  7. To send learners an email message, leave Notify students by email selected.

  8. Select Enroll.

You can view or download a list of the people who are enrolled in the course. For more information, see Learner Data.

Note

When you enroll learners in a course, all learners are automatically enrolled in the audit enrollment track. For more information about course enrollment tracks, see enrollment track.

Note

If your course has a fee, and an organization wants to purchase enrollment for multiple seats in your course at one time, you can create enrollment codes for the organization. The organization then distributes these enrollment codes to its learners to simplify the enrollment process. You can also create coupon codes to give learners a discount when they enroll in your course. For more information, see Enable and Create Enrollment Codes.

View an Enrollment Count

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.

  1. View the live version of your course.

  2. 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.

Report Learners Not Yet Enrolled

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.

  1. View the live version of your course.
  2. Select Instructor, and then select Data Download.
  3. In the Reports section of the page, select Download a CSV of learners who can enroll.

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.

  1. To open or save the report, select the {org}_{course_id}_may_enroll_info_{date}.csv file name at the bottom of the page.

Unenroll Learners from a Course

You can remove learners from a course by unenrolling them. To prevent learners from re-enrolling, course enrollment must also be closed. You use Studio to set the Enrollment End Date for the course to a date in the past. For more information, see Scheduling a Course Run.

Note

Unenrollment does not delete data for a learner. An unenrolled learner’s state remains in the database and is reinstated if the learner does re-enroll.

To unenroll learners, you supply the email addresses of enrolled learners.

  1. View the live version of your course.

  2. Select Membership.

  3. 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.

  4. In the Enter the reason why the students are to be manually enrolled or unenrolled field, enter a specific, detailed reason why you want to unenroll these learners.

  5. To send learners an email message, leave Notify students by email selected.

    Note

    The Auto Enroll option has no effect when you select Unenroll.

  6. 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.

Staff Debug Info

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
Indicates whether the problem is visible to learners.
location
An internal unique identifier that corresponds to this problem.
markdown
The text of the problem, in Markdown format. This is often written using Studio.
display_name
The name of the problem, as shown to the learner.
max_attempts
The maximum number of times that a learner can attempt to answer the problem correctly.
attempts
The number of times that the currently logged in learner has attempted to answer the problem correctly, so far. Every time this learner attempts to answer this question, this number will go up, until it reaches max_attempts.
parent
An internal unique identifier that corresponds to the unit that contains this problem.

Managing Discussions

Course discussions foster interaction among learners and between learners and the course team. You can set up different topics to guide these interactions when you create your course, and then run and moderate discussions throughout the course to encourage participation and develop course community. Discussions are also excellent sources of feedback and ideas for future courses or course runs.

Use the topics in this section to learn about managing course discussions, including creating discussion topics, running discussions in a live course, choosing to divide topics based on learner groups, building a team of discussion moderators, and moderating discussions.

Note

Some features of discussions, especially moderation features, are not available when discussions are accessed in the edX mobile app. For information about the differences between discussions on the edx.org site and in the mobile app, see Discussions in the edX Mobile App.

Creating Course Discussions

Discussions in an edX course include both course-wide topics of interest to all learners (such as “Feedback”, “Troubleshooting”, or “Technical Help”) as well as content-specific topics that you add to course units as discussion components. You create both types of discussion topics in Studio.

For information about creating discussion topics, see the following sections.

For information about creating discussions in which learners in a group such as a cohort or in a particular enrollment track only interact with posts from other learners in the same group, see About Divided Discussion Topics.

For information about running and moderating course discussions, see Running Course Discussions and Moderating Discussions.

Create Course-Wide Discussion Topics

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.

  1. Open your course in Studio.

  2. Select Settings, then Advanced Settings.

  3. Scroll down to the Discussion Topic Mapping policy key. By default, its value looks like this.

    {
        "General": {
            "id": "course"
        }
    }
    
  1. Copy the three lines provided for the “General” topic and paste them above the closing brace character (}).

    {
        "General": {
            "id": "course"
        }
        "General": {
            "id": "course"
        }
    }
    
  2. 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"
       }
    }
    
  3. 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.

  4. Add a comma after the first closing brace (},).

    {
       "General": {
           "id": "course"
       },
       "Questions about the Course": {
            "id": "course_q"
       }
    }
    
  5. Select Save Changes.

    Studio checks the syntax of your entry and reformats your entry to add line feeds and indentation.

  6. 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.

A new topic named Course Q&A in the list of discussion topics.

Note

To make a particular course-wide discussion topic the default topic when learners add new posts on the Discussion page, add a “default” attribute with a value of true to the topic’s definition.

{
   "General": {
       "id": "course"
   },
   "Questions about the Course": {
       "id": "course_q",
       "default": true
   }
}

Note

In courses that use cohorts, the course-wide discussion topics that you add are unified. All posts can be read and responded to by every learner, regardless of the cohort that they belong to. You can optionally configure these topics to be divided by cohort. For more information, see Specify Which Course-Wide Discussion Topics are Divided.

Create Content-Specific Discussion Topics

To create a content-specific discussion topic, you add a discussion component to a unit. Typically, you do this while you are designing and creating your course in Studio. Follow the instructions in Working with Discussion Components. The result is a discussion topic associated with a unit and its content. Learners can access content-specific topics both in the course unit and on the Discussion page.

Warning

Follow the recommended steps to add discussion components. Do not create discussion topics by using the Duplicate button in Studio, and do not reference the same discussion ID in more than one place in your course. Duplicated discussion components result in discussion topics that contain the same conversations, even if learners post in different discussion topics.

For information about the visibility of content-specific discussion topics, see Understanding When Learners Can See Discussion Topics.

Note

In courses with cohorts enabled, when you add discussion components to units in Studio, these discussion topics are by default unified. All learners in the course can see and respond to posts from all other learners. You can change content-specific discussion topics to be divided, so that only members of the same group can see and respond to each other’s posts. For information, see Content-Specific Discussion Topics and Groups.

Understanding When Learners Can See Discussion Topics

The names that you specify as the category and subcategory names for discussion components are not visible on the Discussion page in the LMS until after the course has started and the unit is released.

However, “seed” posts that you create in content-specific discussion topics before a course starts, or before the unit is released, are immediately visible on the Discussion page, even though the containing category or subcategory names are not visible. EdX recommends that you do not create posts in content-specific discussion topics before a unit is released. For more information about release dates and the visibility of components, see Controlling Content Visibility and Access.

In contrast, course-wide discussion topics that you create on the Advanced Settings page in Studio, including the default “General” discussion topic, are immediately visible, regardless of whether the course has started. They are not associated with any particular section or subsection of the course, and are not subject to release dates.

Allowing Learners to Make Anonymous Discussion Posts

By default, when learners participate in a discussion, their usernames are visible in the discussion. You can allow learners to make discussion posts that are anonymous to their peers: their usernames are not visible to other learners. Their usernames will still be visible to course staff.

To allow anonymous discussion posts in your course, follow these steps.

  1. In Studio, select Settings, then select Advanced Settings.
  2. Locate the Allow Anonymous Discussion Posts to Peers field. The default value is false.
  3. Change the value of the setting to true.
  4. Select Save Changes.

Learners can now create discussion posts in your course that are anonymous to other learners.

Note

The Advanced Settings page in Studio includes another field named Allow Anonymous Discussion Posts. Setting the value of that field to true enables learners to create discussion posts that are anonymous to course staff, as well as to other learners. As a best practice, edX recommends that you do not set this field to true.

Discussions in the edX Mobile App

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

Running Course Discussions

On an ongoing basis, the members of your discussion team run the course discussion by adding posts and responses, marking answers as correct, and guiding learner messages into pertinent threads. The information and suggested techniques in this section can help you to make discussions in your course successful.

For information about moderating discussions, see Moderating Discussions and Guidance for Discussion Moderators.

Understanding the Elements of a Discussion

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.

  • A post is the first level of interaction. A post opens a new subject. Posts can be made as questions, to solicit a concrete answer, or as discussions, to start a conversation. When participants add a post, they must choose an existing topic to associate it with, and decide whether to add it as a Question or as a Discussion.
  • A response is the second level of interaction. A response is a reply made directly to a post to provide a solution or continue the conversation.
  • A comment is the third level of interaction. A comment is often a clarification or side note made to a specific response, rather than to the post as a whole.

The dialog created by a post, its responses, and the comments on those responses is sometimes called a thread. Discussion threads are saved as part of the course history.

For information about participating in discussions, see the Participating in Course Discussions section in the Open edX Learner’s Guide. Consider referring learners in your courses to that section, which describes the structure and features of course discussions, and provides useful information to help learners make the most of their participation in course discussions.

Using Naming Conventions for Discussion Topics

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.

  • Use “[OFFICIAL]” at the start of announcements about course details or changes.
  • Provide information about corrections in course assignments with a subject that begins “[CORRECTION]” or “[ERRORS]”.
  • Ask learners to use “[STAFF]” in the subject of each post that needs the attention of a course team member.

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.

Seeding Discussion Topics

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.

  • In the “General” topic (which is included in every course by default), add an [INTRO] post to initiate a thread for learner and course team introductions.
  • For each course-wide discussion topic that you create, add an initial post to describe the way you intend that discussion to be used. In addition to providing guidance, these initial messages can act as models for learners to follow when they create their own posts.

EdX strongly recommends that you do not create seed posts in content-specific discussion topics before the course starts or before the containing unit is released. The category and subcategory names for content-specific discussion topics are subject to the release visibility of their containing unit, and are not visible until the unit is released. For more details, see Understanding When Learners Can See Discussion Topics.

Minimizing Thread Proliferation

To encourage longer, threaded discussions rather than many similar, separate posts, the discussion team can use the following techniques. However, be aware that very long threads (with more than 200 responses and comments) can be difficult to read, and might result in an unsatisfactory experience in the discussion.

Note

You can only pin or close posts and mark questions as answered when you work in a web browser. You cannot complete these activities when you work in the edX mobile app.

  • Pin posts. Pinning a post makes it appear at the top of the list of posts in the discussion navigation pane on the Discussion page. As a result, it is more likely that learners will see and respond to pinned posts. You can write your own post and then pin it, or pin a post by any author. Select the “More” icon and then Pin.

    The pin icon for discussion posts.
  • Mark responses as answered or endorsed. Depending on whether a post is a question or a discussion, you use the same option to mark a response either as the answer to the posted question, or to endorse a response. Marking a question as answered makes it easier for learners to find answers to already asked questions, rather than ask the same question again. Endorsing a response confirms that it adds value to a discussion.

    To mark a response as answered or endorsed, select the “check mark” icon. You cannot mark your own responses as answers or as endorsed.

    The "check mark" icon for marking a response as the correct answer to a question.
  • 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.

    The "plus" icon for voting for discussion posts.
  • Close posts. You can respond to a redundant post by (optionally) pasting in a link to the post that you prefer learners to contribute to, and prevent further interaction by closing the post. Select the “More” icon and then Close.

  • Provide post/response/comment guidelines. In a pinned course-wide topic, you can provide learners with guidelines for participating in discussions, including when to start a new thread by adding a post instead of responding to an existing post, or commenting on a response.

Closing Discussions

You can close the discussions for your course so that learners cannot add messages to topics. Course discussions can be closed temporarily, such as during an exam period, or permanently, such as when a course ends.

Note

When you close discussions, make sure you communicate with learners in your course to let them know why they cannot contribute to discussions, and the dates that discussions are affected. You can post a course update to the Course page as well as add a pinned information post to a course-wide discussion topic.

When you close the discussions for a course, all discussion topics in course units and all course-wide topics are affected.

  • Existing discussion contributions remain viewable.
  • Learners cannot add posts, respond to posts, or comment on responses. However, learners can continue to vote on existing threads, follow threads, or report messages for misuse.
  • Course team members who have any of the Staff, Admin, Discussion Admin, Discussion Moderator, Community TA, or Group Community TA roles are not affected when you close the discussions for a course. Users with these roles can continue to add to discussions.
Specify When Discussions Are Closed

Note

You can only close discussions when you work in a web browser. You cannot close discussions when you work in an edX mobile app.

To define when discussions are closed to new contributions and when they reopen, follow these steps.

  1. Open your course in Studio.

  2. Select Settings, and then select Advanced Settings.

  3. Locate the Discussion Blackout Dates field.

  4. 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 (]).

  5. Enter a pair of start and end dates for the time period during which you want discussions to be closed, in the following format.

    ["YYYY-MM-DDTHH:MM", "YYYY-MM-DDTHH:MM"]

    Note

    To close the course discussions permanently, specify an end date and time far in the future.

    • Within each date-time value, separate the date from the time with an uppercase letter “T”.
    • Enclose each date-time value in double quotation marks.
    • Separate the start date-time from end date-time with a comma and a space.
    • Enclose each pair of start and end dates in square brackets.

    For example, to close course discussions temporarily for a final exam period from July 22, 2017 to July 25, 2017, you enter this pair of start and end dates.

    ["2017-07-22T08:00", "2017-07-25T18:00"]

    To close course discussions permanently on August 9, 2017 after the temporary exam period closure, you add an additional pair of start and end dates.

    ["2017-07-22T08:00", "2017-07-25T18:00"], ["2017-08-09T00:00", "2099-08-09T00:00"]

    You enter these values between an additional pair of square brackets which are supplied for you in Studio.

  6. Select Save Changes.

    Studio checks the syntax of your entry and reformats your entry to add line feeds and indentation. A message lets you know whether your changes were saved successfully.

For examples of email messages that you can send to let learners know when the course discussions are closed (or open), see Example Messages to Learners.

["YYYY-MM-DDTHH:MM", "YYYY-MM-DDTHH:MM"]

Note

The dates and times that you enter are in Coordinated Universal Time (UTC), not in your local time zone. You might want to verify that you have specified the times that you intend by using a time zone converter.

About Divided Discussion Topics

This section provides information about setting up discussions that are divided by learner groups (such as cohorts or enrollment tracks) within your course.

For overview information about discussions in a course, see Creating Course Discussions.

For more information about creating differentiated course content for learners in different groups, see Offering Different Content to Different Learner Groups.

What Are Divided Discussions?

With divided discussions, discussion topics are visible to all learners, but the posts, responses, and comments within these topics are divided so that learners participate in the discussion only with other members of the same group (either the same cohort or the same enrollment track).

Note

You can only divide discussions by one type of group (either cohorts or enrollment tracks), even if your course uses cohorts and also has multiple enrollment tracks.

For example, you have two enrollment tracks in your course (“Free” and “Certificate”). If you divide discussions based on enrollment track groups, and specify that a course-wide discussion topic called “Assignments” is divided, then although all learners see the topic, learners in the “Free” track interact only with posts, responses, and comments from other learners in the “Free” track, and learners in the “Certificate” track interact only with posts, responses, and comments from learners in the “Certificate” track.

Discussion topics that are not divided are unified, meaning that all learners in the course can see and respond to posts, responses, and comments from any other learner in the course.

Best Practices for Divided Discussions

If you divide discussions, a good practice is to use a naming convention for discussion topics, so that learners clearly understand the audience for a discussion topic before they add posts to that topic. For information about naming conventions, see Apply Naming Conventions to Discussion Topics.

You can also appoint learners as Community TAs or Group Commmunity TAs to help you to moderate course discussions. You might use Group Community TAs if the content of discussion topics by one group should not be shared with another group. Group Community TAs are themselves members of groups that you use in your course (such as cohorts or enrollment tracks). As discussion moderators, they can only see and respond to posts by other members of their own group. For information, see Assigning Discussion Moderation Roles.

For more information about managing discussions, see Managing Divided Discussion Topics and Running Course Discussions.

Note

Another method of providing different discussion experiences for learners in different groups in your course is to use the access settings of discussion components. For example, you can add multiple discussion components and use each component’s access settings to restrict access to each discussion component to a specific group of learners. With this method, you are not limited to choosing the same single group type by which to divide all discussions. For more information, see Setting Up Divided Discussions.

Example: Dividing Discussion Topics Based on Enrollment Track

In this example, you are developing a course that has two enrollment tracks: “Free” and “Certificate”. You plan to create differentiated content based on enrollment track, so that learners in each track have a complete course experience, but have different assignments and projects.

You will need to decide whether any of the course-wide discussion topics and content-specific discussion topics should be divided based on enrollment track.

Course-Wide Discussion Topics

As you develop your course, you add three new course-wide discussion topics, so that in addition to the default “General” topic, you have a total of four course-wide discussion topics.

  • General
  • Course Announcements
  • Assignment FAQs
  • Final Project Ideas

In the “General” and “Course Announcement” topics, you and other course team members intend to add posts that are relevant for all learners in your course, regardless of what enrollment track they are in. You will not divide these topics, because discussions in these topics are appropriate for a unified learner audience.

However, you will divide the “Assignment FAQs” and “Final Project Ideas” topics based on enrollment track, because the assignments and final projects that learners experience will differ based on whether they are enrolled in the “Free” track or the “Certificate” track.

Although all learners see course-wide discussion topics called “Assignment FAQs” and “Final Project Ideas”, discussions within these topics are divided. Learners in the “Free” track only interact in discussions with other “Free” track learners, and learners in the “Certificate” track only interact in discussions with other “Certificate” learners.

Content-Specific Discussion Topics

You decide that content-specific discussion topics within the course should not be divided. Instead, because learners in each enrollment track are receiving different content, you will use the access settings at the component level to restrict access to each discussion component to the group of learners who can access the accompanying content.

Example Implementation

You implement your decisions by completing the following tasks.

  • In the Discussions tab on the instructor dashboard in the LMS, you specify that you want to use enrollment tracks as the group type for dividing discussions.
  • After you make your group type selection, lists of the course-wide and content-specific discussion topics appear on the Discussions page.
  • Under Course-Wide Discussion Topics you select the checkboxes next to the “Assignment FAQs” and “Final Project Ideas” topics, and leave the others unselected, then click Save for that section.
  • In Studio, in each unit where you have created differentiated content for learners in each enrollment track, you add two discussion components. You use the component access settings to make one component available only to learners in the “Free” enrollment track, and the other component available only to learners in the “Certificate” enrollment track.
  • You test the course to make sure that learners in each track see the intended content, using the “View As” options in the LMS to view the content first as a learner in the “Free” enrollment track and then as a learner in the “Certificate” enrollment track.

Setting Up Divided Discussions

Note

You must set up divided discussions before your course starts. You cannot divide discussions after the course start date.

The group type that you choose for dividing discussions is used to divide all discussion topics in the course, both course-wide and content-specific.

By default, all course-wide discussion topics and content-specific discussion topics are unified: all learners can interact with all posts, responses, and comments. You can change discussion topics of either type to be divided or unified on the instructor dashboard in the LMS.

Note

If your course has both cohorts and multiple enrollment tracks, you can divide discussions by either cohort or enrollment track. You cannot divide discussions by more than one group type.

Content-specific discussion topics are divided by default in courses that meet all of the following conditions.

  • The course started prior to April 10, 2017.
  • The course has cohorts enabled.
  • The course has “cohorts” selected as the type of group by which discussions are divided.

Warning

If you change settings of discussion topics in a live course after learners have begun reading and contributing to discussion posts, you are changing their course experience. Learners might see posts that were previously not visible to them, or they might no longer see posts that were previously available to all learners.

For information about settings for discussion topics, see the following topics.

Specify The Group Type for Dividing Discussions

Note

You can divide discussions by only one group type, even if your course uses cohorts and also has multiple enrollment tracks.

The group type that you choose for dividing discussions is used to divide all discussion topics in the course, both course-wide and content-specific.

To specify the group type for dividing discussions, follow these steps.

  1. In the LMS, select Instructor, then select Discussions.

    Note

    The Discussions tab is available only if you have enabled cohorts or have multiple enrollment tracks in your course.

  2. Under Specify whether discussion topics are divided, select the option to use for dividing discussion topics. You only see options that are applicable for your course. For example, if cohorts are not enabled in your course, you do not have an option to divide discussions based on cohorts. If you do not have more than one enrollment track in your course, you do not have an option to divide discussions based on enrollment track.

    An image showing the options for selecting the group type for dividing discussions.

    After you specify the group type for dividing discussions, you see the lists of existing course-wide discussion topics and content-specific discussion topics.

For information about specifying which course-wide topics and which content- specific topics are divided, see Specify Which Course-Wide Discussion Topics are Divided, Specify that All Content-Specific Discussion Topics Are Divided, and Specify That Some Content-Specific Discussion Topics are Divided.

Specify Which Course-Wide Discussion Topics are Divided

When you create course-wide discussion topics or content-specific discussion topics, they are by default unified. All learners in the course can see and respond to posts from all other learners.

After you have specified the group type for dividing discussions, you can specify which of your discussion topics are divided.

Warning

If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.

To specify that one or more discussion topics are divided, follow these steps.

  1. In the LMS, select Instructor, then select Discussions.

  2. Under the section for Course-Wide Discussion Topics select the checkbox next to each course-wide discussion topic that you want to divide. Clear the checkbox next to each course-wide discussion topic that you want to make unified.

    An image showing the checkboxes for specifying which course-wide topics are divided.
  3. Select Save for that section.

    The list of course-wide discussion topics is updated to show which topics are divided, and which are unified.

For information about dividing content-specific discussions, see Specify that All Content-Specific Discussion Topics Are Divided and Specify That Some Content-Specific Discussion Topics are Divided.

For information about managing discussions that are divided, see Managing Divided Discussion Topics.

Content-Specific Discussion Topics and Groups

When you create content-specific discussion topics by adding discussion components to units in Studio, these discussion topics are by default unified. All learners in the course can see and respond to posts from all other learners. You can change content-specific discussion topics to be divided, so that only members of the same group can see and respond to each other’s posts.

If you want all content-specific discussion topics that you add in your course to be always divided, follow the steps in Specify that All Content-Specific Discussion Topics Are Divided.

If you want only some content-specific discussion topics to be divided, following the steps in the topic Specify That Some Content-Specific Discussion Topics are Divided.

Specify that All Content-Specific Discussion Topics Are Divided

When you first add content-specific topics in your course, by default they are unified.

If you want all content-specific discussion topics in your course to be divided, follow these steps.

Warning

If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.

  1. In the LMS, select Instructor, then select Discussions.

    In the Content-Specific Discussion Topics section the Divide the selected content-specific discussion topics option is selected by default. Content-specific topics that exist are listed, but none of them should be selected, indicating that these topics are not divided.

  2. If it is not already selected, select Always divide content-specific discussion topics.

  3. Click Save at the bottom of the Content-Specific Discussion Topics section.

    All content-specific discussion topics in the course are now divided, based on the group type that you specified for dividing discussions, and you cannot change the division settings of individual content-specific discussion topics.

For information about dividing only some content-specific discussions, see Specify That Some Content-Specific Discussion Topics are Divided.

For information about managing discussions that are divided, see Managing Divided Discussion Topics.

Specify That Some Content-Specific Discussion Topics are Divided

The default division setting for content-specific discussion topics is that they are unified. The Divide the selected content-specific discussion topics option is selected by default. Content-specific topics that exist are listed, but none of them should be selected, indicating that these topics are not divided. On this setting, content-specific discussion topics are unified when you first add them in your course.

To specify that only some of your content-specific discussion topics are divided, you change the division setting for content-specific discussion topics and then explicitly select only the topics that you want to divide.

Warning

If you change the setting from Always divide content-specific discussion topics to Divide the selected content-specific discussion topics, all content-specific discussion topics are unified, unless you explicitly specify which discussion topics are divided before saving your changes. This means that any posts that were previously divided are now shared by all learners in your course.

To specify that only some content-specific discussion topics in your course are divided, follow these steps.

Warning

If you make changes to discussion division settings in a running course, be aware that learners will be affected by your changes.

  1. In the LMS, select Instructor, then select Discussions.

  2. In the Content-Specific Discussion Topics section, if it is not already selected, select Divide the selected content-specific discussion topics.

    An image showing the checkboxes for specifying which content- specific topics are divided.

    The list of content-specific discussion topics becomes editable.

  3. Select the checkbox next to each content-specific discussion topic that you want to divide.

  4. Click Save at the bottom of the Content-Specific Discussion Topics section.

    The changes to your content-specific discussions are saved. The content- specific discussion topics that you selected are now divided, and learners in the group type that you specified only interact with other learners in their group. All other content-specific discussion topics are unified.

For information about always dividing content-specific discussions, see Specify that All Content-Specific Discussion Topics Are Divided.

For information about managing discussions that are divided, see Managing Divided Discussion Topics.

Managing Divided Discussion Topics

This section provides information about managing discussions that are divided based on one type of group in your course, either cohorts or enrollment tracks.

For more information about divided discussions, see About Divided Discussion Topics.

Note

You must set up divided discussions before your course starts. You cannot divide discussions after the course start date. For more information, see Setting Up Divided Discussions.

Overview

In discussion topics in your course, every post has an indicator of who can read it: either all learners, or only the members of a particular group. For learners, this is the only noticeable difference between discussions in courses that use divided discussions, and courses that do not have groups and do not use divided discussions.

You can share the examples in the Read the Group Indicator in Posts section with your learners. The Participating in Course Discussions section in the Open edX Learner’s Guide also provides useful information to help learners make the most of their participation in course discussions.

Course team members who have the Discussion Admin, Discussion Moderator, Community TA or Group Community TA role see the indicator of who can read each post. Team members with these roles, except for Group Community TAs, can read and contribute to every post, regardless of the group membership of the learner who posted it. Group Community TAs can moderate discussions only if the course uses divided discussions, and they can see and manage only posts that other members of their group add. Community TAs, in comparison, can read and contribute to all posts.

Note

Course team members must have the Discussion Moderator or Discussion Admin role in addition to the Staff or Admin role to be able to view posts that are divided by group. For information about assigning discussion moderation roles, see Assigning Discussion Moderation Roles.

In courses where either cohorts or multiple enrollment tracks are enabled, course team members who have discussion moderation roles that are not restricted by group can also perform the following actions.

All of the other options and features described in the Creating Course Discussions, Moderating Discussions, and Running Course Discussions sections continue to be available to the discussion moderation team.

Identifying Who Can Read a Post

In discussion topics in your course, all posts include a group indicator above the title. This indicator appears after any learner or team member adds a post. No configuration is necessary to include this identifier, although if you use divided discussions in your course, you should use care in naming your groups, because learners see the group names in the group indicators for each post. Enrollment track groups are automatically named based on the enrollment track.

Optionally, you can name your discussion topics to make it clear to learners who their posts will be viewed by. See Apply Naming Conventions to Discussion Topics.

Read the Group Indicator in Posts

Every post includes a sentence that identifies whether everyone can see and contribute to it, or only the members of a group in the course. Examples follow.

A discussion topic post with the indicator "This post is visible to everyone". A discussion topic post with the indicator "This post is visible to Alumni".

You see this identifier after you add your post. All of the responses and comments that other contributors add to a post are visible to the same group of people as the original post.

Apply Naming Conventions to Discussion Topics

Optionally, course team members can give learners the audience context of their posts before they add them. Indicating who will be able to read posts in the names of the topics themselves can be useful when a group is particularly sensitive about the privacy of their conversations.

For example, you could add “(everyone)” to the names of the unified course- wide discussion topics in your course. Similarly, you could apply a naming convention to content-specific discussion topics that you add as discussion components in Studio. For example, you could include an identifier such as “(private)” or “(small group)” in the Subcategory name of every Discussion component that you add.

When learners visit the Discussion page and use dropdown lists to select a discussion topic, the topic names indicate who can see the posts, responses, and comments.

For more information about adding and configuring course-wide discussion topics, see Create Course-Wide Discussion Topics and Specify Which Course-Wide Discussion Topics are Divided.

Choosing the Visibility of a Post

Course team members who have the Discussion Admin, Discussion Moderator or Community TA role can make posts to divided discussion topics visible to everyone who is enrolled in the course or only to the members of a specified group.

If you are a course team member with one of these roles, when you add a post, the Visible to dropdown list appears above the Title field.

Note

Group Community TAs cannot choose the group visibility of a post. Unlike Community TAs, Group Community TAs can only add post to, and interact with, discussion topics that are available to the same group that they themselves belong to.

This example shows a new post being added to a content-specific discussion topic.

The fields and controls that appear when a course team member with discussion admin privileges clicks "Add a Post" for a divided topic.

When you add a new post in discussion topics that are divided, you can choose whether all learners or a specific group of learners can see your post. This means that you can add a single post with information that you want everyone to see, rather than having to write a separate post for each group. It also means that it is possible for you to unintentionally share information with a different audience than you intended.

Note

Learners cannot choose the visibility of their posts. The visibility of learner posts is determined by the configuration of the topic they post in. See Identifying Who Can Read a Post.

Posts that discussion team members add to unified discussion topics are always visible to all learners, regardless of what group they belong to.

Considerations When Editing Posts

Keep these additional considerations in mind when you edit posts in a course that includes cohorts or multiple enrollment tracks.

  • You cannot change the visibility of a post after it has been added. If you notice that a post contains information that is not appropriate for the group who can read it, edit the content of the post or delete the post.
  • If you change the topic that a post appears in, the visibility of the post and its responses and comments does not change. This ensures that learners who are following the post, or who have contributed responses or comments to it, will still be able to read it.
  • All of the responses and comments that are contributed to a post will be visible to the same group of people as the post itself. You cannot change the visibility of individual responses or comments.

Viewing the Posts of a Group

When a course includes cohorts or multiple enrollment tracks, you can view posts and monitor discussion activity for each of the groups within the group type that you chose to divide discussions for. You can also view all posts.

Note

Course team members must have the Discussion Admin or Discussion Moderator role in addition to the course team Staff or Admin role to be able to view and filter all posts that are divided.

In divided discussions, Group Community TAs can only view posts that are visible to the group that they themselves belong to.

Above the discussion navigation pane on the Discussion page, the in all groups filter is selected by default. You see every post when you make this selection. To limit the list so that you can view the same set of posts as the members of a particular group, select the name of that group.

An image showing the discussion navigation pane on the Discussion page, with a dropdown menu showing the options to select "in all groups" or a specific group by name.

Note that both of these lists include posts that are visible to everyone. When you filter the list by a specific group, you see the same, complete set of posts that the members of that group see.

For other options that you can use to view posts, see Moderating Discussions.

Moderating Discussions

Developing and sustaining a positive discussion culture requires that a team of discussion moderators dedicates sufficient time to reviewing discussions and responding to questions from learners. Keeping up-to-date with a large MOOC forum requires a commitment of five or more hours per week, and involves reading threads, replying to and editing posts, and communicating with the rest of the discussion moderation team and other members of the course team.

Members of the course community, learners as well as course team members, can be given permission to moderate or administer course discussions through a set of discussion moderation or administration roles. The members of a course discussion team monitor discussions and keep them productive. They can also collect information, such as areas of particular confusion or interest, and relay it back to the course team.

Note

The course team members that you set up in Studio or in the LMS are not automatically granted discussion moderation roles. For information about discussion roles, see About Discussion Moderation Roles.

Note

Not all options for moderating discussions are available when discussions are accessed using the edX mobile apps. For information about the differences between discussions on the edx.org site and in the mobile apps, see Discussions in the edX Mobile App.

For information about best practices for moderating discussions, see Guidance for Discussion Moderators. If you are using divided discussions`, see Managing Divided Discussion Topics.

About Discussion Moderation Roles

You can designate a team of people to help you run course discussions. All course team members can view discussion topics and posts, but only team members who have one of the discussion moderation roles have additional abilities to moderate discussions and work with posts, responses, and comments.

Important

The course team members that you set up in Studio or in the LMS are not automatically granted discussion administration roles.

Discussion moderation and administration roles must be explicitly granted to members of the course team for them to be able to moderate or administer course discussions. The course author and any team members who have the Admin role can grant discussion roles.

The Discussion Roles

Different options for working with discussions are available through the following roles.

Note

The options for moderating discussions described below are only available when members of the discussion administration team work in a web browser. The edX mobile apps do not currently offer moderation options.

For more information about differences between discussions on the edx.org site and on the mobile apps, see Discussions in the edX Mobile App.

  • Course team members with the Discussion Moderator role can edit and delete messages at any level, review messages flagged for misuse, close and reopen posts, pin posts, and mark responses as correct answers.

    Posts, responses, and comments made by Discussion Moderators are marked with a Staff identifier. The Discussion Moderator role is usually given to course team members who already have the Staff role.

  • Course team members with the Discussion Admin role have the same options for working with discussions as Discussion Moderators, and their posts, responses, and comments have the same Staff identifiers.

    The Discussion Admin role is typically reserved for course team members who have the Admin role within the course: Discussion Admins can both moderate discussions and give other users discussion moderation roles.

  • Some learners who are enrolled in the course can be asked to help with moderating course discussions. These learners are assigned the Community Teaching Assistant (TA) role, and have the same options for working with discussions as Discussion Moderators do.

    Posts, responses, and comments made by Community TAs are marked with a Community TA identifier.

  • In courses with divided discussions, enrolled learners can be assigned the Group Community TA role. Group Community TAs have the same abilities as Community TAs. However, the moderation and posting abilities of Group Community TAs are limited to discussion topics that are visible to members of the group that they themselves belong to.

    Posts, responses, and comments made by Group Community TAs are also marked with a Community TA identifier.

Assigning Discussion Moderation Roles

You must either be the course author, or have the Admin role, to add people to discussion moderation roles.

You must obtain the email address or username for each person that you want to add.

  • To obtain the email address or username for a course team member, in the LMS select Instructor, then select Membership. In the Course Team Management section, select the current course team role (Staff or Admin) of the person whose information you are looking for. From the list of course team members with the selected role locate the required email address or username.
  • To obtain the email address or username for an enrolled learner, in the LMS select Instructor, then select Data Download. In the Reports section, select Download profile information as a CSV. In the downloaded file, locate the required email address or username.
Add Someone To a Discussion Role

You can add any user who is already enrolled in your course to a discussion moderation role.

Note

To add someone to the Discussion Admin role, you must be the course author or a course team member who has the Admin role.

  1. View the live version of the course.

  2. Select Instructor, and then select Membership.

  3. In the Course Team Management section, select the discussion role that you want to assign: Discussion Admins, Discussion Moderators, Group Community TA, or Community TA.

  4. Under the list of users who currently have that role, enter the email address or username of the person you want to add.

  5. Select Add for the role type.

    The person who you added appears in the list.

Remove Someone from a Discussion Role

To remove someone from a discussion moderation role, you must be the course author or have the Admin role.

  1. View the live version of the course.

  2. Select Instructor, and then select Membership.

  3. In the Course Team Management section, select the discussion role from which you want to remove the user: Discussion Admins, Discussion Moderators, Group Community TA, or Community TA.

  4. In the list of users who currently have that role, locate the user you want to remove, and then select Revoke access.

    The person who you removed no longer appears in the list.

Provide Guidelines for Learners

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.

Develop a Positive Discussion Culture

Team members who are moderating discussions can cultivate qualities in their own discussion interactions to make their influence positive and their time productive.

  • Encourage quality contributions: thank learners whose posts have a positive impact and who answer questions.
  • Check links, images, and videos in addition to the text of each message. Edit offensive or inappropriate posts quickly, and explain why.
  • Review posts with a large number of votes and recognize “star posters” publicly and regularly.
  • Stay on topic yourself: before responding to a post, be sure to read it completely.
  • Maintain a positive attitude. Acknowledge problems and errors without assigning blame.
  • Provide timely responses. More time needs to be scheduled for answering discussion questions when deadlines for homework, quizzes, and other milestones approach.
  • Discourage redundancy: before responding to a post, search for similar posts. Make your response to the most pertinent or active post and then copy its URL and use it to respond to the redundant threads.
  • Publicize issues raised in the discussions: add questions and their answers to an FAQ topic, or announce them in a course update.

For a template that you can use to develop guidelines for your course moderators, see Guidance for Discussion Moderators.

Find Questions and Discussions

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.

The discussion navigation pane, showing some unread and some read posts, including a post that has been read but now has additional new responses or comments.

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.

  • Unread, to list only the discussions and questions that you have not yet viewed.
  • Unanswered, to list only questions that do not yet have any responses marked as answers.
  • Flagged, to list only posts that learners have reported as inappropriate.

Edit Messages

Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can edit the content of posts, responses, and comments. Messages that include spoilers or solutions, or that contain inappropriate or off-topic material, should be edited quickly to remove text, images, or links.

  1. View the live version of the course.
  2. On the Discussions page, open the post with the content that requires editing. You can select a single topic from the drop-down list of discussion topics, apply a filter, or search to locate the post.
  3. For the post or for the response or comment that you want to edit, select the “More” icon and then Edit.
  4. Remove the problematic portion of the message, or replace it with standard text such as “[REMOVED BY MODERATOR]”.
  5. Communicate the reason for your change. For example, “Posting a solution violates the honor code.”

Delete Messages

Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can delete posts, responses, or comments. It might be more appropriate to delete rather than edit posts that consist of spam or include abusive language.

  1. View the live version of the course.
  2. On the Discussion page, open the post with the content that requires deletion. You can select a single topic from the drop-down list of discussion topics, apply a filter, or search to locate the post.
  3. For the post or for the response or comment that you want to delete, select the “More” icon and then Delete.
  4. Select OK to confirm the deletion.

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.

Respond to Reports of Misuse

Learners have the option to report contributions that they find inappropriate. Team members with the Discussion Moderator, Discussion Admin, Community TA or Group Community TA role can check for messages that have been flagged in this way and edit or delete them as needed.

  1. View the live version of your course and select Discussion at the top of the page.
  2. In the discussion navigation pane at the side of the page, use the filter drop-down list (set to Show all by default) to select Flagged.
  3. Review listed posts. A post is listed if it or any of its responses or comments has been reported. The reported contribution includes a Reported identifier.
  4. Edit or delete the post, response, or comment. Alternatively, remove the flag: select the “More” icon and then Unreport.

View Profile Information for Discussion Participants

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.

  1. On the Discussion page, select a username in a post, response, or comment.

  2. 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.

Block Users

If a learner repeatedly misuses course discussions despite being warned, you can unenroll that learner from the course. For more information, see Unenroll Learners from a Course. The learner cannot re-enroll in the course if the enrollment period for the course is over.

Guidance for Discussion Moderators

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.

Responsibilities

  • Answer basic questions posed by learners, and direct learners with questions to the right resources: syllabi, course documents, course updates, useful lecture segments, example problems, etc.
  • Relay reports of errata, common misconceptions and questions, highly disruptive participants, bugs, and amusing or interesting posts to the most appropriate course team members.
  • Enforce the Honor Code by editing or deleting problem answers, or requests for answers, promptly.
  • Edit out offensive content from the discussion, and remind the originators of discussion etiquette and expectations.
  • Communicate problems and successes to your fellow moderators.
  • Identify learners whose presence in the discussions has a strongly positive impact. These learners can be promoted to community TA role and publicly acknowledged.
  • Add helpful items to the FAQ or to a welcome message or course handout.

Qualities of Good Discussion Moderators

  • Good or great content knowledge: stellar learners from previous years often make good moderators.
  • Solid communication skills: the ability to organize positive, consistent, and effective communication with learners, other moderators, and members of the course team.
  • Time: keeping up-to-date with the discussions for a large MOOC requires at least 5 hours per week for reading posts, replying to or editing posts, and communicating with the other moderators and the course team.
  • Enthusiasm: this is the best predictor of moderator excellence!

Best Practices for Discussion Moderation

  • Always maintain a positive attitude. Keeping a positive attitude is crucial to encouraging participation in the discussion community.
  • Encourage discussion between learners. Actively thank learners who answer the questions of others.
  • Use the course’s FAQ and updates or handouts on Course pages as resources. Provide links to these pages in your responses when appropriate. Suggest that information be added to these resources when necessary to respond to a common question or fix confusion.
  • Always make it obvious that you have read the learner’s question. When you post a response, make sure that you are on topic. Respond in the context of the thread.
  • Develop a discussion persona. Try to answer your questions in your own slightly unique way.

Guidelines for Specific Types of Posts

Certain types of posts require more attention from the moderators than others, or might need to be handled in a particular way.

Time Sensitive Problems
  • Try to be present on discussion threads when assignment due dates are approaching or new content is being released. The discussions tend to be extra busy at these times.
  • Alert the course team about problems that need to be dealt with quickly, such as problems with graded assignments. Setting up a course email address that is checked frequently is a good way to manage such alerts.
Content Questions
  • Assist with content questions sensitively, but be careful not to post spoilers. Do not ask learners to post their solutions!
  • A good guiding question can be better than an answer.
Redundant Posts
  • When possible, help discourage redundancy by responding to such posts with links to an earlier or higher quality thread that asks the same question.
  • When responding to a post, search for similar posts and respond to the most pertinent thread. Redirect the other posts to the thread with your response and then close the redundant threads.
Off Topic, Inappropriate, or Offensive Posts
  • Do not simply delete inappropriate or offensive posts. Instead, edit and explain why the posts were edited. Inappropriate posts include spoilers, solutions, and information on how to pirate educational materials.
  • Check links that learners post. If you find links to offensive sites and materials, they need to be edited quickly.
Bugs or Errors
  • Check to confirm that there is in fact an error.

    • If not, suggest to the learners that they check their work.
    • If so, contact members of the course team, and notify the thread that the error has been reported.
  • 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.”

Feature Requests
  • 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.

Managing Learner Progress and Grades

Use the topics in this section to learn about accessing learner data and managing learners’ answers and grades in your course.

Learner Data

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.

Guidance for Working with Personal Information

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.

Accessing Learner Data

In the LMS, you can download data about the individuals who are currently enrolled in your course in a .csv (comma-separated values) file. You can also view data for enrolled learners on the instructor dashboard. For more information, see Download or View Learner Data.

For information about course enrollment, see Enrollment.

About Learner-Reported Data

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.

  • The learner data that is available from the instructor dashboard reflects the set of live, current enrollments. Data for the course team, who are also enrolled in the course, is included.
  • Learners can enroll in your course throughout the defined enrollment period, and they can unenroll from a course at any time.
  • Learners can update their personal information at any time on the Account Settings page.

As a result, you might want to download learner data periodically to gain an understanding of how the learner population changes over time.

Columns in the Student Profile Report

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.
email 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.
Download or View Learner Data

You can download a report of learner data to gain more information about the individuals who are enrolled in your course. You also have the option to view learner data on the instructor dashboard.

Download Learner Data

To download learner data, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. 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.

  4. 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.

View Learner Data

To view learner data, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Student Admin.

  3. 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.

Accessing Anonymized Learner IDs

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.

  1. View the live version of your course.
  2. Select Instructor, and then select Data Download.
  3. Select Get Student Anonymized IDs CSV.

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.

Answer Data

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.

Learner Answer Submissions

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.

View One Learner’s Submission History

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.

  1. View the live version of your course.
  2. Select Course and navigate to the unit that contains the problem you want to review.
  3. Display the problem, and then select Submission History below the problem.
  4. Enter the username for the learner whose work you want to review, and then select View History at the end of the page.
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.

Interpret a Learner’s Submission History

The Submission History Viewer shows every timestamped database record of the interactions between a learner and a problem, which can include processes completed both in the browser and on the server. These records appear with the most recent interaction at the top of the Submission History Viewer, followed by each previous interaction.

This topic provides an example submission history for a CAPA problem with guidelines that can help you interpret a submission history. The number and complexity of the records that appear in this report vary based on the type of problem and the settings and features defined.

Record 1: Problem Viewed (Server)

The first interaction, shown at the bottom of the Submission History, records when the server delivered the problem component to the browser for the learner to view.

#1: 2015-09-04 08:34:53+00:00 (America/New_York time)

Score: None / None

{
  "input_state": {
    "e58b639b86db44ca89652b30ea566830_2_1": {}
  },
  "seed": 1
}

Record 2: Problem Checked (Browser)

The next interaction shown as you scroll up from the bottom records when the learner selected Submit in the browser to submit an answer. Note that this record does not contain the actual answer submitted. The answer choice is indicated using a choice identifier: choice_1 in this example.

Note

The numbering of choice identifiers starts at choice_0, so that choice_0 represents your first answer choice, choice_1 represents your second answer choice, and so on.

#2: 2015-09-04 08:35:03+00:00 (America/New_York time)

Score: 0.0 / 1.0

{
  "input_state": {
    "e58b639b86db44ca89652b30ea566830_2_1": {}
  },
  "seed": 1,
  "student_answers": {
    "e58b639b86db44ca89652b30ea566830_2_1": "choice_1"
}

Record 3: Problem Checked (Server)

The next interaction records the results of the server processing that occurred after the learner submitted the answer. This record includes student_answers with the submitted answer value, along with attempts, correctness, and other values.

#3: 2015-09-03 18:15:10+00:00 (America/New_York time)

Score: 0.0 / 1.0

{
  "attempts": 1,
  "correct_map": {
    "e58b639b86db44ca89652b30ea566830_2_1": {
      "answervariable": null,
      "correctness": "incorrect",
      "hint": "",
      "hintmode": null,
      "msg": "",
      "npoints": null,
      "queuestate": null
    }
  },
  "done": true,
  "input_state": {
    "e58b639b86db44ca89652b30ea566830_2_1": {}
  },
  "last_submission_time": "2015-09-03T18:15:10Z",
  "seed": 1,
  "student_answers": {
    "e58b639b86db44ca89652b30ea566830_2_1": "choice_1"
  }
}

Record 4: Problem Retried (Browser)

When a problem gives learners multiple attempts at the correct answer, and the learner tries again, an additional record is added when a learner selects Submit again. The server has not yet processed the new submission, so the data in the record is almost identical to the data in record 3.

Record 5: Problem Retried (Server)

The most recent interaction in this example records the results after the learner attempts the problem again and submits a different answer. Note the differences between values in this record and in record 3, including the reported Score and the values for student_answers, attempts, and correctness.

#5: 2015-09-03 18:15:17+00:00 (America/New_York time)

Score: 1.0 / 1.0

{
  "attempts": 2,
  "correct_map": {
    "e58b639b86db44ca89652b30ea566830_2_1": {
      "answervariable": null,
      "correctness": "correct",
      "hint": "",
      "hintmode": null,
      "msg": "",
      "npoints": null,
      "queuestate": null
    }
  },
  "done": true,
  "input_state": {
    "e58b639b86db44ca89652b30ea566830_2_1": {}
  },
  "last_submission_time": "2015-09-03T18:15:17Z",
  "seed": 1,
  "student_answers": {
    "e58b639b86db44ca89652b30ea566830_2_1": "choice_2"
  }
}
Report All Learners’ Answer Submissions

The Student State report lists the answers that every learner has submitted for one or more problems. You can download this report for just one problem, or for all of the problems in a course, section, subsection, or unit at one time.

Note

The report is limited to 5000 responses. If you expect more than 5000 responses, try generating the report on a section, subsection, or unit basis. Contact your site administrator if you want to increase your response limit.

To download the Student State report for one or more problems, follow these steps.

  1. View the live version of your course.

  2. On the Instructor tab, select Data Download.

  3. In the Reports section, locate and select Select a section or problem.

  4. Use the arrow icons in the dropdown list to select the section, subsection, unit, or problem that you want. You can also select the entire course.

    If you select a course, section, subsection, or unit, the Student State report includes all of the problems in that part of the course.

  5. Select Download a CSV of problem responses.

  6. At the bottom of the page, select the {course_id}_student_state_from_{problem_location}_{date}.csv file.

  7. Use a text editor or spreadsheet application to open the file. For more information, see Interpret the Student State Report.

Interpret the Student State Report

The Student State report contains a row for each learner who has viewed a problem or submitted an answer for a problem, identified by username.

The .csv file contains the following columns.

Column Description
Username The student’s username.
Title The display name or title of the problem or course component.
Question The question(s) that were asked to the student.
Answer The student’s answer(s), in human-readable text.
Location The location of the problem or component in the course. For example, Introduction > Overview > Testing Your Knowledge (section, subsection, and unit).
State The detailed JSON data with details in the student’s submission (not human-readable).
Block_key The ID or key of the XBlock. Note that non-interactive XBlocks, such as HTML/text blocks, will not appear in the report.

The State column reports the results of the server processing for each learner’s most recently submitted answer. When you open the report, the value in the State column appears on a single line. This value is a record in JSON format. An example record for a text input CAPA problem follows.

{"correct_map": {"e58b639b86db44ca89652b30ea566830_2_1": {"hint": "", "hintmode": null, "correctness": "correct", "msg": "", "answervariable": null, "npoints": null, "queuestate": null}}, "input_state": {"e58b639b86db44ca89652b30ea566830_2_1": {}}, "last_submission_time": 2015-10-26T17:32:20Z", "attempts": 3, "seed": 1, "done": true, student_answers": {"e58b639b86db44ca89652b30ea566830_2_1": "choice_2"}}

You can use a JSON “pretty print” tool or script to make the value in the State column more readable, as in the following example.

{
  "correct_map": {
    "e58b639b86db44ca89652b30ea566830_2_1": {
      "hint": "",
      "hintmode": null,
      "correctness": "correct",
      "msg": "",
      "answervariable": null,
      "npoints": null,
      "queuestate": null
    }
  },
  "input_state": {
    "e58b639b86db44ca89652b30ea566830_2_1": {

    }
  },
  "last_submission_time": "2015-10-26T17:32:20Z",
  "attempts": 3,
  "seed": 1,
  "done": true,
  "student_answers": {
    "e58b639b86db44ca89652b30ea566830_2_1": "choice_2"
  }
}

When you add line breaks and spacing to the value in the State column for this CAPA problem, it becomes possible to recognize its similarity to the server problem check records in the Submission History. For more information, see Interpret a Learner’s Submission History.

A State value that appears as follows indicates a learner who has viewed a CAPA problem, but not yet submitted an answer.

{"seed": 1, "input_state": {"e58b639b86db44ca89652b30ea566830_2_1": {}}}

For open response assessment problems, the State value appears as follows for learners who have submitted an answer.

{"submission_uuid": "c359b484-5644-11e5-a166-0a4a2062d211", "no_peers": false}

For open response assessment problems, "no_peers": false indicates that the learner has completed at least one peer assessment, while "no_peers": true indicates that no peer assessments have been submitted.

Student Answer Distribution

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.

  • Checkboxes (<choiceresponse>)
  • Dropdown (<optionresponse>)
  • Multiple choice (<multiplechoiceresponse>)
  • Numerical input (<numericalresponse>)
  • Text input (<stringresponse>)
  • Math expression input (<formularesponse>)

The file includes a row for each problem-answer combination selected by your learners. For example, for a problem that has a total of five possible answers the file includes up to five rows, one for each answer selected by at least one learner. For problems with Randomization enabled in Studio (sometimes called rerandomization), there is one row for each problem-variant-answer combination selected by your learners. For more information, see Defining Settings for Problem Components.

Note

Certain types of problems can be set up to award partial credit. When a learner receives either the full or a partial score for a problem, this report includes that answer as correct.

The .csv file contains the following columns.

Column Description
ModuleID The internal identifier for the problem component.
PartID For a problem component that contains multiple problems, the internal identifier for each individual problem. For a problem component that contains a single problem, the internal identifier of that problem.
Correct Answer

0 if this AnswerValue is incorrect, or 1 if this AnswerValue is correct.

For a problem that is set up to award partial credit, 1 if the AnswerValue awards either the full or a partial score.

Count The number of times that learners entered or selected this answer as their most recent submission for the problem or problem variant. For problems with the number of Attempts set to a value greater than 1, this means that each learner contributes a maximum of 1 to this count, even if the same answer is provided in multiple attempts.
ValueID

The internal identifier of the answer choice for checkboxes and multiple choice problems. Blank for dropdown, numerical input, text input, and math expression input problems.

Note that the numbering of choice identifiers starts at choice_0, so that choice_0 represents your first answer choice, choice_1 represents your second answer choice, and so on.

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.

Download the Student Answer Distribution Report

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.

  1. View the live version of your course.
  2. Select Instructor, and then select Data Download.
  3. At the bottom of the page, select the {course_id}_answer_distribution.csv file. You may have to scroll down to find this file.
Frequently Asked Questions about the Student Answer Distribution Report

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:

A spreadsheet that replaces accented French characters with underscores.

Answer Values in OpenOffice Calc:

A spreadsheet that displays accented French characters correctly.

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.

Interpret the Student Answer Distribution Report

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.

In Excel, 5 rows show 5 answer values, 4 of which show comprehension of the question, but only 1 answer is marked as correct.

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 Excel, AnswerValue and Count columns next to each other, values for 4 rows selected, and a column chart of the count for the 4 answers.

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.

Learner Grades and Grading

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.

Review How Grading Is Configured for Your Course

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.

  1. View the live version of your course.

  2. 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.

    XML of course assignment types and weights for grading.

    In Studio, you define this information by selecting Settings and then Grading. For more information, see Configure the Assignment Types.

    Studio example of homework assignment type and grading weight.

Important

Any changes that you make to the course grading policy, to graded subsections, or to graded components after the course begins will affect learners’ grades and their experience in the course as well as analysis of course data.

EdX recommends that you announce any unavoidable grading related changes to learners by using, for example, updates on the Course page. You should also carefully track such changes for researchers.

Generate a Grade Report for All Learners in a Course

For any course, you can generate grades and then download a file with the results for all learners in the course, including unenrolled learners. EdX recommends that you generate a grade report as soon as certificates have been issued for your course.

When you initiate calculations to grade learner work, a process starts on the edX servers. The complexity of your grading configuration and the number of learners in your course affect how long this process takes. You can download a report of the calculated grades in a comma-separated values (.csv) file when the grading process is complete.

You also have the option to review learner grades on the instructor dashboard. For more information, see Review Learner Grades on the Instructor Dashboard.

To generate and download the grade report for the learners in your course, follow these steps.

Important

Because the grade report file contains confidential, personally identifiable data, be sure to follow your institution’s data stewardship policies when you open or save this file.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. 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.

  4. 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.

  5. 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.

Interpreting the Grade Report

A grade report for your course is a time-stamped .csv file that identifies each learner by ID, email address, and username, and provides a snapshot of their cumulative course scores.

Scores in the grade report are presented by assignment. There is a column for every assignment that is included in your grading configuration: each homework, lab, midterm, final, and any other assignment type you added to your course.

Note

The grade report does not include information about individual problems within assignments, or include learner answer distributions. For a report that shows problem-level information, see Generate a Problem Grade Report for All Learners in a Course.

The report indicates the enrollment track for each learner. For professional and verified track learners it also shows whether they have verified their identity. The report shows whether each learner is eligible to receive a certificate (determined by whether he has earned a passing grade at the time the report was requested), whether a certificate has been generated, and the type of certificate earned.

If your course includes cohorts, content experiments, or teams, the grade report includes additional columns indicating the name of the cohort, experiment group, or team that each learner belongs to.

A course grade report, opened in Excel, showing the grades achieved by learners on several homework assignments and the midterm.

The grade report .csv file contains one row of data for each learner, and columns that provide the following information.

  • Learner identifiers, including an internal Student ID, Email address, and Username.

  • The overall Grade, with the total score a learner has currently attained in the course. This value is expressed as a decimal: a learner with a grade of 0.65 has earned 65% of the credit in the course, and a learner with a grade of 1 has earned 100%.

  • Each {assignment type} {number} defined in your grading configuration, with the score that the learner attained for that specific assignment. For example, column Homework 3 shows the scores for the third homework assignment. If the learner did not attempt the assignment, the value is “Not Attempted”. If the assignment was not available for the learner, the value is “Not Available”.

  • An {assignment type} (Avg) with each learner’s current average score for that assignment type: for example, “Homework (Avg)”. This column is not included if a particular assignment type has only one assignment.

    This assignment type average takes both dropped assignments and the assignment weight into account. For example, if the course includes five homework assignments and the course grading policy allows one homework assignment with the lowest score to be dropped, the homework assignment average in this grade report is calculated over four homework assignments rather than five. This average is then multiplied by the assignment weight to calculate the assignment type average.

  • If cohorts are used in the course, a Cohort Name column indicates the name of the cohort that each learner belongs to, including the default cohort. The column is empty for learners who are not yet assigned to a cohort.

  • If content experiments are used in the course, an Experiment Group column indicates the name of the experiment group that each learner belongs to within a group configuration. The column heading includes the name of the group configuration. The column is empty for learners who are not assigned to an experiment group. If you have more than one experiment group configuration in your course, you see one column for each group configuration.

  • If teams are enabled in the course, a Team Name column indicates the name of the team that each learner belongs to. The column is empty for learners who have not joined a team.

  • The Enrollment Track column indicates whether each learner is enrolled in the course in the honor code, verified, or professional education track.

  • The Verification Status column indicates whether learners who are enrolled in course tracks that require ID verification have successfully verified their identities to edX by submitting an official photo ID via webcam. The value in this column is “N/A” for learners enrolled in course tracks that do not require ID verification, such as “Audit”.

    A value of “Not ID Verified” in this column indicates that the learner is enrolled in a course mode that requires ID verification, such as “Verified”, but she has not attempted ID verification, or her ID verification has failed or expired. A value of “ID Verified” indicates that the learner is enrolled in a course mode that requires ID verification, and her ID verification is current and valid.

  • The Certificate Eligible column indicates whether a learner is eligible for a certificate for your course.

    The value in this column is “Y” for the following learners.

    • Verified learners who attained a passing grade before this report was requested. For example, the learner could have earned a passing grade in an earlier session, or run, of the course.
    • All whitelisted learners, regardless of grade or enrollment track.

    The value is “N” for the following learners.

    • Learners who did not attain a passing grade.
    • Learners who are in the audit track.
    • Learners 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”.

  • The Enrollment Status column indicates whether the learner is currently enrolled or unenrolled in the course.

Generate a Problem Grade Report for All Learners in a Course

For any course, you can calculate grades for problems and generate a report that can be downloaded. The problem grade report for a course shows the number of points that each learner has earned for each problem, and the number of possible points for every problem in the course. In addition, the report shows the final grade score for each learner.

To generate and download the problem grade report for all learners who have ever enrolled in your course, follow these steps.

Important

Because the problem grade report file contains confidential, personally identifiable data, be sure to follow your institution’s data stewardship policies when you open or save this file.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. 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.

  4. 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.

  5. 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.

Interpreting the Problem Grade Report

A problem grade report for your course is a time-stamped .csv file that identifies each learner by ID, email address, and username, and provides a snapshot of earned scores compared with the possible scores for each problem.

The problem grade report includes two columns for every problem that is included in your grading configuration. For each homework, lab, midterm, or final exam problem, there is one column for earned points, and one column for possible points. In addition, the report shows the final grade score for each learner, expressed as a decimal.

An example problem grade report shown in Excel, showing the decimal final grade for learners as well as the earned vs possible points that they each achieved on several quiz assignments. A column for a midterm is only partially visible.

The .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 Grade column shows the total score that 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%.
  • For each problem (identified by assignment, subsection, and problem name), a column showing the number of points actually earned by each learner. If the learner did not attempt the assignment, the value is “Not Attempted”. If the assignment is not available to the learner, the value in this column is “Not Available”.
  • For each problem (identified by assignment, subsection, and problem name), a column showing the number of points that it is possible to earn for the problem. If the assignment is not available to the learner, the value in this column is “Not Available”.

Review Learner Grades on the Instructor Dashboard

You can review a gradebook for a course on the instructor dashboard. To review grades for a course, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Student Admin.

  3. Select View Gradebook. Grades are calculated and the Gradebook displays.

    Course gradebook with rows for learners and columns for assignments.

The gradebook displays a table, with a row for each learner enrolled in the course, listed by user name, and a column for each assignment in the course. The gradebook includes the following features.

  • You can choose whether to view grades as a percent, from 0% to 100%, or as an absolute score (for example, 10 out of 14).
  • You can filter the columns displayed in the gradebook by assignment type.
  • You can filter the learners displayed in the gradebook by enrollment type (for example, verified, audit, or all learners) or by cohort.
  • You can search for individual learners by their username, using the search field. Searches are case-insensitive.
  • You can change, or override, the grade that a learner has received for a specific subsection. For information about how to do this, see Override a Learner’s Subsection Score Using the Instructor Dashboard Gradebook.
  • Master’s courses: The edX gradebook has several features for high-touch courses. For learners in the Master’s track:

Override Learner Subsection Scores in Bulk

Note

Master’s-only feature

This feature is available in courses with a Master’s track, to support bulk grade adjustments or curving. It allows you to override subsection (i.e. assignment or exam) grades for in bulk by uploading a file.

Note

Grade overrides apply to all learners enrolled in supported courses. There is a size limit of 4MB (~10k learners) for uploaded files. If your Master’s track course is bigger than this, you’ll have to upload grading files in chunks.

To override grades in bulk, follow these steps.

  1. View the live version of your course.
  2. Select Instructor, and then select Student Admin.
  3. Select View Gradebook.
  4. Set up the filters to identify the segment of learners you want to grade.
  5. Click the Download Bulk Management button to download a CSV of subsection assignment grades for this segment of learners.
  6. Open the CSV in a data editor like Excel.
  7. Fill in the new grade column for the assignment(s) you want to override grades for and save the file.
  8. Return to the Gradebook and click on the Bulk Management tab.
  9. Click Import Grades.
  10. Select your updated grades file and click Open.
  11. The Gradebook will process your file, update learner grades, and provide a summary of grades updated and any errors.

It can take several minutes for the file upload to complete and grades to be fully updated.

You can find a history of files uploaded and summary of results in the table at the bottom of the screen.

Per-Learner Interventions Report

Note

Master’s-only feature

This feature is available in courses with a Master’s track, to support manual learning interventions. It allows you to export per-learner progress and grade information for Master’s track learners, and enables you to identify and reach out to learners who may need additional help.

To download and view the interventions report, follow these steps:

  1. View the live version of your course.
  2. Select Instructor, and then select Student Admin.
  3. Select View Gradebook.
  4. Set up the filters to identify the segment of learners you want to view
  5. Click the Download Interventions button to download a CSV report of progress and grades information for these learners.

The report file contains per-learner information for learners in the Master’s track, including:

  • edX user ID
  • edX username
  • Student Key
  • Email
  • Full Name
  • Course ID
  • Cohort
  • Activity in this course – number of videos, problems, and discussion forum posts submitted over the last week and overall in this course
  • Assignment grades
  • Letter Course Grade
  • Numeric Course Grade to-date

Learner data is updated every day to include activity through the end of the previous day (23:59 UTC).

Check the Progress of a Specific Learner

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.

View a Specific Learner’s Progress Page

To view a specific learner’s Progress page, you need their email address or username. You can check the progress for learners who are either enrolled in, or who have unenrolled from, the course.

Learners can view their own progress chart and assignment scores when they are logged in to the course.

To view the Progress page for a specific learner, follow these steps.

  1. View the live version of your course.

  2. Next to View this course as, select Specific student.

  3. In the Username or email field that appears, enter the learner’s username or email address, and then press the Enter key on your keyboard.

  4. Select the Progress page.

    The Progress page for the learner displays a chart with the grade for each homework, lab, midterm, final, and any other assignment types in your course, and the total grade earned for the course to date.

Understanding the Progress Page

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.

Progress page chart for a learner: includes a column graph with the score achieved for each assignment.

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.

Progress page with a tooltip for the X that was graphed for the last homework assignment, which indicates that the lowest homework score is dropped.

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”.

Bottom portion of a Progress page for the same learner with the score achieved for each problem in the first course subsection.

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.

Grant Due Date Extensions for a Specific Learner

We’re providing a way to allow extending subsection due dates per individual learner.

This could be used to support special circumstances, personal emergencies, and disabilities accommodations.

Note: This feature currently only extends assignment due dates - it does not cover other due dates - e.g. for Open Response Assessments

Instructions

To extend a deadline for a learner, visit the Extensions tab on the Instructor Dashboard

  1. Look up learner by email address or username
  2. Choose the graded subsection from the dropdown
  3. Enter new due date
  4. Specify the reason for the extension
  5. Click Change due date for student

You can also use this tab to view all deadlines or reset a deadline.

This feature is supported in courses published after June 1, 2019. To enable for an older course, first Publish the course from Studio. If you have questions, please contact your edX Project Coordinator.

Adjust Grades for One or All Learners

If you modify a problem or its settings after learners have attempted to answer it, we recommend that you rescore the changed problem so that learners’ grades are updated.

You can adjust an individual learner’s score for a problem using either the Staff Debug Info option in the course, the gradebook that you can access from the Student Admin tab of the instructor dashboard in the LMS, or on the Student Admin tab of the instructor dashboard in the LMS. To adjust the scores for all enrolled learners at once, you use the options on the Student Admin tab of the instructor dashboard in the LMS. If you use the options in the instructor dashboard Student Admin tab, you need to obtain the unique location identifier of the problem.

The following sections describe the various ways in which you can adjust learners’ scores when you cannot avoid making a correction or other change to a problem.

Override a Learner’s Score for a Problem

In some cases, you might want to change, or override, the score that Studio has given a learner for a specific problem. For example, you might receive an email message that explains extenuating circumstances for a learner. You can change an individual learner’s score for a problem using either the instructor dashboard Gradebook, the instructor dashboard Student Admin page, or the Staff Debug viewer for the problem.

Override a Learner’s Subsection Score Using the Instructor Dashboard Gradebook

To override a learner’s score for a specific subsection by using the instructor dashboard Gradebook, follow these steps.

  1. View the live version of your course in the LMS.

  2. Select Instructor, and then select Student Admin.

  3. Select View Gradebook.

  4. Enter the learner’s user name in the Search field.

  5. Click the score for the assignment that you want to modify. The Edit Grades dialog opens, displaying the assignment name, the learner’s user name, and the current grade for the assignment.

    The Edit Grades dialog, which enables you to adjust a learner's grade for an assignment.
  6. In the Adjusted grade field, enter the new grade for the learner on this assignment and select Save Grade.

Override a Learner’s Score Using the Instructor Dashboard Student Admin

To override a learner’s score for a specific problem by using the instructor dashboard Student Admin page, follow these steps.

  1. Obtain the location identifier for the problem that you want to rescore. For more information, see Find the Unique Location Identifier for a Problem.

  2. View the live version of your course in the LMS.

  3. Select Instructor, and then select Student Admin.

  4. Under Adjust a learner’s grade for a specific problem, enter the learner’s email address or username, and then enter the location of the problem in the course. For more information, see Find the Unique Location Identifier for a Problem.

  5. Under Score Override, enter the new score for the problem, and then select Override Learner’s Score.

    Note

    Make sure that the new score is out of the weighted total points for the problem.

  6. In the confirmation dialog box, select OK for each of the confirmation and status messages.

  7. To view the results of the rescore process, select Show Task Status.

    A table displays the status of the override process.

Override a Learner’s Score Using the Staff Debug Viewer

To override a learner’s score for a specific problem by using the Staff Debug viewer, follow these steps.

  1. Obtain the username or email address of the learner whose score you want to change.
  2. View the live version of your course.
  3. Select Course and navigate to the component that contains the problem you want.
  4. Display the problem, and then select Staff Debug Info. The Staff Debug viewer opens.
  5. In the Username field, enter the learner’s email address or username.
  6. In the Score (for override only) field, enter the correct score for the learner, and then select Override Score. A message indicates a successful adjustment.
  7. To close the Staff Debug viewer, click on the browser page outside of the viewer.
Rescore Learner Submissions for 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, including CAPA problems and drag and drop problems. This procedure cannot be used to rescore open response assessment (ORA) problems or problems that are scored by an external grader. For ORA problems, you can override a learner assessment grade in Studio.

Additionally, errors might occur if you rescore a problem that has multiple response fields and you have completed any of the following actions.

  • You removed a response field.
  • You added a response field.
  • You reordered any of the response fields.
Rescore an Individual Learner’s Submission Only if the Score Improves

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.

  1. Obtain the username or email address of the learner whose submission you are rescoring.
  2. View the live version of your course.
  3. Select Course and navigate to the component that contains the problem you want to rescore.
  4. Display the problem, and then select Staff Debug Info. The Staff Debug viewer opens.
  5. In the Username field, enter the learner’s email address or username, and then select Rescore Only If Score Improves. A message indicates a successful adjustment.
  6. To close the Staff Debug viewer, click on the browser page outside of the viewer.

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.

Rescore an Individual Learner’s Submission

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.

  1. Obtain the username or email address of the learner whose submission you are rescoring.
  2. View the live version of your course.
  3. Select Course and navigate to the component that contains the problem you want to rescore.
  4. Display the problem, and then select Staff Debug Info. The Staff Debug viewer opens.
  5. In the Username field, enter the learner’s email address or username, and then select Rescore Learner’s Submission. A message indicates a successful adjustment.
  6. To close the Staff Debug viewer, click on the browser page outside of the viewer.

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.

Rescore Submissions for All Learners Only if Scores Improve

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.

  1. Obtain the location identifier for the problem that you want to rescore. For information, see Find the Unique Location Identifier for a Problem.

  2. View the live version of your course.

  3. Select Instructor, and then select Student Admin.

  4. 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.

  5. 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.

  6. To view the results of the rescore process, select Show Task Status.

    A table displays the status of the rescore process.

Rescore Submissions for All Learners

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.

  1. Obtain the location identifier for the problem that you want to rescore. For information, see Find the Unique Location Identifier for a Problem.

  2. View the live version of your course.

  3. Select Instructor, and then select Student Admin.

  4. 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.

  5. 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.

  6. To view the results of the rescore process, select Show Task Status.

    A table displays the status of the rescore process.

Reset Learner Attempts for a Problem

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.

Reset Attempts for an Individual Learner

To reset the number of attempts for a single learner, follow these steps.

  1. Obtain the learner’s username or email address.
  2. View the live version of your course.
  3. Select Course and navigate to the component that contains the problem you want to reset.
  4. Display the problem, and then select Staff Debug Info. The Staff Debug viewer opens.
  5. In the Username field, enter the learner’s email address or username, and then select Reset Learner’s Attempts to Zero. A message indicates a successful adjustment.
  6. To close the Staff Debug viewer, click on the browser page outside of the viewer.
Reset Attempts for All Learners

To reset the number of attempts that all enrolled learners have for a problem, follow these steps.

  1. Obtain the location identifier for the problem whose attempts you are resetting. For more information, see Find the Unique Location Identifier for a Problem.

  2. View the live version of your course.

  3. Select Instructor, and then select Student Admin.

  4. 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.

  5. 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.

  6. 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.

Delete a Learner’s State for a Problem

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.

  1. View the live version of your course.
  2. Select Course and navigate to the component that contains the problem.
  3. Display the problem, and then select Staff Debug Info. The Staff Debug viewer opens.
  4. In the Username field, enter the learner’s email address or username, and then select Delete Learner’s State. A message indicates a successful adjustment.
  5. To close the Staff Debug viewer, click on the browser page outside of the viewer.

To use the instructor dashboard, you must first obtain the unique identifier of the problem. See Find the Unique Location Identifier for a Problem.

  1. Select Instructor, and then select Student Admin.
  2. In the Adjust a learner’s grade for a specific problem section of the page, enter both the learner’s email address or username and the unique problem identifier, and then select Delete Learner’s State.
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.

  1. View the live version of your course.
  2. Select Course, and then navigate to the unit that contains the problem.
  3. Display the problem, and find the Submission History and Staff Debug Info options that appear below it.
  4. Select Staff Debug Info. Information about the problem appears, including its location.
  5. To copy the location of the problem, select the entire value after location =, right click, and then select Copy.

To close the Staff Debug viewer, click on the browser page outside of the viewer.

Obtaining Certificate Data

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.

Access Certificate Data

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.

View Certificate Data

To view certificate data, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. 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.

Download Certificate Data

To download certificate data, follow these steps.

  1. View the live version of your course.

  2. Select Instructor, and then select Data Download.

  3. 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.

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.

Ending a Course

This topic describes how to complete several end-of-course tasks.

For more information, see the following other topics about certificates.

Sending a Farewell Message

As you prepare for the end of your course, you can send learners a course farewell email message.

Assigning Final Grades

To assign a final grade to each learner enrolled in a course, you generate grades after the course end date and time have passed. For more information, see Generate a Grade Report for All Learners in a Course.

The learner’s final grade and the grading configuration you set in Studio determine whether the learner has earned a certificate for the course.

Issuing Certificates

Note

Before you can issue certificates, the administrator for your instance of Open edX must configure the platform to allow course teams to generate and issue certificates. For more information, see Generate Certificates For a Course and Enabling Course Certificates in Installing, Configuring, and Running the Open edX Platform.

Studio automatically generates certificates for both self-paced courses and instructor-paced courses. When certificates become available, options for learners to view their certificates are available on the learner dashboard, the learner Profile page, and the course Progress page.

You can specify when you want to make certificates available.

  • For self-paced courses, by default, Studio generates certificates for learners when they have completed enough of the course, and with a high enough grade, to qualify for a certificate.

    If you want Studio to generate certificates only after learners have completed the course, you can disable this feature. For more information, see Allow Learners to Receive Early Certificates.

  • For instructor-paced courses, three options are available.

  • By default, certificates become available to learners 48 hours after your course end date. If you change your course end date, Studio automatically adjusts the date for certificates as well.
  • You can specify a different date to make certificates available. For more information, see Specify a Different Certificates Available Date.
  • You can allow learners to receive their certificates when they have completed enough of the course, and with a high enough grade, to qualify for a certificate. For more information, see Allow Learners to Receive Early Certificates.
Issue Certificates on a Specified Date

If you do not want Studio to generate certificates 48 hours after the course end date, you can specify the date when you want Studio to generate certificates. You can change this date at any time.

For more information about how to specify a day to issue certificates, see Specify a Different Certificates Available Date.

Allow Learners to Receive Early Certificates

To allow learners to receive certificates before the course end date or before they have completed the course, you use the Enable Student-Generated Certificates setting on the instructor dashboard.

Note

By default, self-paced courses issue certificates to learners as soon as learners have completed enough of the course, with a high enough grade, to earn a certificate. You do not have to change any settings.

  1. View the live version of your course.

  2. In the LMS, select Instructor, and then select Certificates.

  3. Select Enable Student-Generated Certificates.

    To prevent learners from receiving early certificates, select Disable Student-Generated Certificates.

Allow Learners to Download Early Certificates

To allow learners to download early certificates, you modify the Certificates Display Behavior advanced setting in Studio.

  1. In Studio, on the Settings menu, select Advanced Settings.
  2. On the Advanced Settings page, locate Certificates Display Behavior.
  3. In the Certificates Display Behavior field, enter "early_no_info". Be sure that you include the double quotation marks.
  4. Select Save Changes.

Re-running Your Course

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.

Re-running a 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.

Data Duplicated When You Re-Run a Course

Type of Content Duplicated to New Course?
Course start date No. Set to midnight on January 1, 2030 (UTC).
All other course dates Yes. You must update all release dates and due dates.
Course structure (sections, subsections, units) and state (published, hidden) Yes.
Individual problems and other components Yes.
Files uploaded to the course, including videos and textbooks Yes.
Pages added to the course Yes, including all page content and the defined page order.
Course updates Yes.
Prerequisite course subsection settings No.
Advanced settings Yes.
Grading policy Yes.
Student enrollment data No.
Course team privileges, including admins, discussion moderators, beta testers No. Only the user who created the new course has access to it.
Manually created cohorts No.
Student answers, progress, and grading data No.
Certificates Yes.
Discussion posts, responses, comments, and other data No.
Wiki contributions No.

After you create a re-run course, modifications to the original course and the re-run course are independent. Changes to either course have no effect on the other course. Therefore, you should ensure that the original course content is as complete as possible before you re-run the course.

For more information, see Re-Run a Course and Update the New Course.

Re-Run a Course

Note

After the end date for a course has passed, the course moves to the Archived Courses tab on the Studio dashboard. If the course that you want to re-run is not visible on the Courses tab, look for the course on the Archived Courses tab.

To re-run a course, the course team can use the course Import and Export options, or a system administrator can use the Re-Run Course option. Note that the Import and Export method takes less time than the Course Re-Run option because this method does not require action from a system administrator.

Export and Import the Previous Course

To use the import and export options to re-run a course, follow these steps.

  1. In Studio, open the course that you want to re-run.

  2. Export your course.

  3. In Studio, create a new course.

    Note

    You must have course creation privileges to create a new course. If you do not have course creation privileges, contact a member of the course team who has these privileges, or your organization’s administrator.

  4. In the new course, import the content from the previous course.

  5. After the import operation is complete, review and update the settings and content for the new course.

Use the Course Re-Run Option

Note

Before you re-run a course, make sure that its settings and content are complete. Additions and changes that you make to the original course after you create the new course have no effect on the new course.

Only global or system administrators have the permissions needed to re-run a course. To re-run a course, contact your system administrator. After your system administrator creates a new course using the re-run feature, you can complete the steps to update the new course.

To re-run a course, users who have the required permissions follow these steps.

  1. Sign in to Studio. Your dashboard lists the courses that you have access to as a course team member.

  2. Move your cursor over each row in the list of courses. The Re-Run Course and View Live options appear for each course.

  3. 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.

  4. In the Course Run field, indicate when the new course will be offered.

    Together, the course number, the organization, and the course run are used to create the URL for the new course. The combination of these three values must be unique for the new course. In addition, the total number of characters used for the name, organization, number, and run must be 65 or fewer.

  5. 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.

Update the New Course

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.

  • Add course team members, including discussion admins, moderators, and community TAs. See Add Course Team Members or Planning Course Staff.
  • Update course-wide dates, including course and enrollment start and end dates. See Scheduling a Course Run.
  • Change the release dates of course sections, subsections, and units. See Release Dates.
  • Change the due dates of subsections that are part of your grading policy. See Set the Assignment Type and Due Date for a Subsection.
  • Delete or edit posts on the Course Updates page in Studio. See Add a Course Update.
  • For a course that includes learner cohorts, set up the cohorts and select a strategy for assigning learners to the cohorts.
  • For a course that includes drag and drop problems, replace any problems created prior to April 2016 with the newer drag and drop problem component, which is accessible and mobile ready. For more information about enabling the new drag and drop problem type and adding these problems to your course, see Drag and Drop Problem.

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.

    1. Locate the source file.
    2. Change course-related dates in the file.
    3. Upload the revised version of the file.

    Note

    If you use the same file name when you upload a revised file, links to that file in course components and course handouts will continue to work correctly. If you rename a file and then upload it, you must also update all links to the original file name. See Add a Course Handout or Add a Link to a File.

  • Review the staff biographies and other information on the course About page and make needed updates. See Planning Course Information and Planning Course Run Information.

  • Create initial posts for discussion topics and an “introduce yourself” post. See Creating Course Discussions.

  • Add initial wiki articles.

  • For a course that includes core problem types, including checkbox, text input, or math expression input problems, review the Markdown-style formatting or OLX markup of any problems created before September 2016. For more information about the updates that you can make to improve the accessibility of these problem types, see the Release Notes.

  • If your course uses prerequisite course subsections to hide course subsections until learners complete other, prerequisite subsections, configure the prerequisite course subsections. See Prerequisite Course Subsections.

  • If your course includes instructions for learners, verify that the instructions reflect the current user interface of the LMS.

    For example, you could revise a description of the problem Check button, which was accurate before October 2016, to reflect its new label, Submit.

For more information about tools and ideas that can help you prepare a course for launch, see Course Launching Activities.

Note

Changes you make in the new course have no effect on the original course.

Glossary

A - C - D - E - F - G - H - I - K - L - M - N - O - P - R - S - T - V - W - XYZ

Note

Most of the links to documentation provided in this glossary are to the Building and Running an edX Course guide, for edX partners. Many of the same topics are available in the Open edX version of this guide, Building and Running an Open edX Course: Ironwood Release.

A

AAC

Advanced audio coding (AAC) is an audio coding standard for digital audio compression. AAC is the standard format for YouTube.

A/B test

About page

The course page that provides potential learners with a course summary, prerequisites, a course video and image, and important dates.

accessible label

In a problem component, you use special formatting to identify the specific question that learners will answer by selecting options or entering text or numeric responses.

This text is referred to as the accessible label because screen readers read all of the text that you supply for the problem and then repeat the text that is identified with this formatting immediately before reading the answer choices for the problem. This text is also used by reports and Insights to identify each problem.

All problems require accessible labels.

For more information, see The Simple Editor.

advanced editor

An OLX (open learning XML) editor in a problem component that allows you to create and edit any type of problem. For more information, see The Advanced Editor.

Amazon Web Services (AWS)

A third-party file hosting site where course teams can store course assets, such as problem files and videos. If videos are posted on both YouTube and AWS, the AWS version of the video serves as a backup in case the YouTube video does not play.

assignment type

The category of graded student work, such as homework, exams, and exercises. For more information, see Establishing a Grading Policy For Your Course.

C

CAPA problem

A CAPA (computer assisted personalized approach) problem refers to any of the problem types that are implemented in the edX platform by the capa_module XBlock. Examples range from text input, drag and drop, and math expression input problem types to circuit schematic builder, custom JavaScript, and chemical equation problem types.

Other assessment methods are also available, and implemented using other XBlocks. An open response assessment is an example of a non-CAPA problem type.

certificate

A document issued to an enrolled learner who successfully completes a course with the required passing grade. Not all edX courses offer certificates, and not all learners enroll as certificate candidates.

For information about setting up certificates for your course, see Setting Up Certificates in Studio.

chapter

See Section.

checkbox problem

A problem that prompts learners to select one or more options from a list of possible answers. For more information, see Checkbox Problem.

chemical equation response problem

A problem that allows learners to enter chemical equations as answers. For more information, see Chemical Equation Problem.

circuit schematic builder problem

A problem that allows learners to construct a schematic answer (such as an electronics circuit) on an interactive grid. For more information, see Circuit Schematic Builder Problem.

closed captions

The spoken part of the transcript for a video file, which is overlaid on the video as it plays. To show or hide closed captions, you select the CC icon. You can move closed captions to different areas on the video screen by dragging and dropping them.

For more information, see video player.

codec

A portmanteau of “code” and “decode”. A computer program that can encode or decode a data stream.

cohort

A group of learners who participate in a class together. Learners who are in the same cohort can communicate and share experiences in private discussions.

Cohorts are an optional feature of courses on the edX platform. For information about how you enable the cohort feature, set up cohorts, and assign learners to them, see Using Cohorts in Your Courses.

component

The part of a unit that contains your actual course content. A unit can contain one or more components. For more information, see Developing Course Components.

content experiment

You can define alternative course content to be delivered to different, randomly assigned groups of learners. Also known as A/B or split testing, you use content experiments to compare the performance of learners who have been exposed to different versions of the content. For more information, see Overview of Content Experiments.

content library

See Library.

content-specific discussion topic

A category within the course discussion that appears at a defined point in the course to encourage questions and conversations. To add a content- specific discussion topic to your course, you add a discussion component to a unit. Learners cannot contribute to a content-specific discussion topic until the release date of the section that contains it. Content-specific discussion topics can be divided by cohort, so that learners only see and respond to posts and responses by other members of the cohort that they are in.

For more information, see Working with Discussion Components. For information about making content-specific discussion topics divided by cohort, see Setting up Discussions in Courses with Cohorts.

course catalog

The page that lists all courses offered in the edX learning management system.

course handouts

Course handouts are files you make available to learners on the Home page. For more information, see Adding Course Updates and Handouts.

course mode

course navigation pane

The navigation frame that appears at one side of the Course page in the LMS. The course navigation pane shows the sections in the course. When you select a section, the section expands to show subsections. When you select a subsection, the first unit in that subsection appears on the course page.

See also Unit Navigation Bar.

Course page

The page that opens first when learners access your course. On the Course page, learners can view the course outline and directly access the course, either by clicking a specific section or subsection on the outline, or by clicking the Start Course button (Resume Course if the learner has previously accessed the course).

The latest course update, such as a course welcome message, appears above the course outline. Links to various Course Tools including Bookmarks, Reviews and Updates appear at the side of this page. This page is a combination of the former Home and Courseware pages.

course run

A version of the course that runs at a particular time. Information about a course run includes start and end dates, as well as staff and the languages the course is available in. You can create a course run when you create a course.

course track

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.

D

data czar

A data czar is the single representative at a partner institution who is responsible for receiving course data from edX, and transferring it securely to researchers and other interested parties after it is received.

For more information, see the Using the edX Data Package.

discussion

The set of topics defined to promote course-wide or unit-specific dialog. Learners use the discussion topics to communicate with each other and the course team in threaded exchanges. For more information, see Creating Course Discussions.

discussion component

Discussion topics that course teams add directly to units. For example, a video component can be followed by a discussion component so that learners can discuss the video content without having to leave the page. When you add a discussion component to a unit, you create a content-specific discussion topic. See also Content Specific Discussion Topic.

For more information, see Working with Discussion Components.

discussion thread list

The navigation frame that appears at one side of the Discussion page in the LMS. The discussion thread list shows the discussion categories and subcategories in the course. When you select a category, the list shows all of the posts in that category. When you select a subcategory, the list shows all of the posts in that subcategory. Select a post to read it and its responses and comments, if any.
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.

E

edX101

An online course about how to create online courses. The intended audience for edX101 is faculty and university administrators.

edX Edge

edX Edge is a less restricted site than edX.org. While only edX employees and consortium members can create and post content on edX.org, any users with course creator permissions for Edge can create courses with Studio on studio.edge.edx.org, then view the courses on the learning management system at edge.edx.org.

edX Studio

The edX tool that you use to build your courses. For more information, see Getting Started with Studio.

embargo

An embargo is an official ban on trade or commercial activity with a particular country. For example, due to U.S. federal regulations, edX cannot offer certain courses (for example, particular advanced STEM courses) on the edx.org website to learners in embargoed countries. Learners cannot access restricted courses from an embargoed country. In some cases, depending on the terms of the embargo, learners cannot access any edX courses at all.

enrollment mode

enrollment track

Also called certificate type, course mode, course seat, course track, course type, enrollment mode, or seat type.

The enrollment track specifies the following items about a course.

  • The type of certificate, if any, that learners receive if they pass the course.
  • Whether learners must verify their identity to earn a certificate, using a webcam and a photo ID.
  • Whether the course requires a fee.
  • audit: This is the default enrollment track when learners enroll in a course. This track does not offer certificates, does not require identity verification, and does not require a course fee.

  • professional: This enrollment track is only used for specific professional education courses. The professional enrollment track offers certificates, requires identity verification, and requires a fee. Fees for the professional enrollment track are generally higher than fees for the verified enrollment track. Courses that offer the professional track do not offer a free enrollment track.

    Note

    If your course is part of a MicroMasters or professional certificate program, your course uses the verified track. These courses do not use the professional enrollment track.

  • verified: This enrollment track offers verified certificates to learners who pass the course, verify their identities, and pay a required course fee. A course that offers the verified enrollment track also automatically offers a free non-certificate enrollment track.

  • honor: This enrollment track was offered in the past and offered an honor code certificate to learners who pass the course. This track does not require identity verification and does not require a fee. Note, however, that as of December 2015, edx.org no longer offers honor code certificates. For more information, see News About edX Certificates.

  • professional (no ID): Like the professional enrollment track, this track offers certificates and requires a fee. However, this track does not require identity verification. Courses that offer the professional (no ID) track do not offer a free enrollment track.

exercises

Practice or practical problems that are interspersed in edX course content to keep learners engaged. Exercises are also an important measure of teaching effectiveness and learner comprehension. For more information, see Adding Exercises and Tools.

export

A tool in edX Studio that you use to export your course or library for backup purposes, or so that you can edit the course or library directly in OLX format. See also Import.

For more information, see Export a Course or Export a Library.

F

forum

fps

Frames per second. In video, the number of consecutive images that appear every second.

G

grade range

Thresholds that specify how numerical scores are associated with grades, and the score that learners must obtain to pass a course.

For more information, see Set the Grade Range.

grading rubric

See Rubric.

H

H.264

A standard for high definition digital video.

Home 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.

I

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.

K

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.

L

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

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.

M

math expression input problem

A problem that requires learners to enter a mathematical expression as text, such as e=m*c^2.

For more information, see math formatting in the EdX Learner’s Guide.

MathJax

A LaTeX-like language that you use to write equations. Studio uses MathJax to render text input such as x^2 and sqrt(x^2-4) as “beautiful math.”

For more information, see Using MathJax for Mathematics.

module

An item of course content, created in an XBlock, that appears on the Course page in the edX learning management system. Examples of modules include videos, HTML-formatted text, and problems.

Module is also used to refer to the structural components that organize course content. Sections, subsections, and units are modules; in fact, the course itself is a top-level module that contains all of the other course content as children.

multiple choice problem

A problem that asks learners to select one answer from a list of options. For more information, see Multiple Choice Problem.

N

NTSC

National Television System Committee. The NTSC standard is a color encoding system for analog videos that is used mostly in North America.

numerical input problem

A problem that asks learners to enter numbers or specific and relatively simple mathematical expressions. For more information, see Numerical Input Problem.

O

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.

P

pages

Pages organize course materials into categories that learners select in the learning management system. Pages provide access to the course content and to tools and uploaded files that supplement the course. Links to each page appear in the course material navigation bar.

For more information, see Managing the Pages in Your Course.

PAL

Phase alternating line. The PAL standard is a color encoding system for analog videos. It is used in locations such as Brazil, Australia, south Asia, most of Africa, and western Europe.

partner manager

Each EdX partner institution has an edX partner manager. The partner manager is the primary contact for the institution’s course teams.

pre-roll video

A short video file that plays before the video component selected by the learner. Pre-roll videos play automatically, on an infrequent schedule.

For more information, see Adding a Pre-Roll Video to Your edX Course.

preview mode

A view that allows you to see all the units of your course as learners see them, regardless of the unit status and regardless of whether the release dates have passed.

For more information, see Previewing Draft Content.

problem component

A component that allows you to add interactive, automatically graded exercises to your course content. You can create many different types of problems.

For more information, see Working with Problem Components and Adding Exercises and Tools.

proctored exam

At edX, proctored exams are timed, impartially and electronically monitored exams designed to ensure the identity of the test taker and determine the security and integrity of the test taking environment. Proctored exams are often required in courses that offer verified certificates or academic credit. For more information, see Managing Proctored Exams.

program

A program is a collection of related courses. Learners enroll in a program by enrolling in any course that is part of a program, and earn a program certificate by passing each of the courses in the program with a grade that qualifies them for a verified certificate.

Several types of program are available on edx.org, including MicroMasters, Professional Certificate, and XSeries programs.

program offer

A program offer is a discount offered for a specific program. The discount can be either a percentage amount or an absolute (dollar) amount.

Progress page

The page in the learning management system that shows learners their scores on graded assignments in the course. For more information, see sfd check progress in the EdX Learner’s Guide.

Q

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.

R

Research Data Exchange (RDX)

An edX program that allows participating partner institutions to request data for completed edx.org courses to further approved educational research projects. Only partner institutions that choose to participate in RDX contribute data to the program, and only researchers at those institutions can request data from the program.

For more information, see Using the Research Data Exchange Data Package.

rubric

A list of the items that a learner’s response should cover in an open response assessment. For more information, see the Rubric topic in Introduction to Open Response Assessments.

See also Open Response Assessment.

S

seat type

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

short description

The description of your course that appears on the edX Course List page.

For more information, see Course Short Description Guidelines.

simple editor

The graphical user interface in a problem component that contains a toolbar for adding Markdown formatting to the text you supply. The simple editor is available for some problem types. For more information, see Editing a Problem in Studio.

single sign-on (SSO)

SSO is an authentication service that allows a user to access multiple related applications, such as Studio and the LMS, with the same username and password. The term SSO is sometimes used to refer to third party authentication, which is a different type of authentication system. For information about third party authentication, see Third Party Authentication.

special exam

A general term that applies to proctored and timed exams in edX courses. See Timed Exam and Proctored Exam.

split test

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.

T

text input problem

A problem that asks learners to enter a line of text, which is then checked against a specified expected answer.

For more information, see Text Input Problem.

timed exam

Timed exams are sets of problems that a learner must complete in the amount of time you specify. When a learner begins a timed exam, a countdown timer displays, showing the amount of time allowed to complete the exam. If needed, you can grant learners additional time to complete the exam. For more information, see Offering Timed Exams.

third party authentication

A system-wide configuration option that allows users who have a username and password for one system, such as a campus or institutional system, to log in to that system and automatically be given access to the LMS. These users do not enter their system credentials in the LMS.

For more information about how system administrators can integrate an instance of Open edX with a campus or institutional authentication system, see Enabling Third Party Authentication.

transcript

A text version of the content of a video. You can make video transcripts available to learners.

For more information, see Obtain a Video Transcript.

U

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.

V

VBR

Variable bit rate. The bit rate is the number of bits per second that are processed or transferred. A variable bit rate allows the bit rate to change according to the complexity of the media segment.

vertical

See Unit.

video component

A component that you can use to add recorded videos to your course.

For more information, see Working with Video Components.

W

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.

XYZ

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.