Teaching computer and data science with literate programming tools
Marcus Birkenkrahe - Faculty website https://www.lyon.edu/marcus-birkenkrahe - LinkedIn https://www.linkedin.com/in/birkenkrahe - Twitter (X) https://twitter.com/birkenkrahe - Researchgate.net https://www.researchgate.net/profile/Marcus-Birkenkrahe - Google Scholar https://scholar.google.com/citations?user=Vvnwsv0AAAAJ&hl=en - ORCID https://orcid.org/my-orcid?orcid=0000-0001-9461-8474 - Wikipedia https://en.wikipedia.org/wiki/Marcus_Birkenkrahe, birkenkrahe@lyon.edu
Format: 20-min talk ; Q&A: BigBlueButton conference room
Status: TO_INDEX_QA
Talk
Duration: 19:27 minutes00:00.000 Introduction 00:54.160 My interest in this topic 02:08.040 What is data science? 03:47.640 Computer science is a craft 04:52.840 The problem 05:36.560 The solution: Emacs + Org-mode 06:24.120 Emacs configuration file 07:30.360 Story + code = source + documentation 08:22.040 What is literate programming? 09:59.880 Emacs as a literate programming tool 11:18.960 Case study: basic setup 12:11.280 Emacs + Org-mode notebooks 12:45.800 Onboarding: simplified Emacs tutorial 13:40.840 Instruction + interaction 14:48.720 Assignments + projects 16:15.280 Overall results positive 18:19.800 Conclusion & outlook
Q&A
Description
Help wanted: Q&A could be indexed with chapter markers
The Q&A session for this talk does not have chapter markers yet. Would you like to help? See help with chapter markers for more details. You can use the vidid="teaching-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to emacsconf-submit@gnu.org.
(If you want to work on this and you think it might take you a while, you can reserve this task by editing the page and adding volunteer="your-name date" or by e-mailing emacsconf-submit@gnu.org.)
I present a case study on using Emacs and Org-mode for literate programming in undergraduate computer and data science courses. Use of Emacs was obligatory in courses covering R, Python, C/C++, SQL, and more. Onboarding relied on simplified Emacs tutorials and starter configurations. Sessions involved live coding, and assignments and projects required Org-mode notebooks. I will present the setup, the results, and provide insight into my ongoing work with Emacs in the classroom. Especially in AI-assisted teaching, literate programming tools will become even more important, and Emacs and Org-mode will have a new role to play. Most importantly, using Emacs consistently for all classwork imparts deep infrastructure and computing knowledge that other tools often obfuscate.
- Outline (tentative):
- Introduction to the speaker and the case study
- Teaching computer and data science today
- The rationale for using Emacs as an IDE
- The rationale for using Org-mode for literate programming
- Case study: purpose, content, technology, results
- Challenges and lessons learnt
- Literate programming in the age of low code and AI
- Conclusions and outlook
About the speaker:
Associate Professor of Computer and Data Science at Lyon College in Batesville, AR. He joined the Lyon faculty in 2021, on leave of absence from the Berlin School of Economics and Law. He earned a PhD in theoretical physics (lattice gauge theory). He has published widely in different areas, including: neural nets, multigrid applications, knowledge management, e-learning, literate programming, process modeling, and data science. He is associate editor of the International Journal of Data Science, editorial board member of the International Journal of Big Data Management, and corresponding member of the Institute for Data-Driven Digital Transformation (d-cube) in Berlin, Germany. Emacs user since ca. 1990.
This talk is based on a recent publication with the same title (Birkenkrahe, 2023; doi.org/10.3390/digital3030015).
Discussion
Feedback
- at my company new helpdesk analysts seem to suffer from the same symptoms of not fully understanding comp architecture. I guess i will have to teach them emacs...
- Very interesting talk, thank you!
- Great talk, thanks.
- Well done!
- Very important point to teach CS: immersion. Nothing better than emacs for that.
- Emacs is great for beginners (on CS): it makes them think programatically on their environment.
Notes
- https://www.mdpi.com/2673-6470/3/3/15
- Data Science: intersection of math, comp sci, domain knowledge
- I like the idea you use this method to write every piece of your code. It's so easy for me to just ask llm a piece of code, run it and forget about it. I will try to improve this type of way to write code.
- Students were able to use Emacs competently with 1 week (did I hear
that right?) of practice
- This is quit counter-intuitive.
- I picked up Emacs 3 years ago, and through immersion was up to previous competency parity in about a week or so.
- Org Remark allows you to highlight in org mode documents, If you pair that with org web tools you can highliht an offline web page backup with highlights in org mode
- CRDT.el -- allows multiple people with their own emacs config to edit a hosted Emacs buffer
- Just use one of the Emacs chatgpt or other LLM interfaces instead of leaving for Jupyter notebooks.
- "The AI advantage [of Jupyter notebooks] does not make up for the loss of immersion that Emacs and Org-Mode provides. [Immersion is a important]"
Questions and answers
- Q: What tool(s) do you use for making your slides; they are very
nice. Would be great to get a template.
- A: org-reveal
- Q: Why MDPI?
- A:
- Q: Do you think immersion can be achieve on teaching other students
with differnet backgrounds?
- A:
- yeh, exactly, kinda risky for young teacher.
- Actually, may depend on the uni. AFAIK, MIT style they promote is full of workshops/handson classes with more limited lectures.
- yeh, exactly, kinda risky for young teacher.
- A:
- Q: Do some of your students nag you about using VSCode? I teach
simple programming at a vocational school and even after showing the
students vim, Emacs and nano and telling them that I prefer Emacs
and also showing them code inside code blocks in Org mode and using
Emacs in every class I teach, they still all chose VSCode as their
editor. (I let them choose.) It seems like they are brainwashed
somehow... Is the success in the obligatory use of Emacs?
- A: I observe the same behavior
- "The arguments from beginners for VS Code aren't strong"; appreciate the fact that immersion is the goal and the constraints of Emacs as required pushes towards immersion. (Thank you for your answer!)
- Having more tutorials on Emacs/Org mode would be most welcome
(yantar92 aka Org contributor)
- If you make more videos, share them on [https://orgmode.org/worg/]{.underline}
- A: I observe the same behavior
- Q: I'm curious about your approach to handling EDA, particularly
with wide datasets that have numerous columns. Given the constraints
of Emacs which might not be optimal for viewing large tables, could
you share how you navigate and explore such datasets efficiently? Do
you integrate any specific Emacs tools or external methods to
streamline this process?
- A:
- I know that John Kitchin is working with remote DFT calculations - Tbs of data to visualize.
- Q: Do you have a startup emacs configuration for your students?
- A:
- Q: (from chat) Fantastic talk, thank you. I realise that it will be difficult to provide an accurate answer, but what proportion of your students do you think will keep on using Emacs after your courses?
Transcript
Captioner: sachac
Q&A transcript (unedited)
So, things are still a bit rusty, but believe me, by the end of the morning, we will be well-oiled machinery. So, hi Marcus, how are you doing? forgotten, but you started your presentation with the, in a very dark room and with this typical note of dry German humor that I particularly liked. so any sense of humour is the result of very hard work. is evident in this particular remark. So as we did before and perhaps this time more punctiliously, terrible adverb, that's why I'm an English major we will be taking questions first from the pad and then we'll be moving on to people in the BBV room. Let me just check if we have some people. We do have some people. All right, so Markus, I'm gonna ask you the questions in the pad unless you have something to remark first. remark. I mean, only that we're coming to the end of the term here, and I think in the paper that I wrote, I expressed doubt that Emacs was good for beginners, but I've now gone back to an interactive notebook in the class without Emacs, and I've just missed it terribly the whole term. And I think I saw you walk too, so that's kind of interesting. That's it. let's get started with the questions because I'm a little worried that we might acquire debt because of the time that we have. And just to be clear, so that you also know the time at which we're supposed to be finishing, the next talk here on this track is supposed to be at 10.40, which is in 13 minutes from now. All right, with that said, starting with the first questions. What tools do you use for making your slides? They are very nice and I concur. OrgReveal? OrgReveal. I don't have the link right now, but it's an org mode package where You create some meta information and I think it's basically JavaScript, JavaScript package that will work from a bunch of different platforms, but it works particularly well from Emacs. So you use that a lot. interacting with JavaScript in the background and it makes for a very clean presentation right from Emacs. I mean, it's not opened in Emacs unless you use a web browser in Emacs that supports such compositing but it's pretty convenient and I recommend looking into it. So if anybody's interested. right now. So obviously right now, Marcus is writing inside of his own Emacs, but we also have the pad. We'll make sure that you have all the links accessible a little bit later. Okay, moving on to the next question, why MDPI? answer, kind of boring I suppose. So when I came here to the US, I used to teach a lot of graduate courses and I had to suddenly teach a lot of undergraduate courses, which partly motivated this move because it made me realize, as I said in the presentation, how little the students understand of the underlying infrastructure and how important it is for them to work with an IDE that doesn't make coding especially convenient, but that teaches them a lot of the stuff on the side, you know, while still presenting a very smooth environment, which developers appreciate as well. So I came here and I used to publish like 4 or 5 research papers per year, but I didn't have the time. So I was contacted by MDPI. And it's 1 of those research paper mills, which seem to be springing up where authors can, really the institutions of the authors have to pay so that they can publish, right? So it's not really, and I checked them out and they seem to be proper peer review publishing, but to be absolutely sure I said, well, you can have my article, but of course for free, I'm not going to pay for you to publish it. And so that's what they did. They invited me and I submitted the paper and it was a very good process. That was a very, it was a good peer review critique. So I changed the paper quite a bit. It's still not a great paper. It's just a small case study. That's the kind of thing that you have a lot in medical research where also people don't have a lot of time to do research, proper research, which takes a very long time. And so that's why MDPI. And they are in the most of the relevant citation indices. So they are reputable enough. I mean, normally I would say for anybody who does anything like this, you might not even want to bother with the journal these days anymore. You just go straight to ArcSci, put out your preprint. And in fact, what will happen if you're on ArcSci, if somebody finds it interesting, they're going to reach out to you to capture your paper and have it published under their heading. Oh yeah, actually the other reason why I wanted MDPI is because there were open access from the start. And I really like, if you go to the paper, I really like the way it's presented. So I looked at a few papers and I thought it's a really nice online access, online open access solution. That's the long answer, sorry. many details so it was far from a boring answer, let me reassure you. Moving on to the question, we only have about 8 minutes left so I'd like to finish those 2 questions and let people in the audience speak. So do you think immersion can be achieved on teaching other students with different backgrounds? I had actually a discussion last night with my wife in bed about this, about the use of textbooks which are famously non-immersive because they're consumed away from the class. Very rarely you sit in class like people used to do and read something together. Maybe they did that in English. And that is of course instantly immersive. But in computer science, many other topics, psychology, you know, biology and so on, you cannot get immersion, at least not in a lecture theater. You get it in a lab because people solve the problem and then they're immersed in it. So, but my answer would be, yes, I can think totally immersion can be achieved anywhere, but what you have to do is you have to not lecture and you have to let students do work as you go along. So I used to lecture quite a bit because I was an insecure young professor and just read all my slides and my notes as I used to use, as everybody uses to when they start. But as I went along, I realized, you know, I've got such a grasp of the topic that I really everything I do now is prepared in Emacs in an interactive way so I start saying a few words and then the students immediately we get to work and they seem to love that because in most of the other classes people just talk at them they take their stuff home and work at home, which is of course is super. But most of the students, if they have, in at least in a liberal arts college, they have 5 other classes, they do not take a lot of time to do the work at home. So it's, you know, yeah, It's kind of different. It's kind of risky, yeah, but the main point I was trying to make is Emacs and Org Mode really helped me to boil that interactive session down to something that will work in the classroom. I don't have to jump around between platforms. For example, this term, and I didn't use Emacs in the class with the students, I had to render using a package. It's actually a very nice package called, what's it called? Ox, what's it called? Ox, Ox IPNB. It's called Ox IPNB. So what it does is it renders in the usual way with Emacs, Org Mode does, renders interactive notebook files in Jupyter. And that took me a lot of time. And I immediately noticed as soon as the teacher has to fight platforms themselves, they take the ball off the immersion task, you know, to keep the student on the problem. Yeah. I was going to remark that. I suppose it might be MIT style. Big difference though, my classes are very, very short, small. So I have like between 10 and 15 students per class. 1 of the reasons why I went to this college is because I was fed up teaching, trying to teach hundreds of students. Okay, sorry, do some of your students nag you about using VS Code? Yes, they do, but their arguments aren't very good. They hadn't really compared Emacs and VS Code. And what I do, actually I use RStudio as well, demonstrate VS Code, RStudio and Emacs. And I think it's very easy for them to see. And there are some videos about that as well, how much easier it is to get into Emacs to limit your investments to what you actually wanna do. When the problem with VS Code is it comes at you with this sort of Microsoft store ideology, like a gazillion plugins, which if you're a developer, you know what you want. And I mean, it's a bit like VS Code is like Google search for as if you were programming in Google search, a complete waste of time. Having said that, I've also seen some videos with people who really know how to use VS Code. And of course, you know, if somebody gets on the inside of a tool and spends upwards of a thousand hours in the tool, they'll be great. But that's not true for beginners. So hold on, there's another 1. I'm reading them, sorry. Leo, I can see the questions, but you may wanna turn them around. you're free to read them. I'm on your fasted computer. I teach simple programming at a vocational school, and even after showing the students Vim, Vim, of course, is a contender, and now I'm telling them I prefer Emacs. They still all choose VS Code as their editor. Well, okay, what I did is mandatory. I didn't let them choose. That's what I did. And I thought that was quite risky, but in the end, it turns out that the best students loved it and keep using Emacs in their jobs. I hear that now. The students in the middle were probably the ones who would pick VS Code because every tutorial they see, they learn a lot through YouTube and so everything they see is in VS Code. If there were more tutorials in Emacs, I'm trying to make some, then of course that would be different. But I think it's partly brainwashing and partly, of course, the other reason is there is no online Emacs. They use VS Code Dev, right? And that's, of course, they use an online cloud solution. Like most of the students in the high school, I teach Python in the high school right now, and the students only get Chromebooks that are completely cut down to nothing. They cannot have Linux on their Chromebooks. So what are they supposed to do? Their only choice really is Repl. Repl.com is a possibility for them to do that. But, you know, or they use code spaces, which is VS Code in GitHub. We only have about 2 minutes left. So if you could take 1 question, that would be great. Sorry. Any more tutorials will be most welcome. Yes, I I'd love to. I spent the rest of my days on this earth making Emacs tutorials if Approach to handling EDA. Oh yeah, with white data sets. Well, that's a good point. I don't know, if you look at the comments, I think these are on YouTube, right, at some point, Leo? they will definitely be on YouTube. answer the EDA, that's too long to go into right now, plus my cat is here. So I'm going to answer that in the comments, all right? Start up the conversation. Yes, I'm going to post that in the comments as well. Marcus, you're going to continue the discussion. It's just a stream that will be moving on to the next talk in about 50 seconds. Marcus, feel free to keep answering questions inside this room. You also have people, we're going to check aside with the stream, we have a number of people in the room. You can see them on the left on the button who are probably going to unmute themselves and ask you questions. So feel free to stay in the room, answer as lengthy as you want the questions because that's more content for us and we love it obviously. But it's just that I personally will be leaving to take care of the rest of the talks. So, Markus, do you have any last words before we move on? I'm going to copy this. I don't think I listened to the talk by Sascha yet, but I'm going to do that because I really want to copy this conference format. I think that is the conference format of the future, using volunteers to put together conferences. So I can't wait. Nobody wants to come to Batesville where I am, but thank you so much. That was really super professional. I love that. I think we caught up about 1 or 2 seconds into the last sentence you said but otherwise we were splendidly on time. So thank you so much Marcus. bit about that question about handling EDA. Because people have started asking questions on the left. Can you see the chat? that. Yeah, that's fine. So Marcus, have a great day and I'll probably see you later. Bye bye. There was a question about the, I wanted to ask the answer the question about EDA, large data sets. So, I mean, I teach undergraduate now, so there's a limited number of courses, like where I use, actually have big data issues. And I mean I'm not saying that I'm not that I don't run into performance issues with Emacs. I obviously do. But like the performance issues in Emacs are comparable to performance issues for example when using R. In R everything is in memory So you are limited to the available, what is it, 2 gigabyte or whatever memory of your computer. So you would have to find other infrastructure solutions anyway. The advantage of using Emacs is that I can, within 1 Org Mode file, connect to an external database. I can even, as probably most of you know, I can even use it as a text-based web browser if I want to. So I could look at individual files. And the other point of EDA of course is that you're not supposed to look at the tables. You're supposed to get the basic frame of your data. Is there a header? What's the approximate size and stuff like that? And then you're supposed to import it into a data frame ideally, at least in portions. And I don't think, yeah, so that's it. But the full answer is that I have not done big data analysis in Emacs. So that's actually a really nice extension. I'm going to write that down as a thing to talk about in some future talk. Okay, so ADA with big data. Even though interesting would be to know what kind of size of data you're actually talking about. So I don't know, what is it, upwards of 1 terabyte or something like that, I don't know. That'd be interesting to know. Haven't done that in class. So there's another question. Proportion of students that you think would keep on using Emacs after your course? That's not a difficult question, because as I said, I have very small classes. I've been here since 2 years. So I'm in touch with almost all the students. In fact, I'm getting them work after school. So that's really cool. And everybody who took to Emacs really seriously, so probably about 25% or so keep using Emacs after, afterwards. I mean, even in the job, right, in the professional field. Who, those who keep using Emacs after the course, I think the number is greater, but I have not followed up on that. I have to, my guess is more than half, I would say, half or more than half. Oh, Aaron, thank you so much. That's very sweet. But I didn't think the presentation was great. I was thinking about redoing it, but this is actually the first take. It was late, I had lots of other stuff to do. I think what I'm more interested in than papers is probably this idea of making Emacs-based data science videos because there aren't many out there. Most of the people who do, and computer science, most people who do that are not either developers and certainly not teachers. So I think that's a good idea. I'm gonna pick that up. So to do more Remax based data science videos Is there anything else? More people. There are some people here in the room still. What? Or wiki. What's my YouTube channel? I've got a bunch of different YouTube channels. I'm going to put them in the comments to my talk. Hold on, the 1 where I have the latest Emacs videos, you find my name, there's nobody in the world with my name. So if you look for Gerten Krag on YouTube, then you will find it. But I got a bunch of them. Hold on, I'm going to give you the... My channel. Okay, This 1 has only got a few videos. But so there's 1 with a lot more. Few recent videos. And I'm going to post more. Other ones in the comments of this video. Okay, what else? I'm trying to find my way back to the button. Okay, cool. Oh, yes, thank you. I will. That's very good. Thank you so much. Of course, I use Vork. I hadn't even thought of it. Very good. It's interesting, that's something that comes to my mind. When I was a young student, right, people who used Emacs and the web wasn't particularly large. So the volunteers would automatically make videos but not for commercial purposes. Now you have an army of people who make commercial videos and the videos are usually good for the first 10% of every content, but as soon as it gets a little more difficult, they either don't know what to do anymore or they don't do it because it's not commercially viable. The number of people who move on is gets smaller and smaller and smaller. So there's no commerce anymore. But when I was a student, pretty much all the documentation everywhere was created by volunteers, just like this conference or like anything in org mode. And that doesn't seem to be much of a trend anymore, but maybe we can resurrect it. So yes, I'm definitely gonna contribute to that. Multiple people are typing here. Oh, sorry. Yes. Thank you so much. I'm gonna put that, I'm gonna rectify that in the comment. Having said that, I am not 100% sure that I didn't lie here. May just be because I didn't have much time to put the presentation together. And it's perfectly possible that that's actually Google slides and not all reveal. In the classroom when I present and just do lectures, I always do reveal, but most of the time I do a tree slide. That's the quickest way to do it for me. So, so presentation. Hold on, Let me just copy this 1. Make sure that this doesn't get lost. Thank you so much for that. And presentations in class. I use sometimes org-present, but there are issues with the font sometimes. I use Treeslide most of the time and Org this is not org, so forget about that. Okay. Yeah, so you can send me your, you've got my email, I think, on the end, if you're interested in following up or letting me know about your stuff. It might be interesting to, I don't know, might be interesting to put together a conference or a little seminar just for educators. DF is still typing, I'm waiting. I'm waiting. Bastien, was talking about possibility to have just org mod conference. But the question is, is it worth making a Actually. how EmacsConf is well done. So it's like creating anything that has good Yeah, I mean. it's anywhere, like half of Emacs is anywhere remote. So it's almost the same. I don't know if that's what you mean. Org Mode is probably what attracts people to Emacs in the first place. Like, I suppose Org Roam is the, maybe the biggest 1 for people even outside of computer science. I use Org.ROM for everything. But there are... I mean, the thresholds... I think that the maintainer or maybe the creator of Org.MODE has claimed and said for many years that Org Mode itself doesn't actually necessarily need Emacs. You can have it as a completely separate application as well. But I, for a number of reasons, I don't like that. I really like the idea to be Emacs because the configurability is 1 of the strong points anyway. No, The thing is you use the flexibility. Plus, you also use the, I don't know if that's the right word, but you use there's something about the free ideology of Emacs that is what attracted me to it in the first place when I was younger and that I find even more important now. So what they say the community aspect, the reason, the main reason why Python is so big today, really. So yeah. it's org syntax that is supposed to be like breaking out of Emacs. So like there's a plan to lay out the actual standard document so that you can register the format officially. I've not followed up on it much. I don't know what the, I mean, that probably would, it would strength, very likely, if you do that, it would at least for a short time, strengthen org mode and weaken emacs. I don't know what other examples, if there are other examples of applications pulled out of IDEs like that. I'm not aware of any others. three-seater drama. People are trying to make like some external parsers, a lot of them. And a lot of stuff is done on mobile part. I can draw it to iOS, especially recently. So things that are Emacs independent are demanded. like every time. very much. I have some of my students have 0 affinity with computers. They really don't know their way around their computers at all. And so for them, It is quite important to learn how to find your way around Emacs because it's like a little operating system, but it's not. It's an operating system without much of the obscurity. And the alternative to that would be to simply let them work only on the command line, which is another possibility. But, you know, there of course you are limited with regard to if you want to swap languages. So for example, quite often I find myself in the situation I teach data science in R and Python and in Emacs org mode I can demonstrate both of these side by side in the same file. And that's a great advantage. Not to overburden the students when they are at the beginning with things that you don't want them to necessarily learn about. And plus the thing what I like as a graduate student when I stepped onto Emacs was that it was infinite possibilities to lose myself in Emacs and you know go on and learn more stuff about it. But it's such a long time ago that I barely dare to mention it anymore. it's since the Jupyter notebooks and that Google thing they are running. It's getting so popular that it's clear that command line is just losing in popularity in Not the usage. People are still using it, obviously. only the paid version allows you to go to the terminal and use the command line. But of course, the traction, and I think that's kind of interesting, 1 of the reasons why IPython or any of the Jupyter notebooks are so cool is because you can use a lot of shell commands from the IPython shell. There's a whole bunch of magic commands which are quite powerful. I mean the the 1 that comes to mind is time. The time command for example you know gives you a really nice performance quick performance check. There's a bunch of different, I think probably close to a hundred magic commands that you can use in Jupyter. But I don't know JupyterLab too well, but I noticed that the companies that do online training, And they are usually the ones that are closest to what beginners want, especially in business. And what those companies do is they, you know, they take, they take JupyterLab and turn it into a presentation of their own. Another 1 is Notable, notable.io. That's another 1. They took JupyterLab and turned it into something commercial. It's boosted up a little bit. And so the shell inside the JupyterLab has some of the most more important shell properties. And so people still use the command line without knowing that they use the command line. But I also like doing, how do I use org-roam? Well, I use it, I do not have not used it with the students yet, only the best students have sort of seen me use it and copied it. But I use it probably in a very naive, trivial way. I can't say that I am, that I have a very sophisticated use. I basically, I like the fact that, I mean, it's built on the original concept of the, with the German word, Zettelkasten, right? Which is that you do not have to think about a taxonomy because as you move along, your taxonomy changes all the time. You know, what you think is important at the beginning, your root node, as you go along, you realize, oh, that's not the root node at all. There's a higher level and a higher level. And some of the lower levels are at the lower level, actually the higher level. So you're beginning to create hierarchies that are out of date as soon as you create the hierarchy. So what is the idea of the tittle custom is that anything that comes to your mind you can throw in the custom the box it literally means Box of notes and That's what I appreciate about it. So I create a I create a note pretty much for anything I do, but I've only used it for about a year and a half or so, or grown, maybe a year. So I can see that I'm coming up against the Zettelkasten or note box problems, which is that I've got so many notes now that unless I have clever aliases, there is a chance that I might forget that I no matter what system you use. different approach than hierarchies, right? It's the same, it's the same, it's the same principle as a relational database versus a hierarchical database. Same thing. So, yeah, and I've not used that. I've not really used, actually I have cut meta notes, of course I do. So notes that point to other notes. Yes, of course. I use those. I have not taught that part to the students because I do project work with the students, but there's only so much time. I'm already, I mean, already, I don't think there's any class that where I am able to use more than 30% of my material. And the reason is that when the students come to class, which is I pointed out in the video, they know so little. And most of the students, at least in liberal arts, spend just too little time outside of class, getting there, you know, drilling down into the, into the, into the infrastructure, into the work. Only, only the best students do that. The ones that really catch fire. project at the end? I use Scrum. Maybe I shouldn't, but I've used Scrum for many years. So I have course projects that start at the beginning and they do sprint reviews every 3 or 4 weeks. So term end projects I find completely useless because the students do the work at the very end of the term. the end, they just report at the end. I use the IMRAD method. So I use IMRAD, basically IMRAD plus, plus Scrum, right? So, So the first sprint review is introductory, the research proposal, the second 1 is about methodology, the third 1 about results, and the last 1 is their final presentation. And so that's the way I manage the projects, but that's about as much as I can do with them. It's a good idea. I hadn't even thought about using Org-ROM with them, but to teach them that might be a good idea, actually. what I found useful during my graduate is for literature review. Yes. The other part of our program that is not about your like noting down your thoughts is about writing about literature notes. And of course, I mean, there's more stuff that they should learn, you know, like another 1, since you mentioned literature, you know, latex and Bibtech is another obvious extension of that. But that is actually a good idea because the literature is what they have the hardest time papers. I had a really nice experience because 1 of our librarians, our digital librarian, came along and talked to the students, and he taught me about a tool called litmap.com, which is basically, I don't know how it's implemented, but it's basically a graph, a graph representation of papers organized by citation. It's very, very cool. And the students who used to only find, I don't know, 1 paper and otherwise, of course, 15 YouTube videos and 100 blogs, suddenly started finding and reading scientific papers. It was only because of this presentation. So you should take the, I think, I hope that is the right, that's the right mode, litmaps. Okay, it's not litmap, it's called Litmaps. I'm gonna give you an example. I don't know if I can share this, if you can look at that. But basically you create a, 1 can use 1 of your papers as a seed, and then it will create a graph, graph representation of it for you. And this is a powerful tool in itself. But what I'm saying is that the students suddenly, their use of literature and that citation goes to the roof. And I've been waiting for that for probably 15 years since I've started teaching. It's crazy. That's really cool. it's called connected papers. It's based on the open source citation data. I think. learning the topic. It's like you find 1 paper, then you look into the connections. You can quickly narrow down to the most cited, the core papers. situation, you know, and they're always at the beginning. As you go on, you develop different ways, but for these complete beginners, that's a good idea. Thank you so much for that. Okay, guys, anything else? I've enjoyed the conversation, so you should definitely, I'm going to take some of these things away. Thank you so much for that. Have you done, Yanta, have you done org mode documentations yourself on WOC? Or do you have a sort of a favorite 1? I mean, I often on walk, I often use the documentation for code blocks. I used to when I started doing that It's not part of the manual. yeah. And so I've used that a lot. mostly fixing the errors. Okay. All right. Well, thank you very much. And it's great to be at this conference. I think I'm going to get on. And for the talk, It was quite interesting to see our modules in actual teaching. German from Canada, the 1 of, I had him on 1 of the slides because he, he inspired me to do that. And, and I wouldn't be at the conference if I hadn't contacted him and said oh here's my paper and he said oh you should come to the conference and so that's why I came to the conference. Thank you very much and as they say keep in touch. You're welcome. Okay bye-bye. You're welcome. Okay, bye-bye. Take a copy of the chat before you go, if you can. Happy weekend to just bye bye. conference.Questions or comments? Please e-mail birkenkrahe@lyon.edu