• Additional note in 202201:
    • Looking back, it feels like a forced essay in a scholarly style, but I’ll keep it as a nostalgic piece from my first year of high school.

  • In my Contemporary Society class at school, we were assigned a task to write an essay examining Values that are considered “good” from multiple perspectives.

  • I’m pasting what I wrote in July 2019.

  • I wrote it at the last minute, so the ending might be a bit sloppy.

  • In the philosophical analysis, I wrote about the relationship between past philosophical research and programming thinking.

    • Maybe it shouldn’t be called a philosophical analysis?
  • In the legal analysis, I wrote about the relationship between the Ministry of Education’s definition of education and programming thinking.

    • I also feel like this shouldn’t be called a legal analysis.
  • (Addendum) Actually, I don’t have any specialized knowledge in philosophy or law, so it seems like I’m just making shallow connections.

    • Well, it can’t be helped since it’s the assignment.
  • It was tough when I was researching philosophy.

    • Thinking about the meaning of education led me to think about the meaning of life, so it was difficult.

------------------------Content of the essay below------------------------

1. Introduction

1-1. Background

In Japanese elementary schools, Programming Education has become mandatory since 2020 due to revisions in the Curriculum Guidelines. Rather than creating a separate subject for programming, it is implemented within existing subjects such as integrated learning, mathematics, and science. (Ministry of Education, Culture, Sports, Science and Technology, 2017) The Ministry of Education, Culture, Sports, Science and Technology (2016) does not define programming education solely as learning to code, so easier methods such as ”Unplugged Programming” and ”Visual Programming” are also used. In the “Guidebook for Elementary School Programming Education,” the Ministry of Education, Culture, Sports, Science and Technology (2018) broadly states the aims of the new curriculum as follows:

  • ① Cultivating “programming thinking”
  • ② Developing the ability to recognize that society is supported by information technology and fostering an attitude of using that technology to solve everyday problems and improve society
  • ③ Ensuring more reliable learning in each subject while teaching the content of each subject In this paper, we focus on the cultivation of “programming thinking” among these aims.

1-2. Problem and Objective

Various studies and proposals have been made regarding how to develop “programming thinking” in the curriculum. The Ministry of Education, Culture, Sports, Science and Technology (2018) proposes an activity of drawing regular polygons based on their meanings as an example. Students understand the characteristics of regular polygons and come up with a program to draw a regular polygon by combining provided instructions such as “draw a line of a specific length” and “change direction at a specific angle.” In the process of designing the program, they can experiment and improve by generalizing the action of “drawing one side” and repeating it. Other studies include teaching about “speed” using Sphero SPRK Edition (Nakamura, 2016) and practical lessons on developing simple games using the visual programming environment Scratch (Shimabukuro, Kobayashi, Kubo, & Kanemune, 2018). However, there are few studies examining whether acquiring these skills is truly valuable. Introducing programming education requires cost and time. To ensure a better programming education environment, the local government financial measures amount to 180.5 billion yen per year for five years starting from 2018, with the aim of improving the ICT environment. (Ministry of Education, Culture, Sports, Science and Technology, 2018) The Ministry of Education, Culture, Sports, Science and Technology (2018) also explains that “programming thinking” is not something that can be learned or rapidly developed in a short class.Therefore, it is necessary to consider whether programming education should have been made mandatory. In this paper, the research question is set as “Is there value in education that cultivates programming thinking?”

1-3. Definition

The Ministry of Education, Culture, Sports, Science and Technology (2016) defines “programming thinking” as the ability to think logically about what combination of movements is necessary to achieve a series of intended activities, how to combine symbols corresponding to each movement, and how to improve the combination of symbols to get closer to the intended activity. In this paper, this definition is adopted as the definition of “programming thinking.”

In addition, Oda (2018) organizes the content of programming thinking and lists the following four elements:

  • Decomposition: Breaking down a larger movement into smaller solvable movements.
  • Abstraction: Extracting only the relevant aspects and properties according to the purpose, discarding other parts.
  • Generalization: Finding similarities and relationships between things.
  • Combination: Creating clear and better procedures through trial and error to match the purpose.

