Who needs Excel? Managing your students qualifications with org-table
Daniel Molina (he/him) - website: https://www.danimolina.net Mastodon: @dmolina@fosstodon.org, dmolina@mailbox.org
Format: 16-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Status: All done
Description
In this talk I will explain how to use org-table to review and calculate the qualifications of the students (but the used techniques are general). I will show how to use several tables, one for each partial exam, using weights for create the final table. I also use summarize table with org-aggregate for a general view of results, and export the qualification to PDF. All the process with Emacs!
I’ll demonstrate some functionality I use for:
Formula for calculate the qualification using weights, that can be easily updated.
Summarize tables with org-aggregate (https://github.com/tbanel/orgaggregate).
Create a final table making reference to tables in different files.
For several years, I have been using that workflow, and I consider it is very natural with many advantages, like writing the reasons/feedback in the same file with the qualifications, or to be able to use a version control.
About the speaker:
My name is Daniel Molina Cabrera, I am a senior lecturer in Computer Science at the University of Granada, in Spain. I use only Linux in my computer, and after been using Vim many years, last years I mainly use Emacs for editing, as file manager, as email program, ...
In my experience, using org-table is very powerful and useful, but many interesting features are not well-known. Unfortunately, sometimes it is difficult to see examples showing the possibilities, and I think this example could be very informative.
Discussion
Notes
- Very impressive on your skill over the org-table
- Thank you for your opinion.
- Never use aggregate function before, will have a try.
- Yes, you should, it is clearly a nice package and very useful. Also, it is very well documented at its page: https://github.com/emacsmirror/orgtbl-aggregate
- org table is awesome, but it lacks the fold, if i don't missing something. long table is bad to view
- You can put the table under a heading, and you will be able to fold it.
- very true. Long tables also have performance issues unfortunately. (IME) but still invaluable for any form of data analysis. I've not used the aggregate package used in this talk: must have a look. Don't get me wrong: I will put up with the performance hit of long tables well before I would ever consider one of those other tools!
- any block can be folded by pressing TAB on its header line
- I have manage about 200+ students evaluations with multiple columns (20+) in a single org file. It is not fast, but I can't say it is worst than using Excell (or even LibreOffice's Calc). I have separate my students in multiple tables, according to their groups, and that helps.
- You can put the table under a heading, and you will be able to fold it.
- Got an answer on mastodon concerning org tables and formulas: "The documentation is not ideal", which is a little sad.
- sadly, that's true. Much experimentation is needed.
- I find the documentation for org tables quite good. It does help if you know Calc as well, however. But, of course, updates to the documentation are always welcome...
- sadly, that's true. Much experimentation is needed.
- This talk was really good in showing how to actually make some things though. Going to look up the aggregate package.
Questions and answers
- Q: Why we splitter the table like this, instead of using a giant
master table?
- A: Actually, some of the tables are only for me, and other are published. This is the main reason to have several tables.
- Q: Do you have some kind of school administrative system you have to
enter the grades into in addition, or is this how you present the
grades to the students? Do you use it for your own records only?
- A: Well, I use the final table (and for each practique) and export it to PDF to put the qualifications, it is not only for my own records. Also, there is a school administrative system that I need to use to publish the final score. In order to make easier to me, I export in the same order and then with the browser I put the qualifications. It is suppose to import from csv (and I could export from my org-table) for it is not always working nicely, it is a pity, because in that case, I could automatically put the qualifications.
- Q:
- A:
- Q:
- A:
- Q:
- A:
Transcript
orgtbl-aggregate
that seemed adequate for doing that.
Unfortunately, I didn't see a lot of information
about how to do that in a painless way.
So, I have to learn, training and testing,
and then prepare these tools to solve that problem
and to help other teachers.
Anyway, it could be used not only for teaching
but for more contexts.
:cond
.
I'm going to put first to see it better,
I'm going to put a condition
in which we aggregate less than a half, 5,
and I have to use a string-to-number
total.
In that way, I can see that this is the student
that has failed the exam,
I could use that to make another table,
this is the people that passed the exam.
^
),
and you can put next to the column you want
to use for the sort, and then you can put
a
if you want to sort alphabetically,
in uppercase if you want to reverse the sort,
and n
if you want to sort numerically.
For instance, I can put that
from the lesser score to the best score,
or here from the best score to the lesser score.
And this sort is completely independent
to the sort of the original table.
statistics_score
, begin: aggregate :table "final"
.
In this case, I'm going to use not the original table,
but a final, I'm going to put final_group
,
final_p1
, final_p2
, ok?
And as :cols
, I'm going to put directly
how many results I have, I put number,
I'm going to put also the mean.
You can see that mean total is not working
because I'm using this table and I renamed,
the column name was renamed,
so it's mean(Score)
, mean,
and then the score. You can obtain stdiv
-- sdev
,
sorry, there was an error about that,
and two decimal,
and that is another interesting score.
org-id-get-create
),
then we have a previous result,
and I have a final table.
The final table could be complicated,
but it's not so much complicated, it's only that,
I'm going to put something that the formula wants.
The formula is to make
an org-lookup-first
of the second name,
considering that it's unique,
remote
of the surname,
and let's say another remote
of the $3
element,
ok, that's an error because I don't put yet the ID,
so I'm going to copy -- mark and copy --
and paste the unique ID generated,
I'm going to put that... I think there is missing one.
Finally. Okay, that's right.
So imagine that I change something here, for instance,
I put... I change that,
actually, this is changed also, and this is changed.
This is a good way to divide the classification
in several files, one for the practice 1,
one for the practice 2, and one final practice
that I can finally export in a final table.
Of course you can make it a lot more pretty,
but this is all I want to show you.
I hope with this talk
you have learned a lot more about Org formula,
[orgtbl-aggregate] package,
and how you can use all this techniques
to improve your qualification of a student,
or for whatever you want.
Captioner: danielmolina
Questions or comments? Please e-mail dmolina@mailbox.org