-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathabout.html
252 lines (234 loc) · 14 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>About — E2X H-BRS</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="#" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Research" href="research.html" />
<link rel="prev" title="E2X E-assessment" href="index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
E2X H-BRS
<img src="_static/e2x.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">About</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#the-idea-of-e-assessment">The Idea of E-assessment</a></li>
<li class="toctree-l2"><a class="reference internal" href="#software">Software</a></li>
<li class="toctree-l2"><a class="reference internal" href="#infrastructure">Infrastructure</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#resources">Resources</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="research.html">Research</a></li>
<li class="toctree-l1"><a class="reference internal" href="talks.html">Talks</a></li>
<li class="toctree-l1"><a class="reference internal" href="people.html">People</a></li>
<li class="toctree-l1"><a class="reference internal" href="incident-reports.html">Incident Reports</a></li>
<li class="toctree-l1"><a class="reference internal" href="news.html">News</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Usage</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="usage/student.html">Students</a></li>
<li class="toctree-l1"><a class="reference internal" href="usage/instructor.html">Instructors</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">JupyterHub</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="jupyterhub/e2x-jupyterhub.html">E2x JupyterHub</a></li>
<li class="toctree-l1"><a class="reference internal" href="jupyterhub/environment.html">Environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="jupyterhub/dynamic-config.html">Dynamic Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="jupyterhub/deployment.html">Deployment</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">E2xgrader</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="e2xgrader/e2xgrader.html">E2xgrader</a></li>
<li class="toctree-l1"><a class="reference internal" href="e2xgrader/installation.html">E2xgrader Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="e2xgrader/configuration.html">E2xgrader Configuration</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Nbassignment</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="nbassignment/nbassignment.html">Nbassignment</a></li>
<li class="toctree-l1"><a class="reference internal" href="nbassignment/installation.html">Nbassignment Installation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">ExamKernel</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="exam_kernel/exam_kernel.html">Exam Kernel</a></li>
<li class="toctree-l1"><a class="reference internal" href="exam_kernel/installation.html">ExamKernel Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="exam_kernel/configuration.html">ExamKernel Configuration</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">E2X H-BRS</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">About</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="about">
<span id="id1"></span><h1>About<a class="headerlink" href="#about" title="Permalink to this heading"></a></h1>
<section id="the-idea-of-e-assessment">
<h2>The Idea of E-assessment<a class="headerlink" href="#the-idea-of-e-assessment" title="Permalink to this heading"></a></h2>
<p>Our project concentrates on development of a system for E-assessment that would
cover the whole process of study from homework to exams. Now a lot of software
is used for homework during the semester, but exams are still pen and paper.
It is important to change the workflow in such a way that students would use
the same software tools for all assignments, tests and exams, because work during
the semester plays a significant role in exam peparation. This is what so called <cite>Constructive Alignment</cite>.</p>
<p>Another important goal of our project is a development of an AI assistant for
grading assessments and exams in the fields computer science, electrical engineering,
physics and other technical disciplines. It can allow professors more time for
other teaching activities and provide students with faster and less biased feedback
on their work.</p>
<p>We focus on automated grading of the following answer types:</p>
<ul class="simple">
<li><p>Program code</p></li>
<li><p>Formulas</p></li>
<li><p>Short text</p></li>
<li><p>Pictures (in the later versions)</p></li>
<li><p>Multiple choice</p></li>
<li><p>Single choice</p></li>
</ul>
<p>The task of program code autograding is easily solvable by writing tests.
Formulas checking is also easy to generalize and automate, but text and picture
grading are harder tasks. Automated short answer grading <a class="reference external" href="https://link.springer.com/article/10.1007/s40593-014-0026-8">ASAG</a>
is a form of automated grading along with automated essay and fill the gap gradings.
This answer type normally consists of several sentences – from one sentence to one paragraph.
In general one is concerned neither with writing style nor with spelling or grammar
in ASAG. However, we are going to add a feature that would allow the professor
who conducts a test to set the strictness of the evaluation: he or she should be able
to set if the answers with misspelled words, especially specific terms, should be accepted.
The teacher should also be able to estimate how large is the range of synonyms that
the student can use.</p>
<p>As for the result of the grading, it is important to provide not only the grade, but a
level of certainty of the grading and in the perfect case – generate the comments to
each graded answer.</p>
</section>
<section id="software">
<h2>Software<a class="headerlink" href="#software" title="Permalink to this heading"></a></h2>
<p>The autograding system will be integrated into open-source system for creating and
grading assigments <a class="reference external" href="https://github.com/jupyter/nbgrader">nbgrader</a> combined with
<a class="reference external" href="http://jupyter.org/">Jupyter Notebook</a> and other Jupyter Notebook”-compatible libraries.</p>
<p>Jupyter Notebook is a web-based tool that one can use to interatively develop codes, output the results,
create textual documents with markdown, as well as plotting the result. Jupyter Notebook now supports
many programming languages including the popular ones in the data science community such as Python and R.</p>
<p>We use <cite>nbgrader</cite> to manage assignments.
<cite>nbgrader</cite> allows to choose if the assignment can be graded manually or automatically.
Now the system allows only code assignments autograding, but we are going
to extend it in such a way that it is possible to autograde formulas,
natural language answers and pictures as well. The other features that we added are single and multiple
choice questions.</p>
</section>
<section id="infrastructure">
<h2>Infrastructure<a class="headerlink" href="#infrastructure" title="Permalink to this heading"></a></h2>
<p>We started using Jupyter Notebook for both teaching and examination for years now.
In the beginning, we started an electronic examniation using a usb stick which was
given to students during the exam. The Jupyter Notebook file was copied beforehand.
Although this is good in the sense of decentralization, it requires a lot of work
before and after the exam e.g. distribute the exam files to every stick and then
collect all students work after the exam. We might possibly loose students work
if the stick is failed during the exam.</p>
<p>After several years using usb sticks, we switched to JupyterHub which is running on a single
machine. However, we only run this server in 2018 until summer semester 2019 since we could not
accomodate more users into a single server. The following figure shows the number of exam users per course
using Jupyter Notebook.</p>
<figure class="align-center" id="id2">
<img alt="_images/e2x-exam-users.png" src="_images/e2x-exam-users.png" />
<figcaption>
<p><span class="caption-text">The number of students taking electronic examinations.</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>We switched to a more scalable system and deployed JupyterHub on Kubernetes where we can always
spin up more nodes if needed. Thanks to <a class="reference external" href="https://zero-to-jupyterhub.readthedocs.io/">Zero to JupyterHub</a>
which provides a step-by-step instruction on how to deploy Jupyter Hub on Kubernetes.
Nevertheless, we heavily modify the configuration to meet our requirements especially.
The Kubernetes cluster is deployed locally on FB02 OpenStack Hochschule Bonn-Rhein-Sieg.
For more details on our JupyterHub deployment, please see <a class="reference internal" href="jupyterhub/e2x-jupyterhub.html#e2x-jupyterhub"><span class="std std-ref">this page</span></a>.</p>
<p>Not only do we provide the JupyterHub server for examinations, but also we provide similar servers for
the students to work on their assignments. We also do not want the students using different libraries,
other than what we provide, to work on the assignments, and thus their codes should be runnable on
both student and grading servers. Morever, we are also dealing with 3rd semester bachelor students who may not
be familiar with seeting up a Python environment. However, since our software is open source, we let
the students to actively help and contribute to the software should they need new libraries to be
available on the server. This way we could minimize the hassle of installing the environment on both
parties.</p>
<p>The following figure shows the number of courses and corresponding students served e2x servers:</p>
<figure class="align-center" id="id3">
<img alt="_images/e2x-assignment-users.png" src="_images/e2x-assignment-users.png" />
<figcaption>
<p><span class="caption-text">The number of students that used the server from 2018 to 2020.</span><a class="headerlink" href="#id3" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<section id="resources">
<h3>Resources<a class="headerlink" href="#resources" title="Permalink to this heading"></a></h3>
<ul class="simple">
<li><p>380 GB memory</p></li>
<li><p>120 cores CPU</p></li>
<li><p>1.2 TB HDD</p></li>
</ul>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="index.html" class="btn btn-neutral float-left" title="E2X E-assessment" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="research.html" class="btn btn-neutral float-right" title="Research" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2023, E2X H-BRS.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>