These four elements are considered as elements of programming thinking in this paper.

1-4. Previous Research

The Ministry of Education, Culture, Sports, Science and Technology (2016) considers the value of programming thinking as a universally demanded skill in the rapidly changing technological innovation and regardless of the direction of one’s career. They also explain that developing programming thinking also leads to clearer logical thinking in various subjects.

One study on the value of teaching programming thinking is the investigation of the correlation between programming thinking and the abilities required in other subjects conducted by Akahori (2017). They prepared problems involving flowcharts, screen design, and problems in Japanese, mathematics, science, and social studies as other subjects, and examined the correct answer rates. As a result, a correlation was observed between the correct answer rates of flowchart problems and mathematics and science problems, and a correlation was observed between the correct answer rates of design problems and Japanese and social studies problems. There was also a strong correlation between flowchart and design problems related to programming thinking. Based on these results, Akahori speculated that programming thinking is a comprehensive logical thinking that is related to logical thinking in other subjects.

Román-González, Pérez-González, Jiménez-Fernández (2017) prepared maze problems as Computational Thinking problems and examined their correlation with intelligence tests used in psychology. The results showed that the largest correlation was found with recognition ability and inference ability, followed by language ability, and there was no correlation with computational ability.

While there have been psychological approaches to research and investigation, there have been few philosophical considerations. Additionally, there have been no legal considerations in past psychological research. Therefore, this paper defines “valuable education” philosophically and legally and discusses the value of education that cultivates programming thinking.

2. Philosophical Consideration

Methods for correctly pursuing academic studies have been philosophically studied for a long time, such as Socrates’ dialectic method and Descartes’ “Discourse on the Method.” In the philosophical consideration of this paper, valuable education is defined as acquiring the methods for correctly pursuing academic studies.

In this consideration, programming thinking is examined by breaking it down into the four elements mentioned by Oda (2018): decomposition, abstraction, generalization, and combination.

2-1. DecompositionDescartes (1637) lists “dividing each difficult problem I examine into as many parts as possible and as necessary for solving the problem more effectively” as one of the rules for logical consideration in his work “Discourse on the Method”. This can be seen as a technique equivalent to “decomposition” in programming thinking.

2-2. Abstraction

Philosopher Bacon (1620) advocated “inductive reasoning” in his work “Novum Organum” as a means to explore philosophy logically. While deductive reasoning uses general principles to logically draw conclusions about things, inductive reasoning extracts common characteristics from individual specific facts to derive general laws. This can also be seen as a technique of abstraction in programming thinking.

In the activity of drawing regular polygons based on the meaning of regular polygons mentioned in 1-2, abstracting the common properties among various regular polygons becomes abstraction.

2-3. Generalization

Plato abstracted the images existing in the real world and considered them as ideal forms. In the activity of drawing regular polygons mentioned earlier, the process of extracting (abstracting) and generalizing the common points of drawing programs for regular triangles, regular quadrilaterals, etc. can be said to be similar to Plato’s theory of Ideas.

Furthermore, the similarity between the programming technique of “object-oriented programming” that uses generalization and Aristotle’s concept of “categories” has also been pointed out (Nagashima, 2009).

2-4. Combination

“Combination” in program creation refers to accurately conveying the content to the interpreter of the program, such as a computer. In other words, the ability to use language to systematically explain one’s intentions to others is the ability of “combination”.

This logical structuring has been studied philosophically for a long time. Various methods such as the syllogism created by Aristotle have been developed (Smith, 2017).

2-5. Summary of Philosophical Considerations

All four elements of programming thinking showed a high similarity to the methods devised by philosophers to explore academic disciplines correctly and logically. Therefore, it can be said that teaching programming thinking has philosophical value.

