Serwer Moodle (SKOS) dla Instytutu Informatyki Uniwersytetu Wrocławskiego:

  1. Nowości i zmiany
  2. Dokumentacja
  3. Kontakt do admina

Dokumentacja SKOS

1. Uprawnienia do zakładania nowych kursów

Konto na SKOS zapewne już posiadacie, dzięki synchronizacji z USOS.

Jeżeli nie macie jeszcze uprawnień "Twórcy Kursów" (nie widzicie przycisku "Dodaj nowy kurs" o którym piszę poniżej), to wystarczy napisać do mnie (Michalis Kamburelis) e-mail z tego samego adresu jaki jest podany w SKOS.

Posiadając te uprawnienia, sami zakładacie nowe kursy: po wybraniu kategorii (zazwyczaj wybieramy tu aktualny semestr) klikamy "Dodaj nowy kurs". Sami też konfigurujecie swoje kursy jak chcecie: sami dodajecie innych prowadzących jeśli chcecie, sami decydujecie czy goście mogą zobaczyć materiały kursu, sami decydujecie czy pozwalacie studentom zwyczajnie przyłączyć się do kursu przez Moodle czy może zapisujecie ich ręcznie, sami decydujecie czy jest sens zrobić grupy w kursie odpowiadające pracowniom etc.

2. Ciekawsze rzeczy zainstalowane na naszym Moodle

2.1. Zasób w kursie zsynchronizowany z Google Docs

Zasób "Googledoc" pozwala dodać do kursu Moodle dokument stworzony w Google Docs.

Instrukcja obsługi:

  1. Tworzymy w Google Docs nowy dokument lub arkusz (spreadsheet).

    Możemy stworzyć dokument (jak w Wordzie) lub arkusz (jak w Excelu), oba rodzaje dokumentów działają. Poniżej nazywam je zbiorczo po prostu "dokumenty".

  2. Udostępniamy dokument dla skos@cs.uni.wroc.pl.

    To i tylko to konto potrzebuje dostępu do dokumentu (tylko do odczytu). W ten sposób nie trzeba współdzielić dokumentu za pomocą Google ze studentami lub publicznie. Można nadal edytować dokument w Google Docs, ale kierować oglądających do Moodle.

  3. Dodajemy zasób typu "Googledoc" do kursu i w polu URL wklejamy pełny adres udostępnionego dokumentu.

    Można zwyczajnie skopiować URL dokumentu z paska adresu przeglądarki, jak https://docs.google.com/spreadsheets/d/XXXX/edit#gid=0. Większość tego adresu jest i tak ignorowana, system wyciąga tylko identyfikator dokumentu ze środka URL, więc różne inne postacie URL też działają.

Szczegóły działania:

2.2. Zapisywanie do kursu poprzez numery indeksów

Aby łatwo synchronizować stan kursu ze stanem w Systemie Zapisów:

2.3. Automatyczne kompilowanie i testowanie programów (CodeRunner)

Zainstalowany moduł CodeRunner pozwala na kompilowanie i uruchamianie nadesłanych kodów źródłówych, i sprawdzanie czy przechodzą odpowiednie testy.

Instrukcja obsługi (bardziej obszerne info znajduje się w dokumentacji modułu):

  1. Dodajemy nowy Test (Quiz w wersji angielskiej) w naszym kursie.

  2. W opcjach quizu warto włączyć w kolumnie "Podczas próby" żeby podawał dane jak "Ogólna / szczegółowa informacja zwrotna". Inaczej nie zobaczymy czy/jakie były błędy kompilacji, jak wyglądał błędny output etc., tylko w odpowiedzi na kliknięcie "Sprawdź" dostaniemy enigmatyczne stwierdzenie "Niepoprawne".

    CodeRunner quiz

  3. W quizie dodajemy pytanie typu "CodeRunner". Wybieramy przede wszystkim question type (jak c_function lub c_program) które determinuje język programowania i otoczkę tego co napisze student (w przypadku c_function, main i podstawowe include są już zdefiniowane w template).

    CodeRunner demo

  4. Przy konfigurowaniu pytania możemy włączyć "Dostosuj" (ang: "Customize") i rozwinąć "Zaawansowane dostosowanie" (ang: "Advanced customisation") żeby wybrać piaskownicę (ang: sandbox).

    CodeRunner customize

    CodeRunner customize

    Dozwolone sandboxy są opisane poniżej.

