Crearea și gestionarea testelor de pânză cu R/examene și VVCanvas

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe R/exameneși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Cantele de pânză pot fi create cu examene2canvas în r/examene și apoi importate și gestionate în pânză folosind pachetul R vvcanvas.

Crearea și gestionarea testelor de pânză cu R/examene și VVCanvas

Prezentare generală

Acest tutorial ilustrează modul de utilizare R/examene în combinație cu VVCanvas pentru crearea și gestionarea testelor pentru pânză. exams2canvas() a fost disponibil de mult timp în R/examene și permite crearea de fișiere ZIP QTI care pot fi importate în Canvasul sistemului de management al învățării (deținut de compania de tehnologie educațională din SUA Instructure). Până acum, importul de chestionare trebuia să fie făcut manual folosind linkul de conținut de curs de import în meniul de setări al unui curs de pânză. De asemenea, opțiunile de testare, cum ar fi datele scadente și restricțiile de timp, trebuiau să fie setate manual în setările testului, ceea ce necesită mai degrabă timp, mai ales dacă numărul de teste este mare. Pachetul R. vvcanvas Oferă o interfață convenabilă pentru a interacționa cu API -ul Canvas. Permite utilizatorilor să se autentifice, să recupereze informațiile despre curs, să obțină detalii specifice și să efectueze diverse operații în cadrul LMS Canvas, cum ar fi încărcarea fișierelor QTI și setarea opțiunilor de testare.

Aici, sunt ilustrate două lucruri:

  1. Pași necesari folosind r/examene pentru a crea un test în format de pânză.
  2. Pași necesari folosind pachetul VVCanvas pentru a (a) autentificare cu API -ul Canvas LMS, (b) Importați testul în sistemul Canvas și (c) setați opțiunile de testare.

Pași folosind r/examene

Codul de mai jos încarcă mai întâi exams Pachet (consultați tutorialul de instalare R/examene pentru instrucțiuni despre cum să -l configurați pentru prima dată).

Apoi, creăm un examen numit NewCanvasQuiz care este o listă de exerciții, în acest caz, toate furnizate ca parte a pachetului R/Exams: TSTAT, TSTAT2, Relfreq, Funcție, Vocale. Este format din respectiv a num, Schoice, MCHOice, şirși cloze exercita. Rețineți că există doar un suport limitat pentru exerciții de cloze, deocamdată seturi de Schoice Articolele sunt permise, rezultând mai multe meniuri derulante; posibilitatea unor seturi de num în prezent sunt luate în considerare articolele.

library("exams")

NewCanvasQuiz <- list(
  "tstat.Rmd",  
  "tstat2.Rmd",
  "relfreq.Rmd",
  "function.Rmd",
  "vowels.Rmd"
)

Poate fi creată o previzualizare rapidă în browserul web exams2html() sau exams2webquiz() de la examene2 Forme:

exams2html(NewCanvasQuiz)

library("exams2forms")
exams2webquiz(NewCanvasQuiz)

Pentru a crea de fapt un examen pentru utilizare în pânză exams2canvas() Funcția poate fi utilizată care generează un fișier ZIP (aici: newcanvasquiz.zip), care conține o colecție de fișiere XML cu exercițiile în format de pânză.

exams2canvas(NewCanvasQuiz, name = "NewCanvasQuiz")

Dacă mai multe teste sunt încărcate într -un curs, este recomandat să _NOT_ reutilizează numele fișierelor ca vvcanvas Funcțiile folosesc numele de fișiere ca parte a identificării testelor importate.

Pași în pânză

Pentru a comunica cu pânza de la R a „token”, este necesar un fel de parolă. Pentru a obține un jeton, pot fi urmate instrucțiunile privind portalul comunitar al instrucțiunii. Pentru completitudine, pașii (necesari în prezent) sunt furnizați mai jos:

  • Accesați contul dvs. (pictograma din partea de sus a meniului din stânga).
  • Accesați profil> Setări.
  • Găsiți „Integrări aprobate” la jumătatea paginii.
  • Faceți clic pe „+ NOU NOU TIME DE ACCES” (Buton Red).
  • Copiați -l sau salvați -l.

