Utwórz egzamin

Aby utworzyć egzamin, musisz wysłać żądanie pocztów ze szczegółami egzaminu. Poniżej jest przykład:
{
  "name": "Introduction to Data Science DSC101",
  "platform": [
    "android",
    "ios",
    "web"
  ],
  "enforceDesktop": false,
  "analytics": {
    "device": true,
    "ip": true,
    "focusing": true
  },
  "openOn": 1719046628502,
  "closeOn": 1719064544928,
  "duration": 1200,
  "restricted_commands": [
    "copy",
    "cut",
    "paste",
    "right_mouse",
    "...more"
  ],
  "logo": "data:base64,WHV4MnJsN2oyZUdmb...",
  "translation": {
    "enableSelection": true,
    "entire": false,
    "langs": [
      "en",
      "zh",
      "ru",
      "de",
      "vi",
      "...more"
    ]
  },
  "redirectionLink": "https://exam.feedback.stanford.com/respondent",
  "monitoring": {
    "cam": true,
    "screen": true
  },
  "result": {
    "availability": "instant",
    "public": false,
    "viewableAns": true
  },
  "respondant": {
    "enforceUser": false,
    "multipleUserAttempts": false,
    "privateExam": false,
    "multipleInvitationAttempts": false,
    "multipleDeviceAttempt": false,
    "resumable": true,
    "charge": false
  },
  "welcomePage": {
    "content": [
      {
        "type": "text",
        "value": "Your custom html text goes here.."
      },
      {
        "type": "about",
        "value": "Enter Matric No."
      },
      {
        "type": "input",
        "value": "Enter Password"
      }
    ],
    "validate": false,
    "multipleAttempts": false
  },
  "thankYouPage": "<div>Thank you for your participation</div>",
  "courses": [
    {
      "title": "Data Wrangling and Cleaning",
      "shuffleQ": true,
      "shuffleOption": false,
      "limit": 1,
      "questions": [
        {
          "q": "Which of the following methods is used to handle missing values in a dataset?",
          "opt": [
            "Normalization",
            "One-Hot Encoding",
            "Imputation",
            "PCA (Principal Component Analysis)"
          ],
          "ans": [
            2
          ],
          "type": "radio",
          "points": 1
        },
        {
          "q": "Explain the process of data cleaning and why it is important in data science. Include examples of common issues found in raw data and how they can be addressed.",
          "type": "free",
          "points": 3
        }
      ]
    },
    {
      "title": "Statistical Analysis and Visualization",
      "shuffleQ": true,
      "shuffleOption": false,
      "questions": [
        {
          "q": "Which of the following are common types of data visualizations used in exploratory data analysis (EDA)? (Select all that apply)",
          "opt": [
            "Bar Chart",
            "Histogram",
            "Scatter Plot",
            "Decision Tree"
          ],
          "ans": [
            0,
            1,
            2
          ],
          "type": "checkbox"
        },
        {
          "q": "Which statistical measure is used to describe the spread or dispersion of a set of data points?",
          "ans": [
            "Standard Deviation",
            "S.D",
            "SD"
          ],
          "type": "exact_or"
        },
        {
          "q": "List 3 methods for measures of central tendency?",
          "ans": [
            "Mean",
            "Median",
            "Mode"
          ],
          "type": "exact_and"
        }
      ]
    }
  ]
}

Wyjaśnienie