2.3.1. Piaskownica (sandbox) Jobe

Jobe sandbox używa naszej własnego (Instytutowego) serwera do sprawdzania zadań.

Zalety własnego serwera:

2.3.2. Piaskownica (sandbox) Ideone

Ideone sandbox używa usługi online ideone.com. Wiele języków programowania i kompilatorów dozwolonych. Trochę szczegółow o środowisku w jakim programy są uruchamiane jest w FAQ na ideone.com.

W polu "Language" należy wpisać jeden z języków obsługiwanych przez ideone. Obsługiwane nazwy języków możemy zobaczyć rozwijając pole "Wybierz język" na ideone.com, nazwa języka jest widoczna w prawym-górnym rogu popupa, jak C++14 (clang 4.0) na screenie poniżej. Należy wpisać taką dokładnie nazwę języka w polu "Language" w Moodle, z takimi samymi spacjami (nawet wielkość liter ma znaczenie).

Ideone language

Prawdopodobnie jest limit zgłoszeń dozwolonych w ideone.com przez określoną stronę (jak nasze Moodle) w określonym czasie (jak miesiąc), chociaż obecnie jest niestety niejasne ile ten limit wynosi. W przeszłości FAQ jasno mówiło że dozwolone jest "1000 zgłoszeń na miesiąc" w pakiecie darmowym (oraz podawało ceny pakietów płatnych). Obecnie, twórcy ideone.com polecają sphere-engine.com jako komercyjne rozwiązanie do sprawdzania rozwiązań. Obowiązujące limity ideone.com nie są podane.

Jeżeli używacie albo planujecie używać ideone.com, proszę dajcie znać adminowi abym wiedział że ta opcja jest wykorzystywana i obserwował uważnie czy zapytania nie zaczną zwracać błędów po przekroczeniu limitów.

2.3.3. Używanie języka R w CodeRunner

Ponad języki standardowo dostępne w ramach Jobe (C, Python, Pascal...) mamy także możliwość testowania programów w języku R.

Wersja: Są sprawdzane przy pomocy najnowszego R z Debian Stable, obecnie 4.2.2 z Debiana Bookworm.

Jak używać: Posługujemy się modułem CodeRunner tak jak opisano powyżej i jako rodzaj pytania wybieramy r_via_python. Piaskownica to nadal nasze (domyślne) Jobe.

CodeRunner with R - question type

Jako "Odpowiedź" możemy wkleić przykładową odpowiedź autora pytania (będzie sprawdzona przy zapisie pytania, będziemy więc mieli pewność że wszystko działa).

CodeRunner with R - answer

Wypełniamy przypadki testowe. Notka: Screenshot poniżej nie ma danych wejściowych, ale w każdym praktycznym zastosowaniu chcemy jakieś dane wejściowe podać, sensem testów jest sprawdzić czy output jest poprawny dla różnych input'ów.

CodeRunner with R - test

Po zapisaniu pytania możemy użyć "Podgląd" aby sprawdzić czy system dobrze wykrywa prawidłowe i nieprawidłowe (błędny kod lub błędne wyjście kodu) rozwiązania:

CodeRunner with R - test invalid

CodeRunner with R - test wrong

CodeRunner with R - test valid

3. Instalacje Moodle na tym serwerze

  1. Główna, domyślna instalacja to Moodle dla Instytutu Informatyki na skos.ii.uni.wroc.pl. Cała dokumentacja na tej stronie dotyczy tej instalacji Moodle, chyba że wyraźnie zaznaczę gdzieś inaczej.

  2. Stara instalacja (sprzed CAS) jest dostępna pod adresem kno.ii.uni.wroc.pl/ii/.

  3. Mamy także Moodle dla innych kursów (courses). Witamy tam wszystkie kursy niezwiązane z Instytutem Informatyki.

  4. Są także utrzymywane stare instalacje ze studiów KNO dla nauczycieli: KNO dla nauczycieli - główne kursy, KNO dla nauczycieli - piaskownica. Nie zakładamy ani nie rozwijamy tam już żadnych kursów, te instalacje są tylko utrzymywane jako archiwum informacji.


Wynagrodzenie administratora zostało dofinansowane ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego, dzięki projektowi studiów zamawianych.

Logo UE