Introduction

In the golden age of computer technology, the capability to create instructions that allow computers to accomplish tasks is a desirable skill for most technical positions. This urgent necessity demands the education sector to deliver competent programmers capable of accelerating change towards a more sustainable and integrated society. Unfortunately, learning to code is an intricate cognitive task propelled by the high degree of complexity and level of abstraction of programming paradigms (Simon et al., 2018). Failure to concretize the abstract building blocks in this domain increases failure and dropout rates in traditional (Porter et al., 2013) and online (Rõõm et al., 2021) modes of education. Confronting the scale of these challenges requires several different types of knowledge (e.g., syntax and semantics, algorithm development, and debugging techniques) that must be concurrently operational while doing programming activities. Thus, computer educators and researchers have been devising efficient knowledge delivery systems (Garcia & Revano, 2021) and effective teaching strategies (Garcia, 2021). Despite all endeavors, the teaching methodologies used in programming courses may not always match students' dynamic learning habits. This uncertainty necessitates additional sources of learning materials to support knowledge acquisition.

In recent years, there has been an increasing recognition that social networking sites (SNS) are a beneficial pedagogical tool that combines formal and informal learning (Van Den Beemt et al., 2020). Specifically, in terms of their information-seeking behavior, computing students prefer YouTube as the primary source of information compared to other materials (e.g., print textbooks, electronic books, blogs, and online courses) when solving a programming problem (Lausa et al., 2021). This preference emanates from the capacity of videos to deliver visual, step-by-step, and repeatable instructions. Also, students tend to use YouTube because it supplies immediate information for their programming learning needs. Following this inclination towards immediacy, there is a necessity for exploring short-form content platforms like TikTok. However, the literature is sparse on its potential as a knowledge source. This deficit leaves a big gap in our perception of programming education and SNS. This cross-sectional study addresses this gap by assessing the content (programming languages and topics) and characteristics (video styles and types) of programming TikTok videos (see Figure 1). From a practical perspective, this study lays a potent foundation for formulating actionable scholastic implications, policies, and recommendations concerning TikTok consumption in computer programming education. This study also contributes to the SNS literature by examining how TikTok users (TikTokers) produce short-form educational digital content for their followers.

Literature Review

Social Media and Education

A considerable body of research across multiple disciplines has examined the significance of SNS. For instance, a systematic review investigated loneliness and social anxiety in the context of SNS utilization (O’Day & Heimberg, 2021). Although they do not necessarily acquire the support and involvement they seek in an online environment, lonely and socially anxious individuals use SNS to compensate for inadequate in-person relationships. In addition to connecting people online, there is also an increasing imposition for SNS to connect people and information. Another systematic review (Bardus et al., 2020) explored how individual researchers and academic institutions maximize SNS for health research dissemination. On a similar note, SNS has transformed into a major information platform for people to obtain and share news (Zhu et al., 2018). As SNS infuses into real life, individual dependency on this medium becomes apparent despite the presence of fake news and misinformation (Bringula et al., 2021).

The foregoing benefits of SNS in terms of people-to-people connectivity and information sharing have become increasingly fundamental in the education landscape. For instance, students enhance their social presence and facilitate social cohesion with other fellow students by building virtual communities. They also utilize SNS to open communication channels with their teachers, which increases information sharing (Lim & Richardson, 2016). Contextually, sharing information anywhere and anytime entails the nature of informal learning – a form of asynchronous learning without a structured approach. With the vital role of informal learning in competence development, many educational researchers are scrutinizing and validating the practical value of each SNS. A systematic review identified Facebook, YouTube, and Twitter as the most operated platforms for educational purposes (Akçayır & Akçayır, 2016). Since then, several new SNS platforms (e.g., TikTok) have taken a foothold in the digital world, which unlocks further research opportunities.

Nanolearning with TikTok Videos

