sedrila use for students
1. Starting point
Almost all instructions are on the course webpages generated by sedrila.
Your instructors need to tell you where that lives.
Start there.
Instructions there will tell you when, how, and why to use
sedrila student init and sedrila student import-keys,
which are required to get rolling.
import-keys must be repeated on each computer on which you want to use sedrila.
At some point, the instructions on those webpages may point back towards the instructions below in the present file.
2. Describing your course participation
The website of your course not only contains HTML pages for humans,
it also contains a machine-readable file (called course.json)
with the list of tasks you can submit.
sedrila needs that file to do its work, so you need to tell it where the
course webpages are found.
The instructors need your name and student id in order to do their work, so you need to tell them those.
The command sedrila student init in your project folder will create
a file called student.yaml with the relevant information.
You will be prompted for a course url which you can copy/paste from your
browser.
Afterward, you will be prompted for the necessary information to allow instructors to grade you.
Committing work for a task is possible without this file being present, but making a submission only works if the file exists.
After providing course information, you need to import the GPG keys of the instructors
via sedrila student import-keys.
If you do not, sedrila cannot show how many hours of work your instructors have already
accepted, because instructor information is secured cryptographically.
You can call sedrila student import-keys at any time to import all keys
associated with your course, for instance if you need to get keys for a new instructor
during the course of if you start to work on a different computer.
3. How to make a commit for a task
sedrila strongly suggests a convention for what your commits should look like
when you work on a self-driven lab course.
Using that convention has two advantages for you:
sedrilacan then show you an overview of how much time you have invested so far.sedrilathen has an overview of the tasks for which you have already finished some work and will use it to compile possible entries for your next submission to an instructor. If you do not use the convention, you have to collect those entries yourself. As a self-driven lab has many small tasks, you might even overlook some work you have done.
3.1 Commit convention
- Each commit you make should represent work for only one task, not for a mix of several tasks. The task may be completed or not yet completed.
- The first line of the commit message must follow a fixed format as described below.
3.2 Commit message format convention
Your commit messages should look as follows:
%SomeTask 2:15h description words
The % is fixed and always the same. It is a prefix to tell time keeping
commits apart from others like a request for grading.
SomeTask is the name of the task. Make sure you spell this right.
2:15h is how long you worked on the new data in this commit (here: 2 hours and 15 minutes).
description words is whatever you have to say to describe the actual content of the
commit.
If you finished the task, this can be left empty.
If the task is still incomplete, describe what you did that is new in this commit.
A precision of five or ten minutes will be good enough.
(An additional long commit message after an empty line is possible as well.)
Beware: Decimal hours are possible as well, but are not recommended.
%SomeTask 2.75h description words would mean 2 hours and 45 minutes,
so make sure you get the colon right or else your data will be distorted.
When sedrila creates a work time report for you, it will use decimal hours.
4. student webapp: How to view your work
Call sedrila student webapp in order to browse your working directory.
Just follow the on-screen instructions.
The webapp shows the directory tree and individual files.
A breadcrumb navigation is shown at the top.
For the file links:
- *.md files will be rendered as Markdown.
- *.py, *.html, *.js, *.java files and many other kinds with known syntax
will be rendered with syntax highlighting.
- *.html files will additionally have a link to show the file as an HTML page.
- *.prot command protocol plaintext files will be rendered in color,
with highlighting of prompts and commands.
The highlighting will work only if you use the prescribed prompt format as described
in some task of your SeDriLa course.
You can use the --port option to make the webserver use a different port than the
default one.
5. student menu: How to prepare a submission
When you show your work to an instructor, you will usually not show the results for only a single task, but several. This is because tasks in a self-driven lab are so small and numerous that checking each task separately would be too inefficient.
In order to describe which tasks the instructor should check, you need to prepare
select them in the webapp (sedrila student webapp) by clicking
on a task and selecting "CHECK".
The instructor will use the generated submission.yaml file to record
which of your submitted tasks
are accepted and to record feedback explaining what's wrong with those that are rejected.
To send your submissions to the instructor,
you need to commit submission.yaml with the appropriate commit message,
push that commit (and those of your previous work), and send the instructor
an email in a certain format.
To do this, call sedrila student menu,
then commit and push via the menu.
Follow the instructions shown by push.
6. student status, student webapp: The work report
sedrila student status can show a condensed overview of the work you have submitted so far,
the associated timevalues, and possibly the sum of the associated actual work times.
The work times are available only insofar as you have used the commit message format
described in 3.2 above.
This summary is at the chapter level.
A detailed work report (at the task level) is available via the webapp (sedrila student webapp).
7. student finish: Completing the course
When you have finished your participation in the course, call sedrila student finish.
It will show you the steps required to indicate course completion:
the subject line and body text for the email you need to send to your instructor.