Pași folosind vvcanvas

Încărcați pachetul și autentificați -vă

În primul rând, vvcanvas Pachetul poate fi instalat de la CRAN folosind următoarea comandă:

install.packages("vvcanvas")

Cea mai actualizată descriere a pașilor de autentificare poate fi găsită pe pagina VVCanvas GitHub. Aici, după încărcarea pachetului, am configurat variabile pentru tokenul de pânză și adresa URL a pânzei, folosind „my_api_key” și pagina de pânză a Universității din Amsterdam ca deținători. Vă rugăm să le înlocuiți cu jetonul și URL -ul dvs. real. Apoi, autentificarea poate fi efectuată folosind canvas_authenticate().

library("vvcanvas")

my_token <- "MY_API_KEY"
my_url <- "https://canvas.uva.nl"
my_canvas <- canvas_authenticate(api_key = my_token, base_url = my_url)

Specificați cursul și analizați testele disponibile

Setați ID -ul cursului în care încărcarea trebuie să aibă loc și recuperați lista de teste care erau deja disponibile înainte de a încărca noul fișier QTI:

my_course <- 7520  
get_course_quizzes(canvas = my_canvas, course_id = my_course)

Încărcați testul și obțineți ID -ul său

Timpul pe care Canvas necesită procesarea fișierului QTI încărcat este greu de prevăzut. Depinde de traficul de pe serverul Canvas și, eventual, de numărul de migrații pe care le -a efectuat recent utilizatorul. Prin urmare, în circumstanțe cu mult timp de așteptare, se recomandă o abordare diferită decât atunci când timpul de așteptare este scurt. În ultimul caz, ID -ul testului este ușor obținut, iar în primul caz, ID -ul trebuie determinat folosind o abordare mai extinsă care necesită două etape suplimentare.

Dacă procesarea durează puțin (de exemplu, 5 până la 10 secunde), se poate obține ID -ul testului direct folosind upload_qti_file_with_migration Setare funcție wait = TRUEprin care funcția așteaptă 30 de secunde după încărcarea fișierului QTI pentru a verifica dacă a fost deja transformată într -un test nou. Dacă a fost creat un nou test, acesta returnează ID -ul testului; Dacă nu, îl întreabă pe utilizator dacă este necesară o așteptare suplimentară.

my_quiz <- upload_qti_file_with_migration(canvas = my_canvas,
  course_id = my_course, qti_name = "NewCanvasQuiz", wait = TRUE)

Dacă așteptarea durează prea mult sau când așteptarea este nedorită la fel, utilizatorii sunt sfătuiți să utilizeze get_course_quizzes Funcție pentru a vedea dacă a fost creat un nou test. În acest caz, experiența arată că poate fi înțelept să aștepți cu câteva ore înainte de a rula codul rămas (deoarece API -ul Canvas poate să fi atribuit prioritate scăzută prelucrării fișierului QTI).

Actualizați parametrii de testare

Odată ce ID -ul testului a fost stabilit (salvat în obiectul „my_quiz” în exemplu), update_quiz Funcția poate fi utilizată pentru a modifica parametrii testului nou creat:

my_params <- list(
  title = "Updated Quiz Title",
  description = "Updated description of the quiz.",
  due_at = "2025-09-21T23:59:00+01:00",
  time_limit = 120, published = TRUE
)
updated_quiz <- update_quiz(canvas = my_canvas,
  course_id = my_course, quiz_id = my_quiz, quiz_params = my_params)

Cinci parametri au fost stabiliți, titlul testului, descrierea sa, data scadenței, limita de timp (120 minute) și starea sa („publicată”). Rețineți că pânza cere date în format ISO 8601. Pentru completitate, structura obiectului de testare actualizat este prezentată mai jos:

str(updated_quiz)

