A Trial of Learning Programming Using a Six-step Method
CS (Computer Science) unplugged is an educational method, highly effective for learning, in which students learn about information science through experiences that do not involve the use of computers. A wide range of research is being conducted in this area. However, much of the previous research has not gone beyond experiencing CS unplugged, or has been limited in terms of connections to full-fledged programming education. Thus, we have incorporated a method called CS plugged as a new approach for complementing CS unplugged, and proposed a method for learning programming comprising six steps. In CS unplugged, the basic idea is to not use computers, but our view is that education techniques using computers are essential as a bridge to full-fledged programming. Our aim is to establish a learning method made up of the following six steps: (1) Step 1: CS unplugged, (2) Step 2: CS plugged, (3) Step 3: Diagramming of processing for an activity (visualization), (4) Step 4: Natural language description of processing for the activity (abstraction, element extraction), (5) Step 5: Confirming operation of the algorithm using a trace table to which original expressions have been added (verification), and (6) Step 6: Writing full-fledged program code (abstraction, coding). This research used the six-step method in a C language programming class for young adults at a level corresponding to second-year high school students. This paper provides an overview of the research.
Feaster, Y., Segars, L., Wahba, S. K., & Hallstrom, J. O. (2011). Teaching CS unplugged in the high school (with limited success). In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, 248–252.
Hayashi, K. (2018). A Review of the State of Computational Thinking Discourse, Research report of JET Conferences, 18(2), 165-172.
Hofuku, Y., Idosaka, Y., Kanemune, S., & Kuno, Y. (2008). Using CS Unplugged in High school Information-B Classes, Proceedings of the Summer Symposium, 2008, 201-206.
Hofuku, Y. (2013). "Peta-gogy" for Future：Why is Programming Difficult?, IPSJ Magazine, 54, 252-255.
Idosaka, Y., Aoki, H., Kanemune, S., & Kuno, Y. (2008a). A Practical Approach for Elementary Schoolchildren with ”Computer Science Unplugged”, Proceedings of the Summer Symposium, 2008, 25-31.
Idosaka, Y., Kanemune, S., & Kuno, Y. (2008b). Evaluation of ”Computer Science Unplugged” in junior high school, IPSJ SIG Technical Report, 2008-CE-93(7), 163-170.
Komatsu, K. (2015). Problems and Measures of Programming Education, Bunkyo Gakuin University Research Institute Management Review, 25(1), 83-104.
Manabe, H., Kanemune, S., & Namiki, M. (2012). Development and Effect of Digital Materials for CS Unplugged, IPSJ SIG Technical Report, 2012-CE-113(14), 1-9.
Manabe, H., Kanemune, S., & Namiki, M. (2013). Effects of Teaching Tools in CSU Algorithm Education, IPSJ Journal, 54(1), 14-23.
Matsubara, Y. (1986). Cognitive Scientific Study of Programming (1), Information and communication studies, 7, 96-104.
Ministry of Education, Culture, Sports, Science and Technology. (2016). About the Way of Programming Education in the Elementary School Stage, http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/074/siryo/__icsFiles/afieldfile/2016/07/07/1373891_5_1_1.pdf
Ota, G., Morimoto, Y., & Kato, H. (2016). The Comparative Survey of Computer Science and Programming Education for Primary and Secondary Schools in the UK, Australia and USA, Japan Journal of Educational Technology, 40(3), 197-208.
Selby, C. & Woollard, J. (2013). Computational thinking: the developing definition, https://eprints.soton.ac.uk/356481/1/Selby_Woollard_bg_soton_eprints.pdf
Tamaki, T., Tanabe, M., Onishi, A., Sakamoto, M., & Uchida, Y. (2016). From Natural Language to Programming Language: A Stepwise Educational Method for Algorithms, Advances in Education Research, 90, 9-14.
Wada, B. T. (2009). An university's class on algorithms using both Computer Science Unplugged and chalkboard lecture, IPSJ SIG Technical Report, 2009-CE-100(5), 1-7.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.