TikTok is a short-form, video-focused SNS, where the focus is entertainment. Its meteoric rise led to a growing interest in the research of consumption patterns and usage purposes. One study approached it as a lens for uncovering youth experiences in their online learning journeys during the COVID-19 pandemic (Literat, 2021). This exploration was rooted in the notoriety of SNS as a digital neighborhood where deliberate portrayals of user experiences, attitudes, and behaviors are perceptible. In the case of TikTok, many researchers (e.g., Bucknell Bossen & Kottasz, 2020) utilized the Uses and Gratification Theory to examine the appeal of this new social media channel. Accordingly, they identified entertainment/affect gratifications as the primary driver behind user behaviors (i.e., contributory, passive consumptive, and participatory). While TikTokers make videos for social recognition, self-expression, and fame-seeking desires, regular users consume videos for escapism, surveillance of others, and cognitive needs. However, little research has been conducted to examine TikTok in an educational context.

The expeditious shift towards digitalization in education has brought a decline in attention spans, prompting many educators to offer bite-sized information (i.e., nanolearning). In theory, the concept behind nanolearning is about providing digestible small learning units, ideally where and when students need them. The education literature is still weak when it comes to nanolearning, but logic dictates that it is a miniature version of microlearning. Both forms present an opportunity for agility in learning, reduce cognitive overload, reinforce the source materials, and improve learning retention. However, while the content in microlearning produces these benefits within a 15-minute learning timeframe, nanolearning attempts to achieve the same outcomes in less than two minutes or so. As a short-form content platform, TikTok can present nanolearning experiences in addition to its entertainment value. Since the platform is composed of user-generated content, first, there must be an appraisal of what content type TikTokers produce for their followers and the community.

Methods

Following the methodology employed in earlier studies (Garcia, 2020), we relied on hashtags for corpus production. In SNS, a hashtag is a metadata tag used to index and locate topics. Expectedly, we observed #programming (1.5 billion views), #coding (1.4 billion views), #programmer (420.2 million views), and #coder (225.4 million views) as some of the top hashtags concerning the focal point of inquiry. However, we purposefully selected the hashtag #learnprogramming (20.5 million views) to eliminate videos not related to ‘learning’ and ‘programming’. For instance, a parody music video clip uploaded by @mom_onamission contained a #programming hashtag, although it aims to imply brainwashing or mind programming. Finally, we also decided not to examine #learncoding (11.3 million views) because of possible duplicate entries and it is less popular than #learnprogramming.

