Entertaining programming lectures

Programming is the process of telling the computer how to perform a task. We describe the task to the computer using a programming language (Java, C, C++, Python, JavaScript…). When doing so, programmers need to understand data structures, algorithms and software engineering techniques that are, by nature, abstract and require patience and perseverance to truly master. Moreover, programming languages evolve over time and software developers need to be aware of these changes so that their code is always up to date.

In this article I share a brief study made on one video material I published recently (30.8.2020) on my YouTube channel, where I publish programming tutorials and other, entertaining computer science related videos as a hobby. The video [1] entitled JavaScript map, arrow functions & ternary operator: JS Code Battle Tutorials (see Figure 1) was made as supplementary material for the Advanced Web Programming course going on in the same period. The video teaches three modern JavaScript concepts:

  1. The array map method [2]
  2. Arrow function expressions [3]
  3. Conditional (ternary) operator [4]

The video is a comical sketch that teaches these concepts in a funny and entertaining way, by presenting two fictional characters: Leonard Istodor and Radu Mariescu competing against each other when solving a programming task. Leonard is introduced as the expert and Radu as the young aspiring programmer. When the timer starts Radu seems to have the upper hand, however, Leonard, somewhat surprisingly overtakes him by using the three aforementioned techniques which allow him to accomplish the same result with less code. During the competition, a narrator explains what Radu is doing. Afterwards, the narrator makes a comparison between the two solutions. Therefore, the goal of the video is not only to introduce new techniques, but also to draw a parallel between using them and the traditional way of doing things which is likely to be familiar to the target audience.

Thumbnail of a Youtube video.
Figure 1: Video thumbnail, audience retention graph, typical retention (gray) and image of a hockey stick.

In class, the video was seemingly well received by the students which were discussing it on the Discord group. On YouTube, the video performed moderately well in terms of views (currently at 801, which for a channel this size is average). This number is, affected by many external factors like search engine optimization and the YouTube algorithm, therefore, cannot be used to infer the quality of the content. However, YouTube provides many other statistics to the owner of the channel. For example, the audience retention graph (see Figure 1), which tells if the audience is watching the entire content or clicks away soon after the video starts. This type of graph always begins at 100% because everyone who clicks on the video watches at least a few seconds. It’s typical, however, for the line to drop suddenly, forming what is known in the YouTube creator community as a ‘hockey stick’ trend. This video has currently the highest audience retention on the channel (over 100 other videos) and over 33% of people watch until the end-screen shows (few seconds before the end).

In conclusion, entertaining content can play a role in making educational content interesting and, perhaps more memorable.


Author:

Radu Mariescu-Istodor, lecturer, Karelia University of Applied Sciences


References:

[1] JavaScript map, arrow functions & ternary operator: JS Code Battle Tutorials -video. Youtube. https://youtu.be/h24ircatoHI

[2] MDN Web Docs. Array.prototype.map() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

[3] MDN Web Docs. Arrow function expressions. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

[4] MDN Web Docs. Conditional (ternary) operator. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator