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. Edycja pól tekstowych

2.1. Domyślny edytor: TinyMCE (WYSIWYG)

Domyślny edytor tekstu (wielolinijkowego) w naszym Moodle to TinyMCE. Jest to edytor WYSIWYG, który pozwala na formatowanie tekstu klikając na odpowiednie przyciski — bez znajomości żadnych formatów.

Wewnętrznie, treść zapisywana jest w formacie HTML. Kod HTML można podejrzeć (a nawet bezpośrednio edytować) używając elementu menu "Widok -> Kod Źródłowy" w edytorze TinyMCE.

2.2. Alternatywny edytor: HTML Atto (WYSIWYG)

Inny dostępny edytor typu WYSIWYG to "Edytor HTML Atto". Aby do używać, należy w swoich "Preferencjach" kliknąć w "Preferencje edytora" i wybrać "Edytor HTML Atto" jako swój preferowany edytor.

2.3. Alternatywny edytor: Marklar (format Markdown, Geshi etc.)

Dostępny jest także alternatywny edytor tekstu Marklar, który pozwala na formatowanie tekstu w różnych formatach, w tym Markdown (ale i HTML, patrz niżej). Aby go używać, należy w swoich "Preferencjach" kliknąć w "Preferencje edytora" i wybrać "Marklar" jako swój preferowany edytor.

Markdown to prosty sposób formatowania tekstu, który zapewne znacie też z innych serwisów. Dokumentacja Markdown specyficzna dla jego implementacji w Moodle jest tutaj:

Mamy włączone także kolorowanie składni w blokach kodu za pomocą GeSHi.

2.3.1. Używanie Marklar do edycji treści w formacie HTML

Jeśli Marklar jest domyślnym edytorem naszego użytkownika Moodle -> nowo stworzone przez nas treści będą miały format Markdown. Inni prowadzący, chcący edytować treści zapisane przez nas w formacie Markdown, będą automatycznie widzieć je w edytorze Marklar. (Ponieważ edytorki jak TinyMCE nie umieją edytować formatu Markdown.)

Jeśli jednak inni prowadzący mają inny preferowany edytor (jak TinyMCE), stworzone przez nich treści będa miały format HTML. Domyślnie, zobaczymy edytorek TinyMCE do edycji tych treści. Aby to zmienić, musimy wejść w ustawienia edytora Marklar gdzie znajdziemy konfigurację "Additional text formats to be also edited with Marklar". Musimy zaznaczyć tam format "Format HTML" -> wtedy Marklar będzie używany także do edycji treści w formacie HTML. Marklar preferences

Uwaga: Nie nastąpi w tej sytuacji żadna automatyczna konwersja formatów HTML --> Markdown. Marklar po prostu pokaże nam źródło HTML i wybrany będzie "Format HTML". Chcąc zmienić go na "Format Markdown", musimy ręcznie przekonwertować HTML na Markdown i zmienić format pola na Markdown.

2.3.2. Przykład Markdown

Oto przykładowy dokument (w formacie Markdown, z użyciem Geshi oraz elementów HTML). Można go wkleić jako zawartość strony w Moodle (powinien zadziałać wszędzie tam gdzie Moodle pozwala na wielolinijkowy tekst) i sprawdzić jak wszystko działa.

Oto zrzut ekranu jak powinien wyglądać wynik.

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

4. Zapisywanie do kursu poprzez numery indeksów

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

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

5.1. Piaskownica (sandbox) Jobe

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

Zalety własnego serwera:

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

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

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