diff options
Diffstat (limited to '')
-rw-r--r-- | 2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt | 649 |
1 files changed, 649 insertions, 0 deletions
diff --git a/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt b/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt new file mode 100644 index 00000000..c2a49049 --- /dev/null +++ b/2023/captions/emacsconf-2023-table--who-needs-excel-managing-your-students-qualifications-with-orgtable--daniel-molina--main.vtt @@ -0,0 +1,649 @@ +WEBVTT captioned by daniel molina, checked by sachac + +NOTE Introduction + +00:00:01.360 --> 00:00:03.079 +Welcome everybody. My name is Daniel Molina + +00:00:03.080 --> 00:00:05.060 +and I'm going to give this talk + +00:00:05.061 --> 00:00:08.063 +"Who needs Excel? Managing your students' qualifications + +00:00:08.064 --> 00:00:08.959 +with Org-table". + +00:00:08.960 --> 00:00:10.559 +I'm a professor. I work every day. + +00:00:10.560 --> 00:00:12.519 +I have to qualify my students. + +00:00:12.520 --> 00:00:15.079 +While most would consider normal in this situation, + +00:00:15.080 --> 00:00:17.719 +would be to use Excel or LibreOffice + +00:00:17.720 --> 00:00:18.599 +for doing that. + +00:00:18.600 --> 00:00:21.179 +However, I think that approaching it from Emacs + +00:00:21.180 --> 00:00:24.479 +has several interesting advantages. + +00:00:24.480 --> 00:00:27.659 +First, I would like to write the qualification + +00:00:27.660 --> 00:00:33.599 +next to the justification, next to the student error, + +00:00:33.600 --> 00:00:36.639 +and in the Excel format, it's not comfortable to do that. + +00:00:36.640 --> 00:00:38.839 +Actually, I always prefer to write in Emacs + +00:00:38.840 --> 00:00:42.719 +for many reasons, as many of you. + +00:00:42.720 --> 00:00:46.679 +Also, I love text format because I can compare versions + +00:00:46.680 --> 00:00:50.279 +using a control version system like Git and easily change. + +00:00:50.280 --> 00:00:52.759 +This is very useful for the revision period + +00:00:52.760 --> 00:00:55.479 +in which a student visits me + +00:00:55.480 --> 00:01:01.039 +and maybe I can change the qualification for any reason. + +00:01:01.040 --> 00:01:03.439 +I also can export the results directly to PDF + +00:01:03.440 --> 00:01:08.679 +to publish them in my online campus for the student. + +00:01:08.680 --> 00:01:11.359 +I have many tools for doing that. + +00:01:11.360 --> 00:01:13.199 +I already knew about Org-table formula. + +00:01:13.200 --> 00:01:15.199 +I thought it was very cool and useful + +00:01:15.200 --> 00:01:16.159 +to use Emacs for that, + +00:01:16.160 --> 00:01:19.239 +and I have actually found a package `orgtbl-aggregate` + +00:01:19.240 --> 00:01:22.859 +that seemed adequate for doing that. + +00:01:22.860 --> 00:01:26.319 +Unfortunately, I didn't see a lot of information + +00:01:26.320 --> 00:01:29.159 +about how to do that in a painless way. + +00:01:29.160 --> 00:01:31.759 +So, I have to learn, training and testing, + +00:01:31.760 --> 00:01:34.999 +and then prepare these tools to solve that problem + +00:01:35.000 --> 00:01:36.639 +and to help other teachers. + +00:01:36.640 --> 00:01:39.959 +Anyway, it could be used not only for teaching + +00:01:39.960 --> 00:01:41.959 +but for more contexts. + +NOTE Demonstration + +00:01:41.960 --> 00:01:44.799 +Well, let's start. + +00:01:44.800 --> 00:01:46.459 +First, I have two sections, + +00:01:46.460 --> 00:01:53.399 +the comments and the section of the table, or results. + +00:01:53.400 --> 00:01:56.479 +I have... The comment for each student + +00:01:56.480 --> 00:01:57.559 +is in a different headline. + +00:01:57.560 --> 00:02:05.439 +It's very useful to check with a note. + +00:02:05.440 --> 00:02:10.159 +I can go directly using your helm or ivy + +00:02:10.160 --> 00:02:12.999 +or consult to go directly to the section. + +00:02:13.000 --> 00:02:14.559 +So it's very nice. + +00:02:14.560 --> 00:02:22.879 +Then I put the comment, right, completely wrong, + +00:02:22.880 --> 00:02:30.599 +it answers other questions. + +00:02:30.600 --> 00:02:35.839 +I put other comments here that I could send to the student, + +00:02:35.840 --> 00:02:37.480 +you can imagine, and then + +00:02:37.481 --> 00:02:40.159 +I can put the qualification, the score for each student. + +00:02:40.160 --> 00:02:43.159 +The thing with that is, initially, + +00:02:43.160 --> 00:02:46.219 +when I started doing that, I put, I don't know, + +00:02:46.220 --> 00:02:50.719 +the exception and a qualification with that. + +00:02:50.720 --> 00:02:55.679 +Okay, that's one point, this a three, + +00:02:55.680 --> 00:03:06.679 +and use a column total with something like that. + +00:03:06.680 --> 00:03:08.319 +Okay, that's nice. + +NOTE Range + +00:03:08.320 --> 00:03:11.639 +But then, when I started getting more and more parts, + +00:03:11.640 --> 00:03:17.081 +I considered it more useful to use, + +00:03:17.082 --> 00:03:20.699 +to put for each part, + +00:03:20.700 --> 00:03:20.700 +which is the maximum qualification, + +00:03:20.300 --> 00:03:22.919 +on the range of the qualification. + +00:03:22.920 --> 00:03:25.559 +In that case, I'm going to put, + +00:03:25.560 --> 00:03:28.679 +the first one is two scores, the second three points, + +00:03:28.680 --> 00:03:34.999 +the third one is one point, and the last one, four points. + +00:03:35.000 --> 00:03:37.799 +And instead of putting that in that way, + +00:03:37.800 --> 00:03:41.027 +I like to put one is completely right, + +00:03:41.028 --> 00:03:47.319 +zero is completely wrong, or maybe some intermediate values for that. + +00:03:47.320 --> 00:03:50.999 +Of course, I have to change the qualification, + +00:03:51.000 --> 00:03:54.439 +the formula, so it's very simple. + +00:03:54.440 --> 00:03:56.479 +I only have to put, + +00:03:56.480 --> 00:04:08.299 +multiply the values of the second line with that. + +00:04:08.300 --> 00:04:11.899 +So, it's very useful for doing that. + +NOTE More qualifications + +00:04:11.900 --> 00:04:16.639 +Okay, that's the first part, so I can put the comment, + +00:04:16.640 --> 00:04:19.959 +I can go to the section, I can create... + +00:04:19.960 --> 00:04:24.919 +I'm going to put more qualifications. + +00:04:24.920 --> 00:04:27.639 +Now I'm going to put the table. + +00:04:27.640 --> 00:04:30.459 +First I'm going to change, rename the column name, + +00:04:30.460 --> 00:04:39.039 +because it's easier when there is only one word. + +00:04:39.040 --> 00:04:47.159 +And it's very simple to use. You only have to put + +00:04:47.160 --> 00:04:51.439 +the name, aggregate, the name of the table, + +00:04:51.440 --> 00:04:54.659 +in that case group A, + +00:04:54.660 --> 00:04:57.199 +and in another string, the columns. + +00:04:57.200 --> 00:05:03.799 +For instance, name, surname, total. + +00:05:03.800 --> 00:05:07.439 +And you can see that you can get a lesson list + +00:05:07.440 --> 00:05:09.119 +with all the students, + +00:05:09.120 --> 00:05:16.759 +but only with the final score to publish them. + +00:05:16.760 --> 00:05:17.679 +Okay? + +00:05:17.680 --> 00:05:20.679 +Even you can update the name of the column, + +00:05:20.680 --> 00:05:21.800 +not in the original table, + +00:05:21.801 --> 00:05:29.559 +but in the lesson table using that format. + +00:05:29.560 --> 00:05:32.099 +Okay? + +00:05:32.100 --> 00:05:34.239 +That is a good option. + +NOTE Subsets + +00:05:34.240 --> 00:05:38.499 +Now we are going to see how can we use that + +00:05:38.500 --> 00:05:44.359 +to make a subset of the students. + +00:05:44.360 --> 00:05:47.839 +For instance, imagine, this is me, + +00:05:47.840 --> 00:05:54.799 +I'm going to put the bad, I change, now I can update, + +00:05:54.800 --> 00:06:02.759 +you can see this, but also I'm going to put a list + +00:06:02.760 --> 00:06:10.960 +with the students that have failed the exam. + +00:06:10.961 --> 00:06:21.259 +It's simple, because this package has the option `:cond`. + +00:06:21.260 --> 00:06:26.199 +I'm going to put first to see it better, + +00:06:26.200 --> 00:06:28.599 +I'm going to put a condition + +00:06:28.600 --> 00:06:37.519 +in which we aggregate less than a half, 5, + +00:06:37.520 --> 00:06:44.179 +and I have to use a `string-to-number` total. + +00:06:44.180 --> 00:06:47.259 +In that way, I can see that this is the student + +00:06:47.260 --> 00:06:48.839 +that has failed the exam, + +00:06:48.840 --> 00:06:54.079 +I could use that to make another table, + +00:06:54.080 --> 00:07:08.299 +this is the people that passed the exam. + +NOTE Sorting + +00:07:08.300 --> 00:07:10.980 +Another interesting feature is that + +00:07:10.981 --> 00:07:15.620 +I can... the lesson table can be sorted automatically. + +00:07:15.621 --> 00:07:20.100 +It's simple. You only have to put this symbol (`^`), + +00:07:20.101 --> 00:07:23.360 +and you can put next to the column you want + +00:07:23.361 --> 00:07:26.999 +to use for the sort, and then you can put + +00:07:27.000 --> 00:07:30.679 +`a` if you want to sort alphabetically, + +00:07:30.680 --> 00:07:33.879 +in uppercase if you want to reverse the sort, + +00:07:33.880 --> 00:07:38.919 +and `n` if you want to sort numerically. + +00:07:38.920 --> 00:07:40.759 +For instance, I can put that + +00:07:40.760 --> 00:07:43.959 +from the lesser score to the best score, + +00:07:43.960 --> 00:07:46.639 +or here from the best score to the lesser score. + +00:07:46.640 --> 00:07:48.960 +And this sort is completely independent + +00:07:48.961 --> 00:07:51.640 +to the sort of the original table. + +NOTE New table + +00:07:51.641 --> 00:07:54.520 +Now I'm going to do another different thing, + +00:07:54.521 --> 00:08:02.799 +we are going to put a new table, + +00:08:02.800 --> 00:08:07.559 +I'm going to put a new table + +00:08:07.560 --> 00:08:09.639 +in which I'm going to put + +00:08:09.640 --> 00:08:14.319 +the number of passed students, failed students + +00:08:14.320 --> 00:08:16.519 +and the ratio of students. It's simple. + +00:08:16.520 --> 00:08:26.559 +I'm going to put the pass, in that case, as column, + +00:08:26.560 --> 00:08:32.919 +I can put the count, of course, I can put the count, + +00:08:32.920 --> 00:08:35.799 +the number of students + +00:08:35.800 --> 00:08:42.079 +that have passed, so I'm going to put in that way, ok? + +00:08:42.080 --> 00:08:58.479 +I'm going to put pass, count, failed, ratio. + +00:08:58.480 --> 00:08:59.739 +You can see, ok? + +00:08:59.740 --> 00:09:01.859 +But this only the count, + +00:09:01.860 --> 00:09:04.519 +you are going to put the number wrong. + +00:09:04.520 --> 00:09:08.359 +So, it's true, but you can actually put formula here. + +00:09:08.360 --> 00:09:10.079 +For instance, you can say, + +00:09:10.080 --> 00:09:12.399 +I know that I have 3 students, + +00:09:12.400 --> 00:09:18.799 +so the number of failed is 3 minus the passed student. + +00:09:18.800 --> 00:09:24.959 +And also, I can put the formula, is the people, + +00:09:24.960 --> 00:09:27.719 +the students that passed, + +00:09:27.720 --> 00:09:36.079 +divide into the number total of students, ok? + +00:09:36.080 --> 00:09:41.379 +Let's go to put that in that way, + +00:09:41.380 --> 00:09:44.399 +is the people that passed, it is better in that way, + +00:09:44.400 --> 00:09:48.359 +and also I can put directly the number of, + +00:09:48.360 --> 00:09:50.919 +the ratio of students. + +00:09:50.920 --> 00:09:55.739 +So, in that way, I can have a table + +00:09:55.740 --> 00:09:57.519 +with the students that passed, + +00:09:57.520 --> 00:09:58.559 +the students that failed + +00:09:58.560 --> 00:10:01.279 +and the ratio of people that passed. + +NOTE Statistics + +00:10:01.280 --> 00:10:04.819 +Sometimes this type of qualification will be useful for me, + +00:10:04.820 --> 00:10:08.079 +to see how much has been the sound, + +00:10:08.080 --> 00:10:12.239 +how much good has been the exercise. + +00:10:12.240 --> 00:10:14.879 +Now, I'm going to put a new table. + +00:10:14.880 --> 00:10:22.421 +This new table is going to go some statistics, + +00:10:22.422 --> 00:10:32.379 +`statistics_score`, `begin: aggregate :table "final"`. + +00:10:32.380 --> 00:10:43.919 +In this case, I'm going to use not the original table, + +00:10:43.920 --> 00:10:54.019 +but a final, I'm going to put `final_group`, + +00:10:54.020 --> 00:11:01.399 +`final_p1`, `final_p2`, ok? + +00:11:01.400 --> 00:11:06.119 +And as `:cols`, I'm going to put directly + +00:11:06.120 --> 00:11:13.579 +how many results I have, I put number, + +00:11:13.580 --> 00:11:19.199 +I'm going to put also the mean. + +00:11:19.200 --> 00:11:21.400 +You can see that mean total is not working + +00:11:21.401 --> 00:11:24.519 +because I'm using this table and I renamed, + +00:11:24.520 --> 00:11:26.079 +the column name was renamed, + +00:11:26.080 --> 00:11:36.679 +so it's `mean(Score)`, mean, + +00:11:36.680 --> 00:12:05.919 +and then the score. You can obtain `stdiv` -- `sdev`, + +00:12:05.920 --> 00:12:08.959 +sorry, there was an error about that, + +00:12:08.960 --> 00:12:12.639 +and two decimal, + +00:12:12.640 --> 00:12:17.799 +and that is another interesting score. + +NOTE Combining + +00:12:17.800 --> 00:12:23.239 +Now, I'm going to finish showing how we can use. + +00:12:23.240 --> 00:12:25.839 +To finish it, we are going to see + +00:12:25.840 --> 00:12:28.299 +how we can combine several tables + +00:12:28.300 --> 00:12:32.479 +or even an aggregated table in a new table. + +00:12:32.480 --> 00:12:36.259 +For instance, you can have a table for the practice 1, + +00:12:36.260 --> 00:12:38.199 +you can have a table for the practice 2, + +00:12:38.200 --> 00:12:40.359 +so I'm going to do that. + +00:12:40.360 --> 00:12:48.180 +I'm going to move this table. You can copy or remove, + +00:12:48.181 --> 00:12:49.759 +doesn't matter the order, + +00:12:49.760 --> 00:12:59.519 +I'm going to put this to identify the result of practice 2, + +00:12:59.520 --> 00:13:03.321 +Org create an ID (`org-id-get-create`), + +00:13:03.322 --> 00:13:07.479 +then we have a previous result, + +00:13:07.480 --> 00:13:10.199 +and I have a final table. + +00:13:10.200 --> 00:13:11.839 +The final table could be complicated, + +00:13:11.840 --> 00:13:17.439 +but it's not so much complicated, it's only that, + +00:13:17.440 --> 00:13:21.959 +I'm going to put something that the formula wants. + +00:13:21.960 --> 00:13:26.588 +The formula is to make + +00:13:26.589 --> 00:13:34.400 +an `org-lookup-first` of the second name, + +00:13:34.401 --> 00:13:41.540 +considering that it's unique, + +00:13:41.541 --> 00:13:53.439 +`remote` of the surname, + +00:13:53.440 --> 00:14:05.559 +and let's say another `remote` of the `$3` element, + +00:14:05.560 --> 00:14:15.119 +ok, that's an error because I don't put yet the ID, + +00:14:15.120 --> 00:14:19.759 +so I'm going to copy -- mark and copy -- + +00:14:19.760 --> 00:14:28.519 +and paste the unique ID generated, + +00:14:28.520 --> 00:14:38.519 +I'm going to put that... I think there is missing one. + +00:14:38.520 --> 00:14:43.399 +Finally. Okay, that's right. + +00:14:43.400 --> 00:14:49.579 +So imagine that I change something here, for instance, + +00:14:49.580 --> 00:14:56.700 +I put... I change that, + +00:14:56.701 --> 00:15:02.199 +actually, this is changed also, and this is changed. + +00:15:02.200 --> 00:15:08.599 +This is a good way to divide the classification + +00:15:08.600 --> 00:15:10.200 +in several files, one for the practice 1, + +00:15:10.201 --> 00:15:15.039 +one for the practice 2, and one final practice + +00:15:15.040 --> 00:15:27.639 +that I can finally export in a final table. + +00:15:27.640 --> 00:15:31.119 +Of course you can make it a lot more pretty, + +00:15:31.120 --> 00:15:33.359 +but this is all I want to show you. + +00:15:33.360 --> 00:15:34.799 +I hope with this talk + +00:15:34.800 --> 00:15:37.679 +you have learned a lot more about Org formula, + +00:15:37.680 --> 00:15:39.688 +[orgtbl-aggregate] package, + +00:15:39.689 --> 00:15:42.279 +and how you can use all this techniques + +00:15:42.280 --> 00:15:45.599 +to improve your qualification of a student, + +00:15:45.600 --> 00:15:50.480 +or for whatever you want. |