Poszczególne pola i wartości są wyjaśnione w następujący sposób:
PolaTypWymaganyOpis
nameStringTo będzie nazwa nadana egzaminowi.
To nie może być większe niż 200 pismo
platformArrayTa tablica powinna zawierać platformy, które chcesz obsługiwać ten egzamin.
Prawidłowe wartości są android, ios I web
enforceDesktopBooleanTo prawda, że ​​ten egzamin można przyjmować tylko na urządzeniach o szerokości rozdzielczości ekranu większej niż 999 pikseli. Domyślnie do fałszu
openOnNumberTo jest czas, w którym egzamin powinien być dostępny.<br>Oczekuje się, że będzie w formacie czasowym epokowym, który jest liczbą milisekund, które upłynęły od północy (UTC) 1 stycznia 1970 r.
closeOnNumberTo jest czas, w którym egzamin nie jest już dostępny.<br>Oczekuje się, że będzie w formacie czasowym epokowym, który jest liczbą milisekund, które upłynęły od północy (UTC) 1 stycznia 1970 r.
durationNumberSą to maksymalne sekundy, w których respondent może ukończyć egzamin.
logoStringMoże to być dane Base64 dla logo egzaminu lub adres URL HTTPS wskazujący prawidłowy obraz.
monitoring.camBooleanTo prawda, jeśli chcesz nagrać respondentkę CAM
monitoring.screenBooleanTo prawda, jeśli chcesz nagrać ekran respondenta
analytics.deviceBooleanTo prawda, jeśli chcesz zarejestrować informacje o urządzeniu respondenta
analytics.ipBooleanTo prawda, jeśli chcesz zarejestrować respondent publiczny adres IP
analytics.focusingBooleanTo prawda, jeśli chcesz zalogować się i oznaczyć, gdy respondent traci skupienie się na ekranie egzaminu
restricted_commandsArrayTa tablica powinna zawierać polecenia, które mają być ograniczone, gdy respondent przystępuje do egzaminu.


copy: Powinno to wyłączyć każde polecenie powiązane z kopiowaniem tekstu na stronie egzaminacyjnej (e.g CTRL+C, CMD+C).
cut: Powinno to wyłączyć dowolne polecenie powiązane z wycinaniem tekstu na stronie egzaminacyjnej (e.g CTRL+X, CMD+X).
paste: Powinno to wyłączyć każde polecenie powiązane z wklejaniem tekstu na stronie egzaminacyjnej (e.g CTRL+V, CMD+V).
right_mouse: Powinno to wyłączyć kliknięcie myszy
print: Powinno to wyłączyć dowolne polecenie związane z drukowaniem strony egzaminacyjnej (e.g CTRL+P, CMD+P).
fullscreen: Powinno to wyłączyć każde polecenie powiązane z wprowadzaniem pełnego ekranu na stronie egzaminacyjnej (e.g CTRL+CMD+F).
shortcut: Powinno to wyłączyć cały klucz skrótów (np. Arrowup, Arrowdown, Arrowleft, Arrowright, N, P, 1 - 9)
sci_cal: Powinno to wyłączyć kalkulator naukowy
basic_cal: Powinno to wyłączyć podstawowy kalkulator
result.availabilityStringMoże to być dowolne z poniższych:

instant: Jeśli chcesz, aby wynik respondenta był dostępny natychmiast
manual: Jeśli chcesz wydać wynik respondenta ręcznie
off: Jeśli nie zamierzasz wydawać respondenta na naszej platformie
result.publicBooleanTo prawda, jeśli chcesz, aby wszyscy respondent widzieli się na wyniki
result.viewableAnsBooleanTo prawda, jeśli chcesz, aby respondent zobaczył tam oznaczenia i próby
respondant.enforceUserBooleanEgzekwuj zalogowanie użytkownika dla respondentów.
respondant.multipleUserAttemptsBooleanWłącz wiele prób tego samego użytkownika. Domyślnie do fałszu.
Uwaga: ta wartość zostanie zignorowana, jeśli respondant.enforceUser jest fałszywy
respondant.privateExamBooleanTo prawda, jeśli chcesz, aby ten egzamin był przystosowany tylko przez respondentów, których zaprosiłeś.
respondant.multipleInvitationAttemptsBooleanWłącz wiele prób z tego samego linku zaproszenia. Domyślnie do fałszu
Uwaga: ta wartość zostanie zignorowana, jeśli respondant.privateExam jest fałszywy
respondant.multipleDeviceAttemptBooleanWłącz wiele prób tej samej przeglądarki lub urządzenia. Domyślnie do fałszu
respondant.resumableBooleanSpraw, aby egzamin powrócił, gdy respondent ponownie załaduje stronę. Domyślnie do fałszu
respondant.chargeBooleanPobierają pozwanego wymaganego tokena za przystąpienie do tego egzaminu. Domyślnie do fałszu
respondant.limitNumerPowinna to być dodatnia liczba całkowita reprezentująca maksymalną respondent, który może podjąć próbę tego egzaminu
redirectionLinkStringPodanie tego przekieruje użytkownika do określonego linku po zakończeniu testu, z dołączonym parametrem zapytania respondent_id=unique_id.