Article 1 of Japan’s Basic Education Law stipulates the purpose of education as “fostering healthy individuals who possess the necessary qualities to become formers of a peaceful and democratic nation and society, aiming for the completion of personality and physical and mental health.” The Ministry of Education, Culture, Sports, Science and Technology (2007a) also explains the purpose of education as “the completion of each individual’s personality and the cultivation of individuals who can contribute to the formation of the nation and society.” Therefore, in the legal considerations of this paper, valuable education is defined as education that achieves two objectives: “completion of personality” and “cultivation of formers of the nation and society”. We will consider how teaching programming thinking affects these objectives.

3-1. Completion of Personality

Regarding the objective of “completion of personality,” former Minister of Education Kosaka stated in a parliamentary response that it means “developing all the abilities that each individual possesses as much as possible and in a harmonious manner” (Ministry of Education, 2006). The term “all abilities” can be applied to any ability, but it is believed to encompass many of the nine abilities presented by Gardner (1992): “naturalistic, musical, logical & mathematical, existential, interpersonal, bodily, linguistic, intrapersonal, spatial.”Gardner defines “logical & mathematical” ability as the ability to perform calculations, make hypotheses, think logically and systematically, and engage in deductive/inductive reasoning. In the study by Akabori (2017), it was found that the accuracy in solving “flowchart” problems, which require the ability to “combine” elements, and in “mathematics and algebra” was high. As mentioned earlier in section 2-4, thinking logically and systematically is required for “combination”. Furthermore, as mentioned in section 2-2, deductive thinking is required for “abstraction”. Therefore, it can be assumed that there is a relationship between developing programming thinking skills and the development of “logical & mathematical” ability.

According to Gardner, “existential” ability refers to the ability to contemplate philosophical questions about human existence. As mentioned in section 2-5, the methods developed by philosophers in their pursuit of answers to philosophical questions show similarities to programming thinking. Therefore, it can be assumed that there is a relationship between developing programming thinking skills and the development of “existential” ability.

In the aforementioned study by Akabori, problems in screen design were also used along with flowchart problems to measure programming thinking skills. There was a correlation between screen design problems and problems in “language comprehension” and “social analysis”, but since the ability measured by screen design problems deviates from the definition of programming thinking in this paper, it is not discussed.

No relationship was found between programming thinking and the other abilities presented by Gardner. Therefore, while education that fosters programming thinking skills can enhance certain individual abilities, it cannot promote holistic development.

3-2. Cultivating Nation and Society Builders

The then Minister of Education, Culture, Sports, Science and Technology, Ibuki, explained the following qualities that should be aimed for in “nation and society builders” in the Special Committee on the Basic Law on Education in the House of Councillors:

  • Balanced in knowledge, moral character, and physical development
  • Self-directed individuals who strive for self-actualization in the future
  • Individuals who actively participate in the formation of the nation and society
  • Individuals who can fulfill the self-regulation and obligations necessary to maintain the nation and society
  • Individuals who can live in the international community based on Japanese traditions and culture (Ministry of Education, Culture, Sports, Science and Technology, 2007b)

Since programming thinking is an ability for problem-solving, it does not show a strong correlation with these normative qualities. Therefore, it can be considered that education that fosters programming thinking skills has little value in aiming to become “nation and society builders”.

Based on the examination of our country’s Basic Law on Education, a correlation was found between programming thinking and “personality development” in certain fields, but no correlation was found regarding the cultivation of “nation and society builders”. Therefore, it can be said that education that fosters programming thinking skills based on our country’s laws has partial value.

4. Comprehensive Consideration

In this paper, the elements of programming thinking were defined, and “education with value” was defined from both philosophical and legal perspectives. Based on this, the value of education that fosters programming thinking skills was examined.

In the philosophical consideration, it was concluded that education that fosters programming thinking skills has value in logically exploring academic subjects. In the legal consideration, it was concluded that there is value in developing the “logical & mathematical” and “existential” abilities of individuals, but little value in developing other abilities presented by Gardner or aiming for normative qualities sought by the country.