## List of 56
##  $ id                                  : int 119836
##  $ title                               : chr "Updated Quiz Title"
##  $ html_url                            : chr "https://canvas.uva.nl/courses/7520/quizzes/119836"
##  $ mobile_url                          : chr "https://canvas.uva.nl/courses/7520/quizzes/119836?force_user=1&persist_headless=1"
##  $ description                         : chr "Updated description of the quiz."
##  $ quiz_type                           : chr "assignment"
##  $ time_limit                          : int 120
##  $ timer_autosubmit_disabled           : logi FALSE
##  $ shuffle_answers                     : logi TRUE
##  $ show_correct_answers                : logi TRUE
##  $ scoring_policy                      : chr "keep_highest"
##  $ allowed_attempts                    : int 1
##  $ one_question_at_a_time              : logi FALSE
##  $ question_count                      : int 5
##  $ points_possible                     : num 5
##  $ cant_go_back                        : logi FALSE
##  $ access_code                         : NULL
##  $ ip_filter                           : NULL
##  $ due_at                              : chr "2025-09-21T22:59:00Z"
##  $ lock_at                             : NULL
##  $ unlock_at                           : NULL
##  $ published                           : logi TRUE
##  $ unpublishable                       : logi TRUE
##  $ locked_for_user                     : logi TRUE
##  $ lock_info                           :List of 2
##   ..$ missing_permission: chr "participate_as_student"
##   ..$ asset_string      : chr "quizzes:quiz_119836"
##  $ lock_explanation                    : chr "This quiz is currently locked."
##  $ hide_results                        : NULL
##  $ show_correct_answers_at             : NULL
##  $ hide_correct_answers_at             : NULL
##  $ all_dates                           :List of 1
##   ..$ :List of 4
##   .. ..$ due_at   : chr "2025-09-21T06:59:00Z"
##   .. ..$ unlock_at: NULL
##   .. ..$ lock_at  : NULL
##   .. ..$ base     : logi TRUE
##  $ can_unpublish                       : logi TRUE
##  $ can_update                          : logi TRUE
##  $ require_lockdown_browser            : logi FALSE
##  $ require_lockdown_browser_for_results: logi FALSE
##  $ require_lockdown_browser_monitor    : logi FALSE
##  $ lockdown_browser_monitor_data       : NULL
##  $ speed_grader_url                    : chr "https://canvas.uva.nl/courses/7520/gradebook/speed_grader?assignment_id=618723"
##  $ permissions                         :List of 12
##   ..$ read              : logi TRUE
##   ..$ create            : logi TRUE
##   ..$ manage            : logi TRUE
##   ..$ update            : logi TRUE
##   ..$ submit            : logi TRUE
##   ..$ preview           : logi TRUE
##   ..$ delete            : logi TRUE
##   ..$ read_statistics   : logi TRUE
##   ..$ grade             : logi TRUE
##   ..$ review_grades     : logi TRUE
##   ..$ view_answer_audits: logi FALSE
##   ..$ manage_assign_to  : logi TRUE
##  $ quiz_reports_url                    : chr "https://canvas.uva.nl/api/v1/courses/7520/quizzes/119836/reports"
##  $ quiz_statistics_url                 : chr "https://canvas.uva.nl/api/v1/courses/7520/quizzes/119836/statistics"
##  $ message_students_url                : chr "https://canvas.uva.nl/api/v1/courses/7520/quizzes/119836/submission_users/message"
##  $ section_count                       : int 1
##  $ important_dates                     : logi FALSE
##  $ quiz_submission_versions_html_url   : chr "https://canvas.uva.nl/courses/7520/quizzes/119836/submission_versions"
##  $ assignment_id                       : int 618723
##  $ one_time_results                    : logi FALSE
##  $ only_visible_to_overrides           : logi FALSE
##  $ visible_to_everyone                 : logi TRUE
##  $ assignment_group_id                 : int 11855
##  $ show_correct_answers_last_attempt   : logi FALSE
##  $ version_number                      : int 4
##  $ has_access_code                     : logi FALSE
##  $ post_to_sis                         : logi FALSE
##  $ migration_id                        : chr "NewCanvasQuiz_136488631"
##  $ in_paced_course                     : logi FALSE
##  $ question_types                      :List of 5
##   ..$ : chr "numerical_question"
##   ..$ : chr "multiple_choice_question"
##   ..$ : chr "multiple_answers_question"
##   ..$ : chr "short_answer_question"
##   ..$ : chr "multiple_dropdowns_question"

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.