Due to some restrictions with automatic scraping, we limited our data collection to the first 500 videos. We then excluded all videos with non-programming languages (n = 122; e.g., HTML, CSS, and SQL) and human languages that are incomprehensible to us (n = 19, e.g., Arabic and Hindi). However, we still included videos in non-English languages when the video and content were intelligible and learnable. After the preliminary screening procedure, we watched each video to categorize the content and extract contextual information (e.g., descriptions and statistics). We excluded another ten videos that utilized the hashtag because of its popularity (i.e., wave riding). This phenomenon is similar to Twitter, where users include popular hashtags (e.g., #Obama) in their tweets to convey their message to a much larger audience (Christensen, 2013). Only 349 videos remained for further analysis.

Results

In total, the video dataset garnered 10,046,000 views, 10,523 comments, 932,871 likes, and 35,095 shares. As substantiated by these statistics, #LearnProgramming has high levels of user engagement and is indeed popular on the platform. Although we only analyzed 349 videos, their cumulative views are more than half of the total views of the hashtag. Despite the recent increase of maximum video duration to three minutes, we learned that the average duration is 23 seconds. In addition, only a third (n = 103, 29.51%) of the programming videos have a description length of more than 160 words. We observed that multiple hashtags are common among long video descriptions. A recurring hashtag is #LearnOnTiktok (252.1 billion views), demonstrating that many TikTokers utilize the platform for knowledge dissemination. We also noticed that video uploads and user engagements increased in the first quarter of 2020 and 2021, respectively. This trend is unsurprising because TikTok’s popularity exploded during the pandemic (Littleton, 2021). We summarized the characteristics and statistics of programming TikTok videos in Table 1.

Characteristics Videos
n (%)
Duration
mean
Views
n (%)
Comments
n (%)
Likes
n (%)
Shares
n (%)
Content Types
Tips and Tricks 145 (41.55) 0:12 4,513,542 (44.93) 5,183 (49.25) 362,819 (38.89) 10,931 (31.15)
Advice 98 (28.08) 0:43 3,636,781 (36.20) 869 (8.26) 245,678 (26.34) 9,645 (27.48)
Project Demos 57 (16.33) 0:15 1,035,966 (10.31) 2,562 (24.35) 194,355 (20.83) 8,590 (24.48)
Challenges 26 (7.45) 0:07 346,789 (3.45) 689 (6.55) 90,897 (9.74) 3,578 (10.20)
Question and Answer 17 (4.87) 0:06 306,577 (3.05) 788 (7.49) 28,589 (3.06) 1,772 (5.05)
Tutorials 6 (1.72) 0:53 206,345 (2.05) 432 (4.11) 10,533 (1.13) 579 (1.65)
Content Styles
Screencasting 207 (59.31) 0:21 4,291,190 (42.72) 6,482 (61.60) 431,271 (46.23) 14,691 (41.86)
Coding 92 (26.36) 0:32 2,543,568 (25.32) 2,356 (22.39) 245,634 (26.33) 11,602 (33.06)
Vlogging 41 (11.75) 0:23 2,157,678 (21.48) 1,253 (11.91) 165,333 (17.72) 7,478 (21.31)
Slideshows 9 (2.58) 0:15 1,053,564 (10.49) 432 (4.11) 90,633 (9.72) 1,324 (3.77)
Programming Languages
Python 130 (37.25) 0:23 1,331,506 (13.25) 2,157 (20.50) 218,336 (23.40) 9,597 (27.35)
JavaScript 92 (26.36) 0:23 1,943,756 (19.35) 2,355 (22.38) 235,555 (25.25) 8,676 (24.72)
Not Applicable 76 (21.78) 0:45 3,356,663 (33.41) 2,855 (27.13) 333,321 (35.73) 7,646 (21.79)
C++ 18 (5.16) 0:16 329,521 (3.28) 789 (7.50) 28,533 (3.06) 1,255 (3.58)
Java 14 (4.01) 0:15 533,555 (5.31) 953 (9.06) 24,566 (2.63) 3,444 (9.81)
Multiple Languages 10 (2.87) 0:25 943,756 (9.39) 425 (4.04) 34,443 (3.69) 2,345 (6.68)
PHP 7 (2.01) 0:14 953,555 (9.49) 664 (6.31) 45,662 (4.89) 1,255 (3.58)
Visual Basic 2 (0.57) 0:19 653,688 (6.51) 325 (3.09) 12,455 (1.34) 877 (2.50)
Programming Topics
Programming Career 158 (45.27) 0:43 4,163,035 (41.44) 4,073 (38.71) 228,307 (24.47) 9,631 (27.44)
Algorithms 76 (21.78) 0:21 1,053,533 (10.49) 3,022 (28.72) 102,944 (11.04) 8,353 (23.80)
Data Structures 67 (19.77) 0:19 1,245,963 (12.40) 533 (5.07) 95,383 (10.22) 5,583 (15.91)
Functions 25 (7.16) 0:22 1,530,659 (15.24) 987 (9.38) 203,331 (21.80) 3,300 (9.40)
Frameworks 18 (5.16) 0:28 1,043,932 (10.39) 1,024 (9.73) 133,092 (14.27) 2,492 (7.10)
Control Structures 6 (1.72) 0:19 530,988 (5.29) 533 (5.07) 105,933 (11.36) 2,439 (6.95)
Variables 3 (0.86) 0:13 353,335 (3.52) 253 (2.40) 53,359 (5.72) 2,304 (6.57)
Operator 2 (0.57) 0:19 124,555 (1.24) 96 (0.91) 10,522 (1.13) 993 (2.83)

Content Types

Tiktokers showing tips and tricks (e.g., merge two arrays by @projectonethree) and offering pragmatic advice (e.g., dealing with programming frustrations by @imdadcodes) are the most recurring types of video content (n = 243, 69.63%). Consistent with the short-form video nature of the platform, programming tutorial is the least frequent content type. One explanation is that the comprehensive nature of tutorial videos is not likely feasible to present in a shorter video length. We also noted that some of these tutorial videos are a truncated version of or a promotional material linked to YouTube videos (e.g., fetch weather data by @codewithishraq). On a side note, we observed a growing trend among TikTokers to re-upload their content as YouTube Shorts (e.g., a collection of JavaScript plugins by @creative.tim).

Content Styles

Although not indicated in Table 1, we found that the majority of videos use music (n = 303, 86.82%) either as a background or as the message itself. We have anticipated this style because the platform has an official library of licensed content. Contrary to the ethos of this SNS, we did not discover any dancing videos or comedic content. Instead, more than half of the videos (n = 207, 59.31%) are recordings of screen activities (i.e., screencasting, e.g., Visual Basic for Applications scripting by @talaexe). This finding indicates that the norms in the platform do not shape nor influence the video content style when the intent is educational. We also noticed that the remaining videos are mostly hands-on programming demonstrations (i.e., coding, e.g., the sum of all digits by @zippycode, n = 92, 26.36%). In the education domain, this presentation format is the most preferred by teachers (Santos Espino et al., 2020).

Programming Languages

Congruent with the 2021 Annual Developer Survey (Stack Overflow, 2021), the most frequent programming languages discussed by TikTokers are Python (n = 130, 37.25%, e.g., making animated coronavirus by @codex.programming) and JavaScript (n = 92, 26.36%, e.g., create animated underline text effect by @javascript_wizz). We also found videos that do not talk about programming languages (e.g., how to be a software developer by @sherrycodes). Instead, these videos labeled as ‘not applicable’ discuss various concepts under the umbrella of computing science that may be beneficial for programming learners. This trend clarifies the large number of videos giving advice and life lessons (n = 98, 28.08%). Some videos also cover multiple languages (e.g., easiest programming languages to learn by @danschae, n = 10, 2.87%).

Programming Topics

The most recurrent topic among TikTokers falls under what we labeled as the “programming career” (n = 158, 45.27%). This category encompasses the multifaceted life of a programmer as viewed outside the boundary of academic syllabi (e.g., reducing development environment complexity by @donrestarone). The second most frequent topic, algorithms (n = 76, 21.78%), covers basic and advanced instructions under different paradigms (e.g., recursion using Fibonacci sequence by @techktalktiktok). When comparing the figures for programming topics, we observed that only a few videos discuss basic programming concepts, and more videos narrate personal experiences. For instance, we only found three videos (0.86%) teaching variables (e.g., defining variables in JavaScript by @deerbruh1) and only two (0.57%) videos for discussing operators (e.g., ‘IN’ operator by @zippycode).

Discussion

Principal Findings

In this study, we investigated TikTok videos indexed in the #LearnProgramming hashtag and assessed the potential of this SNS for nanolearning. Recent studies have identified Facebook as the most favored platform for educational purposes (Akçayır & Akçayır, 2016) and YouTube as the primary source of programming knowledge for computing students (Lausa et al., 2021). However, as a new emerging platform, TikTok is underrepresented in the education and SNS literature. Although TikTok is generally an entertainment destination, our results show that the platform also has educational videos. The 349 videos that we analyzed received 10,046,000 views, 10,523 comments, 932,871 likes, and 35,095 shares, implying elevated levels of user engagement. Figure 2 indicates that programming TikTok videos gained these social signals during the pandemic (2020-2021). An obvious explanation is the ‘extra time’ people have because of lockdowns and other disruptions. This finding supports the rationale for utilizing TikTok as a window into the online learning experiences of students during the COVID-19 pandemic (Literat, 2021). In addition, students rely on humor as a coping strategy during emergency remote education (Garcia & Revano Jr, 2022; Saricali et al., 2020).

From a macro perspective, we found that TikTokers do not follow the norms of the platform (e.g., dancing) when producing educational content. This deviation underscores growth from the era of lip-synched music videos to a mainstream media outlet. It also exhibits the intent of TikTokers to educate than to entertain. However, our results show that the topics selected by TikTokers are usually outside the boundary of programming syllabi. Herein lies both the strength and weakness of TikTok. First, in a school learning context, it is customary for teachers to follow a syllabus with rigorous strictness and not deviate from the content of what is to be taught in each lesson. Although motivated by a positive dedication, in such a case, teachers lose the opportunity to share and teach additional information and skills. TikTok fills this gap through its diverse content topics and themes. On the other hand, it is also the weakness of the platform because there is no order and structure to follow. For instance, @imdadcodes (one of the most active TikTokers in the hashtag) publishes random tips and tricks videos for different programming languages. First-timers may be overwhelmed by disparate selections and may not know which videos to watch first. This disarray could be problematic because a systematic learning approach is crucial when studying computer programming. Specifically, novice programmers must understand the underlying concepts first (e.g., basic syntax, data types, variables, operators, expressions) before coding complex algorithms (Grover et al., 2019). The inclination of TikTokers to produce videos beneficial to one’s programming career likewise implies that the content is more helpful to industry practitioners than students. A deficit that we also observed is the absence of narration similar to how teachers discuss concepts in the classroom. Instead, they used music either as a background or as the message itself. Some topics may require an additional explanation (e.g., how recursive algorithm works) rather than simply showing the source code.

In terms of content style, TikTokers favor the screencasting approach. For clarification, we observed that it is more common to record computer screens using external devices (e.g., mobile phones) than screen recording software. This inclination shows the incongruity between TikTokers and teachers considering the latter prefers hands-on demonstration videos (Santos Espino et al., 2020). In principle, coding should be the most frequent content style because of the hands-on nature of computer programming. However, since the videos are dominated by the illustration of one’s programming career (topic), a coding demonstration is not needed. In the case of programming languages, we observed that while Python is the most popular, users engaged more with ‘not applicable’ videos in terms of views, comments, and likes. It is possible that these kinds of videos attract more attention because the platform is not expected to have formal learning content. This finding supports a qualitative study (Greenhow & Robelia, 2009) that revealed students used SNS outside the school, although they do not realize the connection between their online activities and learning inside the classroom.

Limitations and Future Directions

Our study presents some limitations that warrant discussion. First, while there is no standard on the number of hashtags that may provide a representative sample, we only used one to form the dataset. We believe that adding videos from other hashtags will alter the results. Further, we excluded non-English videos, although computer programming is not geographically limited. We thus encourage future researchers to include videos in other languages for a more generalizable finding. A replication of the comparative study (Al-Maroof et al., 2021) between TikTok and YouTube is also warranted. If students only use these SNS platforms to look for source codes and not necessarily detailed explanations, there is a possibility that they may prefer TikTok, especially since they like YouTube because it supplies information immediately (Lausa et al., 2021). Further work should be conducted to assess user acceptance by analyzing the textual feedback (i.e., comments). The qualitative data may uncover additional attributes that could help measure the value of TikTok as a knowledge source. Lastly, just like the assessment of information quality in health-related videos (Kong et al., 2021), future research on TikTok should consider the credibility of the video source and compare the characteristics of their content.

Conclusion

In sum, our study is one of the few explorations to focus on TikTok. We believe this SNS platform will be a hot topic in the research community of different disciplines when it becomes more ingrained in society, just like other social media channels. Although some previous research examined the user-generated content within the platform, our study was the first to describe its characteristics using the lens of education. Accordingly, we learned that programming tips and tricks are the most recurring content type, unlike YouTube which is populated by tutorials. As expected, most videos utilize music either as a background or as the message itself. Screencasting is the most popular video style as it is straightforward and does not require any software. In terms of content, Python is the most frequent programming language and revolves around topics encompassing the life of a programmer that is typically not part of academic syllabi. In our preliminary investigation, it is too premature to conclude that TikTok can be an effective nanolearning platform because we have not yet assessed the impact of video content on learning. Therefore, our future work will focus on experimental research in which we will adopt a pre-test post-test design with a control group. Nonetheless, for an SNS platform whose key pillars are entertainment and humor, TikTok contains informative videos that may supplement computer programming topics.