diff --git a/Gemfile.lock b/Gemfile.lock index 18be8351..fffcedd0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -203,7 +203,7 @@ GEM hana (~> 1.3) regexp_parser (~> 2.0) uri_template (~> 0.7) - jwt (2.4.0) + jwt (2.4.1) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -238,7 +238,7 @@ GEM mini_magick (4.11.0) mini_mime (1.1.2) mini_portile2 (2.8.0) - minitest (5.15.0) + minitest (5.16.0) minitest-autotest (1.1.1) minitest-server (~> 1.0) path_expander (~> 1.0) @@ -322,7 +322,7 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.2) + rails-html-sanitizer (1.4.3) loofah (~> 2.3) rails-i18n (7.0.3) i18n (>= 0.7, < 2) @@ -405,7 +405,7 @@ GEM rubocop-performance (1.14.2) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.14.2) + rubocop-rails (2.15.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.7.0, < 2.0) @@ -518,7 +518,7 @@ GEM will_paginate (3.3.1) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.5.4) + zeitwerk (2.6.0) PLATFORMS ruby diff --git a/db/schema.rb b/db/schema.rb index c042354f..d60b830b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -18,8 +18,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do enable_extension "plpgsql" create_table "anomaly_notifications", id: :serial, force: :cascade do |t| - t.string "user_type" t.integer "user_id" + t.string "user_type" t.integer "exercise_id" t.integer "exercise_collection_id" t.string "reason" @@ -34,10 +34,10 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.string "api_key" t.datetime "created_at" t.datetime "updated_at" - t.string "user_type" t.integer "user_id" t.string "push_url" t.string "check_uuid_url" + t.string "user_type" t.index ["user_type", "user_id"], name: "index_codeharbor_links_on_user_type_and_user_id" end @@ -124,8 +124,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do create_table "events", id: :serial, force: :cascade do |t| t.string "category" t.string "data" - t.string "user_type" t.integer "user_id" + t.string "user_type" t.integer "exercise_id" t.integer "file_id" t.datetime "created_at", null: false @@ -165,8 +165,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.datetime "created_at" t.datetime "updated_at" t.boolean "use_anomaly_detection", default: false - t.string "user_type" t.integer "user_id" + t.string "user_type" t.index ["user_type", "user_id"], name: "index_exercise_collections_on_user_type_and_user_id" end @@ -228,6 +228,22 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.datetime "created_at" t.datetime "updated_at" t.string "role", default: "learner", null: false + t.string "gender" + t.string "age" + t.integer "skill_level_pre_java17" + t.integer "skill_level_pre_java20" + t.integer "skill_level_pre_java21" + t.integer "skill_level_pre_python20" + t.boolean "tips_group_python20" + t.boolean "linter_group_python20" + t.string "intervention_group_java21" + t.boolean "community_solution_group_java21" + t.integer "skill_level_post_java21" + t.integer "skill_level_post_python20" + t.float "points_java17" + t.float "points_java20" + t.float "points_java21" + t.float "points_python20" end create_table "file_templates", id: :serial, force: :cascade do |t| @@ -254,8 +270,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do create_table "files", id: :serial, force: :cascade do |t| t.text "content" - t.string "context_type" t.integer "context_id" + t.string "context_type" t.integer "file_id" t.integer "file_type_id" t.boolean "hidden" @@ -306,6 +322,819 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.datetime "updated_at" end + create_table "java17_1-1_umfrage_zum_kursbeginn", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "warum_nimmst_du_am_kurs_teil" + t.text "motivation_wenn_vorgaenger_kurs_belegt" + t.text "wo_hast_du_von_open_hpi_bzw_speziell_diesem_kurs_gehrt" + t.text "andere_antwort" + t.text "was_ist_ziel_und_motivation_zur_belegung" + end + + create_table "java17_1-2_selbsteinschaetzung", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java" + t.text "wie_sicher_klassen_und_objekte_in_java" + t.text "wie_sicher_kontrollstrukturen_in_java" + t.text "fr_wie_gut_schtzt_du_deine_programmierkenntnisse_ein" + end + + create_table "java17_1-3_fragebogen_zu_vorkenntnissen", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welche_haupt__aufgabe_hat_ein_interface" + t.text "was_ist_polymorphie_bei_oop.das_umbenennen_eines_objekts" + t.text "was_ist_polymorphie_bei_oop.das_erzeugen_instanziieren_von_mehr" + t.text "was_ist_polymorphie_bei_oop.ein_aufruf_einer_statischen_methode" + t.text "was_ist_polymorphie_bei_oop.das_dynamische_auswhlen_der_aufzuru" + t.text "was_ist_polymorphie_bei_oop.ich_weiss_noch_nicht_was_polymorphi" + t.text "was_ist_refactoring.hinzufgen_neuer_funktionalitten_im_code" + t.text "was_ist_refactoring.nderung_des_codes_ohne_dessen_funktionalitt" + t.text "was_ist_refactoring.nachtrgliches_hinzufgen_von_tests_zum_eigen" + t.text "was_ist_refactoring.das_nutzen_des_factory_designpatterns_in_ko" + t.text "was_ist_refactoring.ich_weiss_nicht_was_refactoring_ist" + t.text "klassen_oop.klassen_sortieren_objekte_damit_ihre_abarbeitungsre" + t.text "klassen_oop.klassen_sind_die_logische_weiterentwicklung_von_obj" + t.text "klassen_oop.klassen_sind_eine_art_bauplan_fr_ein_objekt" + t.text "klassen_oop.eine_klasse_kann_methoden_definieren_die_auf_jedem_" + t.text "klassen_oop.ich_wei_noch_nicht_genau_was_eine_klasse_macht_bin_" + t.text "welche_fehler.zeile_2__zeile_3_von_papageijava" + t.text "welche_fehler.zeile_5_von_papageijava" + t.text "welche_fehler.zeile_6_in_kombination_mit_zeile_21_von_papageija" + t.text "welche_fehler.zeilen_13_bis_15_von_papageijava" + t.text "welche_fehler.zeilen_17_bis_19_von_papageijava" + t.text "welche_fehler.zeile_3_von_zoojava" + t.text "welche_fehler.zeile_4_von_zoojava" + t.text "welche_fehler.zeilen_5___9_von_zoojava" + t.text "welche_fehler.zeile_11_von_zoojava" + t.text "welche_fehler.zeile_13_von_zoojava" + t.text "welche_fehler.zeile_14_von_zoojava" + t.text "code_korrigiert_wie_oft_feiert_der_papagei_geburtstag" + end + + create_table "java17_2-1_selbsteinschaetzung_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java_nach_w1_w2" + t.text "wie_sicher_klassen_und_objekte_in_java_nach_w1_w2" + t.text "wie_sicher_kontrollstrukturen_in_java_nach_w1_w2" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "java17_3-1_selbsteinschaetzung_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop" + t.text "wie_sicher_fuhlst_du_dich_mit_im_einsatz_von_java_collections" + end + + create_table "java17_5-1_selbsteinschaetzung_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie_nach_w3_w4" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop_nach_w3_w4" + t.text "wie_sicher_fuhlst_du_dich_mit_java_collections_nach_w3_w4" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "java17_6-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "wrdest_du_diesen_kurs_weiterempfehlen" + t.text "die_kommentaranfrage_funktion_in_code_ocean_fand_ich" + t.text "grundstzlich_finde_ich_die_mglichkeit_aufgaben_im_team_zu_bearb" + t.text "die_praktischen_bonus_aufgaben_in_code_ocean_fand_ich_" + t.text "die_anzahl_der_bonus_aufgaben_fand_ich_" + t.text "die_rahmenhandlung_um_detektiv_duke_fand_ich" + t.text "interventions_hilfreich" + t.text "interventions_zeitpunkt" + t.text "videotelefonie.andere_teilnehmer" + t.text "videotelefonie.kursbetreuer_oder_tutoren" + t.text "videotelefonie.ich_wre_bereit_fr_das_individuelle_tutoring_durc" + t.text "videotelefonie.ich_habe_nicht_die_technische_mglichkeit_zur_vid" + t.text "vieotelefonie.ich_wrde_dieses_feature_aus_bedenken_bezglich_des" + t.text "whrend_bearbeitung_habe_ich" + t.text "wie_alt_bist_du" + t.text "welches_geschlecht_hast_du" + t.text "wrdest_du_open_hpi_weiterempfehlen" + end + + create_table "java17_6-2_generelles_feedback", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "rahmenhandlung_wnscht_du_dir_beispielsweise_mehr_rahmenhandlung" + t.text "code_ocean_wnscht_du_dir_vielleicht_umfangreichere_bungen_in_co" + t.text "sonstiges_weitere_anmerkungen_zur_plattform_oder_dem_kurs_zur_g" + end + + create_table "java17_7_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.decimal "points_percentage" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "woche_3_visited_percentage_section" + t.decimal "exkurs__modellierung_visited_percentage_section" + t.decimal "woche_4_visited_percentage_section" + t.text "exkurs__speicherverwaltung_visited_percentage_section" + t.decimal "cheat_sheets_und_andere_materialien_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.decimal "woche_2_self_tests_percentage_section" + t.decimal "woche_3_self_tests_percentage_section" + t.text "exkurs__modellierung_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "exkurs__speicherverwaltung_self_tests_percentage_section" + t.text "cheat_sheets_und_andere_materialien_self_tests_percentage_secti" + t.text "i_like_i_wish_self_tests_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.text "exkurs__modellierung_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "exkurs__speicherverwaltung_assignments_percentage_section" + t.text "cheat_sheets_und_andere_materialien_assignments_percentage_sect" + t.text "i_like_i_wish_assignments_percentage_section" + t.integer "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.integer "exkurs__modellierung_bonus_percentage_section" + t.integer "woche_4_bonus_percentage_section" + t.text "exkurs__speicherverwaltung_bonus_percentage_section" + t.text "cheat_sheets_und_andere_materialien_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_ein_erstes_programm_percentage_quiz" + t.text "woche_1___12_klassen_und_objekte_percentage_quiz" + t.text "woche_1___13_variablen_1_percentage_quiz" + t.text "woche_1___14_variablen_2_percentage_quiz" + t.text "woche_1___15_attribute_percentage_quiz" + t.text "woche_1___16_methoden_percentage_quiz" + t.text "woche_1___17_methoden_und_rckgabewerte_percentage_quiz" + t.text "woche_1___hausaufgabe_woche_1_percentage_quiz" + t.text "woche_2___recap_percentage_quiz" + t.text "woche_2___21_parameter_percentage_quiz" + t.text "woche_2___221_boolean_percentage_quiz" + t.text "woche_2___222_boolean_percentage_quiz" + t.text "woche_2___23_verzweigungen_percentage_quiz" + t.text "woche_2___24_schleifen_percentage_quiz" + t.text "woche_2___25_primitive_arrays_percentage_quiz" + t.text "woche_2___26_konstruktoren_percentage_quiz" + t.text "woche_2___hausaufgabe_woche_2_percentage_quiz" + t.text "woche_3___31_vererbung_percentage_quiz" + t.text "woche_3___32_sichtbarkeiten_percentage_quiz" + t.text "woche_3___33_kapselung_percentage_quiz" + t.text "woche_3___34_berschreiben_von_methoden_override_percentage_quiz" + t.text "woche_3___35_berladen_von_methoden_overload_percentage_quiz" + t.text "woche_3___36_abstrakte_klassen_percentage_quiz" + t.text "woche_3___37_polymorphie_percentage_quiz" + t.text "woche_3___38_this_is_super_percentage_quiz" + t.text "woche_3___hausaufgabe_woche_3_percentage_quiz" + t.text "woche_4___41_objektdatentypen_percentage_quiz" + t.text "woche_4___42_type_casting_percentage_quiz" + t.text "woche_4___43_collections_percentage_quiz" + t.text "woche_4___44_foreach_schleifen_percentage_quiz" + t.text "woche_4___45_interfaces_percentage_quiz" + t.text "woche_4___hausaufgabe_woche_4_percentage_quiz" + t.text "course_code" + end + + create_table "java20_1-1_umfrage_zum_kursbeginn", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "warum_nimmst_du_am_kurs_teil" + t.text "motivation_wenn_vorgaenger_kurs_belegt" + t.text "wo_hast_du_von_open_hpi_bzw_speziell_diesem_kurs_gehrt" + t.text "andere_antwort" + t.text "was_ist_ziel_und_motivation_zur_belegung" + end + + create_table "java20_1-2_selbsteinschaetzung", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java" + t.text "wie_sicher_klassen_und_objekte_in_java" + t.text "wie_sicher_kontrollstrukturen_in_java" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "fr_wie_gut_schtzt_du_deine_programmierkenntnisse_ein" + end + + create_table "java20_1-3_fragebogen_zu_vorkenntnissen", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welche_haupt__aufgabe_hat_ein_interface" + t.text "was_ist_polymorphie_bei_oop.das_umbenennen_eines_objekts" + t.text "was_ist_polymorphie_bei_oop.das_erzeugen_instanziieren_von_mehr" + t.text "was_ist_polymorphie_bei_oop.ein_aufruf_einer_statischen_methode" + t.text "was_ist_polymorphie_bei_oop.das_dynamische_auswhlen_der_aufzuru" + t.text "was_ist_polymorphie_bei_oop.ich_weiss_noch_nicht_was_polymorphi" + t.text "was_ist_refactoring.hinzufgen_neuer_funktionalitten_im_code" + t.text "was_ist_refactoring.nderung_des_codes_ohne_dessen_funktionalitt" + t.text "was_ist_refactoring.nachtrgliches_hinzufgen_von_tests_zum_eigen" + t.text "was_ist_refactoring.das_nutzen_des_factory_designpatterns_in_ko" + t.text "was_ist_refactoring.ich_weiss_nicht_was_refactoring_ist" + t.text "klassen_oop.klassen_sortieren_objekte_damit_ihre_abarbeitungsre" + t.text "klassen_oop.klassen_sind_die_logische_weiterentwicklung_von_obj" + t.text "klassen_oop.klassen_sind_eine_art_bauplan_fr_ein_objekt" + t.text "klassen_oop.eine_klasse_kann_methoden_definieren_die_auf_jedem_" + t.text "klassen_oop.ich_wei_noch_nicht_genau_was_eine_klasse_macht_bin_" + t.text "welche_fehler.zeile_2__zeile_3_von_papageijava" + t.text "welche_fehler.zeile_5_von_papageijava" + t.text "welche_fehler.zeile_6_in_kombination_mit_zeile_21_von_papageija" + t.text "welche_fehler.zeilen_13_bis_15_von_papageijava" + t.text "welche_fehler.zeilen_17_bis_19_von_papageijava" + t.text "welche_fehler.zeile_3_von_zoojava" + t.text "welche_fehler.zeile_4_von_zoojava" + t.text "welche_fehler.zeilen_5___9_von_zoojava" + t.text "welche_fehler.zeile_11_von_zoojava" + t.text "welche_fehler.zeile_13_von_zoojava" + t.text "welche_fehler.zeile_14_von_zoojava" + t.text "code_korrigiert_wie_oft_feiert_der_papagei_geburtstag" + end + + create_table "java20_2-1_selbsteinschaetzung_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java_nach_w1_w2" + t.text "wie_sicher_klassen_und_objekte_in_java_nach_w1_w2" + t.text "wie_sicher_kontrollstrukturen_in_java_nach_w1_w2" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "java20_3-1_selbsteinschaetzung_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop" + t.text "wie_sicher_fuhlst_du_dich_mit_im_einsatz_von_java_collections" + end + + create_table "java20_4-1_selbsteinschaetzung_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie_nach_w3_w4" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop_nach_w3_w4" + t.text "wie_sicher_fuhlst_du_dich_mit_java_collections_nach_w3_w4" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "java20_5-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "wrdest_du_diesen_kurs_weiterempfehlen" + t.text "die_kommentaranfrage_funktion_in_code_ocean_fand_ich" + t.text "die_praktischen_bonus_aufgaben_in_code_ocean_fand_ich_" + t.text "die_anzahl_der_bonus_aufgaben_fand_ich_" + t.text "die_rahmenhandlung_um_detektiv_duke_fand_ich" + t.text "co_support_convention.eigenen_programme_verbessern_und_alle_hin" + t.text "co_support_convention.eigenen_programme_verbessern_und_einige_h" + t.text "co_support_convention.mich_wrde_das_feedback_in_code_ocean_zwar" + t.text "co_support_convention.das_zustzliche_feedback_in_code_ocean_wrd" + t.text "co_support_convention.feedback_zur_struktur_des_codes_ist_grund" + t.text "whrend_bearbeitung_habe_ich._mich_meistens_nur_mit_der_aufgabe_" + t.text "whrend_bearbeitung_habe_ich._nebenbei_oft_was_anderes_gemacht_d" + t.text "whrend_bearbeitung_habe_ich._mich_mal_nur_mit_der_aufgabe_besch" + t.text "whrend_bearbeitung_habe_ich._mir_das_video__die_folien_der_vorh" + t.text "whrend_bearbeitung_habe_ich._im_forum_fragen_gestellt_oder_bean" + t.text "whrend_bearbeitung_habe_ich._in_code_ocean_kommentaranfragen_vo" + t.text "wie_alt_bist_du" + t.text "welches_geschlecht_hast_du" + t.text "wrdest_du_open_hpi_weiterempfehlen" + end + + create_table "java20_5-2_generelles_feedback", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "rahmenhandlung_erzhle_uns_bitte_ein_bisschen_mehr_darber_wie_di" + t.text "code_ocean_gerne_mchten_wir_von_dir_mehr_ber_deine_nutzung_von_" + t.text "sonstiges_weitere_anmerkungen_zur_plattform_oder_dem_kurs_zum_s" + end + + create_table "java20_6_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "woche_3_visited_percentage_section" + t.decimal "woche_4_visited_percentage_section" + t.text "exkurs__speicherverwaltung_visited_percentage_section" + t.decimal "cheat_sheets_und_andere_materialien_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.integer "woche_2_self_tests_percentage_section" + t.integer "woche_3_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "exkurs__speicherverwaltung_self_tests_percentage_section" + t.text "cheat_sheets_und_andere_materialien_self_tests_percentage_secti" + t.text "i_like_i_wish_self_tests_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "exkurs__speicherverwaltung_assignments_percentage_section" + t.text "cheat_sheets_und_andere_materialien_assignments_percentage_sect" + t.text "i_like_i_wish_assignments_percentage_section" + t.integer "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.integer "woche_4_bonus_percentage_section" + t.text "exkurs__speicherverwaltung_bonus_percentage_section" + t.text "cheat_sheets_und_andere_materialien_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_ein_erstes_programm_percentage_quiz" + t.text "woche_1___12_klassen_und_objekte_percentage_quiz" + t.text "woche_1___13_variablen_1_percentage_quiz" + t.text "woche_1___14_variablen_2_percentage_quiz" + t.text "woche_1___15_attribute_percentage_quiz" + t.text "woche_1___16_methoden_percentage_quiz" + t.text "woche_1___17_methoden_und_rckgabewerte_percentage_quiz" + t.text "woche_1___18_hausaufgabe_percentage_quiz" + t.text "woche_1___hausaufgabe_woche_1_original_percentage_quiz" + t.text "woche_2___recap_percentage_quiz" + t.text "woche_2___21_parameter_percentage_quiz" + t.text "woche_2___221_boolean_percentage_quiz" + t.text "woche_2___222_boolean_percentage_quiz" + t.text "woche_2___23_verzweigungen_percentage_quiz" + t.text "woche_2___24_schleifen_percentage_quiz" + t.text "woche_2___25_primitive_arrays_percentage_quiz" + t.text "woche_2___26_konstruktoren_percentage_quiz" + t.text "woche_2___27_hausaufgabe_percentage_quiz" + t.text "woche_2___hausaufgabe_woche_2_original_percentage_quiz" + t.text "woche_3___31_vererbung_percentage_quiz" + t.text "woche_3___32_sichtbarkeiten_percentage_quiz" + t.text "woche_3___33_kapselung_percentage_quiz" + t.text "woche_3___34_berschreiben_von_methoden_override_percentage_quiz" + t.text "woche_3___35_berladen_von_methoden_overload_percentage_quiz" + t.text "woche_3___36_abstrakte_klassen_percentage_quiz" + t.text "woche_3___37_polymorphie_percentage_quiz" + t.text "woche_3___38_this_is_super_percentage_quiz" + t.text "woche_3___deep_dive_konventionen_in_java_percentage_quiz" + t.text "woche_3___deep_dive_best_practices_percentage_quiz" + t.text "woche_3___39_hausaufgabe_percentage_quiz" + t.text "woche_3___hausaufgabe_woche_3_original_percentage_quiz" + t.text "woche_4___41_objektdatentypen_percentage_quiz" + t.text "woche_4___42_type_casting_percentage_quiz" + t.text "woche_4___43_collections_percentage_quiz" + t.text "woche_4___44_foreach_schleifen_percentage_quiz" + t.text "woche_4___45_interfaces_percentage_quiz" + t.text "woche_4___46_hausaufgabe_percentage_quiz" + t.text "woche_4___hausaufgabe_woche_4_original_percentage_quiz" + t.text "course_code" + end + + create_table "java21_0-1_umfrage_zum_kursstart", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "wie_alt_bist_du" + t.text "was_ist_dein_primres_ziel_und_die_motivation_den_kurs_zu_belege" + t.text "andere_ziele" + t.text "in_welchem_rahmen_nimmst_du_an_dem_kurs_teil" + t.text "erwartungen_lerninhalte_und_lernziele" + t.text "kennengelernt.mooc_aggregator" + t.text "kennengelernt.zeitung_oder_zeitschrift" + t.text "kennengelernt.facebook" + t.text "kennengelernt.twitter" + t.text "kennengelernt.open_hpi_seite" + t.text "kennengelernt.freunde_oder_bekannte" + t.text "kennengelernt.linked_in" + t.text "kennengelernt.xing" + t.text "kennengelernt.andere" + t.text "geplante_zeit_pro_woche" + t.text "medien_zum_lernen.bilder_und_grafiken" + t.text "medien_zum_lernen.videos_und_animationen" + t.text "medien_zum_lernen.podcasts__audio_bcher" + t.text "medien_zum_lernen.texte_digital_nicht_ausgedruckt" + t.text "medien_zum_lernen.texte_auf_papier_ausgedruckt" + t.text "medien_zum_lernen.persnlicher_austausch_mit_anderen" + t.text "kennst_du_das_konzept_der_lerntypen" + t.text "lerntyp_relevant" + t.text "welcher_lerntyp_bist_du.visuell" + t.text "welcher_lerntyp_bist_du.haptisch_motorisch" + t.text "welcher_lerntyp_bist_du.auditiv" + t.text "welcher_lerntyp_bist_du.kommunikativ" + t.text "welcher_lerntyp_bist_du.medienorientiert" + t.text "welcher_lerntyp_bist_du.keiner_davon" + end + + create_table "java21_0-2_deine_vorkenntnisse", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "vorheriger_programmierkurs.ja_genau_einen_auf_open_hpi" + t.text "vorheriger_programmierkurs.ja_mehrere_auf_open_hpi" + t.text "vorheriger_programmierkurs.ja_auf_einer_anderen_plattform" + t.text "vorheriger_programmierkurs.ja_in_prsenz_zb_in_der_schule_univer" + t.text "vorheriger_programmierkurs.nein_noch_gar_nicht" + t.text "wie_schtzt_du_deine_programmiererfahrung_im_allgemeinen_ein" + t.text "openhpi_kurs_mit_codeocean" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_feedback_von_anderen" + t.text "gemeinsam_entwickeln.ich_habe_anderen_schon_einmal_feedback_zu_" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_mit_anderen_gemeinsa" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_gleichzeitig_mit_and" + t.text "gemeinsam_entwickeln.nein_noch_gar_nicht" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_arrays_und_listen_m" + t.text "hast_du_zum_thema_arrays_und_listen_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_queues_und_stacks_m" + t.text "hast_du_zum_thema_queues_und_stacks_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_java_generics_mit" + t.text "hast_du_zum_thema_java_generics_bereits_praktische_programmiere" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_foreach_schleifen_m" + t.text "hast_du_zum_thema_foreach_schleifen_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_iteratoren_mit" + t.text "hast_du_zum_thema_iteratoren_bereits_praktische_programmiererfa" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_suchen_in_listen_mi" + t.text "hast_du_zum_thema_suchen_in_listen_bereits_praktische_programmi" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_sortieralgorithmen_" + t.text "hast_du_zum_thema_sortieralgorithmen_bereits_praktische_program" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_equals_mit" + t.text "hast_du_zum_thema_equals_bereits_praktische_programmiererfahrun" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_compare_to_mit" + t.text "hast_du_zum_thema_compare_to_bereits_praktische_programmiererfa" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_bestimmung_der_prog" + t.text "hast_du_zum_thema_bestimmung_der_programmlaufzeit_bereits_prakt" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_rekursion_mit" + t.text "hast_du_zum_thema_rekursion_bereits_praktische_programmiererfah" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_sets_und_maps_mit" + t.text "hast_du_zum_thema_sets_und_maps_bereits_praktische_programmiere" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_trees__bume_mit" + t.text "hast_du_zum_thema_trees__bume_bereits_praktische_programmiererf" + end + + create_table "java21_2-2_umfrage_sets_maps", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "hast_du_das_gefhl_das_thema_sets_und_maps_mit_den_von_uns_angeb" + t.text "hast_du_ein_verstndnis_dafr_entwickelt_fr_welche_anwendungsflle" + t.text "wie_sicher_fhlst_du_dich_gerade_damit_sets_oder_maps_im_eigenen" + t.text "was_wrde_dir_am_meisten_helfen_die_themen_set_und_map_noch_bess" + t.text "falls_du_in_der_letzten_frage_sonstiges_geantwortet_hast_freuen" + end + + create_table "java21_3-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "hast_du_deine_persnlichen_lernziele_erreicht" + t.text "wie_schtzt_du_dein_wissen_zu_dem_thema_algorithmen_und_datenstr" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfehlen_w" + t.text "die_tipps_in_code_ocean_waren_hilfreich" + t.text "die_tipps_in_code_ocean_waren_einfach_zu_finden" + t.text "die_tipps_in_code_ocean_haben_zur_jeweiligen_aufgabe_gepasst" + t.text "durch_tipps_habe_ich_seltener_frage_oder_rfc_gestellt" + t.text "die_tipps_in_code_ocean_waren_zu_sehr_auf_die_jeweilige_aufgabe" + t.text "ich_knnte_mir_vorstellen_selbst_zustzliche_tipps_fr_die_aufgabe" + t.text "hast_du_weitere_wnsche_oder_ideen_wie_wir_die_tipps_verbessern_" + t.text "nenne_1_2_anwendungsflle_fr_sets_undoder_maps_die_dir_einfallen" + t.text "nach_welcher_zeit_wrdest_du_dir_einen_solchen_hinweise_wnschen" + t.text "unabhngig_von_der_zeit_wie_hilfreich_findest_du_diese_hinweise_" + t.text "unabhngig_von_der_zeit_wie_strend_findest_du_diese_hinweise_in_" + t.text "wunschinteraktion.eine_neue_kommentaranfrage_stellen" + t.text "wunschinteraktion.antworten_auf_eine_eigene_kommentaranfragen_l" + t.text "wunschinteraktion.fremde_kommentaranfragen_lesen" + t.text "wunschinteraktion.tipps_zur_aufgabe_ansehen" + t.text "wunschinteraktion.link_zum_kursforum_auf_open_hpi" + t.text "wunschinteraktion.link_zum_zugehrigen_video_oder_selbsttest_auf" + t.text "wunschinteraktion.erinnerung_daran_eine_pause_zu_machen" + t.text "wunschinteraktion.etwas_anderes" + t.text "wunschinteraktion.gar_nichts_ich_finde_die_hinweise_nicht_gut" + t.text "hast_du_weitere_wnsche_oder_ideen_zu_den_hinweisen_wenn_du_in_d" + t.text "ich_fand_rfc_stellen_einfach_zu_finden" + t.text "ich_wnsche_mir_die_mglichkeit_gemeinsam_eine_musterlsung_zu_ers" + t.text "ich_traue_mir_zu_eine_nderung_an_der_musterlsung_vorzuschlagen" + t.text "ich_habe_freude_daran_an_der_musterlsung_mitzuwirken" + t.text "ich_wnsche_mir_eine_mglichkeit_vorherige_versionen_der_musterls" + t.text "ich_wnsche_mir_eine_mglichkeit_in_co_darueber_zu_diskutieren" + t.text "ich_bin_nur_an_der_finalen_musterlsung_interessiert_das_mitarbe" + t.text "ich_fnde_es_gut_wenn_es_mehrere_musterlsungen_zur_selben_aufgab" + t.text "ich_vertraue_einer_solchen_musterlsung_auch_wenn_diese_nicht_du" + t.text "hast_du_weitere_wnsche_oder_ideen_zu_den_musterlsungen" + t.text "wir_hatten_euch_dazu_angeregt_alleine_oder_gemeinsam_mit_andere" + t.text "lernlogbuch.ich_habe_das_etherpad_in_den_collab_spaces_der_plat" + t.text "lernlogbuch.ich_habe_den_dateiupload_in_den_collab_spaces_genut" + t.text "lernlogbuch.ich_habe_das_private_forum_in_den_collab_spaces_gen" + t.text "lernlogbuch.ich_habe_ein_analoges_logbuch_gefhrt_papier_holz_st" + t.text "lernlogbuch.ich_habe_ein_anderes_online_tool_oder_eine_lokale_s" + t.text "lernlogbuch.ich_habe_kein_logbuch_gefhrt" + t.text "weiteres_zum_lernlogbuch" + t.text "beispiel_set_erinnern.das_schraubenzieherset_bei_dem_unterschie" + t.text "beispiel_set_erinnern.das_hash_set_von_detectives_bei_dem_versu" + t.text "beispiel_set_erinnern.das_beispiel_bei_dem_duke_500_dateneintrg" + t.text "beispiel_set_erinnern.das_beispiel_bei_dem_duke_die_unterschied" + t.text "beispiel_set_erinnern.die_zahlenmenge_bei_der_alle_zahlen_nur_e" + t.text "beispiel_set_erinnern.die_unterschiedlichen_brentatzen_die_die_" + t.text "beispiel_set_erinnern.das_beispiel_mit_den_blttern_unterschiedl" + t.text "beispiel_map_erinnern.das_weltkarten_beispiel_bei_dem_jedem_lan" + t.text "beispiel_map_erinnern.das_adressbuch_beispiel_bei_dem_jeder_per" + t.text "beispiel_map_erinnern.das_beispiel_wo_jedem_charakter_wie_detek" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_duke_fr_jeden_der_10" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_duke_insgesamt_500_h" + t.text "beispiel_map_erinnern.das_beispiel_mit_den_unterschiedlichen_ti" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_unterschiedliche_blt" + t.text "weiteres_feedback" + end + + create_table "java21_4_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "intro_visited_percentage_section" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.integer "intro_self_tests_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.integer "woche_2_self_tests_percentage_section" + t.text "i_like_i_wish_self_tests_percentage_section" + t.text "intro_assignments_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.text "i_like_i_wish_assignments_percentage_section" + t.text "intro_bonus_percentage_section" + t.text "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_wiederholung_arrays_und_listen_percentage_quiz" + t.text "woche_1___12_queues_und_stacks_percentage_quiz" + t.text "woche_1___14_schleifen_for_each_percentage_quiz" + t.text "woche_1___16_iteratoren_while_next_percentage_quiz" + t.text "woche_1___17_suchen_in_listen_percentage_quiz" + t.text "woche_1___17_suchen_in_unsortierten_listen_fragen_zur_bung_perc" + t.text "woche_1___19_sortieralgorithmen_bubble_sort_percentage_quiz" + t.text "woche_1___113_hausaufgabe_woche_1_percentage_quiz" + t.text "woche_1___110_equals_percentage_quiz" + t.text "woche_1___111_compare_to_und_equals___e_tivity_percentage_quiz" + t.text "woche_1___112_laufzeit_big_o___e_tivity_percentage_quiz" + t.text "woche_1___111_compare_to_percentage_quiz" + t.text "woche_1___112_laufzeit_big_o_percentage_quiz" + t.text "woche_2___25_sets_teil_33_percentage_quiz" + t.text "woche_2___25_sets_teil_23_percentage_quiz" + t.text "woche_2___29_balancierte_suchbume___interaktiver_simulator_perc" + t.text "woche_2___213_graphen___e_tivity_percentage_quiz" + t.text "woche_2___22_sortieralgorithmen_quick_sort_percentage_quiz" + t.text "woche_2___21_rekursion_percentage_quiz" + t.text "woche_2___24_datenstrukturen_percentage_quiz" + t.text "woche_2___25_sets_teil_13_percentage_quiz" + t.text "woche_2___26_maps_percentage_quiz" + t.text "woche_2___28_tree_operationen_percentage_quiz" + t.text "woche_2___29_balancierte_suchbume_percentage_quiz" + t.text "woche_2___210_suchen_in_bumen_percentage_quiz" + t.text "woche_2___211_weitere_trees_percentage_quiz" + t.text "woche_2___213_graphen_percentage_quiz" + t.text "woche_2___27_trees_percentage_quiz" + t.text "woche_2___216_abschlussprfung_percentage_quiz" + t.text "course_code" + end + create_table "linter_check_runs", force: :cascade do |t| t.bigint "linter_check_id", null: false t.string "scope" @@ -336,6 +1165,1234 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.index ["external_users_id"], name: "index_lti_parameters_on_external_users_id" end + create_table "old_java17_1-1_umfrage_zum_kursbeginn", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "warum_nimmst_du_am_kurs_teil" + t.text "motivation_wenn_vorgaenger_kurs_belegt" + t.text "wo_hast_du_von_open_hpi_bzw_speziell_diesem_kurs_gehrt" + t.text "andere_antwort" + t.text "was_ist_ziel_und_motivation_zur_belegung" + end + + create_table "old_java17_1-2_selbsteinschaetzung", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java" + t.text "wie_sicher_klassen_und_objekte_in_java" + t.text "wie_sicher_kontrollstrukturen_in_java" + t.text "fr_wie_gut_schtzt_du_deine_programmierkenntnisse_ein" + end + + create_table "old_java17_1-3_fragebogen_zu_vorkenntnissen", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welche_haupt__aufgabe_hat_ein_interface" + t.text "was_ist_polymorphie_bei_oop.das_umbenennen_eines_objekts" + t.text "was_ist_polymorphie_bei_oop.das_erzeugen_instanziieren_von_mehr" + t.text "was_ist_polymorphie_bei_oop.ein_aufruf_einer_statischen_methode" + t.text "was_ist_polymorphie_bei_oop.das_dynamische_auswhlen_der_aufzuru" + t.text "was_ist_polymorphie_bei_oop.ich_weiss_noch_nicht_was_polymorphi" + t.text "was_ist_refactoring.hinzufgen_neuer_funktionalitten_im_code" + t.text "was_ist_refactoring.nderung_des_codes_ohne_dessen_funktionalitt" + t.text "was_ist_refactoring.nachtrgliches_hinzufgen_von_tests_zum_eigen" + t.text "was_ist_refactoring.das_nutzen_des_factory_designpatterns_in_ko" + t.text "was_ist_refactoring.ich_weiss_nicht_was_refactoring_ist" + t.text "klassen_oop.klassen_sortieren_objekte_damit_ihre_abarbeitungsre" + t.text "klassen_oop.klassen_sind_die_logische_weiterentwicklung_von_obj" + t.text "klassen_oop.klassen_sind_eine_art_bauplan_fr_ein_objekt" + t.text "klassen_oop.eine_klasse_kann_methoden_definieren_die_auf_jedem_" + t.text "klassen_oop.ich_wei_noch_nicht_genau_was_eine_klasse_macht_bin_" + t.text "welche_fehler.zeile_2__zeile_3_von_papageijava" + t.text "welche_fehler.zeile_5_von_papageijava" + t.text "welche_fehler.zeile_6_in_kombination_mit_zeile_21_von_papageija" + t.text "welche_fehler.zeilen_13_bis_15_von_papageijava" + t.text "welche_fehler.zeilen_17_bis_19_von_papageijava" + t.text "welche_fehler.zeile_3_von_zoojava" + t.text "welche_fehler.zeile_4_von_zoojava" + t.text "welche_fehler.zeilen_5___9_von_zoojava" + t.text "welche_fehler.zeile_11_von_zoojava" + t.text "welche_fehler.zeile_13_von_zoojava" + t.text "welche_fehler.zeile_14_von_zoojava" + t.text "code_korrigiert_wie_oft_feiert_der_papagei_geburtstag" + end + + create_table "old_java17_2-1_selbsteinschaetzung_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java_nach_w1_w2" + t.text "wie_sicher_klassen_und_objekte_in_java_nach_w1_w2" + t.text "wie_sicher_kontrollstrukturen_in_java_nach_w1_w2" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "old_java17_3-1_selbsteinschaetzung_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop" + t.text "wie_sicher_fuhlst_du_dich_mit_im_einsatz_von_java_collections" + end + + create_table "old_java17_5-1_selbsteinschaetzung_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie_nach_w3_w4" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop_nach_w3_w4" + t.text "wie_sicher_fuhlst_du_dich_mit_java_collections_nach_w3_w4" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "old_java17_6-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "wrdest_du_diesen_kurs_weiterempfehlen" + t.text "die_kommentaranfrage_funktion_in_code_ocean_fand_ich" + t.text "grundstzlich_finde_ich_die_mglichkeit_aufgaben_im_team_zu_bearb" + t.text "die_praktischen_bonus_aufgaben_in_code_ocean_fand_ich_" + t.text "die_anzahl_der_bonus_aufgaben_fand_ich_" + t.text "die_rahmenhandlung_um_detektiv_duke_fand_ich" + t.text "interventions_hilfreich" + t.text "interventions_zeitpunkt" + t.text "videotelefonie.andere_teilnehmer" + t.text "videotelefonie.kursbetreuer_oder_tutoren" + t.text "videotelefonie.ich_wre_bereit_fr_das_individuelle_tutoring_durc" + t.text "videotelefonie.ich_habe_nicht_die_technische_mglichkeit_zur_vid" + t.text "vieotelefonie.ich_wrde_dieses_feature_aus_bedenken_bezglich_des" + t.text "whrend_bearbeitung_habe_ich" + t.text "wie_alt_bist_du" + t.text "welches_geschlecht_hast_du" + t.text "wrdest_du_open_hpi_weiterempfehlen" + end + + create_table "old_java17_6-2_generelles_feedback", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "rahmenhandlung_wnscht_du_dir_beispielsweise_mehr_rahmenhandlung" + t.text "code_ocean_wnscht_du_dir_vielleicht_umfangreichere_bungen_in_co" + t.text "sonstiges_weitere_anmerkungen_zur_plattform_oder_dem_kurs_zur_g" + end + + create_table "old_java17_7_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.decimal "points_percentage" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "woche_3_visited_percentage_section" + t.decimal "exkurs__modellierung_visited_percentage_section" + t.decimal "woche_4_visited_percentage_section" + t.text "exkurs__speicherverwaltung_visited_percentage_section" + t.decimal "cheat_sheets_und_andere_materialien_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.decimal "woche_2_self_tests_percentage_section" + t.decimal "woche_3_self_tests_percentage_section" + t.text "exkurs__modellierung_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "exkurs__speicherverwaltung_self_tests_percentage_section" + t.text "cheat_sheets_und_andere_materialien_self_tests_percentage_secti" + t.text "i_like_i_wish_self_tests_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.text "exkurs__modellierung_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "exkurs__speicherverwaltung_assignments_percentage_section" + t.text "cheat_sheets_und_andere_materialien_assignments_percentage_sect" + t.text "i_like_i_wish_assignments_percentage_section" + t.integer "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.integer "exkurs__modellierung_bonus_percentage_section" + t.integer "woche_4_bonus_percentage_section" + t.text "exkurs__speicherverwaltung_bonus_percentage_section" + t.text "cheat_sheets_und_andere_materialien_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_ein_erstes_programm_percentage_quiz" + t.text "woche_1___12_klassen_und_objekte_percentage_quiz" + t.text "woche_1___13_variablen_1_percentage_quiz" + t.text "woche_1___14_variablen_2_percentage_quiz" + t.text "woche_1___15_attribute_percentage_quiz" + t.text "woche_1___16_methoden_percentage_quiz" + t.text "woche_1___17_methoden_und_rckgabewerte_percentage_quiz" + t.text "woche_1___hausaufgabe_woche_1_percentage_quiz" + t.text "woche_2___recap_percentage_quiz" + t.text "woche_2___21_parameter_percentage_quiz" + t.text "woche_2___221_boolean_percentage_quiz" + t.text "woche_2___222_boolean_percentage_quiz" + t.text "woche_2___23_verzweigungen_percentage_quiz" + t.text "woche_2___24_schleifen_percentage_quiz" + t.text "woche_2___25_primitive_arrays_percentage_quiz" + t.text "woche_2___26_konstruktoren_percentage_quiz" + t.text "woche_2___hausaufgabe_woche_2_percentage_quiz" + t.text "woche_3___31_vererbung_percentage_quiz" + t.text "woche_3___32_sichtbarkeiten_percentage_quiz" + t.text "woche_3___33_kapselung_percentage_quiz" + t.text "woche_3___34_berschreiben_von_methoden_override_percentage_quiz" + t.text "woche_3___35_berladen_von_methoden_overload_percentage_quiz" + t.text "woche_3___36_abstrakte_klassen_percentage_quiz" + t.text "woche_3___37_polymorphie_percentage_quiz" + t.text "woche_3___38_this_is_super_percentage_quiz" + t.text "woche_3___hausaufgabe_woche_3_percentage_quiz" + t.text "woche_4___41_objektdatentypen_percentage_quiz" + t.text "woche_4___42_type_casting_percentage_quiz" + t.text "woche_4___43_collections_percentage_quiz" + t.text "woche_4___44_foreach_schleifen_percentage_quiz" + t.text "woche_4___45_interfaces_percentage_quiz" + t.text "woche_4___hausaufgabe_woche_4_percentage_quiz" + t.text "course_code" + t.index ["user_id"], name: "old_java17_7_course_report_user_id_uindex", unique: true + end + + create_table "old_java20_1-1_umfrage_zum_kursbeginn", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "warum_nimmst_du_am_kurs_teil" + t.text "motivation_wenn_vorgaenger_kurs_belegt" + t.text "wo_hast_du_von_open_hpi_bzw_speziell_diesem_kurs_gehrt" + t.text "andere_antwort" + t.text "was_ist_ziel_und_motivation_zur_belegung" + end + + create_table "old_java20_1-2_selbsteinschaetzung", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java" + t.text "wie_sicher_klassen_und_objekte_in_java" + t.text "wie_sicher_kontrollstrukturen_in_java" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "fr_wie_gut_schtzt_du_deine_programmierkenntnisse_ein" + end + + create_table "old_java20_1-3_fragebogen_zu_vorkenntnissen", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welche_haupt__aufgabe_hat_ein_interface" + t.text "was_ist_polymorphie_bei_oop.das_umbenennen_eines_objekts" + t.text "was_ist_polymorphie_bei_oop.das_erzeugen_instanziieren_von_mehr" + t.text "was_ist_polymorphie_bei_oop.ein_aufruf_einer_statischen_methode" + t.text "was_ist_polymorphie_bei_oop.das_dynamische_auswhlen_der_aufzuru" + t.text "was_ist_polymorphie_bei_oop.ich_weiss_noch_nicht_was_polymorphi" + t.text "was_ist_refactoring.hinzufgen_neuer_funktionalitten_im_code" + t.text "was_ist_refactoring.nderung_des_codes_ohne_dessen_funktionalitt" + t.text "was_ist_refactoring.nachtrgliches_hinzufgen_von_tests_zum_eigen" + t.text "was_ist_refactoring.das_nutzen_des_factory_designpatterns_in_ko" + t.text "was_ist_refactoring.ich_weiss_nicht_was_refactoring_ist" + t.text "klassen_oop.klassen_sortieren_objekte_damit_ihre_abarbeitungsre" + t.text "klassen_oop.klassen_sind_die_logische_weiterentwicklung_von_obj" + t.text "klassen_oop.klassen_sind_eine_art_bauplan_fr_ein_objekt" + t.text "klassen_oop.eine_klasse_kann_methoden_definieren_die_auf_jedem_" + t.text "klassen_oop.ich_wei_noch_nicht_genau_was_eine_klasse_macht_bin_" + t.text "welche_fehler.zeile_2__zeile_3_von_papageijava" + t.text "welche_fehler.zeile_5_von_papageijava" + t.text "welche_fehler.zeile_6_in_kombination_mit_zeile_21_von_papageija" + t.text "welche_fehler.zeilen_13_bis_15_von_papageijava" + t.text "welche_fehler.zeilen_17_bis_19_von_papageijava" + t.text "welche_fehler.zeile_3_von_zoojava" + t.text "welche_fehler.zeile_4_von_zoojava" + t.text "welche_fehler.zeilen_5___9_von_zoojava" + t.text "welche_fehler.zeile_11_von_zoojava" + t.text "welche_fehler.zeile_13_von_zoojava" + t.text "welche_fehler.zeile_14_von_zoojava" + t.text "code_korrigiert_wie_oft_feiert_der_papagei_geburtstag" + end + + create_table "old_java20_2-1_selbsteinschaetzung_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_methoden_in_java_nach_w1_w2" + t.text "wie_sicher_klassen_und_objekte_in_java_nach_w1_w2" + t.text "wie_sicher_kontrollstrukturen_in_java_nach_w1_w2" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "old_java20_3-1_selbsteinschaetzung_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop" + t.text "wie_sicher_fuhlst_du_dich_mit_im_einsatz_von_java_collections" + end + + create_table "old_java20_4-1_selbsteinschaetzung_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_sicher_vererbung_und_polymorphie_nach_w3_w4" + t.text "wie_sicher_kapselung_und_sichtbarkeiten_bei_oop_nach_w3_w4" + t.text "wie_sicher_fuhlst_du_dich_mit_java_collections_nach_w3_w4" + t.text "wie_sicher_code_in_java_zu_strukturieren_und_code_conventions" + t.text "was_hat_dir_zum_verstaendnis_gefehlt" + end + + create_table "old_java20_5-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "wrdest_du_diesen_kurs_weiterempfehlen" + t.text "die_kommentaranfrage_funktion_in_code_ocean_fand_ich" + t.text "die_praktischen_bonus_aufgaben_in_code_ocean_fand_ich_" + t.text "die_anzahl_der_bonus_aufgaben_fand_ich_" + t.text "die_rahmenhandlung_um_detektiv_duke_fand_ich" + t.text "co_support_convention.eigenen_programme_verbessern_und_alle_hin" + t.text "co_support_convention.eigenen_programme_verbessern_und_einige_h" + t.text "co_support_convention.mich_wrde_das_feedback_in_code_ocean_zwar" + t.text "co_support_convention.das_zustzliche_feedback_in_code_ocean_wrd" + t.text "co_support_convention.feedback_zur_struktur_des_codes_ist_grund" + t.text "whrend_bearbeitung_habe_ich._mich_meistens_nur_mit_der_aufgabe_" + t.text "whrend_bearbeitung_habe_ich._nebenbei_oft_was_anderes_gemacht_d" + t.text "whrend_bearbeitung_habe_ich._mich_mal_nur_mit_der_aufgabe_besch" + t.text "whrend_bearbeitung_habe_ich._mir_das_video__die_folien_der_vorh" + t.text "whrend_bearbeitung_habe_ich._im_forum_fragen_gestellt_oder_bean" + t.text "whrend_bearbeitung_habe_ich._in_code_ocean_kommentaranfragen_vo" + t.text "wie_alt_bist_du" + t.text "welches_geschlecht_hast_du" + t.text "wrdest_du_open_hpi_weiterempfehlen" + end + + create_table "old_java20_5-2_generelles_feedback", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "rahmenhandlung_erzhle_uns_bitte_ein_bisschen_mehr_darber_wie_di" + t.text "code_ocean_gerne_mchten_wir_von_dir_mehr_ber_deine_nutzung_von_" + t.text "sonstiges_weitere_anmerkungen_zur_plattform_oder_dem_kurs_zum_s" + end + + create_table "old_java20_6_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "woche_3_visited_percentage_section" + t.decimal "woche_4_visited_percentage_section" + t.text "exkurs__speicherverwaltung_visited_percentage_section" + t.decimal "cheat_sheets_und_andere_materialien_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.integer "woche_2_self_tests_percentage_section" + t.integer "woche_3_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "exkurs__speicherverwaltung_self_tests_percentage_section" + t.text "cheat_sheets_und_andere_materialien_self_tests_percentage_secti" + t.text "i_like_i_wish_self_tests_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "exkurs__speicherverwaltung_assignments_percentage_section" + t.text "cheat_sheets_und_andere_materialien_assignments_percentage_sect" + t.text "i_like_i_wish_assignments_percentage_section" + t.integer "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.integer "woche_4_bonus_percentage_section" + t.text "exkurs__speicherverwaltung_bonus_percentage_section" + t.text "cheat_sheets_und_andere_materialien_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_ein_erstes_programm_percentage_quiz" + t.text "woche_1___12_klassen_und_objekte_percentage_quiz" + t.text "woche_1___13_variablen_1_percentage_quiz" + t.text "woche_1___14_variablen_2_percentage_quiz" + t.text "woche_1___15_attribute_percentage_quiz" + t.text "woche_1___16_methoden_percentage_quiz" + t.text "woche_1___17_methoden_und_rckgabewerte_percentage_quiz" + t.text "woche_1___18_hausaufgabe_percentage_quiz" + t.text "woche_1___hausaufgabe_woche_1_original_percentage_quiz" + t.text "woche_2___recap_percentage_quiz" + t.text "woche_2___21_parameter_percentage_quiz" + t.text "woche_2___221_boolean_percentage_quiz" + t.text "woche_2___222_boolean_percentage_quiz" + t.text "woche_2___23_verzweigungen_percentage_quiz" + t.text "woche_2___24_schleifen_percentage_quiz" + t.text "woche_2___25_primitive_arrays_percentage_quiz" + t.text "woche_2___26_konstruktoren_percentage_quiz" + t.text "woche_2___27_hausaufgabe_percentage_quiz" + t.text "woche_2___hausaufgabe_woche_2_original_percentage_quiz" + t.text "woche_3___31_vererbung_percentage_quiz" + t.text "woche_3___32_sichtbarkeiten_percentage_quiz" + t.text "woche_3___33_kapselung_percentage_quiz" + t.text "woche_3___34_berschreiben_von_methoden_override_percentage_quiz" + t.text "woche_3___35_berladen_von_methoden_overload_percentage_quiz" + t.text "woche_3___36_abstrakte_klassen_percentage_quiz" + t.text "woche_3___37_polymorphie_percentage_quiz" + t.text "woche_3___38_this_is_super_percentage_quiz" + t.text "woche_3___deep_dive_konventionen_in_java_percentage_quiz" + t.text "woche_3___deep_dive_best_practices_percentage_quiz" + t.text "woche_3___39_hausaufgabe_percentage_quiz" + t.text "woche_3___hausaufgabe_woche_3_original_percentage_quiz" + t.text "woche_4___41_objektdatentypen_percentage_quiz" + t.text "woche_4___42_type_casting_percentage_quiz" + t.text "woche_4___43_collections_percentage_quiz" + t.text "woche_4___44_foreach_schleifen_percentage_quiz" + t.text "woche_4___45_interfaces_percentage_quiz" + t.text "woche_4___46_hausaufgabe_percentage_quiz" + t.text "woche_4___hausaufgabe_woche_4_original_percentage_quiz" + t.text "course_code" + end + + create_table "old_java21_0-1_umfrage_zum_kursstart", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "wie_alt_bist_du" + t.text "was_ist_dein_primres_ziel_und_die_motivation_den_kurs_zu_belege" + t.text "andere_ziele" + t.text "in_welchem_rahmen_nimmst_du_an_dem_kurs_teil" + t.text "erwartungen_lerninhalte_und_lernziele" + t.text "kennengelernt.mooc_aggregator" + t.text "kennengelernt.zeitung_oder_zeitschrift" + t.text "kennengelernt.facebook" + t.text "kennengelernt.twitter" + t.text "kennengelernt.open_hpi_seite" + t.text "kennengelernt.freunde_oder_bekannte" + t.text "kennengelernt.linked_in" + t.text "kennengelernt.xing" + t.text "kennengelernt.andere" + t.text "geplante_zeit_pro_woche" + t.text "medien_zum_lernen.bilder_und_grafiken" + t.text "medien_zum_lernen.videos_und_animationen" + t.text "medien_zum_lernen.podcasts__audio_bcher" + t.text "medien_zum_lernen.texte_digital_nicht_ausgedruckt" + t.text "medien_zum_lernen.texte_auf_papier_ausgedruckt" + t.text "medien_zum_lernen.persnlicher_austausch_mit_anderen" + t.text "kennst_du_das_konzept_der_lerntypen" + t.text "lerntyp_relevant" + t.text "welcher_lerntyp_bist_du.visuell" + t.text "welcher_lerntyp_bist_du.haptisch_motorisch" + t.text "welcher_lerntyp_bist_du.auditiv" + t.text "welcher_lerntyp_bist_du.kommunikativ" + t.text "welcher_lerntyp_bist_du.medienorientiert" + t.text "welcher_lerntyp_bist_du.keiner_davon" + end + + create_table "old_java21_0-2_deine_vorkenntnisse", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "vorheriger_programmierkurs.ja_genau_einen_auf_open_hpi" + t.text "vorheriger_programmierkurs.ja_mehrere_auf_open_hpi" + t.text "vorheriger_programmierkurs.ja_auf_einer_anderen_plattform" + t.text "vorheriger_programmierkurs.ja_in_prsenz_zb_in_der_schule_univer" + t.text "vorheriger_programmierkurs.nein_noch_gar_nicht" + t.text "wie_schtzt_du_deine_programmiererfahrung_im_allgemeinen_ein" + t.text "openhpi_kurs_mit_codeocean" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_feedback_von_anderen" + t.text "gemeinsam_entwickeln.ich_habe_anderen_schon_einmal_feedback_zu_" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_mit_anderen_gemeinsa" + t.text "gemeinsam_entwickeln.ich_habe_schon_einmal_gleichzeitig_mit_and" + t.text "gemeinsam_entwickeln.nein_noch_gar_nicht" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_arrays_und_listen_m" + t.text "hast_du_zum_thema_arrays_und_listen_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_queues_und_stacks_m" + t.text "hast_du_zum_thema_queues_und_stacks_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_java_generics_mit" + t.text "hast_du_zum_thema_java_generics_bereits_praktische_programmiere" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_foreach_schleifen_m" + t.text "hast_du_zum_thema_foreach_schleifen_bereits_praktische_programm" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_iteratoren_mit" + t.text "hast_du_zum_thema_iteratoren_bereits_praktische_programmiererfa" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_suchen_in_listen_mi" + t.text "hast_du_zum_thema_suchen_in_listen_bereits_praktische_programmi" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_sortieralgorithmen_" + t.text "hast_du_zum_thema_sortieralgorithmen_bereits_praktische_program" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_equals_mit" + t.text "hast_du_zum_thema_equals_bereits_praktische_programmiererfahrun" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_compare_to_mit" + t.text "hast_du_zum_thema_compare_to_bereits_praktische_programmiererfa" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_bestimmung_der_prog" + t.text "hast_du_zum_thema_bestimmung_der_programmlaufzeit_bereits_prakt" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_rekursion_mit" + t.text "hast_du_zum_thema_rekursion_bereits_praktische_programmiererfah" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_sets_und_maps_mit" + t.text "hast_du_zum_thema_sets_und_maps_bereits_praktische_programmiere" + t.text "wie_viel_vorkenntnisse_bringst_du_zum_thema_trees__bume_mit" + t.text "hast_du_zum_thema_trees__bume_bereits_praktische_programmiererf" + end + + create_table "old_java21_2-2_umfrage_sets_maps", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "hast_du_das_gefhl_das_thema_sets_und_maps_mit_den_von_uns_angeb" + t.text "hast_du_ein_verstndnis_dafr_entwickelt_fr_welche_anwendungsflle" + t.text "wie_sicher_fhlst_du_dich_gerade_damit_sets_oder_maps_im_eigenen" + t.text "was_wrde_dir_am_meisten_helfen_die_themen_set_und_map_noch_bess" + t.text "falls_du_in_der_letzten_frage_sonstiges_geantwortet_hast_freuen" + end + + create_table "old_java21_3-1_umfrage_zum_kursabschluss", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.decimal "points" + t.text "hast_du_deine_persnlichen_lernziele_erreicht" + t.text "wie_schtzt_du_dein_wissen_zu_dem_thema_algorithmen_und_datenstr" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfehlen_w" + t.text "die_tipps_in_code_ocean_waren_hilfreich" + t.text "die_tipps_in_code_ocean_waren_einfach_zu_finden" + t.text "die_tipps_in_code_ocean_haben_zur_jeweiligen_aufgabe_gepasst" + t.text "durch_tipps_habe_ich_seltener_frage_oder_rfc_gestellt" + t.text "die_tipps_in_code_ocean_waren_zu_sehr_auf_die_jeweilige_aufgabe" + t.text "ich_knnte_mir_vorstellen_selbst_zustzliche_tipps_fr_die_aufgabe" + t.text "hast_du_weitere_wnsche_oder_ideen_wie_wir_die_tipps_verbessern_" + t.text "nenne_1_2_anwendungsflle_fr_sets_undoder_maps_die_dir_einfallen" + t.text "nach_welcher_zeit_wrdest_du_dir_einen_solchen_hinweise_wnschen" + t.text "unabhngig_von_der_zeit_wie_hilfreich_findest_du_diese_hinweise_" + t.text "unabhngig_von_der_zeit_wie_strend_findest_du_diese_hinweise_in_" + t.text "wunschinteraktion.eine_neue_kommentaranfrage_stellen" + t.text "wunschinteraktion.antworten_auf_eine_eigene_kommentaranfragen_l" + t.text "wunschinteraktion.fremde_kommentaranfragen_lesen" + t.text "wunschinteraktion.tipps_zur_aufgabe_ansehen" + t.text "wunschinteraktion.link_zum_kursforum_auf_open_hpi" + t.text "wunschinteraktion.link_zum_zugehrigen_video_oder_selbsttest_auf" + t.text "wunschinteraktion.erinnerung_daran_eine_pause_zu_machen" + t.text "wunschinteraktion.etwas_anderes" + t.text "wunschinteraktion.gar_nichts_ich_finde_die_hinweise_nicht_gut" + t.text "hast_du_weitere_wnsche_oder_ideen_zu_den_hinweisen_wenn_du_in_d" + t.text "ich_fand_rfc_stellen_einfach_zu_finden" + t.text "ich_wnsche_mir_die_mglichkeit_gemeinsam_eine_musterlsung_zu_ers" + t.text "ich_traue_mir_zu_eine_nderung_an_der_musterlsung_vorzuschlagen" + t.text "ich_habe_freude_daran_an_der_musterlsung_mitzuwirken" + t.text "ich_wnsche_mir_eine_mglichkeit_vorherige_versionen_der_musterls" + t.text "ich_wnsche_mir_eine_mglichkeit_in_co_darueber_zu_diskutieren" + t.text "ich_bin_nur_an_der_finalen_musterlsung_interessiert_das_mitarbe" + t.text "ich_fnde_es_gut_wenn_es_mehrere_musterlsungen_zur_selben_aufgab" + t.text "ich_vertraue_einer_solchen_musterlsung_auch_wenn_diese_nicht_du" + t.text "hast_du_weitere_wnsche_oder_ideen_zu_den_musterlsungen" + t.text "wir_hatten_euch_dazu_angeregt_alleine_oder_gemeinsam_mit_andere" + t.text "lernlogbuch.ich_habe_das_etherpad_in_den_collab_spaces_der_plat" + t.text "lernlogbuch.ich_habe_den_dateiupload_in_den_collab_spaces_genut" + t.text "lernlogbuch.ich_habe_das_private_forum_in_den_collab_spaces_gen" + t.text "lernlogbuch.ich_habe_ein_analoges_logbuch_gefhrt_papier_holz_st" + t.text "lernlogbuch.ich_habe_ein_anderes_online_tool_oder_eine_lokale_s" + t.text "lernlogbuch.ich_habe_kein_logbuch_gefhrt" + t.text "weiteres_zum_lernlogbuch" + t.text "beispiel_set_erinnern.das_schraubenzieherset_bei_dem_unterschie" + t.text "beispiel_set_erinnern.das_hash_set_von_detectives_bei_dem_versu" + t.text "beispiel_set_erinnern.das_beispiel_bei_dem_duke_500_dateneintrg" + t.text "beispiel_set_erinnern.das_beispiel_bei_dem_duke_die_unterschied" + t.text "beispiel_set_erinnern.die_zahlenmenge_bei_der_alle_zahlen_nur_e" + t.text "beispiel_set_erinnern.die_unterschiedlichen_brentatzen_die_die_" + t.text "beispiel_set_erinnern.das_beispiel_mit_den_blttern_unterschiedl" + t.text "beispiel_map_erinnern.das_weltkarten_beispiel_bei_dem_jedem_lan" + t.text "beispiel_map_erinnern.das_adressbuch_beispiel_bei_dem_jeder_per" + t.text "beispiel_map_erinnern.das_beispiel_wo_jedem_charakter_wie_detek" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_duke_fr_jeden_der_10" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_duke_insgesamt_500_h" + t.text "beispiel_map_erinnern.das_beispiel_mit_den_unterschiedlichen_ti" + t.text "beispiel_map_erinnern.das_beispiel_bei_dem_unterschiedliche_blt" + t.text "weiteres_feedback" + end + + create_table "old_java21_4_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "age_group" + t.text "birth_date" + t.text "access_groups" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.integer "sessions" + t.integer "avg_session_duration" + t.decimal "total_session_duration" + t.integer "video_play_activity" + t.decimal "video_play_activity_percentage" + t.integer "video_downloads_activity" + t.decimal "video_downloads_activity_percentage" + t.integer "slide_downloads_activity" + t.decimal "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.decimal "quiz_performance" + t.integer "graded_quiz_performance" + t.decimal "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "intro_visited_percentage_section" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.decimal "i_like_i_wish_visited_percentage_section" + t.integer "intro_self_tests_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.integer "woche_2_self_tests_percentage_section" + t.text "i_like_i_wish_self_tests_percentage_section" + t.text "intro_assignments_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.text "i_like_i_wish_assignments_percentage_section" + t.text "intro_bonus_percentage_section" + t.text "woche_1_bonus_percentage_section" + t.integer "woche_2_bonus_percentage_section" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "woche_1___11_wiederholung_arrays_und_listen_percentage_quiz" + t.text "woche_1___12_queues_und_stacks_percentage_quiz" + t.text "woche_1___14_schleifen_for_each_percentage_quiz" + t.text "woche_1___16_iteratoren_while_next_percentage_quiz" + t.text "woche_1___17_suchen_in_listen_percentage_quiz" + t.text "woche_1___17_suchen_in_unsortierten_listen_fragen_zur_bung_perc" + t.text "woche_1___19_sortieralgorithmen_bubble_sort_percentage_quiz" + t.text "woche_1___113_hausaufgabe_woche_1_percentage_quiz" + t.text "woche_1___110_equals_percentage_quiz" + t.text "woche_1___111_compare_to_und_equals___e_tivity_percentage_quiz" + t.text "woche_1___112_laufzeit_big_o___e_tivity_percentage_quiz" + t.text "woche_1___111_compare_to_percentage_quiz" + t.text "woche_1___112_laufzeit_big_o_percentage_quiz" + t.text "woche_2___25_sets_teil_33_percentage_quiz" + t.text "woche_2___25_sets_teil_23_percentage_quiz" + t.text "woche_2___29_balancierte_suchbume___interaktiver_simulator_perc" + t.text "woche_2___213_graphen___e_tivity_percentage_quiz" + t.text "woche_2___22_sortieralgorithmen_quick_sort_percentage_quiz" + t.text "woche_2___21_rekursion_percentage_quiz" + t.text "woche_2___24_datenstrukturen_percentage_quiz" + t.text "woche_2___25_sets_teil_13_percentage_quiz" + t.text "woche_2___26_maps_percentage_quiz" + t.text "woche_2___28_tree_operationen_percentage_quiz" + t.text "woche_2___29_balancierte_suchbume_percentage_quiz" + t.text "woche_2___210_suchen_in_bumen_percentage_quiz" + t.text "woche_2___211_weitere_trees_percentage_quiz" + t.text "woche_2___213_graphen_percentage_quiz" + t.text "woche_2___27_trees_percentage_quiz" + t.text "woche_2___216_abschlussprfung_percentage_quiz" + t.text "course_code" + end + + create_table "old_python20_0-1_kennenlern_quiz", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "herzlich_willkommen_zu_diesem_kennenlern_quiz_es_handelt_sich_d" + t.text "ich_habe_schon_einmal_quellcode_in_einer_beliebigen_programmier" + t.text "ich_habe_schon_einmal_etwas_in_einer_beliebigen_programmierspra" + t.text "ich_habe_bereits_einen_online_kurs_zu_python_besucht" + t.text "ich_habe_bereits_einen_prsenz_kurs_zu_python_besucht" + t.text "ich_wei_was_sich_hinter_dem_begriff_syntax_versteckt" + t.text "ich_wei_was_sich_hinter_dem_begriff_datentyp_versteckt" + t.text "ich_wei_was_sich_hinter_dem_begriff_funktion_versteckt" + t.text "ich_wei_was_sich__hinter_dem_begriff_bibliothek_versteckt" + t.text "ich_habe_bereits_erfahrung_im_umgang_mit_python" + t.text "ich_habe_bereits_einen_kurs_mit_co_gemacht" + end + + create_table "old_python20_1-1_selbsteinschatzungs_quiz_woche_1", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "schn_dass_du_wieder_dabei_bist_bei_diesem_selbsteinschtzungs_qu" + t.text "eine_hohe_punktwertung_im_kurs_zu_erhalten_ist_mir" + t.text "besonders_wichtig_an_einem_kurs_ist_fr_mich" + t.text "ich_mchte_im_kurs" + t.text "den_austausch_mit_anderen_finde_ich" + t.text "die_lernmaterialien_einer_woche_bearbeite_ich_lieber" + t.text "nicht_gleich_auf_die_lsung_zu_kommen_empfinde_ich" + t.text "bearbeitung_effektiver_wenn" + t.text "meine_bevorzugte_herangehensweise_an_probleme_ist" + t.text "wenn_ich_ein_problem_beim_lsen_einer_aufgabe_habe_mchte_ich" + t.text "zu_wissen_dass_andere_am_gleichen_thema_arbeiten" + t.text "ber_die_lerninhalte_im_kurs_sollte_entscheiden_" + t.text "weiteres_feedback_selbsteinschaetzung" + end + + create_table "old_python20_2-1_selbsteinschatzungs_quiz_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_ist_selbsteinschtzungsquiz_mit_grafischer_auswertung" + t.text "auswertungen_geben_mir_das_gefhl_teil_der_kurs_community_zu_sei" + t.text "das_bearbeiten_der_bisherigen_aufgaben_fiel_mir_leicht" + t.text "herausfordernde_lektion_w1.11_erstes_programmierbeispiel" + t.text "herausfordernde_lektion_w1.12_code_ocean_einfhrung" + t.text "herausfordernde_lektion_w1.13_variablen" + t.text "herausfordernde_lektion_w1.14_strings" + t.text "herausfordernde_lektion_w1.15_datentypen" + t.text "herausfordernde_lektion_w1.16_turtle_12" + t.text "herausfordernde_lektion_w1.17_turtle_22" + t.text "herausfordernde_lektion_w1.keine" + t.text "neben_lerninhalten_habe_ich.mich_aktiv_im_forum_beteiligt" + t.text "neben_lerninhalten_habe_ich.mehrere_beitrge_im_forum_gelesen" + t.text "neben_den_bereitgestellten_lerninhalten_habe_ich__mehrfachantwo" + t.text "neben_lerninhalten_habe_ich.kommentaranfragen_auf_code_ocean_be" + t.text "neben_lerninhalten_habe_ich.zustzliche_tipps_in_anspruch_genomm" + t.text "neben_lerninhalten_habe_ich.hilfe_auerhalb_des_kurses_erhalten_" + t.text "neben_lerninhalten_habe_ich.externe_lern__undoder_infomateriali" + t.text "die_diskussionbeitrge_im_forum_empfinde_ich_als" + t.text "hilfe_gebeten_hat_mir" + t.text "hilfe_gebeten_habe_ich" + t.text "die_mglichkeit_an_video_fragerunde_teilzunehmen_finde_ich" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_3-1_selbsteinschatzungs_quiz_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "richtige_kommunikationsmedium_fr_mich_gefunden" + t.text "das_bearbeiten_der_aufgaben_aus_woche_2_fiel_mir_leicht" + t.text "herausfordernde_lektion_w2.21_verzweigungen_12" + t.text "herausfordernde_lektion_w2.22_verzweigungen_22" + t.text "herausfordernde_lektion_w2.23_schleifen" + t.text "herausfordernde_lektion_w2.24_listen_13" + t.text "herausfordernde_lektion_w2.25_listen_23" + t.text "herausfordernde_lektion_w2.26_listen_33" + t.text "herausfordernde_lektion_w2.keine" + t.text "offene_inhaltliche_fragen" + t.text "forum_oder_rfc_genutzt" + t.text "warum_frage_nicht_gestellt.ich_habe_nicht_genug_zeit_oder_will_" + t.text "warum_frage_nicht_gestellt.ich_bin_nicht_motiviert_die_frage_we" + t.text "warum_frage_nicht_gestellt.die_frage_kommt_mir_nicht_wichtig_ge" + t.text "warum_frage_nicht_gestellt.ich_habe_das_gefhl_dass_mir_keiner_a" + t.text "warum_frage_nicht_gestellt.ich_wei_nicht_wen_ich_fragen_bzw_wo_" + t.text "warum_frage_nicht_gestellt.ich_kann_meine_frage_nicht_gut_genug" + t.text "warum_frage_nicht_gestellt.ich_habe_das_gefhl_dass_die_frage_zu" + t.text "warum_frage_nicht_gestellt.anderer_grund" + t.text "anderer_grund" + t.text "tipps_zu_erhalten_war" + t.text "die_aufgabe_zur_selbstreflexion_aus_woche_2_hat_mir__gefallen" + t.text "ich_plane_meine_aufgabenlsungen_weiter_zu_reflektieren_oder_tu_" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_4-1_selbsteinschatzungs_quiz_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "das_bearbeiten_der_aufgaben_aus_woche_3_fiel_mir_leicht" + t.text "herausfordernde_lektion_w3.31_funktionen_ohne_parameter" + t.text "herausfordernde_lektion_w3.32_funktionen_mit_parametern" + t.text "herausfordernde_lektion_w3.33_dictionaries" + t.text "herausfordernde_lektion_w3.34_zufallszahlen" + t.text "herausfordernde_lektion_w3.exkurs_konventionen_in_python" + t.text "herausfordernde_lektion_w3.keine" + t.text "hilfe_durch_krusteilnehmer" + t.text "hilfe_durch_dritte" + t.text "wie_bewertest_du_exkurs_und_linter" + t.text "das_feedback_des_linters_hat_mir" + t.text "das_feedback_des_linters_habe_ich" + t.text "wie_hat_dir_aufgabe_314_gefallen" + t.text "a314_verstaendnis.ich_habe_ein_besseres_verstndnis_des_linter_f" + t.text "a314_verstaendnis.ich_habe_die_relevanz_von_code_formatierungen" + t.text "a314_verstaendnis.ich_habe_mir_bewusst_gedanken_ber_die_benennu" + t.text "a314_verstaendnis.mir_ist_der_unterschied_zwischen_return__und_" + t.text "a314_verstaendnis.ich_habe_verstanden_inwiefern_funktionen_und_" + t.text "a314_verstaendnis.etwas_anderes_bitte_in_der_nchsten_frage_ergn" + t.text "a314_verstaendnis.gar_nicht" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_4-3_selbsteinschatzungs_quiz_zum_kursende", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "das_bearbeiten_der_aufgaben_aus_woche_4_fiel_mir_leicht" + t.text "herausfordernde_lektion_w4.41_eingabe" + t.text "herausfordernde_lektion_w4.42_zahlenraten" + t.text "herausfordernde_lektion_w4.43_snake_spiel_13" + t.text "herausfordernde_lektion_w4.44_snake_spiel_23" + t.text "herausfordernde_lektion_w4.45_snake_spiel_33" + t.text "herausfordernde_lektion_w4.exkurs_installieren_unter_windows_10" + t.text "herausfordernde_lektion_w4.keine" + t.text "wie_erfahren_mit_python_nach_kurs" + t.text "retrospektiv_wie_viel_erfahrung_hattest_du_vorher_mit_python" + t.text "wie_viel_hast_du_gelernt" + t.text "ich_bin_stolz_darauf_was_ich_in_kurs_geschafft_habe" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_6-1_snapshot_umfrage_zum_kurs", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_6-1_umfrage_zum_kurs", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "old_python20_7_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "affiliated" + t.text "birth_date" + t.text "age" + t.text "age_group" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.text "sessions" + t.text "avg_session_duration" + t.text "total_session_duration" + t.text "video_play_activity" + t.text "video_play_activity_percentage" + t.text "video_downloads_activity" + t.text "video_downloads_activity_percentage" + t.text "slide_downloads_activity" + t.text "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.text "quiz_performance" + t.text "graded_quiz_performance" + t.text "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "woche_0_visited_percentage_section" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.integer "woche_3_visited_percentage_section" + t.integer "woche_4_visited_percentage_section" + t.text "zustzliche_woche_visited_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_visited_percentage_sec" + t.text "i_like_i_wish_visited_percentage_section" + t.text "lsungen_visited_percentage_section" + t.decimal "woche_0_self_tests_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.decimal "woche_2_self_tests_percentage_section" + t.integer "woche_3_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "zustzliche_woche_self_tests_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_self_tests_percentage_" + t.integer "i_like_i_wish_self_tests_percentage_section" + t.text "lsungen_self_tests_percentage_section" + t.text "woche_0_assignments_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "zustzliche_woche_assignments_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_assignments_percentage" + t.text "i_like_i_wish_assignments_percentage_section" + t.text "lsungen_assignments_percentage_section" + t.text "woche_0_bonus_percentage_section" + t.text "woche_1_bonus_percentage_section" + t.text "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.text "woche_4_bonus_percentage_section" + t.text "zustzliche_woche_bonus_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_bonus_percentage_secti" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "lsungen_bonus_percentage_section" + t.text "woche_0___kennenlern_quiz_percentage_quiz" + t.text "woche_0___auswertung_des_kennenlern_quiz_percentage_quiz" + t.text "woche_1___selbsteinschtzungs_quiz_percentage_quiz" + t.text "woche_1___11_erstes_programmierbeispiel_percentage_quiz" + t.text "woche_1___13_variablen_percentage_quiz" + t.text "woche_1___14_strings_percentage_quiz" + t.text "woche_1___15_datentypen_percentage_quiz" + t.text "woche_1___16_turtle_12_percentage_quiz" + t.text "woche_1___17_turtle_22_percentage_quiz" + t.text "woche_1___hausaufgabe_1_percentage_quiz" + t.text "woche_2___selbsteinschtzungs_quiz_woche_2_percentage_quiz" + t.text "woche_2___21_verzweigungen_12_percentage_quiz" + t.text "woche_2___22_verzweigungen_22_percentage_quiz" + t.text "woche_2___23_schleifen_percentage_quiz" + t.text "woche_2___24_listen_13_percentage_quiz" + t.text "woche_2___25_listen_23_percentage_quiz" + t.text "woche_2___26_listen_33_percentage_quiz" + t.text "woche_2___26_reflexion_aufgabe_2_percentage_quiz" + t.text "woche_2___hausaufgabe_2_percentage_quiz" + t.text "woche_3___selbsteinschtzungs_quiz_woche_3_percentage_quiz" + t.text "woche_3___31_funktionen_ohne_parameter_percentage_quiz" + t.text "woche_3___exkurs_konventionen_percentage_quiz" + t.text "woche_3___32_funktionen_mit_parametern_percentage_quiz" + t.text "woche_3___33_dictionaries_percentage_quiz" + t.text "woche_3___34_zufallszahlen_percentage_quiz" + t.text "woche_3___34_reflexion_aufgabe_2_percentage_quiz" + t.text "woche_3___hausaufgabe_3_percentage_quiz" + t.text "woche_4___selbsteinschtzungs_quiz_woche_4_percentage_quiz" + t.text "woche_4___41_eingabe_percentage_quiz" + t.text "woche_4___44_reflexion_aufgabe_1_percentage_quiz" + t.text "woche_4___hausaufgabe_4_percentage_quiz" + t.text "woche_4___selbsteinschtzungs_quiz_zum_kursende_percentage_quiz" + t.text "i_like_i_wish___selbsteinschtzung_zum_i_like_i_wish_percentage_" + t.text "course_code" + end + create_table "proxy_exercises", id: :serial, force: :cascade do |t| t.string "title" t.string "description" @@ -348,6 +2405,572 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.index ["user_type", "user_id"], name: "index_proxy_exercises_on_user_type_and_user_id" end + create_table "python20_0-1_kennenlern_quiz", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "herzlich_willkommen_zu_diesem_kennenlern_quiz_es_handelt_sich_d" + t.text "ich_habe_schon_einmal_quellcode_in_einer_beliebigen_programmier" + t.text "ich_habe_schon_einmal_etwas_in_einer_beliebigen_programmierspra" + t.text "ich_habe_bereits_einen_online_kurs_zu_python_besucht" + t.text "ich_habe_bereits_einen_prsenz_kurs_zu_python_besucht" + t.text "ich_wei_was_sich_hinter_dem_begriff_syntax_versteckt" + t.text "ich_wei_was_sich_hinter_dem_begriff_datentyp_versteckt" + t.text "ich_wei_was_sich_hinter_dem_begriff_funktion_versteckt" + t.text "ich_wei_was_sich__hinter_dem_begriff_bibliothek_versteckt" + t.text "ich_habe_bereits_erfahrung_im_umgang_mit_python" + t.text "ich_habe_bereits_einen_kurs_mit_co_gemacht" + end + + create_table "python20_1-1_selbsteinschatzungs_quiz_woche_1", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "schn_dass_du_wieder_dabei_bist_bei_diesem_selbsteinschtzungs_qu" + t.text "eine_hohe_punktwertung_im_kurs_zu_erhalten_ist_mir" + t.text "besonders_wichtig_an_einem_kurs_ist_fr_mich" + t.text "ich_mchte_im_kurs" + t.text "den_austausch_mit_anderen_finde_ich" + t.text "die_lernmaterialien_einer_woche_bearbeite_ich_lieber" + t.text "nicht_gleich_auf_die_lsung_zu_kommen_empfinde_ich" + t.text "bearbeitung_effektiver_wenn" + t.text "meine_bevorzugte_herangehensweise_an_probleme_ist" + t.text "wenn_ich_ein_problem_beim_lsen_einer_aufgabe_habe_mchte_ich" + t.text "zu_wissen_dass_andere_am_gleichen_thema_arbeiten" + t.text "ber_die_lerninhalte_im_kurs_sollte_entscheiden_" + t.text "weiteres_feedback_selbsteinschaetzung" + end + + create_table "python20_2-1_selbsteinschatzungs_quiz_woche_2", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "wie_ist_selbsteinschtzungsquiz_mit_grafischer_auswertung" + t.text "auswertungen_geben_mir_das_gefhl_teil_der_kurs_community_zu_sei" + t.text "das_bearbeiten_der_bisherigen_aufgaben_fiel_mir_leicht" + t.text "herausfordernde_lektion_w1.11_erstes_programmierbeispiel" + t.text "herausfordernde_lektion_w1.12_code_ocean_einfhrung" + t.text "herausfordernde_lektion_w1.13_variablen" + t.text "herausfordernde_lektion_w1.14_strings" + t.text "herausfordernde_lektion_w1.15_datentypen" + t.text "herausfordernde_lektion_w1.16_turtle_12" + t.text "herausfordernde_lektion_w1.17_turtle_22" + t.text "herausfordernde_lektion_w1.keine" + t.text "neben_lerninhalten_habe_ich.mich_aktiv_im_forum_beteiligt" + t.text "neben_lerninhalten_habe_ich.mehrere_beitrge_im_forum_gelesen" + t.text "neben_den_bereitgestellten_lerninhalten_habe_ich__mehrfachantwo" + t.text "neben_lerninhalten_habe_ich.kommentaranfragen_auf_code_ocean_be" + t.text "neben_lerninhalten_habe_ich.zustzliche_tipps_in_anspruch_genomm" + t.text "neben_lerninhalten_habe_ich.hilfe_auerhalb_des_kurses_erhalten_" + t.text "neben_lerninhalten_habe_ich.externe_lern__undoder_infomateriali" + t.text "die_diskussionbeitrge_im_forum_empfinde_ich_als" + t.text "hilfe_gebeten_hat_mir" + t.text "hilfe_gebeten_habe_ich" + t.text "die_mglichkeit_an_video_fragerunde_teilzunehmen_finde_ich" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_3-1_selbsteinschatzungs_quiz_woche_3", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "richtige_kommunikationsmedium_fr_mich_gefunden" + t.text "das_bearbeiten_der_aufgaben_aus_woche_2_fiel_mir_leicht" + t.text "herausfordernde_lektion_w2.21_verzweigungen_12" + t.text "herausfordernde_lektion_w2.22_verzweigungen_22" + t.text "herausfordernde_lektion_w2.23_schleifen" + t.text "herausfordernde_lektion_w2.24_listen_13" + t.text "herausfordernde_lektion_w2.25_listen_23" + t.text "herausfordernde_lektion_w2.26_listen_33" + t.text "herausfordernde_lektion_w2.keine" + t.text "offene_inhaltliche_fragen" + t.text "forum_oder_rfc_genutzt" + t.text "warum_frage_nicht_gestellt.ich_habe_nicht_genug_zeit_oder_will_" + t.text "warum_frage_nicht_gestellt.ich_bin_nicht_motiviert_die_frage_we" + t.text "warum_frage_nicht_gestellt.die_frage_kommt_mir_nicht_wichtig_ge" + t.text "warum_frage_nicht_gestellt.ich_habe_das_gefhl_dass_mir_keiner_a" + t.text "warum_frage_nicht_gestellt.ich_wei_nicht_wen_ich_fragen_bzw_wo_" + t.text "warum_frage_nicht_gestellt.ich_kann_meine_frage_nicht_gut_genug" + t.text "warum_frage_nicht_gestellt.ich_habe_das_gefhl_dass_die_frage_zu" + t.text "warum_frage_nicht_gestellt.anderer_grund" + t.text "anderer_grund" + t.text "tipps_zu_erhalten_war" + t.text "die_aufgabe_zur_selbstreflexion_aus_woche_2_hat_mir__gefallen" + t.text "ich_plane_meine_aufgabenlsungen_weiter_zu_reflektieren_oder_tu_" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_4-1_selbsteinschatzungs_quiz_woche_4", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "das_bearbeiten_der_aufgaben_aus_woche_3_fiel_mir_leicht" + t.text "herausfordernde_lektion_w3.31_funktionen_ohne_parameter" + t.text "herausfordernde_lektion_w3.32_funktionen_mit_parametern" + t.text "herausfordernde_lektion_w3.33_dictionaries" + t.text "herausfordernde_lektion_w3.34_zufallszahlen" + t.text "herausfordernde_lektion_w3.exkurs_konventionen_in_python" + t.text "herausfordernde_lektion_w3.keine" + t.text "hilfe_durch_krusteilnehmer" + t.text "hilfe_durch_dritte" + t.text "wie_bewertest_du_exkurs_und_linter" + t.text "das_feedback_des_linters_hat_mir" + t.text "das_feedback_des_linters_habe_ich" + t.text "wie_hat_dir_aufgabe_314_gefallen" + t.text "a314_verstaendnis.ich_habe_ein_besseres_verstndnis_des_linter_f" + t.text "a314_verstaendnis.ich_habe_die_relevanz_von_code_formatierungen" + t.text "a314_verstaendnis.ich_habe_mir_bewusst_gedanken_ber_die_benennu" + t.text "a314_verstaendnis.mir_ist_der_unterschied_zwischen_return__und_" + t.text "a314_verstaendnis.ich_habe_verstanden_inwiefern_funktionen_und_" + t.text "a314_verstaendnis.etwas_anderes_bitte_in_der_nchsten_frage_ergn" + t.text "a314_verstaendnis.gar_nicht" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_4-3_selbsteinschatzungs_quiz_zum_kursende", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "das_bearbeiten_der_aufgaben_aus_woche_4_fiel_mir_leicht" + t.text "herausfordernde_lektion_w4.41_eingabe" + t.text "herausfordernde_lektion_w4.42_zahlenraten" + t.text "herausfordernde_lektion_w4.43_snake_spiel_13" + t.text "herausfordernde_lektion_w4.44_snake_spiel_23" + t.text "herausfordernde_lektion_w4.45_snake_spiel_33" + t.text "herausfordernde_lektion_w4.exkurs_installieren_unter_windows_10" + t.text "herausfordernde_lektion_w4.keine" + t.text "wie_erfahren_mit_python_nach_kurs" + t.text "retrospektiv_wie_viel_erfahrung_hattest_du_vorher_mit_python" + t.text "wie_viel_hast_du_gelernt" + t.text "ich_bin_stolz_darauf_was_ich_in_kurs_geschafft_habe" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_6-1_snapshot_umfrage_zum_kurs", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_6-1_umfrage_all", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_6-1_umfrage_for_union", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_6-1_umfrage_zum_kurs", id: false, force: :cascade do |t| + t.text "user_id" + t.text "accessed_at" + t.text "submitted_at" + t.integer "submit_duration" + t.integer "points" + t.text "welchem_geschlecht_fhlst_du_dich_zugehrig" + t.text "wie_alt_bist_du" + t.text "hattest_du_bereits_vorkenntnisse_in_einer_programmiersprache" + t.text "hast_du_das_gefhl_durch_die_kursteilnahme_ein_besseres_verstndn" + t.text "wie_lange_hast_du_dich_wchentlich_mit_dem_kurs_beschftigt" + t.text "wie_bewertest_du_die_inhaltliche_qualitt_des_kurses" + t.text "wie_bewertest_du_den_schwierigkeitsgrad_des_kurses" + t.text "wie_schtzt_du_die_verstndlichkeit_und_struktur_des_kurses_ein" + t.text "snake_abschlussprojekt_fand_ich" + t.text "snake_abschlussprojekt_war_hilfreich" + t.text "wurden_deine_erwartungen_an_den_kurs_erfllt" + t.text "mehr_inhalte_wuenschen.vorstellung_von_sprach_features" + t.text "mehr_inhalte_wuenschen.tipps_zu_gutem_code" + t.text "mehr_inhalte_wuenschen.problemlsungsstrategien__herangehensweis" + t.text "mehr_inhalte_wuenschen.hufig_gemachte_fehler" + t.text "mehr_inhalte_wuenschen.praktische_beispiele_aus_dem_alltag_der_" + t.text "mehr_inhalte_wuenschen.anderes_bitte_in_frage_25_angeben" + t.text "mehr_inhalte_wuenschen.keine" + t.text "kurselement_einfluss_lernerfolg.videos" + t.text "kurselement_einfluss_lernerfolg.selbsttests" + t.text "kurselement_einfluss_lernerfolg.diskussionen_im_forum" + t.text "kurselement_einfluss_lernerfolg.wchentliche_hausaufgaben" + t.text "kurselement_einfluss_lernerfolg.die_story_und_beispiele_die_sic" + t.text "kurselement_einfluss_lernerfolg.praktische_programmieraufgaben" + t.text "kurselement_einfluss_lernerfolg.die_reflexionen" + t.text "kurselement_einfluss_lernerfolg.die_selbsteinschtzungen" + t.text "kurselement_einfluss_lernerfolg.keine" + t.text "naechste_schritte.weiteren_programmierkurs_belegen" + t.text "naechste_schritte.eigene_programme_schreiben" + t.text "naechste_schritte.mich_in_der_softwareentwicklung_spezialisiere" + t.text "naechste_schritte.anderes_bitte_in_frage_25_angeben" + t.text "naechste_schritte.nichts_weiter" + t.text "wie_wahrscheinlich_ist_es_dass_du_diesen_kurs_weiterempfiehlst" + t.text "wo_zukuenftig_hilfe_suchen.innerhalb_der_familie" + t.text "wo_zukuenftig_hilfe_suchen.bei_freunden_und_bekannten" + t.text "wo_zukuenftig_hilfe_suchen.in_der_schule_universtitt_oder_beim_" + t.text "wo_zukuenftig_hilfe_suchen.in_online_kursen_wie_diesem" + t.text "wo_zukuenftig_hilfe_suchen.auf_fragewebseiten_im_internet_zb_st" + t.text "wo_zukuenftig_hilfe_suchen.in_tutorials_als_blogeintrag_oder_in" + t.text "wo_zukuenftig_hilfe_suchen.in_lehr__oder_fachbchern" + t.text "wo_zukuenftig_hilfe_suchen.anderes_bitte_in_frage_25_angeben" + t.text "wo_zukuenftig_hilfe_suchen.gar_nicht" + t.text "kommentare_in_co_zu_erbitten_war_fr_mich" + t.text "erhaltenen_antworten_auf_rfcs_waren_fr_mich" + t.text "rfc_redirect.es_hat_spa_gemacht_die_fragen_der_anderen_zu_beant" + t.text "rfc_redirect.ich_habe_beim_beantworten_der_fragen_selbst_etwas_" + t.text "rfc_redirect.ich_habe_niemals_fragen_von_anderen_kursteilnehmen" + t.text "rfc_redirect.ich_fhlte_mich_durch_die_fragen_anderer_gestrt" + t.text "rfc_redirect.ich_konnte_die_fragen_der_anderen_meist_nicht_bean" + t.text "rfc_redirect.ich_htte_gerne_mehr_fragen_von_mitlernenden_beantw" + t.text "intevention_eine_frage_zu_stellen" + t.text "intevention_nach_hilfe_zu_fragen" + t.text "uebersetzung_linter" + t.text "wie_kann_co_weiter_untersetuetzen" + t.text "email_interview" + t.text "feedback_selbsteinschaetzung" + end + + create_table "python20_7_course_report", id: false, force: :cascade do |t| + t.text "user_id" + t.text "enrollment_date" + t.text "first_enrollment" + t.text "user_created" + t.text "lang" + t.text "affiliated" + t.text "birth_date" + t.text "age" + t.text "age_group" + t.text "profile_picture" + t.text "affiliation" + t.text "career_status" + t.text "highest_degree" + t.text "professional_life" + t.text "job_position" + t.text "city" + t.text "gender" + t.text "country" + t.text "main_motivation_for_joining_open_hpi" + t.text "regular_computer_use" + t.text "top_country_code" + t.text "top_country_name" + t.text "top_city" + t.integer "desktop_web_activity" + t.integer "mobile_web_activity" + t.integer "mobile_app_activity" + t.text "first_action_timestamp" + t.text "first_visited_item_timestamp" + t.text "last_action_timestamp" + t.text "last_visited_item_timestamp" + t.text "last_visited_item" + t.text "sessions" + t.text "avg_session_duration" + t.text "total_session_duration" + t.text "video_play_activity" + t.text "video_play_activity_percentage" + t.text "video_downloads_activity" + t.text "video_downloads_activity_percentage" + t.text "slide_downloads_activity" + t.text "slide_downloads_activity_percentage" + t.integer "forum_activity" + t.decimal "forum_activity_per_day" + t.integer "forum_posting_activity" + t.text "quiz_performance" + t.text "graded_quiz_performance" + t.text "ungraded_quiz_performance" + t.integer "enrollment_delta_in_days" + t.integer "forum_posts" + t.integer "forum_threads" + t.text "reactivated" + t.text "reactivated_submission_date" + t.text "confirmation_of_participation" + t.text "record_of_achievement" + t.text "qualified_certificate" + t.text "course_completed" + t.text "un_enrolled" + t.text "quantile" + t.text "top_performance" + t.integer "items_visited" + t.decimal "items_visited_percentage" + t.integer "points" + t.integer "points_percentage" + t.decimal "woche_0_visited_percentage_section" + t.decimal "woche_1_visited_percentage_section" + t.decimal "woche_2_visited_percentage_section" + t.integer "woche_3_visited_percentage_section" + t.integer "woche_4_visited_percentage_section" + t.text "zustzliche_woche_visited_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_visited_percentage_sec" + t.text "i_like_i_wish_visited_percentage_section" + t.text "lsungen_visited_percentage_section" + t.decimal "woche_0_self_tests_percentage_section" + t.decimal "woche_1_self_tests_percentage_section" + t.decimal "woche_2_self_tests_percentage_section" + t.integer "woche_3_self_tests_percentage_section" + t.integer "woche_4_self_tests_percentage_section" + t.text "zustzliche_woche_self_tests_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_self_tests_percentage_" + t.integer "i_like_i_wish_self_tests_percentage_section" + t.text "lsungen_self_tests_percentage_section" + t.text "woche_0_assignments_percentage_section" + t.integer "woche_1_assignments_percentage_section" + t.integer "woche_2_assignments_percentage_section" + t.integer "woche_3_assignments_percentage_section" + t.integer "woche_4_assignments_percentage_section" + t.text "zustzliche_woche_assignments_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_assignments_percentage" + t.text "i_like_i_wish_assignments_percentage_section" + t.text "lsungen_assignments_percentage_section" + t.text "woche_0_bonus_percentage_section" + t.text "woche_1_bonus_percentage_section" + t.text "woche_2_bonus_percentage_section" + t.integer "woche_3_bonus_percentage_section" + t.text "woche_4_bonus_percentage_section" + t.text "zustzliche_woche_bonus_percentage_section" + t.text "zusammenfassungen_und_andere_materialien_bonus_percentage_secti" + t.text "i_like_i_wish_bonus_percentage_section" + t.text "lsungen_bonus_percentage_section" + t.text "woche_0___kennenlern_quiz_percentage_quiz" + t.text "woche_0___auswertung_des_kennenlern_quiz_percentage_quiz" + t.text "woche_1___selbsteinschtzungs_quiz_percentage_quiz" + t.text "woche_1___11_erstes_programmierbeispiel_percentage_quiz" + t.text "woche_1___13_variablen_percentage_quiz" + t.text "woche_1___14_strings_percentage_quiz" + t.text "woche_1___15_datentypen_percentage_quiz" + t.text "woche_1___16_turtle_12_percentage_quiz" + t.text "woche_1___17_turtle_22_percentage_quiz" + t.text "woche_1___hausaufgabe_1_percentage_quiz" + t.text "woche_2___selbsteinschtzungs_quiz_woche_2_percentage_quiz" + t.text "woche_2___21_verzweigungen_12_percentage_quiz" + t.text "woche_2___22_verzweigungen_22_percentage_quiz" + t.text "woche_2___23_schleifen_percentage_quiz" + t.text "woche_2___24_listen_13_percentage_quiz" + t.text "woche_2___25_listen_23_percentage_quiz" + t.text "woche_2___26_listen_33_percentage_quiz" + t.text "woche_2___26_reflexion_aufgabe_2_percentage_quiz" + t.text "woche_2___hausaufgabe_2_percentage_quiz" + t.text "woche_3___selbsteinschtzungs_quiz_woche_3_percentage_quiz" + t.text "woche_3___31_funktionen_ohne_parameter_percentage_quiz" + t.text "woche_3___exkurs_konventionen_percentage_quiz" + t.text "woche_3___32_funktionen_mit_parametern_percentage_quiz" + t.text "woche_3___33_dictionaries_percentage_quiz" + t.text "woche_3___34_zufallszahlen_percentage_quiz" + t.text "woche_3___34_reflexion_aufgabe_2_percentage_quiz" + t.text "woche_3___hausaufgabe_3_percentage_quiz" + t.text "woche_4___selbsteinschtzungs_quiz_woche_4_percentage_quiz" + t.text "woche_4___41_eingabe_percentage_quiz" + t.text "woche_4___44_reflexion_aufgabe_1_percentage_quiz" + t.text "woche_4___hausaufgabe_4_percentage_quiz" + t.text "woche_4___selbsteinschtzungs_quiz_zum_kursende_percentage_quiz" + t.text "i_like_i_wish___selbsteinschtzung_zum_i_like_i_wish_percentage_" + t.text "course_code" + end + + create_table "r_java21_tips", id: false, force: :cascade do |t| + t.integer "user_id" + t.string "user_gender" + t.string "age" + t.integer "skill_level_pre_java17" + t.integer "skill_level_pre_java20" + t.integer "skill_level_pre_java21" + t.integer "skill_level_pre_python20" + t.boolean "tips_group_python20" + t.boolean "linter_group_python20" + t.string "intervention_group_java21" + t.boolean "community_solution_group_java21" + t.integer "skill_level_post_java21" + t.integer "skill_level_post_python20" + t.float "points_java17" + t.float "points_java20" + t.float "points_java21" + t.float "points_python20" + t.integer "event_id" + t.string "event_category" + t.string "tip_id" + t.integer "exercise_id" + t.integer "file_id" + t.interval "working_time" + t.float "max_score" + t.float "max_reachable_points" + end + create_table "remote_evaluation_mappings", id: :serial, force: :cascade do |t| t.integer "user_id", null: false t.integer "exercise_id", null: false @@ -390,8 +3013,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do create_table "searches", id: :serial, force: :cascade do |t| t.integer "exercise_id", null: false - t.string "user_type", null: false t.integer "user_id", null: false + t.string "user_type", null: false t.string "search" t.datetime "created_at" t.datetime "updated_at" @@ -447,8 +3070,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do end create_table "subscriptions", id: :serial, force: :cascade do |t| - t.string "user_type" t.integer "user_id" + t.string "user_type" t.integer "request_for_comment_id" t.string "subscription_type" t.datetime "created_at", null: false @@ -513,10 +3136,57 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.index ["user_type", "user_id"], name: "index_tips_on_user" end + create_table "tmp", id: false, force: :cascade do |t| + t.integer "user_id" + t.string "user_gender" + t.string "age" + t.integer "skill_level_pre_java17" + t.integer "skill_level_pre_java20" + t.integer "skill_level_pre_java21" + t.integer "skill_level_pre_python20" + t.boolean "tips_group_python20" + t.boolean "linter_group_python20" + t.string "intervention_group_java21" + t.boolean "community_solution_group_java21" + t.integer "skill_level_post_java21" + t.integer "skill_level_post_python20" + t.float "points_java17" + t.float "points_java20" + t.float "points_java21" + t.float "points_python20" + t.integer "exercise_id" + t.integer "rfc_id" + end + + create_table "tmp3", id: false, force: :cascade do |t| + t.integer "user_id" + t.string "user_gender" + t.string "age" + t.integer "skill_level_pre_java17" + t.integer "skill_level_pre_java20" + t.integer "skill_level_pre_java21" + t.integer "skill_level_pre_python20" + t.boolean "tips_group_python20" + t.boolean "linter_group_python20" + t.string "intervention_group_java21" + t.boolean "community_solution_group_java21" + t.integer "skill_level_post_java21" + t.integer "skill_level_post_python20" + t.float "points_java17" + t.float "points_java20" + t.float "points_java21" + t.float "points_python20" + t.integer "exercise_id" + t.float "tip_count_per_exercise" + t.bigint "tip_count" + t.decimal "avg_tips_per_exercise" + t.decimal "relative_tip_count" + end + create_table "user_exercise_feedbacks", id: :serial, force: :cascade do |t| t.integer "exercise_id", null: false - t.string "user_type", null: false t.integer "user_id", null: false + t.string "user_type", null: false t.integer "difficulty" t.integer "working_time_seconds" t.string "feedback_text" @@ -529,8 +3199,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do end create_table "user_exercise_interventions", id: :serial, force: :cascade do |t| - t.string "user_type" t.integer "user_id" + t.string "user_type" t.integer "exercise_id" t.integer "intervention_id" t.integer "accumulated_worktime_s" @@ -540,8 +3210,8 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do end create_table "user_proxy_exercise_exercises", id: :serial, force: :cascade do |t| - t.string "user_type" t.integer "user_id" + t.string "user_type" t.integer "proxy_exercise_id" t.integer "exercise_id" t.datetime "created_at" @@ -552,6 +3222,25 @@ ActiveRecord::Schema.define(version: 2022_04_15_215112) do t.index ["user_type", "user_id"], name: "index_user_proxy_exercise_exercises_on_user" end + create_table "wk2020_until_rfc_reply", id: false, force: :cascade do |t| + t.integer "user_id" + t.integer "exercise_id" + t.interval "working_time_until_rfc_reply" + end + + create_table "wk2020_with_wk_until_rfc", id: false, force: :cascade do |t| + t.string "external_user_id", limit: 255 + t.integer "user_id" + t.integer "exercise_id" + t.float "max_score" + t.float "max_reachable_points" + t.interval "working_time" + t.interval "working_time_until_rfc" + t.interval "working_time_until_rfc_reply" + t.time "percentile75" + t.time "percentile90" + end + add_foreign_key "community_solution_contributions", "community_solution_locks" add_foreign_key "community_solution_contributions", "community_solutions" add_foreign_key "community_solution_contributions", "study_groups" diff --git a/yarn.lock b/yarn.lock index ad420a61..3c0e6dee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,14 +18,14 @@ "@babel/highlight" "^7.16.7" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": - version "7.17.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" - integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" + integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg== "@babel/core@^7.15.0": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" - integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" + integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" @@ -33,10 +33,10 @@ "@babel/helper-compilation-targets" "^7.18.2" "@babel/helper-module-transforms" "^7.18.0" "@babel/helpers" "^7.18.2" - "@babel/parser" "^7.18.0" + "@babel/parser" "^7.18.5" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.18.2" - "@babel/types" "^7.18.2" + "@babel/traverse" "^7.18.5" + "@babel/types" "^7.18.4" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -258,10 +258,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.16.7", "@babel/parser@^7.18.0": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" - integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== +"@babel/parser@^7.16.7", "@babel/parser@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" + integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": version "7.17.12" @@ -643,9 +643,9 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.18.0": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46" - integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.5.tgz#87f11c44fbfd3657be000d4897e192d9cb535996" + integrity sha512-SEewrhPpcqMF1V7DhnEbhVJLrC+nnYfe1E0piZMZXBpxi9WvZqWGwpsk7JYP7wPWeqaBh4gyKlBhHJu3uz5g4Q== dependencies: "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-module-transforms" "^7.18.0" @@ -670,9 +670,9 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-new-target@^7.17.12": - version "7.17.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" - integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.5.tgz#8c228c4a07501dd12c95c5f23d1622131cc23931" + integrity sha512-TuRL5uGW4KXU6OsRj+mLp9BM7pO8e7SGNTEokQRRxHFkXYMFiy2jlKSZPFtI/mKORDzciH+hneskcSOp0gU8hg== dependencies: "@babel/helper-plugin-utils" "^7.17.12" @@ -714,9 +714,9 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-runtime@^7.15.0": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz#04637de1e45ae8847ff14b9beead09c33d34374d" - integrity sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg== + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.5.tgz#f4d3188ba6a8815793993c71c2c225d0ee1d7743" + integrity sha512-Q17hHxXr2fplrE+5BSC1j1Fo5cOA8YeP8XW3/1paI8MzF/faZGh0MaH1KC4jLAvqLPamQWHB5/B7KqSLY1kuHA== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/helper-plugin-utils" "^7.17.12" @@ -884,10 +884,10 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" - integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": + version "7.18.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" + integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.18.2" @@ -895,12 +895,12 @@ "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.18.0" - "@babel/types" "^7.18.2" + "@babel/parser" "^7.18.5" + "@babel/types" "^7.18.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.4.4": +"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4", "@babel/types@^7.4.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== @@ -1102,9 +1102,9 @@ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "17.0.40" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.40.tgz#76ee88ae03650de8064a6cf75b8d95f9f4a16090" - integrity sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg== + version "17.0.44" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.44.tgz#16dd0bb5338f016d8ca10631789f0d0612fe5d5b" + integrity sha512-gWYiOlu6Y4oyLYBvsJAPlwHbC8H4tX+tLsHy6Ee976wedwwZKrG2hFl3Y/HiH6bIyLTbDWQexQF/ohwKkOpUCg== "@types/parse-json@^4.0.0": version "4.0.0" @@ -1745,7 +1745,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.20.2, browserslist@^4.20.3, browserslist@^4.6.4: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.20.2, browserslist@^4.20.4, browserslist@^4.6.4: version "4.20.4" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== @@ -1903,9 +1903,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: - version "1.0.30001349" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001349.tgz#90740086a2eb2e825084944169d313c9793aeba4" - integrity sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw== + version "1.0.30001354" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz#95c5efdb64148bb4870771749b9a619304755ce5" + integrity sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" @@ -2194,17 +2194,17 @@ copy-descriptor@^0.1.0: integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.22.8" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.8.tgz#46fa34ce1ddf742acd7f95f575f66bbb21e05d62" - integrity sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg== + version "3.23.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.1.tgz#23d44d9f209086e60dabf9130cea7719af6e199b" + integrity sha512-KeYrEc8t6FJsKYB2qnDwRHWaC0cJNaqlHfCpMe5q3j/W1nje3moib/txNklddLPCtGb+etcBIyJ8zuMa/LN5/A== dependencies: - browserslist "^4.20.3" + browserslist "^4.20.4" semver "7.0.0" core-js@^3.16.2: - version "3.22.8" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.22.8.tgz#23f860b1fe60797cc4f704d76c93fea8a2f60631" - integrity sha512-UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA== + version "3.23.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.23.1.tgz#9f9a9255115f62c512db56d567f636da32ca0b78" + integrity sha512-wfMYHWi1WQjpgZNC9kAlN4ut04TM9fUTdi7CqIoTVM7yaiOUQTklOzfb+oWH3r9edQcT3F887swuVmxrV+CC8w== core-util-is@~1.0.0: version "1.0.3" @@ -2955,9 +2955,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.147: - version "1.4.147" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.147.tgz#1ecf318737b21ba1e5b53319eb1edf8143892270" - integrity sha512-czclPqxLMPqPMkahKcske4TaS5lcznsc26ByBlEFDU8grTBVK9C5W6K9I6oEEhm4Ai4jTihGnys90xY1yjXcRg== + version "1.4.156" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.156.tgz#fc398e1bfbe586135351ebfaf198473a82923af5" + integrity sha512-/Wj5NC7E0wHaMCdqxWz9B0lv7CcycDTiHyXCtbbu3pXM9TV2AOp8BtMqkVuqvJNdEvltBG6LxT2Q+BxY4LUCIA== elliptic@^6.5.3: version "6.5.4" @@ -3474,13 +3474,13 @@ get-caller-file@^2.0.1: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-stream@^4.0.0: version "4.1.0" @@ -6330,14 +6330,14 @@ robust-predicates@^3.0.0: run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== dependencies: aproba "^1.1.1" rw@1: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -6352,7 +6352,7 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" @@ -6373,9 +6373,9 @@ sass-loader@10.1.1: semver "^7.3.2" sass@^1.38.0: - version "1.52.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.2.tgz#cd1f03e0e7be5bb2cebcf1c34d735f087d790936" - integrity sha512-mfHB2VSeFS7sZlPv9YohB9GB7yWIgQNTGniQwfQ04EoQN0wsQEv7SwpCwy/x48Af+Z3vDeFXz+iuXM3HK/phZQ== + version "1.52.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.52.3.tgz#b7cc7ffea2341ccc9a0c4fd372bf1b3f9be1b6cb" + integrity sha512-LNNPJ9lafx+j1ArtA7GyEJm9eawXN8KlA1+5dF6IZyoONg1Tyo/g+muOsENWJH/2Q1FHbbV4UwliU0cXMa/VIA== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -6416,7 +6416,7 @@ schema-utils@^3.0.0: select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^1.10.8: version "1.10.14" @@ -6483,7 +6483,7 @@ serialize-javascript@^5.0.1: serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" batch "0.6.1" @@ -6506,7 +6506,7 @@ serve-static@1.15.0: set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" @@ -6521,7 +6521,7 @@ set-value@^2.0.0, set-value@^2.0.1: setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: version "1.1.0" @@ -6551,14 +6551,14 @@ shallow-clone@^3.0.0: shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== side-channel@^1.0.4: version "1.0.4" @@ -6577,7 +6577,7 @@ signal-exit@^3.0.0: simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== dependencies: is-arrayish "^0.3.1" @@ -6634,7 +6634,7 @@ sockjs@^0.3.21: sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== dependencies: is-plain-obj "^1.0.0" @@ -6680,7 +6680,7 @@ source-map-url@^0.4.0: source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" @@ -6720,7 +6720,7 @@ split-string@^3.0.1, split-string@^3.0.2: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@^6.0.1: version "6.0.2" @@ -6744,7 +6744,7 @@ stable@^0.1.8: static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" @@ -6757,7 +6757,7 @@ statuses@2.0.1: "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== stream-browserify@^2.0.1: version "2.0.2" @@ -6794,7 +6794,7 @@ stream-shift@^1.0.0: strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" @@ -6840,7 +6840,7 @@ string_decoder@~1.1.1: strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" @@ -6854,7 +6854,7 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== style-loader@^1.3.0: version "1.3.0" @@ -6975,9 +6975,9 @@ terser@^4.1.2: source-map-support "~0.5.12" terser@^5.3.4: - version "5.14.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.0.tgz#eefeec9af5153f55798180ee2617f390bdd285e2" - integrity sha512-JC6qfIEkPBd9j1SMO3Pfn+A6w2kQV54tv+ABQLgZr7dA3k/DL/OBoYSWxzVpZev3J+bUHXfr55L8Mox7AaNo6g== + version "5.14.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" + integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -7007,29 +7007,29 @@ timers-browserify@^2.0.4: timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -7069,7 +7069,7 @@ tslib@^1.9.3: tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== type-is@~1.6.18: version "1.6.18" @@ -7082,7 +7082,7 @@ type-is@~1.6.18: typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== unbox-primitive@^1.0.2: version "1.0.2" @@ -7135,12 +7135,12 @@ union-value@^1.0.0: uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA== uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ== unique-filename@^1.1.1: version "1.1.1" @@ -7159,17 +7159,17 @@ unique-slug@^2.0.0: unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unquote@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" @@ -7189,7 +7189,7 @@ uri-js@^4.2.2: urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== url-parse@^1.5.10: version "1.5.10" @@ -7202,7 +7202,7 @@ url-parse@^1.5.10: url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== dependencies: punycode "1.3.2" querystring "0.2.0" @@ -7215,7 +7215,7 @@ use@^3.1.0: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@~1.0.0: version "1.0.1" @@ -7230,7 +7230,7 @@ util.promisify@~1.0.0: util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== dependencies: inherits "2.0.1" @@ -7244,7 +7244,7 @@ util@^0.11.0: utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^3.3.2: version "3.4.0" @@ -7264,7 +7264,7 @@ v8-compile-cache@^2.1.1: vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vendors@^1.0.0: version "1.0.4" @@ -7274,7 +7274,7 @@ vendors@^1.0.0: vis@^4.21.0: version "4.21.0" resolved "https://registry.yarnpkg.com/vis/-/vis-4.21.0.tgz#dd71638bff7f6495d00bc9f40c253526133ded6b" - integrity sha1-3XFji/9/ZJXQC8n0DCU1JhM97Ws= + integrity sha512-jonDXTGm2mFU/X6Kg9pvkZEQtXh2J6+NlDJD1tDP7TDCFy+qNeKlsTcXKQtv4nAtUIiKo6sphCt4kbRlEKw75A== dependencies: emitter-component "^1.1.1" hammerjs "^2.0.8" @@ -7473,7 +7473,7 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" @@ -7506,7 +7506,7 @@ wrap-ansi@^5.1.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== ws@^6.2.1: version "6.2.2"