Na przykład, jeśli zapewniłeś https://exam.feedback.stanford.com/respondent Jako link przekierowania, respondent zostanie przekierowany https://exam.feedback.stanford.com/respondent?respondent_id=unique_id. Gdzie unique_id będzie identyfikatorem respondenta.
translation.enableSelectionBooleanPrawda, jeśli chcesz włączyć wybór języka lub użyć domyślnego języka systemowego
translation.entireBooleanTo prawda, jeśli chcesz przetłumaczyć cały tekst egzaminu, w tym pytania i opcje
translation.langsArrayTa tablica powinna zawierać ISO 639-1 language codes w którym chcesz, aby tłumaczenie egzaminu było dostępne.

Obsługiwane języki
  • English (en)
  • French (fr)
  • Chinese (zh)
  • German (de)
  • Swahili (sw)
  • Spanish (es)
  • Russian (ru)
  • Portuguese (pt)
  • Hindi (hi)
  • Arabic (ar)
  • Bengali (bn)
  • Japanese (ja)
  • Korean (ko)
  • Italian (it)
  • Turkish (tr)
  • Vietnamese (vi)
  • Dutch (nl)
  • Thai (th)
  • Indonesian (id)
  • Polish (pl)
  • Malay (ms)
  • Filipino (tl)
  • Swedish (sv)
  • Greek (el)
  • Czech (cs)
  • Romanian (ro)
  • Hungarian (hu)
  • Ukrainian (uk)
  • Hebrew (he)
  • Farsi (fa)
  • Danish (da)
  • Norwegian (no)
  • Finnish (fi)
  • Bulgarian (bg)
  • Albanian (sq)
  • Latvian (lv)
  • Mongolian (mn)
  • Slovak (sk)
  • Catalan (ca)
  • Georgian (ka)
  • Lithuanian (lt)
  • Serbian (sr)
welcomePage.validateBooleanTo prawda, jeśli chcesz potwierdzić wartości pola welcomePage.content za pośrednictwem adresu URL WebHook. Domyślnie do fałszu.
welcomePage.multipleAttemptsBooleanPrawda, jeśli chcesz, aby zezwolić na wiele prób samych wartości pola. Domyślnie do fałszu.
welcomePage.content.typeStringRenderowanie treści u góry strony powitalnej egzaminu
wartość może być dowolnym z poniższych:

text: renderuje treść tekstu lub html.
input: renderuje pole wejściowe, odpowiadające welcomePage.content.value będzie używany jako symbol zastępczy dla pola wejściowego.
thankYouPageStringTreść tekstowa lub HTML, która jest wyświetlana respondentowi po zakończeniu lub przesłaniu egzaminu.
courses.titleStringTytuł kursu
courses.shuffleQBooleanZgodnie z tasowaniem pytań w tej sekcji
courses.shuffleOptionBooleanZgodnie z tasowaniem opcji w pytaniach radio or checkbox
courses.limitIntegerCała dodatnia wartość liczb całkowita, która ogranicza maksymalną liczbę pytań, które pozwany może podjąć próbę tego kursu
courses.questions.qStringindywidualne pytanie w formularzu tekstowym lub HTML.
courses.questions.optArrayOpcje pytania. Powinien być szeregiem ciągów, może obsługiwać do 26 elementów.
Należy to zapewnić tylko wtedy, gdy courses.questions.type jest też "radio" Lub "checkbox".
courses.questions.ansArrayOdpowiedź na pytanie.Jeśli courses.questions.type jest też "radio" Lub "checkbox", Powinno to być szereg liczby całkowitej jako pozycja prawidłowych opcji.W przeciwnym razie, jeśli courses.questions.type jest też "exact" Lub "exact_and", wtedy powinna to być tablica ciągu.
courses.questions.typeStringWartość może być dowolnym z poniższych:

