how to create a course
This commit is contained in:
@ -1,24 +1,29 @@
|
||||
|
||||
@misc{noauthor_codegrade_nodate,
|
||||
title = {The {CodeGrade} {Documentation} — {CodeGrade} {QuietStorm}.1 documentation},
|
||||
url = {https://docs.codegra.de/},
|
||||
urldate = {2024-08-25},
|
||||
file = {The CodeGrade Documentation — CodeGrade QuietStorm.1 documentation:/Users/chris/Zotero/storage/K79YSBN2/docs.codegra.de.html:text/html},
|
||||
}
|
||||
|
||||
@misc{noauthor_check50_nodate,
|
||||
title = {check50 {Documentation}},
|
||||
url = {https://cs50.readthedocs.io/projects/check50/en/latest/},
|
||||
urldate = {2024-08-25},
|
||||
file = {check50 — check50 Docs:/Users/chris/Zotero/storage/FKGGRXQ8/latest.html:text/html},
|
||||
}
|
||||
|
||||
@misc{noauthor_submit50_nodate,
|
||||
title = {submit50},
|
||||
url = {https://cs50.readthedocs.io/submit50/},
|
||||
abstract = {submit50 is a command-line tool with which you can submit work (e.g., problem sets) to a course (e.g., CS50). It’s based on git, a “distributed version control system” that allows you to save diffe...},
|
||||
@inproceedings{totschnig_openhpi_2013,
|
||||
address = {Aachen, Germany},
|
||||
title = {{openHPI}: {Evolution} of a {MOOC} {Platform} from {LMS} to {SOA}:},
|
||||
isbn = {978-989-8565-53-2},
|
||||
shorttitle = {{openHPI}},
|
||||
url = {http://www.scitepress.org/DigitalLibrary/Link.aspx?doi=10.5220/0004416905930598},
|
||||
doi = {10.5220/0004416905930598},
|
||||
language = {en},
|
||||
urldate = {2024-08-25},
|
||||
urldate = {2024-08-27},
|
||||
booktitle = {Proceedings of the 5th {International} {Conference} on {Computer} {Supported} {Education}},
|
||||
publisher = {SciTePress - Science and and Technology Publications},
|
||||
author = {Totschnig, Michael and Willems, Christian and Meinel, Christoph},
|
||||
year = {2013},
|
||||
pages = {593--598},
|
||||
file = {2013 - openHPI Evolution of a MOOC Platform from LMS to .pdf:/home/chris/Zotero/storage/UBWTRJJ7/2013 - openHPI Evolution of a MOOC Platform from LMS to .pdf:application/pdf},
|
||||
}
|
||||
|
||||
@article{serth_codeocean_2021,
|
||||
title = {{CodeOcean} and {CodeHarbor}: {Auto}-{Grader} and {Code} {Repository}},
|
||||
abstract = {The Hasso Plattner Institute (HPI) successfully operates a MOOC (Massive Open Online Course) platform since 2012. Since 2013, global enterprises, international organizations, governments, and research projects funded by the German ministry of education are partnering with us to operate their own instances of the platform. The focus of our platform instance is on IT topics, which includes programming courses in different programming languages. An important element of these courses are graded hands-on programming assignments. MOOCs, even more than traditional classroom situations, depend on automated solutions to assess programming exercises. Manual evaluation is not an option due to the massive amount of users that participate in these courses. The paper at hand presents two of the tools developed in this context at the HPI: CodeOcean—an auto-grader for a variety of programming languages, and CodeHarbor, a tool to share auto-gradable programming exercises between various online platforms.},
|
||||
language = {en},
|
||||
journal = {Seventh SPLICE Workshop at SIGCSE 2021 “CS Education Infrastructure for All III: From Ideas to Practice (SPLICE'21)},
|
||||
author = {Serth, Sebastian and Staubitz, Thomas and Teusner, Ralf and Meinel, Christoph},
|
||||
year = {2021},
|
||||
file = {Serth et al. - CodeOcean and CodeHarbor Auto-Grader and Code Rep.pdf:/home/chris/Zotero/storage/ECQHYIQ8/Serth et al. - CodeOcean and CodeHarbor Auto-Grader and Code Rep.pdf:application/pdf},
|
||||
}
|
||||
|
||||
@inproceedings{staubitz_codeocean_2016,
|
||||
@ -34,15 +39,27 @@
|
||||
note = {ISSN: 2165-9567},
|
||||
keywords = {Automated Assessment, Computer languages, E-Learning, Electronic learning, Hands-on Experience, Interoperability, MOOC, Online Assessment, Programming, Programming profession, Scalability},
|
||||
pages = {314--323},
|
||||
file = {IEEE Xplore Abstract Record:/Users/chris/Zotero/storage/QVILNJDL/7474573.html:text/html;Staubitz et al. - 2016 - CodeOcean - A versatile platform for practical pro.pdf:/Users/chris/Zotero/storage/DJY8E9FV/Staubitz et al. - 2016 - CodeOcean - A versatile platform for practical pro.pdf:application/pdf},
|
||||
file = {CodeOcean_-_A_versatile_platform_for_practical_programming_excercises_in_online_environments:/home/chris/Zotero/storage/JG6WSTH2/CodeOcean_-_A_versatile_platform_for_practical_programming_excercises_in_online_environments.pdf:application/pdf;IEEE Xplore Abstract Record:/home/chris/Zotero/storage/QVILNJDL/7474573.html:text/html},
|
||||
}
|
||||
|
||||
@article{serth_codeocean_2021,
|
||||
title = {{CodeOcean} and {CodeHarbor}: {Auto}-{Grader} and {Code} {Repository}},
|
||||
abstract = {The Hasso Plattner Institute (HPI) successfully operates a MOOC (Massive Open Online Course) platform since 2012. Since 2013, global enterprises, international organizations, governments, and research projects funded by the German ministry of education are partnering with us to operate their own instances of the platform. The focus of our platform instance is on IT topics, which includes programming courses in different programming languages. An important element of these courses are graded hands-on programming assignments. MOOCs, even more than traditional classroom situations, depend on automated solutions to assess programming exercises. Manual evaluation is not an option due to the massive amount of users that participate in these courses. The paper at hand presents two of the tools developed in this context at the HPI: CodeOcean—an auto-grader for a variety of programming languages, and CodeHarbor, a tool to share auto-gradable programming exercises between various online platforms.},
|
||||
@misc{noauthor_submit50_nodate,
|
||||
title = {submit50},
|
||||
url = {https://cs50.readthedocs.io/submit50/},
|
||||
abstract = {submit50 is a command-line tool with which you can submit work (e.g., problem sets) to a course (e.g., CS50). It’s based on git, a “distributed version control system” that allows you to save diffe...},
|
||||
language = {en},
|
||||
journal = {Seventh SPLICE Workshop at SIGCSE 2021 “CS Education Infrastructure for All III: From Ideas to Practice (SPLICE'21)},
|
||||
author = {Serth, Sebastian and Staubitz, Thomas and Teusner, Ralf and Meinel, Christoph},
|
||||
year = {2021},
|
||||
file = {Serth et al. - CodeOcean and CodeHarbor Auto-Grader and Code Rep.pdf:/Users/chris/Zotero/storage/ECQHYIQ8/Serth et al. - CodeOcean and CodeHarbor Auto-Grader and Code Rep.pdf:application/pdf},
|
||||
urldate = {2024-08-25},
|
||||
}
|
||||
|
||||
@misc{noauthor_check50_nodate,
|
||||
title = {check50 {Documentation}},
|
||||
url = {https://cs50.readthedocs.io/projects/check50/en/latest/},
|
||||
urldate = {2024-08-25},
|
||||
file = {check50 — check50 Docs:/home/chris/Zotero/storage/FKGGRXQ8/latest.html:text/html},
|
||||
}
|
||||
|
||||
@misc{noauthor_codegrade_nodate,
|
||||
title = {The {CodeGrade} {Documentation} — {CodeGrade} {QuietStorm}.1 documentation},
|
||||
url = {https://docs.codegra.de/},
|
||||
urldate = {2024-08-25},
|
||||
file = {The CodeGrade Documentation — CodeGrade QuietStorm.1 documentation:/home/chris/Zotero/storage/K79YSBN2/docs.codegra.de.html:text/html},
|
||||
}
|
||||
|
14
content/content-creation.asciidoc
Normal file
14
content/content-creation.asciidoc
Normal file
@ -0,0 +1,14 @@
|
||||
Once CodeOcean and Edly are setup, there are certain configuration steps to do, to provide an own course on this platform. The following steps show common steps used by content creators.
|
||||
|
||||
== Creating a course in openEdx ==
|
||||
|
||||
A new course can be created on the edit page: `https://hostname/course-authoring`. Course creation needs a naming scheme for course, organization, course number and course run (for example "Python Introduction", "HTWK", "C123.1", "WiSe24").
|
||||
|
||||
Before it is possible to link external LTI tools, this has to be enabled for this specific course. The openEdx platform supports LTI 1.1 up to and including LTI 1.3, extended by deep linking, grading and role provisioning services. To do this, the "lti_consumer" entry has to be added to "Advanced Module List" in the Course Settings/Advanced Settings.
|
||||
|
||||
[https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/exercises_tools/lti_component.html]
|
||||
|
||||
A single course consists out of a strict hierarchy of section, subsection and units. There is a "New Section" button in the top right of the course edit page. To create subsections and units, the structure level above must first be expanded using the caret symbol on the left. In the edit page for a single unit, an external grader can be linked using an "Advanced" module and the "LTI Consumer" entry.
|
||||
|
||||
== Linking a CodeOcean exercise ==
|
||||
|
@ -65,6 +65,4 @@ pip install tutor[full]
|
||||
tutor local launch
|
||||
```
|
||||
|
||||
After inputting the necessary information, all services should be running and the platform should be accessible on localhost. This can be checked by navigating to https://localhost on the host.
|
||||
|
||||
Problem is, that currently both platforms are running on the same port, so both can't be run at the same time.
|
||||
After inputting the necessary information, all services should be running and the platform should be accessible on localhost. This can be checked by navigating to http://[studio.]local.edly.io on the host. This only works, when the port mapping for the CodeOcean container is changed. The domain points to localhost and is interpreted by a reverse proxy. Problem is, that logging to CodeOcean doesn't work at a different port, as 443 is hardcoded in the frontend.
|
||||
|
@ -22,12 +22,12 @@ The openHPI platform of the Hasso Plattner Institute in Potsdam (HPI) is an xMOO
|
||||
|
||||
The implemented solution for automatic grading of programming tasks in openHPI is CodeOcean, a web based platform separately developed at the HPI. It allows learners to write, execute and test code directly in their browser without the need to set up a development environment. Features include syntax highlighting, server-side code execution and automated feedback through unit tests. Additionally, learners can ask context-related questions, which makes it a collaborative learning environment.
|
||||
|
||||
The highlighted goals and requirements of this work are:
|
||||
- Versatility: Use of different programming languages possible
|
||||
- User-friendliness: Simple user interface
|
||||
- Scalability: Support for many users
|
||||
- Security: Execution of foreign code in a sandbox
|
||||
- Interoperability: Integration into learning management systems
|
||||
.The highlighted goals and requirements of this work are:
|
||||
* Versatility: Use of different programming languages possible
|
||||
* User-friendliness: Simple user interface
|
||||
* Scalability: Support for many users
|
||||
* Security: Execution of foreign code in a sandbox
|
||||
* Interoperability: Integration into learning management systems
|
||||
|
||||
The chosen approach is therefore most similar to the desired one. A predetermined number of Docker containers are provided as execution environments for the programming tasks and assigned to the users to work on their programming tasks. CodeOcean facilitates integration into other learning management systems via the open LTI interface, as is the case with most comparable solutions.
|
||||
cite:[staubitz_codeocean_2016]
|
||||
|
Reference in New Issue
Block a user