Based on these considerations, it can be assumed that education that fosters programming thinking skills, as defined in this paper, has value in enhancing abilities that emphasize logic, but has limited value in other cases.This paper focuses on the “computational thinking” aspect of programming education, which will become mandatory from 2020. However, in order to consider whether programming education should really be made mandatory, it is necessary to thoroughly examine other factors in the future.

References

Bacon, F. (1978). Novum Organum (Katsura, J., trans.). Iwanami Shoten. (Original work published 1620) Descartes, R. (1997). Discourse on the Method (Togawa, T., trans.). Iwanami Shoten. (Original work published 1637) Gardner, H. (1993). Multiple Intelligence: The Theory in Practice. New York: Westview Press. Román-González, M., Pérez-González, J.-C., & Jiménez-Fernández, C. (2017). Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior, 72, 678–691. Smith, R. (2017, February 17). Aristotle’s Logic. Retrieved July 7, 2019, from Stanford Encyclopedia of Philosophy website: https://plato.stanford.edu/entries/aristotle-logic/ Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33–35. Nakamura, Y. (2016). Consideration of the development of computational thinking and mathematical perspectives in mathematics education. Journal of the Japan Society for Science Education, 31(3), 9–12. Philosophy Def. 1 (2006). In M. Matsumura (Ed.), Daijirin (3rd ed.). Sanseido. Oda, R. (2018, July 13). Explaining “computational thinking” with diagrams. Retrieved July 6, 2019, from Beneprog Programming Education Information website: https://beneprog.com/2018/07/13/computationalthinking/ Shimabukuro, M., Kobayashi, F., Kubo, T., & Kanemune, S. (2018). Proposal of teaching materials that foster computational thinking using worksheets and tablet devices. Proceedings of the 80th National Convention, 2018(1), 491–492. Induction Def. 2 (2006). In M. Matsumura (Ed.), Daijirin (3rd ed.). Sanseido. Hirajima, S. (2017). Externalization of Computational Thinking and Process Evidence. Proceedings of the Annual Conference of the Japanese Society for Artificial Intelligence. Presented at the Annual Conference of the Japanese Society for Artificial Intelligence. https://doi.org/10.11517/pjsai.JSAI2017.0_1F31 Ministry of Education, Culture, Sports, Science and Technology. (2006). Main responses in the deliberations on the amendment of the Basic Education Law. Ministry of Education, Culture, Sports, Science and Technology. (2007a, January 10). Shapers of the nation and society (Article 5, Paragraph 2). Retrieved July 7, 2019, from Ministry of Education, Culture, Sports, Science and Technology website: http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/004/siryo/attach/1399352.htm Ministry of Education, Culture, Sports, Science and Technology. (2007b, September 5). Purpose of education and revisions to the curriculum so far. Retrieved July 6, 2019, from http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/siryo/attach/1401225.htm Ministry of Education, Culture, Sports, Science and Technology. (2016, June 16). About the way of programming education at the elementary school stage (summary of discussions). Retrieved July 5, 2019, from http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm Ministry of Education, Culture, Sports, Science and Technology. (2017). Elementary School Curriculum Guidelines. Toyo Kan Publisher. Ministry of Education, Culture, Sports, Science and Technology. (2018, November). Guide to Elementary School Programming Education PDF file. Retrieved July 5, 2019, from http://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2018/11/06/1403162_02_1.pdf Nagashima, H. (2009). Object technology taught by Aristotle. Bulletin of Kawaguchi Junior College, (23), 55–64. Deduction Def. 2 (2006). In M. Matsumura (Ed.), Daijirin (3rd ed.). Sanseido. Takimoto, Y. (2018, October 28). Socratic dialogue and programming [Philosophy and Programming]. Retrieved July 7, 2019, from Valed press website: https://valed.press/_ct/17219414Akahori, K. (2017). Invited Paper. Journal of Learning Informatics, Vol. 261, No. 4, pp. 56-61. Aoyama, N., Ono, M., Oda, F., Kohara, M., Takizawa, Y., Tanaka, A., et al. (2018). Defining “Personality” that Education Aims for: A Survey of University Students’ Awareness. Human Studies, 64(2), pp. 19-26.