summaryrefslogtreecommitdiffstats
path: root/2023
diff options
context:
space:
mode:
Diffstat (limited to '2023')
-rw-r--r--2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt53
-rw-r--r--2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt1193
-rw-r--r--2023/info/teaching-after.md394
-rw-r--r--2023/info/teaching-before.md21
4 files changed, 1660 insertions, 1 deletions
diff --git a/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt b/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt
new file mode 100644
index 00000000..6674a23c
--- /dev/null
+++ b/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt
@@ -0,0 +1,53 @@
+WEBVTT
+
+
+00:00:00.000 --> 00:00:54.159
+Introduction
+
+00:00:54.160 --> 00:02:08.039
+My interest in this topic
+
+00:02:08.040 --> 00:03:47.639
+What is data science?
+
+00:03:47.640 --> 00:04:52.839
+Computer science is a craft
+
+00:04:52.840 --> 00:05:36.559
+The problem
+
+00:05:36.560 --> 00:06:24.119
+The solution: Emacs + Org-mode
+
+00:06:24.120 --> 00:07:30.359
+Emacs configuration file
+
+00:07:30.360 --> 00:08:22.039
+Story + code = source + documentation
+
+00:08:22.040 --> 00:09:59.879
+What is literate programming?
+
+00:09:59.880 --> 00:11:18.959
+Emacs as a literate programming tool
+
+00:11:18.960 --> 00:12:11.279
+Case study: basic setup
+
+00:12:11.280 --> 00:12:45.799
+Emacs + Org-mode notebooks
+
+00:12:45.800 --> 00:13:40.839
+Onboarding: simplified Emacs tutorial
+
+00:13:40.840 --> 00:14:48.719
+Instruction + interaction
+
+00:14:48.720 --> 00:16:15.279
+Assignments + projects
+
+00:16:15.280 --> 00:18:19.799
+Overall results positive
+
+00:18:19.800 --> 00:19:27.280
+Conclusion & outlook
diff --git a/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt b/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt
new file mode 100644
index 00000000..560be0c6
--- /dev/null
+++ b/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt
@@ -0,0 +1,1193 @@
+WEBVTT captioned by sachac, checked by sachac
+
+NOTE Introduction
+
+00:00:00.000 --> 00:00:04.519
+Welcome to my talk, which is pre-recorded,
+
+00:00:04.520 --> 00:00:06.959
+so please don't blame me if I come across
+
+00:00:06.960 --> 00:00:08.599
+as wooden and humorless.
+
+00:00:08.600 --> 00:00:11.319
+It's hard to work up any emotion
+
+00:00:11.320 --> 00:00:13.879
+when looking at a mechanical eye.
+
+00:00:13.880 --> 00:00:15.039
+Of course, I am German,
+
+00:00:15.040 --> 00:00:18.639
+so I am pretty wooden and humorless to begin with.
+
+00:00:18.640 --> 00:00:20.439
+What else do you need to know about me?
+
+00:00:20.440 --> 00:00:23.319
+Not much, I suppose, except that I have been
+
+00:00:23.320 --> 00:00:25.199
+an Emacs user on and off
+
+00:00:25.200 --> 00:00:26.919
+since my days as a graduate student
+
+00:00:26.920 --> 00:00:30.079
+in theoretical physics in the 1990s.
+
+00:00:30.080 --> 00:00:34.679
+I picked Emacs and Org Mode up again
+
+00:00:34.680 --> 00:00:36.239
+for teaching during COVID
+
+00:00:36.240 --> 00:00:38.039
+when I had a lot of time on my hands,
+
+00:00:38.040 --> 00:00:40.359
+and when the teaching and learning needs shifted
+
+00:00:40.360 --> 00:00:44.239
+because of the exclusive online teaching.
+
+00:00:44.240 --> 00:00:48.199
+Now I'm going to take my picture away.
+
+00:00:48.200 --> 00:00:49.559
+You had a good look at me.
+
+00:00:49.560 --> 00:00:54.159
+I think that's just going to be in the way.
+
+NOTE My interest in this topic
+
+00:00:54.160 --> 00:00:57.279
+So my interest in this topic began with
+
+00:00:57.280 --> 00:00:59.279
+an Emacs talk given by Daniel German
+
+00:00:59.280 --> 00:01:04.119
+from the University of Victoria in Canada in 2021.
+
+00:01:04.120 --> 00:01:06.439
+Daniel demonstrated in detail
+
+00:01:06.440 --> 00:01:09.199
+how he uses Emacs and Org Mode
+
+00:01:09.200 --> 00:01:12.119
+to prepare and deliver lectures
+
+00:01:12.120 --> 00:01:14.199
+on different programming languages.
+
+00:01:14.200 --> 00:01:16.319
+This gave me the idea to try the same thing
+
+00:01:16.320 --> 00:01:19.999
+with my students with an important alteration.
+
+00:01:20.000 --> 00:01:23.559
+I wanted to force them to use Emacs and Org Mode
+
+00:01:23.560 --> 00:01:25.959
+just as most computer science instructors
+
+00:01:25.960 --> 00:01:29.079
+force their students to use whatever they are using
+
+00:01:29.080 --> 00:01:32.359
+when they develop their material.
+
+00:01:32.360 --> 00:01:36.839
+I carried my plan out and mandated Emacs and Org Mode
+
+00:01:36.840 --> 00:01:40.359
+as the only programming platform and IDE
+
+00:01:40.360 --> 00:01:43.639
+for three consecutive terms in all my courses,
+
+00:01:43.640 --> 00:01:45.919
+nine courses in total.
+
+00:01:45.920 --> 00:01:47.799
+I will give more details later.
+
+00:01:47.800 --> 00:01:49.919
+I published my results as a case study
+
+00:01:49.920 --> 00:01:52.279
+in September of this year,
+
+00:01:52.280 --> 00:01:53.639
+and it contains the missing bits
+
+00:01:53.640 --> 00:01:56.159
+that I will not talk about today for lack of time,
+
+00:01:56.160 --> 00:01:58.639
+especially regarding the methodology,
+
+00:01:58.640 --> 00:02:00.119
+the assessment, et cetera.
+
+00:02:00.120 --> 00:02:04.999
+Please also use the Q&A to inquire about such details
+
+00:02:05.000 --> 00:02:08.039
+if they interest you.
+
+NOTE What is data science?
+
+00:02:08.040 --> 00:02:12.799
+I probably don't have to explain what computer science is,
+
+00:02:12.800 --> 00:02:16.359
+but not everyone may know what data science does.
+
+00:02:16.360 --> 00:02:18.239
+I teach courses in both disciplines
+
+00:02:18.240 --> 00:02:20.559
+and the boundaries between them are blurred,
+
+00:02:20.560 --> 00:02:22.639
+so much of what I'm saying about data science
+
+00:02:22.640 --> 00:02:24.719
+will also be relevant for computer science.
+
+00:02:24.720 --> 00:02:29.359
+Conceptually, data science is an interdisciplinary affair
+
+00:02:29.360 --> 00:02:31.999
+that intersects with computer science
+
+00:02:32.000 --> 00:02:34.959
+and with whatever it is that the data scientist
+
+00:02:34.960 --> 00:02:39.159
+or his or her clients know very well; their domain.
+
+00:02:39.160 --> 00:02:42.679
+Because of this interdisciplinary character,
+
+00:02:42.680 --> 00:02:45.399
+and because their focus is on the data
+
+00:02:45.400 --> 00:02:48.119
+rather than only on algorithms or mathematics,
+
+00:02:48.120 --> 00:02:52.719
+successful data scientists need to be more broadly educated
+
+00:02:52.720 --> 00:02:56.199
+than specialists in computer science or statistics.
+
+00:02:56.200 --> 00:03:00.519
+In particular, there's a need to master
+
+00:03:00.520 --> 00:03:03.479
+the entire so-called data science pipeline:
+
+00:03:03.480 --> 00:03:06.079
+from data cleaning, which you see
+
+00:03:06.080 --> 00:03:08.879
+on the very left in this slide,
+
+00:03:08.880 --> 00:03:12.119
+over coding, to statistical modeling,
+
+00:03:12.120 --> 00:03:14.719
+and to data storytelling through visualization,
+
+00:03:14.720 --> 00:03:17.159
+which you see on the very right.
+
+00:03:17.160 --> 00:03:19.079
+This is why until recently,
+
+00:03:19.080 --> 00:03:22.119
+data science was a graduate-level education
+
+00:03:22.120 --> 00:03:25.879
+only for software engineers, computer scientists,
+
+00:03:25.880 --> 00:03:31.679
+statisticians, psychologists, biologists, business people,
+
+00:03:31.680 --> 00:03:34.279
+or for whoever took a special fancy
+
+00:03:34.280 --> 00:03:37.719
+to data in their chosen field.
+
+00:03:37.720 --> 00:03:40.039
+Only with a growing interest in machine learning,
+
+00:03:40.040 --> 00:03:41.999
+this has changed.
+
+00:03:42.000 --> 00:03:45.599
+And now we train--or try to train--data scientists
+
+00:03:45.600 --> 00:03:47.639
+in undergraduate programs as well.
+
+NOTE Computer science is a craft
+
+00:03:47.640 --> 00:03:52.399
+Now, what I'm saying here, I think is true
+
+00:03:52.400 --> 00:03:54.199
+for all areas of computing,
+
+00:03:54.200 --> 00:03:56.959
+from software engineering to data science.
+
+00:03:56.960 --> 00:04:00.639
+They are mostly taught and learned like a craft
+
+00:04:00.640 --> 00:04:03.679
+rather than a science, not through research,
+
+00:04:03.680 --> 00:04:04.679
+but through drill.
+
+00:04:04.680 --> 00:04:07.799
+The elements of this drill can be illustrated
+
+00:04:07.800 --> 00:04:09.959
+by learning how to fix cars.
+
+00:04:09.960 --> 00:04:12.759
+They include taking a problem apart
+
+00:04:12.760 --> 00:04:14.119
+with the tools you already know,
+
+00:04:14.120 --> 00:04:18.239
+learn a lot more tools in the process of doing that,
+
+00:04:18.240 --> 00:04:20.639
+then solve many, many problems
+
+00:04:20.640 --> 00:04:22.199
+of increasing difficulty
+
+00:04:22.200 --> 00:04:25.719
+while being or getting more literate, as it were,
+
+00:04:25.720 --> 00:04:27.919
+about the mechanics of computing,
+
+00:04:27.920 --> 00:04:30.759
+including the hardware, the infrastructure,
+
+00:04:30.760 --> 00:04:32.639
+and finally develop a way of thinking
+
+00:04:32.640 --> 00:04:35.519
+that allows the learner to identify patterns
+
+00:04:35.520 --> 00:04:39.719
+to solve new problems better and faster.
+
+00:04:39.720 --> 00:04:42.479
+Unlike learning how to fix cars,
+
+00:04:42.480 --> 00:04:44.439
+all of the objects of our interest--
+
+00:04:44.440 --> 00:04:48.719
+both hardware and software--are evolving rapidly.
+
+00:04:48.720 --> 00:04:51.519
+In this field, radical innovation is the rule,
+
+00:04:51.520 --> 00:04:52.839
+not the exception.
+
+NOTE The problem
+
+00:04:52.840 --> 00:04:58.679
+The problem that I identified is that students,
+
+00:04:58.680 --> 00:05:00.799
+especially undergraduate students
+
+00:05:00.800 --> 00:05:02.399
+in computer and data science,
+
+00:05:02.400 --> 00:05:06.439
+often do no longer understand the infrastructure.
+
+00:05:06.440 --> 00:05:08.919
+Here are a few examples of the problems
+
+00:05:08.920 --> 00:05:10.079
+that the students seem to have.
+
+00:05:10.080 --> 00:05:13.599
+They do not understand computer architecture,
+
+00:05:13.600 --> 00:05:14.599
+except in theory.
+
+00:05:14.600 --> 00:05:18.519
+They cannot navigate their way around their own computers.
+
+00:05:18.520 --> 00:05:22.319
+They don't understand the value or the issues of networks.
+
+00:05:22.320 --> 00:05:25.079
+They are often more interested in convenience
+
+00:05:25.080 --> 00:05:28.279
+than in customization of the environment.
+
+00:05:28.280 --> 00:05:31.839
+As a result, the machines which we're meant to control
+
+00:05:31.840 --> 00:05:35.079
+have all the power--though passively,
+
+00:05:35.080 --> 00:05:36.559
+of course, for now anyway.
+
+NOTE The solution: Emacs + Org-mode
+
+00:05:36.560 --> 00:05:43.679
+Enter Emacs, the self-extensible operating system
+
+00:05:43.680 --> 00:05:45.999
+disguised as a text editor.
+
+00:05:46.000 --> 00:05:50.999
+You're at EmacsConf, so of course I don't have to tell you
+
+00:05:51.000 --> 00:05:52.199
+what Emacs can do.
+
+00:05:52.200 --> 00:05:54.319
+Here's a rundown on the right-hand side
+
+00:05:54.320 --> 00:05:56.759
+of some of its most important properties,
+
+00:05:56.760 --> 00:05:58.959
+and an Org Mode file excerpt
+
+00:05:58.960 --> 00:06:00.519
+from one of my classes on the left.
+
+00:06:00.520 --> 00:06:05.239
+What you may not know is how to onboard students who have,
+
+00:06:05.240 --> 00:06:07.439
+at the start, no interest whatsoever
+
+00:06:07.440 --> 00:06:08.919
+in leaving their comfort zone,
+
+00:06:08.920 --> 00:06:12.399
+which is defined by a lifetime of Windows,
+
+00:06:12.400 --> 00:06:16.319
+pre-configured graphical interfaces, and software bloat.
+
+00:06:16.320 --> 00:06:19.679
+In fact, when I started this, I wasn't very hopeful,
+
+00:06:19.680 --> 00:06:22.399
+but the results have made me even more optimistic
+
+00:06:22.400 --> 00:06:24.119
+than I already am by nature.
+
+NOTE Emacs configuration file
+
+00:06:24.120 --> 00:06:28.839
+So to rein in your expectations,
+
+00:06:28.840 --> 00:06:31.839
+you cannot do entirely without
+
+00:06:31.840 --> 00:06:33.799
+configuring the student's experience.
+
+00:06:33.800 --> 00:06:35.279
+An important part of this
+
+00:06:35.280 --> 00:06:37.999
+is the initial Emacs configuration shown here.
+
+00:06:38.000 --> 00:06:40.639
+The minimal configuration file,
+
+00:06:40.640 --> 00:06:42.199
+which you can see on the right-hand side,
+
+00:06:42.200 --> 00:06:46.679
+allows the students to run code in C and C++, R, SQL,
+
+00:06:46.680 --> 00:06:48.599
+SQLite, Python, and Bash.
+
+00:06:48.600 --> 00:06:52.559
+It will allow them to update Emacs packages
+
+00:06:52.560 --> 00:06:55.039
+from the stable Melpa repository,
+
+00:06:55.040 --> 00:06:58.599
+and it will allow them to create code blocks easily
+
+00:06:58.600 --> 00:07:01.919
+using skeleton commands for code blocks,
+
+00:07:01.920 --> 00:07:06.279
+and to auto-load the Emacs Speaks Statistics package,
+
+00:07:06.280 --> 00:07:09.759
+which you particularly need when you run R in Emacs,
+
+00:07:09.760 --> 00:07:14.399
+and lastly, to disable toolbar and graphical menu bars.
+
+00:07:14.400 --> 00:07:18.999
+To do that encourages the exclusive use of the keyboard
+
+00:07:19.000 --> 00:07:23.199
+to control Emacs, and to stop the students
+
+00:07:23.200 --> 00:07:25.839
+from flicking all the time to the mouse;
+
+00:07:25.840 --> 00:07:30.359
+seems to be an essential part of getting used to Emacs.
+
+NOTE Story + code = source + documentation
+
+00:07:30.360 --> 00:07:38.839
+Now Org Mode was included in Emacs in 2006 as a major mode,
+
+00:07:38.840 --> 00:07:41.959
+and as you know, it's a structured plain text format
+
+00:07:41.960 --> 00:07:45.039
+with notebook live code execution.
+
+00:07:45.040 --> 00:07:47.839
+It's an ideal platform for literate programming,
+
+00:07:47.840 --> 00:07:52.359
+which is a term for programming that intermingles code,
+
+00:07:52.360 --> 00:07:55.839
+documentation, and output within a single document,
+
+00:07:55.840 --> 00:07:59.519
+and that can, as you can see here from an org file,
+
+00:07:59.520 --> 00:08:02.559
+either be tangled into source code
+
+00:08:02.560 --> 00:08:06.999
+or woven into a documentation file, which could be PDF,
+
+00:08:07.000 --> 00:08:11.039
+could be Markdown, could be OpenOffice,
+
+00:08:11.040 --> 00:08:13.919
+could be a notebook format.
+
+00:08:13.920 --> 00:08:18.479
+This methodology was conceived by Donald Knuth in 1984,
+
+00:08:18.480 --> 00:08:22.039
+and it is therefore even older than Emacs itself.
+
+NOTE What is literate programming?
+
+00:08:22.040 --> 00:08:27.199
+The main purpose of literate programming is not only
+
+00:08:27.200 --> 00:08:31.119
+to make code or documentation or output more manageable,
+
+00:08:31.120 --> 00:08:34.759
+but to allow humans to create a data story with ease
+
+00:08:34.760 --> 00:08:37.199
+from a single source.
+
+00:08:37.200 --> 00:08:40.359
+So what you see on the slide on the left-hand side
+
+00:08:40.360 --> 00:08:45.479
+is the story and code inside a Org Mode file.
+
+00:08:45.480 --> 00:08:49.479
+The file starts with some documentation,
+
+00:08:49.480 --> 00:08:52.519
+then with the white background is the code,
+
+00:08:52.520 --> 00:08:56.239
+and at the bottom you see an output file,
+
+00:08:56.240 --> 00:09:00.159
+which is not shown here on the slide itself.
+
+00:09:00.160 --> 00:09:02.839
+In the middle, you have the source code,
+
+00:09:02.840 --> 00:09:05.759
+which is the result of tangling
+
+00:09:05.760 --> 00:09:10.799
+or of opening a buffer inside org-mode.
+
+00:09:10.800 --> 00:09:16.119
+And on the very right-hand side, you have a PDF--
+
+00:09:16.120 --> 00:09:20.159
+actually this HTML rendering of the very same file
+
+00:09:20.160 --> 00:09:22.599
+that you see on the very left.
+
+00:09:22.600 --> 00:09:26.479
+So the humans look at some of this code,
+
+00:09:26.480 --> 00:09:29.879
+and the machines will look at other parts of the code.
+
+00:09:29.880 --> 00:09:33.359
+I actually did all my programming in a literate way
+
+00:09:33.360 --> 00:09:35.959
+even in the early 1990s, not using org-mode,
+
+00:09:35.960 --> 00:09:36.799
+which didn't exist yet,
+
+00:09:36.800 --> 00:09:40.319
+but using Norman Ramsey's Noweb preprocessor.
+
+00:09:40.320 --> 00:09:43.399
+And I still use it inside org-mode today.
+
+00:09:43.400 --> 00:09:47.439
+This preprocessor, Noweb, allows you to tangle code
+
+00:09:47.440 --> 00:09:50.079
+from within an org-mode file that's a self-standing file,
+
+00:09:50.080 --> 00:09:52.799
+much like org-mode's edit functions,
+
+00:09:52.800 --> 00:09:55.639
+which export code blocks into buffers
+
+00:09:55.640 --> 00:09:59.879
+in whatever language the code block is written.
+
+NOTE Emacs as a literate programming tool
+
+00:09:59.880 --> 00:10:02.719
+In data science, these interactive notebooks
+
+00:10:02.720 --> 00:10:05.999
+in one of the interpreted languages like Julia,
+
+00:10:06.000 --> 00:10:07.839
+Python, or R dominate.
+
+00:10:07.840 --> 00:10:10.239
+The basis technology,
+
+00:10:10.240 --> 00:10:12.759
+is that of Jupyter notebooks, which take their name
+
+00:10:12.760 --> 00:10:14.439
+from Julia, Python, and R.
+
+00:10:14.440 --> 00:10:19.199
+And these notebooks use a spruced-up shell (for example,
+
+00:10:19.200 --> 00:10:23.079
+IPython for Python) with an option to add SQL cells.
+
+00:10:23.080 --> 00:10:28.079
+Org Mode inside Emacs has a large number of advantages--
+
+00:10:28.080 --> 00:10:31.479
+some of them are listed here--over these notebooks.
+
+00:10:31.480 --> 00:10:33.679
+Two of these stand out particularly.
+
+00:10:33.680 --> 00:10:39.439
+Different languages can be mixed, as shown in the image,
+
+00:10:39.440 --> 00:10:43.439
+while in Jupyter notebooks, a notebook is limited to
+
+00:10:43.440 --> 00:10:45.639
+running a kernel in one language only.
+
+00:10:45.640 --> 00:10:48.159
+So the content of the notebook--
+
+00:10:48.160 --> 00:10:50.319
+its document code or output part--
+
+00:10:50.320 --> 00:10:52.879
+can be exported in a variety of formats,
+
+00:10:52.880 --> 00:10:55.479
+which makes it much easier to share with others
+
+00:10:55.480 --> 00:10:58.479
+and to use one's work in different reporting formats;
+
+00:10:58.480 --> 00:11:02.399
+for example, to read it out into a LaTeX publication.
+
+00:11:02.400 --> 00:11:08.319
+Actually, to come back to this,
+
+00:11:08.320 --> 00:11:11.039
+the file does not show different languages.
+
+00:11:11.040 --> 00:11:14.159
+That is something you can see in a paper of mine,
+
+00:11:14.160 --> 00:11:18.959
+in one of the figures.
+
+NOTE Case study: basic setup
+
+00:11:18.960 --> 00:11:22.719
+Now, coming to the case study itself,
+
+00:11:22.720 --> 00:11:25.039
+here are some of the overall results of the case study.
+
+00:11:25.040 --> 00:11:29.039
+Now, the courses ranged from introductory to advanced,
+
+00:11:29.040 --> 00:11:32.039
+as you can see here in the table on the left-hand side.
+
+00:11:32.040 --> 00:11:37.199
+The topics covered different programming applications.
+
+00:11:37.200 --> 00:11:38.679
+The courses were taught
+
+00:11:38.680 --> 00:11:41.039
+over a period of three consecutive terms.
+
+00:11:41.040 --> 00:11:45.839
+There was between 6 and 28 participants per course.
+
+00:11:45.840 --> 00:11:49.239
+I used a few other tools besides Emacs:
+
+00:11:49.240 --> 00:11:51.919
+GitHub as the main repository for all the material,
+
+00:11:51.920 --> 00:11:55.239
+Datacamp for structured online lessons and exercises,
+
+00:11:55.240 --> 00:11:57.359
+Canvas as a learning management system,
+
+00:11:57.360 --> 00:12:00.919
+and Zoom to record the sessions for later use.
+
+00:12:00.920 --> 00:12:03.279
+Now, the material for all these courses
+
+00:12:03.280 --> 00:12:05.399
+is openly available on GitHub,
+
+00:12:05.400 --> 00:12:11.279
+and the address is on the slide at the bottom.
+
+NOTE Emacs + Org-mode notebooks
+
+00:12:11.280 --> 00:12:15.879
+I'm now going to briefly comment on
+
+00:12:15.880 --> 00:12:18.799
+the most important aspects of using Emacs and Org Mode
+
+00:12:18.800 --> 00:12:20.119
+in and outside of class.
+
+00:12:20.120 --> 00:12:24.039
+Essentially, these two--Emacs and Org Mode--
+
+00:12:24.040 --> 00:12:26.239
+were used all the time for almost everything
+
+00:12:26.240 --> 00:12:29.239
+that the students were doing in and outside of class.
+
+00:12:29.240 --> 00:12:32.319
+The only exception were multiple choice tests
+
+00:12:32.320 --> 00:12:34.039
+and online assignments
+
+00:12:34.040 --> 00:12:35.599
+on the Datacamp learning platform
+
+00:12:35.600 --> 00:12:37.199
+in the data science courses.
+
+00:12:37.200 --> 00:12:39.999
+But everything else--code-along lectures, home assignments,
+
+00:12:40.000 --> 00:12:42.439
+student projects, practice in class--
+
+00:12:42.440 --> 00:12:45.799
+was done with these two tools.
+
+NOTE Onboarding: simplified Emacs tutorial
+
+00:12:45.800 --> 00:12:47.999
+To facilitate the onboarding,
+
+00:12:48.000 --> 00:12:50.999
+so to get students used to Emacs in the first place,
+
+00:12:51.000 --> 00:12:53.279
+I developed a simplified Emacs tutorial,
+
+00:12:53.280 --> 00:12:56.519
+which was focused on the basics of literate programming.
+
+00:12:56.520 --> 00:12:59.999
+It included navigation in major modes,
+
+00:13:00.000 --> 00:13:02.839
+managing files and buffers, customizing the interface,
+
+00:13:02.840 --> 00:13:04.039
+and keyboard shortcuts.
+
+00:13:04.040 --> 00:13:06.319
+It was considerably shorter;
+
+00:13:06.320 --> 00:13:12.879
+about a quarter of the size of the standard Emacs tutorial,
+
+00:13:12.880 --> 00:13:14.319
+which contains a lot more stuff.
+
+00:13:14.320 --> 00:13:16.759
+As a result of this onboarding,
+
+00:13:16.760 --> 00:13:18.279
+by the end of the second week,
+
+00:13:18.280 --> 00:13:19.919
+most students were able
+
+00:13:19.920 --> 00:13:22.639
+to use Emacs and Org Mode competently
+
+00:13:22.640 --> 00:13:25.079
+for their assignments in and outside of class,
+
+00:13:25.080 --> 00:13:29.639
+completely independent of their previous exposure
+
+00:13:29.640 --> 00:13:31.199
+to any of these tools.
+
+00:13:31.200 --> 00:13:35.399
+Most of the students, in fact, had never heard of Emacs.
+
+00:13:35.400 --> 00:13:40.839
+All the classes were taught physically in a computer lab.
+
+NOTE Instruction + interaction
+
+00:13:40.840 --> 00:13:42.759
+Emacs with Org Mode
+
+00:13:42.760 --> 00:13:45.479
+and the necessary languages for the class
+
+00:13:45.480 --> 00:13:47.359
+were pre-installed on the computers.
+
+00:13:47.360 --> 00:13:50.199
+The computers ran Windows, unfortunately,
+
+00:13:50.200 --> 00:13:52.759
+like most of the students' personal computers.
+
+00:13:52.760 --> 00:13:57.479
+A typical class involved a lecture delivered by me
+
+00:13:57.480 --> 00:13:59.159
+in Emacs as a code-along.
+
+00:13:59.160 --> 00:14:01.559
+The students would get an Org Mode file
+
+00:14:01.560 --> 00:14:03.399
+with all the code removed.
+
+00:14:03.400 --> 00:14:04.599
+You can see an example here
+
+00:14:04.600 --> 00:14:06.799
+on the slide on the right-hand side.
+
+00:14:06.800 --> 00:14:12.239
+This example is actually only one line of code in blue,
+
+00:14:12.240 --> 00:14:15.039
+visible at the bottom for an award file.
+
+00:14:15.040 --> 00:14:17.919
+Then the students submitted home assignments
+
+00:14:17.920 --> 00:14:21.159
+also as Org Mode files, complete with documentation,
+
+00:14:21.160 --> 00:14:23.479
+code and sample output.
+
+00:14:23.480 --> 00:14:26.999
+Working this way makes the classes highly interactive.
+
+00:14:27.000 --> 00:14:28.879
+So the students are busy coding
+
+00:14:28.880 --> 00:14:31.639
+and they learn to control their environment better
+
+00:14:31.640 --> 00:14:34.919
+all the time.
+
+00:14:34.920 --> 00:14:38.599
+In my classes, the students have to complete
+
+00:14:38.600 --> 00:14:41.359
+an independent, agile research project
+
+00:14:41.360 --> 00:14:44.239
+using an adaptation of Scrum as a methodology.
+
+00:14:44.240 --> 00:14:48.079
+You can find examples of these rather high-octane projects
+
+00:14:48.080 --> 00:14:48.719
+in my paper.
+
+NOTE Assignments + projects
+
+00:14:48.720 --> 00:14:52.679
+Now, using literate programming for the projects
+
+00:14:52.680 --> 00:14:54.399
+provided some unique benefits.
+
+00:14:54.400 --> 00:14:57.959
+By having to continuously interweave documentation,
+
+00:14:57.960 --> 00:15:01.599
+references and output alongside functional code,
+
+00:15:01.600 --> 00:15:04.319
+the students learn to communicate their work
+
+00:15:04.320 --> 00:15:05.599
+throughout the term
+
+00:15:05.600 --> 00:15:07.559
+in various stages of completion,
+
+00:15:07.560 --> 00:15:09.839
+from the research question at the start,
+
+00:15:09.840 --> 00:15:12.879
+over the prototype to the finished product.
+
+00:15:12.880 --> 00:15:14.999
+And here on the right-hand side,
+
+00:15:15.000 --> 00:15:17.479
+you can see one of those assignments
+
+00:15:17.480 --> 00:15:18.839
+that the students received,
+
+00:15:18.840 --> 00:15:24.959
+including some of the metadata for their Org Mode files
+
+00:15:24.960 --> 00:15:26.159
+in the beginning of the course.
+
+00:15:26.160 --> 00:15:32.599
+Here are two graphs that I created early on
+
+00:15:32.600 --> 00:15:34.319
+when I started doing this.
+
+00:15:34.320 --> 00:15:36.439
+They show how the test results of the students
+
+00:15:36.440 --> 00:15:39.639
+in two different courses, actually three courses,
+
+00:15:39.640 --> 00:15:41.719
+changed from before to after
+
+00:15:41.720 --> 00:15:45.919
+introducing literate programming with Emacs and Org Mode.
+
+00:15:45.920 --> 00:15:49.559
+So you see the before and after
+
+00:15:49.560 --> 00:15:53.479
+introducing literate programming in the red curve before
+
+00:15:53.480 --> 00:15:54.919
+and the blue curve afterwards.
+
+00:15:54.920 --> 00:15:58.519
+And the improvement, especially on the right-hand side,
+
+00:15:58.520 --> 00:15:59.719
+is quite significant.
+
+00:15:59.720 --> 00:16:01.999
+It was this performance improvement,
+
+00:16:02.000 --> 00:16:05.119
+apart from the students who were voicing their support,
+
+00:16:05.120 --> 00:16:07.999
+that made me extend the Emacs experiment
+
+00:16:08.000 --> 00:16:09.159
+after the first term
+
+00:16:09.160 --> 00:16:15.279
+and continue for the following two terms.
+
+NOTE Overall results positive
+
+00:16:15.280 --> 00:16:18.839
+The courses... Coming to the result, the overall result...
+
+00:16:18.840 --> 00:16:20.999
+The courses were formally and informally
+
+00:16:21.000 --> 00:16:23.119
+also evaluated by the students,
+
+00:16:23.120 --> 00:16:24.599
+but you need to look at my paper
+
+00:16:24.600 --> 00:16:27.039
+for some explicit student comments,
+
+00:16:27.040 --> 00:16:28.199
+which you will find there.
+
+00:16:28.200 --> 00:16:29.879
+Here, I'm giving you only the summary.
+
+00:16:29.880 --> 00:16:34.519
+So first of all, Emacs proved to be hard to learn for some,
+
+00:16:34.520 --> 00:16:37.839
+but all students succeeded in all courses,
+
+00:16:37.840 --> 00:16:39.519
+independent of the level of
+
+00:16:39.520 --> 00:16:40.959
+their previous knowledge and skill.
+
+00:16:40.960 --> 00:16:45.919
+The documentation practices remained pretty uneven.
+
+00:16:45.920 --> 00:16:49.639
+So some students wrote a lot, others wrote little.
+
+00:16:49.640 --> 00:16:52.999
+But they were overall much higher than in classes
+
+00:16:53.000 --> 00:16:57.279
+without the use of Emacs and Org Mode.
+
+00:16:57.280 --> 00:16:59.559
+The interactivity enabled through Emacs
+
+00:16:59.560 --> 00:17:01.599
+was highly praised by the students
+
+00:17:01.600 --> 00:17:05.039
+and always identified on the evaluations.
+
+00:17:05.040 --> 00:17:08.559
+And lastly and most importantly, given the problems
+
+00:17:08.560 --> 00:17:13.279
+that I identified earlier, the computing file
+
+00:17:13.280 --> 00:17:15.079
+and data handling competence
+
+00:17:15.080 --> 00:17:18.279
+of the students who worked with Emacs throughout
+
+00:17:18.280 --> 00:17:23.399
+opening Emacs shells, running programs through Emacs,
+
+00:17:23.400 --> 00:17:26.999
+these skills increased massively.
+
+00:17:27.000 --> 00:17:30.599
+In the published paper, I have expressed
+
+00:17:30.600 --> 00:17:32.839
+a little more doubt than you see on this slide.
+
+00:17:32.840 --> 00:17:38.359
+But now, actually, I'm feeling quite hopeful again,
+
+00:17:38.360 --> 00:17:41.879
+especially because recently for one term,
+
+00:17:41.880 --> 00:17:47.679
+I have returned to Jupyter notebooks.
+
+00:17:47.680 --> 00:17:50.599
+In the current term, I abandoned Emacs again
+
+00:17:50.600 --> 00:17:53.119
+for online Jupyter notebook installations.
+
+00:17:53.120 --> 00:17:55.679
+The reason is that these Jupyter notebooks
+
+00:17:55.680 --> 00:18:00.159
+that I use from DataCamp have generative AI support
+
+00:18:00.160 --> 00:18:03.439
+from ChatGPT integrated into the notebook.
+
+00:18:03.440 --> 00:18:04.919
+And I wanted to try that.
+
+00:18:04.920 --> 00:18:08.519
+But after one term without Emacs,
+
+00:18:08.520 --> 00:18:10.199
+I regret that decision now.
+
+00:18:10.200 --> 00:18:13.199
+The AI advantage does not make up
+
+00:18:13.200 --> 00:18:15.119
+for the loss of the immersion
+
+00:18:15.120 --> 00:18:19.799
+that Emacs and Org Mode deliver.
+
+NOTE Conclusion & outlook
+
+00:18:19.800 --> 00:18:21.399
+And here's the summary.
+
+00:18:21.400 --> 00:18:23.759
+When learning computer and data science,
+
+00:18:23.760 --> 00:18:25.679
+immersion is everything.
+
+00:18:25.680 --> 00:18:29.479
+The best students will aim at immersion anyway.
+
+00:18:29.480 --> 00:18:31.239
+But for the majority of students,
+
+00:18:31.240 --> 00:18:33.679
+immersion must happen in class.
+
+00:18:33.680 --> 00:18:39.839
+Emacs and Org Mode performed throughout very well
+
+00:18:39.840 --> 00:18:42.319
+as the central literary programming platform.
+
+00:18:42.320 --> 00:18:45.959
+And the pre-configuring and the onboarding,
+
+00:18:45.960 --> 00:18:48.959
+which I showed to you, were very important
+
+00:18:48.960 --> 00:18:50.359
+to train the students quickly.
+
+00:18:50.360 --> 00:18:54.479
+In the paper, I also speculated on the impact
+
+00:18:54.480 --> 00:18:57.919
+of low-code, no-code, and AI coding assistance.
+
+00:18:57.920 --> 00:19:00.239
+And my general view on this is that
+
+00:19:00.240 --> 00:19:01.799
+the arrival of these tools
+
+00:19:01.800 --> 00:19:04.319
+make literary programming as an immersive technique
+
+00:19:04.320 --> 00:19:08.399
+focused on teaching a broad range of skills
+
+00:19:08.400 --> 00:19:09.719
+even more important.
+
+00:19:09.720 --> 00:19:13.079
+So even with AI--or especially with AI--
+
+00:19:13.080 --> 00:19:16.799
+this kind of approach, I think, could be critical.
+
+00:19:16.800 --> 00:19:18.439
+And that's it.
+
+00:19:18.440 --> 00:19:19.839
+I'm at the end of my presentation.
+
+00:19:19.840 --> 00:19:21.719
+Thank you very much for your attention.
+
+00:19:21.720 --> 00:19:22.839
+And I'm looking forward to the Q&A.
+
+00:19:22.840 --> 00:19:27.280
+Thank you.
diff --git a/2023/info/teaching-after.md b/2023/info/teaching-after.md
index d8f013e5..ec0c961e 100644
--- a/2023/info/teaching-after.md
+++ b/2023/info/teaching-after.md
@@ -1,6 +1,400 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
+<a name="teaching-mainVideo-transcript"></a>
+# Transcript
+
+[[!template new="1" text="""Welcome to my talk, which is pre-recorded,""" start="00:00:00.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""so please don't blame me if I come across""" start="00:00:04.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""as wooden and humorless.""" start="00:00:06.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It's hard to work up any emotion""" start="00:00:08.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""when looking at a mechanical eye.""" start="00:00:11.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Of course, I am German,""" start="00:00:13.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""so I am pretty wooden and humorless to begin with.""" start="00:00:15.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""What else do you need to know about me?""" start="00:00:18.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Not much, I suppose, except that I have been""" start="00:00:20.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""an Emacs user on and off""" start="00:00:23.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""since my days as a graduate student""" start="00:00:25.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in theoretical physics in the 1990s.""" start="00:00:26.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I picked Emacs and Org Mode up again""" start="00:00:30.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for teaching during COVID""" start="00:00:34.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""when I had a lot of time on my hands,""" start="00:00:36.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and when the teaching and learning needs shifted""" start="00:00:38.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""because of the exclusive online teaching.""" start="00:00:40.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Now I'm going to take my picture away.""" start="00:00:44.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""You had a good look at me.""" start="00:00:48.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I think that's just going to be in the way.""" start="00:00:49.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""So my interest in this topic began with""" start="00:00:54.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""an Emacs talk given by Daniel German""" start="00:00:57.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from the University of Victoria in Canada in 2021.""" start="00:00:59.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Daniel demonstrated in detail""" start="00:01:04.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""how he uses Emacs and Org Mode""" start="00:01:06.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to prepare and deliver lectures""" start="00:01:09.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""on different programming languages.""" start="00:01:12.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""This gave me the idea to try the same thing""" start="00:01:14.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""with my students with an important alteration.""" start="00:01:16.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I wanted to force them to use Emacs and Org Mode""" start="00:01:20.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""just as most computer science instructors""" start="00:01:23.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""force their students to use whatever they are using""" start="00:01:25.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""when they develop their material.""" start="00:01:29.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I carried my plan out and mandated Emacs and Org Mode""" start="00:01:32.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""as the only programming platform and IDE""" start="00:01:36.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for three consecutive terms in all my courses,""" start="00:01:40.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""nine courses in total.""" start="00:01:43.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I will give more details later.""" start="00:01:45.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I published my results as a case study""" start="00:01:47.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in September of this year,""" start="00:01:49.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and it contains the missing bits""" start="00:01:52.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that I will not talk about today for lack of time,""" start="00:01:53.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""especially regarding the methodology,""" start="00:01:56.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the assessment, et cetera.""" start="00:01:58.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Please also use the Q&A to inquire about such details""" start="00:02:00.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""if they interest you.""" start="00:02:05.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""I probably don't have to explain what computer science is,""" start="00:02:08.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but not everyone may know what data science does.""" start="00:02:12.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I teach courses in both disciplines""" start="00:02:16.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and the boundaries between them are blurred,""" start="00:02:18.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""so much of what I'm saying about data science""" start="00:02:20.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""will also be relevant for computer science.""" start="00:02:22.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Conceptually, data science is an interdisciplinary affair""" start="00:02:24.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that intersects with computer science""" start="00:02:29.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and with whatever it is that the data scientist""" start="00:02:32.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""or his or her clients know very well; their domain.""" start="00:02:34.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Because of this interdisciplinary character,""" start="00:02:39.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and because their focus is on the data""" start="00:02:42.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""rather than only on algorithms or mathematics,""" start="00:02:45.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""successful data scientists need to be more broadly educated""" start="00:02:48.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""than specialists in computer science or statistics.""" start="00:02:52.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In particular, there's a need to master""" start="00:02:56.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the entire so-called data science pipeline:""" start="00:03:00.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from data cleaning, which you see""" start="00:03:03.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""on the very left in this slide,""" start="00:03:06.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""over coding, to statistical modeling,""" start="00:03:08.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and to data storytelling through visualization,""" start="00:03:12.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which you see on the very right.""" start="00:03:14.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""This is why until recently,""" start="00:03:17.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""data science was a graduate-level education""" start="00:03:19.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""only for software engineers, computer scientists,""" start="00:03:22.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""statisticians, psychologists, biologists, business people,""" start="00:03:25.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""or for whoever took a special fancy""" start="00:03:31.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to data in their chosen field.""" start="00:03:34.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Only with a growing interest in machine learning,""" start="00:03:37.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""this has changed.""" start="00:03:40.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And now we train--or try to train--data scientists""" start="00:03:42.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in undergraduate programs as well.""" start="00:03:45.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Now, what I'm saying here, I think is true""" start="00:03:47.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for all areas of computing,""" start="00:03:52.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from software engineering to data science.""" start="00:03:54.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They are mostly taught and learned like a craft""" start="00:03:56.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""rather than a science, not through research,""" start="00:04:00.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but through drill.""" start="00:04:03.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The elements of this drill can be illustrated""" start="00:04:04.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""by learning how to fix cars.""" start="00:04:07.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They include taking a problem apart""" start="00:04:09.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""with the tools you already know,""" start="00:04:12.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""learn a lot more tools in the process of doing that,""" start="00:04:14.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""then solve many, many problems""" start="00:04:18.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""of increasing difficulty""" start="00:04:20.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""while being or getting more literate, as it were,""" start="00:04:22.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""about the mechanics of computing,""" start="00:04:25.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""including the hardware, the infrastructure,""" start="00:04:27.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and finally develop a way of thinking""" start="00:04:30.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that allows the learner to identify patterns""" start="00:04:32.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to solve new problems better and faster.""" start="00:04:35.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Unlike learning how to fix cars,""" start="00:04:39.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""all of the objects of our interest--""" start="00:04:42.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""both hardware and software--are evolving rapidly.""" start="00:04:44.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In this field, radical innovation is the rule,""" start="00:04:48.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""not the exception.""" start="00:04:51.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""The problem that I identified is that students,""" start="00:04:52.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""especially undergraduate students""" start="00:04:58.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in computer and data science,""" start="00:05:00.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""often do no longer understand the infrastructure.""" start="00:05:02.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Here are a few examples of the problems""" start="00:05:06.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that the students seem to have.""" start="00:05:08.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They do not understand computer architecture,""" start="00:05:10.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""except in theory.""" start="00:05:13.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They cannot navigate their way around their own computers.""" start="00:05:14.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They don't understand the value or the issues of networks.""" start="00:05:18.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They are often more interested in convenience""" start="00:05:22.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""than in customization of the environment.""" start="00:05:25.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""As a result, the machines which we're meant to control""" start="00:05:28.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""have all the power--though passively,""" start="00:05:31.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""of course, for now anyway.""" start="00:05:35.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Enter Emacs, the self-extensible operating system""" start="00:05:36.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""disguised as a text editor.""" start="00:05:43.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""You're at EmacsConf, so of course I don't have to tell you""" start="00:05:46.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""what Emacs can do.""" start="00:05:51.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Here's a rundown on the right-hand side""" start="00:05:52.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""of some of its most important properties,""" start="00:05:54.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and an Org Mode file excerpt""" start="00:05:56.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from one of my classes on the left.""" start="00:05:58.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""What you may not know is how to onboard students who have,""" start="00:06:00.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""at the start, no interest whatsoever""" start="00:06:05.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in leaving their comfort zone,""" start="00:06:07.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which is defined by a lifetime of Windows,""" start="00:06:08.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""pre-configured graphical interfaces, and software bloat.""" start="00:06:12.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In fact, when I started this, I wasn't very hopeful,""" start="00:06:16.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but the results have made me even more optimistic""" start="00:06:19.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""than I already am by nature.""" start="00:06:22.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""So to rein in your expectations,""" start="00:06:24.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""you cannot do entirely without""" start="00:06:28.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""configuring the student's experience.""" start="00:06:31.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""An important part of this""" start="00:06:33.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""is the initial Emacs configuration shown here.""" start="00:06:35.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The minimal configuration file,""" start="00:06:38.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which you can see on the right-hand side,""" start="00:06:40.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""allows the students to run code in C and C++, R, SQL,""" start="00:06:42.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""SQLite, Python, and Bash.""" start="00:06:46.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It will allow them to update Emacs packages""" start="00:06:48.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from the stable Melpa repository,""" start="00:06:52.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and it will allow them to create code blocks easily""" start="00:06:55.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""using skeleton commands for code blocks,""" start="00:06:58.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and to auto-load the Emacs Speaks Statistics package,""" start="00:07:01.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which you particularly need when you run R in Emacs,""" start="00:07:06.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and lastly, to disable toolbar and graphical menu bars.""" start="00:07:09.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""To do that encourages the exclusive use of the keyboard""" start="00:07:14.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to control Emacs, and to stop the students""" start="00:07:19.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from flicking all the time to the mouse;""" start="00:07:23.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""seems to be an essential part of getting used to Emacs.""" start="00:07:25.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Now Org Mode was included in Emacs in 2006 as a major mode,""" start="00:07:30.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and as you know, it's a structured plain text format""" start="00:07:38.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""with notebook live code execution.""" start="00:07:41.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It's an ideal platform for literate programming,""" start="00:07:45.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which is a term for programming that intermingles code,""" start="00:07:47.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""documentation, and output within a single document,""" start="00:07:52.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and that can, as you can see here from an org file,""" start="00:07:55.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""either be tangled into source code""" start="00:07:59.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""or woven into a documentation file, which could be PDF,""" start="00:08:02.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""could be Markdown, could be OpenOffice,""" start="00:08:07.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""could be a notebook format.""" start="00:08:11.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""This methodology was conceived by Donald Knuth in 1984,""" start="00:08:13.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and it is therefore even older than Emacs itself.""" start="00:08:18.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""The main purpose of literate programming is not only""" start="00:08:22.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to make code or documentation or output more manageable,""" start="00:08:27.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but to allow humans to create a data story with ease""" start="00:08:31.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from a single source.""" start="00:08:34.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So what you see on the slide on the left-hand side""" start="00:08:37.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""is the story and code inside a Org Mode file.""" start="00:08:40.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The file starts with some documentation,""" start="00:08:45.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""then with the white background is the code,""" start="00:08:49.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and at the bottom you see an output file,""" start="00:08:52.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which is not shown here on the slide itself.""" start="00:08:56.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In the middle, you have the source code,""" start="00:09:00.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which is the result of tangling""" start="00:09:02.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""or of opening a buffer inside org-mode.""" start="00:09:05.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And on the very right-hand side, you have a PDF--""" start="00:09:10.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""actually this HTML rendering of the very same file""" start="00:09:16.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that you see on the very left.""" start="00:09:20.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So the humans look at some of this code,""" start="00:09:22.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and the machines will look at other parts of the code.""" start="00:09:26.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I actually did all my programming in a literate way""" start="00:09:29.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""even in the early 1990s, not using org-mode,""" start="00:09:33.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which didn't exist yet,""" start="00:09:35.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but using Norman Ramsey's Noweb preprocessor.""" start="00:09:36.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And I still use it inside org-mode today.""" start="00:09:40.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""This preprocessor, Noweb, allows you to tangle code""" start="00:09:43.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from within an org-mode file that's a self-standing file,""" start="00:09:47.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""much like org-mode's edit functions,""" start="00:09:50.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which export code blocks into buffers""" start="00:09:52.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in whatever language the code block is written.""" start="00:09:55.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""In data science, these interactive notebooks""" start="00:09:59.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in one of the interpreted languages like Julia,""" start="00:10:02.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Python, or R dominate.""" start="00:10:06.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The basis technology,""" start="00:10:07.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""is that of Jupyter notebooks, which take their name""" start="00:10:10.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from Julia, Python, and R.""" start="00:10:12.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And these notebooks use a spruced-up shell (for example,""" start="00:10:14.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""IPython for Python) with an option to add SQL cells.""" start="00:10:19.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Org Mode inside Emacs has a large number of advantages--""" start="00:10:23.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""some of them are listed here--over these notebooks.""" start="00:10:28.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Two of these stand out particularly.""" start="00:10:31.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Different languages can be mixed, as shown in the image,""" start="00:10:33.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""while in Jupyter notebooks, a notebook is limited to""" start="00:10:39.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""running a kernel in one language only.""" start="00:10:43.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So the content of the notebook--""" start="00:10:45.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""its document code or output part--""" start="00:10:48.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""can be exported in a variety of formats,""" start="00:10:50.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which makes it much easier to share with others""" start="00:10:52.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and to use one's work in different reporting formats;""" start="00:10:55.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for example, to read it out into a LaTeX publication.""" start="00:10:58.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Actually, to come back to this,""" start="00:11:02.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the file does not show different languages.""" start="00:11:08.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""That is something you can see in a paper of mine,""" start="00:11:11.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in one of the figures.""" start="00:11:14.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Now, coming to the case study itself,""" start="00:11:18.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""here are some of the overall results of the case study.""" start="00:11:22.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Now, the courses ranged from introductory to advanced,""" start="00:11:25.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""as you can see here in the table on the left-hand side.""" start="00:11:29.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The topics covered different programming applications.""" start="00:11:32.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The courses were taught""" start="00:11:37.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""over a period of three consecutive terms.""" start="00:11:38.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""There was between 6 and 28 participants per course.""" start="00:11:41.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I used a few other tools besides Emacs:""" start="00:11:45.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""GitHub as the main repository for all the material,""" start="00:11:49.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Datacamp for structured online lessons and exercises,""" start="00:11:51.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Canvas as a learning management system,""" start="00:11:55.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and Zoom to record the sessions for later use.""" start="00:11:57.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Now, the material for all these courses""" start="00:12:00.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""is openly available on GitHub,""" start="00:12:03.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and the address is on the slide at the bottom.""" start="00:12:05.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""I'm now going to briefly comment on""" start="00:12:11.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the most important aspects of using Emacs and Org Mode""" start="00:12:15.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in and outside of class.""" start="00:12:18.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Essentially, these two--Emacs and Org Mode--""" start="00:12:20.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""were used all the time for almost everything""" start="00:12:24.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that the students were doing in and outside of class.""" start="00:12:26.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The only exception were multiple choice tests""" start="00:12:29.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and online assignments""" start="00:12:32.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""on the Datacamp learning platform""" start="00:12:34.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in the data science courses.""" start="00:12:35.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""But everything else--code-along lectures, home assignments,""" start="00:12:37.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""student projects, practice in class--""" start="00:12:40.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""was done with these two tools.""" start="00:12:42.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""To facilitate the onboarding,""" start="00:12:45.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""so to get students used to Emacs in the first place,""" start="00:12:48.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I developed a simplified Emacs tutorial,""" start="00:12:51.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which was focused on the basics of literate programming.""" start="00:12:53.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It included navigation in major modes,""" start="00:12:56.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""managing files and buffers, customizing the interface,""" start="00:13:00.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and keyboard shortcuts.""" start="00:13:02.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It was considerably shorter;""" start="00:13:04.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""about a quarter of the size of the standard Emacs tutorial,""" start="00:13:06.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which contains a lot more stuff.""" start="00:13:12.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""As a result of this onboarding,""" start="00:13:14.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""by the end of the second week,""" start="00:13:16.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""most students were able""" start="00:13:18.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to use Emacs and Org Mode competently""" start="00:13:19.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for their assignments in and outside of class,""" start="00:13:22.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""completely independent of their previous exposure""" start="00:13:25.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to any of these tools.""" start="00:13:29.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Most of the students, in fact, had never heard of Emacs.""" start="00:13:31.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""All the classes were taught physically in a computer lab.""" start="00:13:35.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Emacs with Org Mode""" start="00:13:40.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and the necessary languages for the class""" start="00:13:42.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""were pre-installed on the computers.""" start="00:13:45.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The computers ran Windows, unfortunately,""" start="00:13:47.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""like most of the students' personal computers.""" start="00:13:50.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""A typical class involved a lecture delivered by me""" start="00:13:52.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in Emacs as a code-along.""" start="00:13:57.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The students would get an Org Mode file""" start="00:13:59.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""with all the code removed.""" start="00:14:01.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""You can see an example here""" start="00:14:03.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""on the slide on the right-hand side.""" start="00:14:04.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""This example is actually only one line of code in blue,""" start="00:14:06.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""visible at the bottom for an award file.""" start="00:14:12.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Then the students submitted home assignments""" start="00:14:15.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""also as Org Mode files, complete with documentation,""" start="00:14:17.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""code and sample output.""" start="00:14:21.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Working this way makes the classes highly interactive.""" start="00:14:23.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So the students are busy coding""" start="00:14:27.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and they learn to control their environment better""" start="00:14:28.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""all the time.""" start="00:14:31.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In my classes, the students have to complete""" start="00:14:34.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""an independent, agile research project""" start="00:14:38.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""using an adaptation of Scrum as a methodology.""" start="00:14:41.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""You can find examples of these rather high-octane projects""" start="00:14:44.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in my paper.""" start="00:14:48.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""Now, using literate programming for the projects""" start="00:14:48.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""provided some unique benefits.""" start="00:14:52.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""By having to continuously interweave documentation,""" start="00:14:54.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""references and output alongside functional code,""" start="00:14:57.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the students learn to communicate their work""" start="00:15:01.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""throughout the term""" start="00:15:04.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in various stages of completion,""" start="00:15:05.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from the research question at the start,""" start="00:15:07.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""over the prototype to the finished product.""" start="00:15:09.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And here on the right-hand side,""" start="00:15:12.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""you can see one of those assignments""" start="00:15:15.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that the students received,""" start="00:15:17.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""including some of the metadata for their Org Mode files""" start="00:15:18.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in the beginning of the course.""" start="00:15:24.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Here are two graphs that I created early on""" start="00:15:26.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""when I started doing this.""" start="00:15:32.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""They show how the test results of the students""" start="00:15:34.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""in two different courses, actually three courses,""" start="00:15:36.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""changed from before to after""" start="00:15:39.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""introducing literate programming with Emacs and Org Mode.""" start="00:15:41.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So you see the before and after""" start="00:15:45.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""introducing literate programming in the red curve before""" start="00:15:49.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and the blue curve afterwards.""" start="00:15:53.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And the improvement, especially on the right-hand side,""" start="00:15:54.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""is quite significant.""" start="00:15:58.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""It was this performance improvement,""" start="00:15:59.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""apart from the students who were voicing their support,""" start="00:16:02.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that made me extend the Emacs experiment""" start="00:16:05.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""after the first term""" start="00:16:08.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and continue for the following two terms.""" start="00:16:09.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""The courses... Coming to the result, the overall result...""" start="00:16:15.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The courses were formally and informally""" start="00:16:18.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""also evaluated by the students,""" start="00:16:21.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but you need to look at my paper""" start="00:16:23.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for some explicit student comments,""" start="00:16:24.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which you will find there.""" start="00:16:27.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Here, I'm giving you only the summary.""" start="00:16:28.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So first of all, Emacs proved to be hard to learn for some,""" start="00:16:29.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""but all students succeeded in all courses,""" start="00:16:34.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""independent of the level of""" start="00:16:37.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""their previous knowledge and skill.""" start="00:16:39.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The documentation practices remained pretty uneven.""" start="00:16:40.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So some students wrote a lot, others wrote little.""" start="00:16:45.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""But they were overall much higher than in classes""" start="00:16:49.640" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""without the use of Emacs and Org Mode.""" start="00:16:53.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The interactivity enabled through Emacs""" start="00:16:57.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""was highly praised by the students""" start="00:16:59.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and always identified on the evaluations.""" start="00:17:01.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And lastly and most importantly, given the problems""" start="00:17:05.040" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that I identified earlier, the computing file""" start="00:17:08.560" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""and data handling competence""" start="00:17:13.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""of the students who worked with Emacs throughout""" start="00:17:15.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""opening Emacs shells, running programs through Emacs,""" start="00:17:18.280" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""these skills increased massively.""" start="00:17:23.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In the published paper, I have expressed""" start="00:17:27.000" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""a little more doubt than you see on this slide.""" start="00:17:30.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""But now, actually, I'm feeling quite hopeful again,""" start="00:17:32.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""especially because recently for one term,""" start="00:17:38.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I have returned to Jupyter notebooks.""" start="00:17:41.880" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In the current term, I abandoned Emacs again""" start="00:17:47.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for online Jupyter notebook installations.""" start="00:17:50.600" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The reason is that these Jupyter notebooks""" start="00:17:53.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that I use from DataCamp have generative AI support""" start="00:17:55.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""from ChatGPT integrated into the notebook.""" start="00:18:00.160" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And I wanted to try that.""" start="00:18:03.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""But after one term without Emacs,""" start="00:18:04.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I regret that decision now.""" start="00:18:08.520" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The AI advantage does not make up""" start="00:18:10.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""for the loss of the immersion""" start="00:18:13.200" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""that Emacs and Org Mode deliver.""" start="00:18:15.120" video="mainVideo-teaching" id="subtitle"]]
+[[!template new="1" text="""And here's the summary.""" start="00:18:19.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""When learning computer and data science,""" start="00:18:21.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""immersion is everything.""" start="00:18:23.760" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""The best students will aim at immersion anyway.""" start="00:18:25.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""But for the majority of students,""" start="00:18:29.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""immersion must happen in class.""" start="00:18:31.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Emacs and Org Mode performed throughout very well""" start="00:18:33.680" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""as the central literary programming platform.""" start="00:18:39.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And the pre-configuring and the onboarding,""" start="00:18:42.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""which I showed to you, were very important""" start="00:18:45.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""to train the students quickly.""" start="00:18:48.960" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""In the paper, I also speculated on the impact""" start="00:18:50.360" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""of low-code, no-code, and AI coding assistance.""" start="00:18:54.480" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And my general view on this is that""" start="00:18:57.920" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""the arrival of these tools""" start="00:19:00.240" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""make literary programming as an immersive technique""" start="00:19:01.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""focused on teaching a broad range of skills""" start="00:19:04.320" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""even more important.""" start="00:19:08.400" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""So even with AI--or especially with AI--""" start="00:19:09.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""this kind of approach, I think, could be critical.""" start="00:19:13.080" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And that's it.""" start="00:19:16.800" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""I'm at the end of my presentation.""" start="00:19:18.440" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Thank you very much for your attention.""" start="00:19:19.840" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""And I'm looking forward to the Q&A.""" start="00:19:21.720" video="mainVideo-teaching" id="subtitle"]]
+[[!template text="""Thank you.""" start="00:19:22.840" video="mainVideo-teaching" id="subtitle"]]
+
+
+
+Captioner: sachac
+
Questions or comments? Please e-mail [birkenkrahe@lyon.edu](mailto:birkenkrahe@lyon.edu?subject=Comment%20for%20EmacsConf%202022%20teaching%3A%20Teaching%20computer%20and%20data%20science%20with%20literate%20programming%20tools)
diff --git a/2023/info/teaching-before.md b/2023/info/teaching-before.md
index 3270cacc..2d5de358 100644
--- a/2023/info/teaching-before.md
+++ b/2023/info/teaching-before.md
@@ -8,12 +8,31 @@ The following image shows where the talk is in the schedule for Sat 2023-12-02.
Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2023/current/bbb-teaching.html>
Etherpad: <https://pad.emacsconf.org/2023-teaching>
Discuss on IRC: [#emacsconf-gen](https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen)
-Status: Ready to stream
+Status: Now playing on the conference livestream
<div>Times in different timezones:</div><div class="times" start="2023-12-02T15:05:00Z" end="2023-12-02T15:25:00Z"><div class="conf-time">Saturday, Dec 2 2023, ~10:05 AM - 10:25 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 2 2023, ~9:05 AM - 9:25 AM CST (US/Central)<br />Saturday, Dec 2 2023, ~8:05 AM - 8:25 AM MST (US/Mountain)<br />Saturday, Dec 2 2023, ~7:05 AM - 7:25 AM PST (US/Pacific)<br />Saturday, Dec 2 2023, ~3:05 PM - 3:25 PM UTC <br />Saturday, Dec 2 2023, ~4:05 PM - 4:25 PM CET (Europe/Paris)<br />Saturday, Dec 2 2023, ~5:05 PM - 5:25 PM EET (Europe/Athens)<br />Saturday, Dec 2 2023, ~8:35 PM - 8:55 PM IST (Asia/Kolkata)<br />Saturday, Dec 2 2023, ~11:05 PM - 11:25 PM +08 (Asia/Singapore)<br />Sunday, Dec 3 2023, ~12:05 AM - 12:25 AM JST (Asia/Tokyo)</div></div><div><a href="/2023/watch/gen/">Find out how to watch and participate</a></div>
+<div class="vid"><video controls preload="none" id="teaching-mainVideo"><source src="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2023/captions/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="teaching-mainVideo" data="""
+00: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
+"""]]<div></div>Duration: 19:27 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2023-teaching">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2023/current/bbb-teaching.html">Open public Q&A</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--final.webm">Download --final.webm (44MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.opus">Download --main.opus (14MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.txt">Download --main.txt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--main.webm">Download --main.webm (44MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--normalized.opus">Download --normalized.opus (17MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--original.webm">Download --original.webm (60MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe--reencoded.webm">Download --reencoded.webm (41MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.odp">Download .odp (15MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.org">Download .org</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pdf">Download .pdf (2.9MB)</a></li><li><a href="https://media.emacsconf.org/2023/emacsconf-2023-teaching--teaching-computer-and-data-science-with-literate-programming-tools--marcus-birkenkrahe.pptx">Download .pptx (15MB)</a></li><li><a href="https://toobnix.org/w/b4eLjcLo9vcewVTzrv95L8">View on Toobnix</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file