radio: odpowiednie, gdy pytanie ma opcje z jedną odpowiedzią.
checkbox: odpowiednie, gdy pytanie ma opcje z wieloma odpowiedzią.
exact: Sprawdź próbę respondenta z poprawną odpowiedzią za pomocą Bitwise lub.
exact_and: Sprawdź próbę respondenta z poprawną odpowiedź za pomocą Bitwise i.
free: Odpowiedzią, gdy odpowiedzią na pytanie jest bezpłatny tekst, taki jak esej lub wyjaśnienie. Należy pamiętać, że takie pytanie będzie oznaczone naszym silnikiem AI.
courses.questions.pointsNumberLiczba punktów, które należy przypisać do tego pytania. Domyślnie do 1
courses.questions.expStringObjaśnienie poprawnej odpowiedzi na pytanie.

Edytuj egzamin

Podczas edytowania istniejącego egzaminu nie możesz aktualizować monitoring, result I respondant pole. Ale możesz zaktualizować limit w polu respondenta jako respondant.limit.
Podczas aktualizacji pola zawierającego obiekt lub tablicę jako jego wartość nie jest wykonywana operacja scalania. Zamiast tego cała wartość takiego pola jest zastąpiona nową.
Możesz ustawić pole na null, jeśli chcesz je usunąć


Aby edytować istniejący egzamin, musisz wysłać żądanie PUT wraz z egzaminem.
{
  "platform": [
    "web"
  ],
  "openOn": null,
  "restricted_commands": [
    "copy",
    "cut",
    "paste"
  ],
  "translation": {
    "enableSelection": true,
    "entire": true,
    "langs": [
      "en",
      "zh",
      "ru"
    ]
  },
  "questions": [
    {
      "title": "Data Wrangling and Cleaning",
      "shuffleQ": true,
      "shuffleOption": false,
      "limit": 1,
      "questions": [
        {
          "q": "Which of the following methods is used to handle missing values in a dataset?",
          "opt": [
            "Normalization",
            "One-Hot Encoding",
            "Imputation",
            "PCA (Principal Component Analysis)"
          ],
          "ans": [
            2
          ],
          "type": "radio",
          "points": 1
        },
        {
          "q": "Explain the process of data cleaning and why it is important in data science. Include examples of common issues found in raw data and how they can be addressed.",
          "type": "free",
          "points": 3
        }
      ]
    },
    {
      "title": "Statistical Analysis and Visualization",
      "shuffleQ": true,
      "shuffleOption": false,
      "questions": [
        {
          "q": "Which of the following is a Python library used for data visualization?",
          "opt": [
            "NumPy",
            "Pandas",
            "Matplotlib",
            "Scikit-learn"
          ],
          "ans": [
            2
          ],
          "type": "radio"
        },
        {
          "q": "Discuss the importance of exploratory data analysis (EDA) in data science and describe how visualization tools can be used to perform EDA.",
          "type": "free",
          "points": 2
        }
      ]
    }
  ]
}

Usuń egzamin

Aby usunąć egzamin, musisz wysłać żądanie usunięcia wraz z egzaminem.
Usunięcie egzaminu usunie wszystkie dane powiązane z takim egzaminem, w tym wszystkie dane medialne, pytania i dane respondentów
{
  "x-client-id": "xxx-xxx-xxx",
  "x-client-secret": "xxxxxxx",
  "content-type": "application/json"
}

Komentarze zwrotne (0)