WO2022124018A1 - Programming learning software, programming learning device, and programming learning method - Google Patents

Programming learning software, programming learning device, and programming learning method Download PDF

Info

Publication number
WO2022124018A1
WO2022124018A1 PCT/JP2021/041944 JP2021041944W WO2022124018A1 WO 2022124018 A1 WO2022124018 A1 WO 2022124018A1 JP 2021041944 W JP2021041944 W JP 2021041944W WO 2022124018 A1 WO2022124018 A1 WO 2022124018A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding mode
text
programming learning
program
user
Prior art date
Application number
PCT/JP2021/041944
Other languages
French (fr)
Japanese (ja)
Inventor
勇輝 西澤
Original Assignee
株式会社Preferred Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Preferred Networks filed Critical 株式会社Preferred Networks
Priority to JP2022568138A priority Critical patent/JPWO2022124018A1/ja
Publication of WO2022124018A1 publication Critical patent/WO2022124018A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Definitions

  • This disclosure relates to programming learning software, programming learning equipment, and programming learning methods.
  • a block-based visual programming language such as Scratch is known as an educational programming language for supporting programming learning.
  • Scratch the user can create a program by assembling blocks representing various instructions and control structures.
  • Such block-based visual programming languages are often used by beginners as an introductory tool for learning text-based programming languages such as Javascript® and Python®.
  • Converting a block-based program to a text-based program using the conversion tool described above allows the user to see a text-based program equivalent to the block-based program, which may facilitate the learning of programming. ..
  • the subject of the present disclosure is to provide a technique for supporting the acquisition of a text-based programming language from a block-based programming language.
  • one aspect of the present disclosure is programming learning software having a block coding mode and a text coding mode, and in the block coding mode, a process of acquiring a program created by a user in a block format.
  • the present invention relates to programming learning software for causing a computer to execute a process of presenting a program acquired in the block coding mode as hint information of a text input by the user in the text coding mode.
  • FIG. 1 is a schematic diagram showing a programming learning system 10 according to an embodiment of the present disclosure.
  • the programming learning system 10 has a programming learning device 100 and a server device 200 communication-connected to the programming learning device 100.
  • the programming learning device 100 is typically a user terminal such as a personal computer, a tablet, or a smartphone, and supports the user to learn programming by using the programming learning software provided by the server device 200.
  • the programming learning device 100 downloads the programming learning software from the server device 200 and installs the downloaded programming learning software, thereby enabling the user to use various functions of the programming learning software.
  • the server device 200 functions as a cloud server, and the programming learning device 100 uses various functions of the programming learning software stored in the cloud by operating the screen provided by the programming learning software from the server device 200. You may.
  • the server device 200 stores the programming learning software, and provides the programming learning software to the programming learning device 100 in response to a download request from the user. Alternatively, the server device 200 causes the programming learning device 100 to use the function provided by the programming learning software in response to a usage request or an operation instruction from the user, or provides a function corresponding to the operation instruction.
  • the programming learning device 100 according to the present disclosure executes the programming learning software downloaded from the server device 200, and supports the programming learning by the user.
  • the programming learning software according to this embodiment has at least two operation modes, a block coding mode and a text coding mode.
  • the programming learning software When the programming learning software is operating in block coding mode, the user can create, edit and execute programs in a block-based programming language such as Scratch, while the programming learning software is in text coding mode. When in operation, users can create, edit and run programs in text-based programming languages such as JavaScript and Python.
  • FIG. 2 is a block diagram showing a functional configuration of the programming learning device 100 according to the embodiment of the present disclosure.
  • the programming learning device 100 has a block coding mode processing unit 110 and a text coding mode processing unit 120.
  • the block coding mode processing unit 110 and the text coding mode processing unit 120 are realized by a process of causing a processor to execute one or more programs installed in the programming learning device 100.
  • the block coding mode processing unit 110 executes various processes such as creation, editing, display control and execution of a block format program, and transition to the text coding mode.
  • the block coding mode processing unit 110 acquires a program created by the user in a block format in the block coding mode.
  • the block coding mode processing unit 110 displays the blocks available in the block coding mode, and the user desires to combine these blocks. Allows you to create a program that executes a function or process, and gets the created program. For example, a block-type program may be created by Scratch.
  • the text coding mode processing unit 120 executes various processes such as creation, editing, display control and execution of a text format program, and transition to the block coding mode.
  • the text coding mode processing unit 120 presents the program as hint information of the text input by the user in the text coding mode.
  • This hint information is a hint for creating the same program in the text coding mode as the program created by the user in the block format in the block coding mode, and the user types (inputs) in the text coding mode to create the program.
  • Text hints to do Note that this hint information is distinguishable from the text actually typed (input) by the user.
  • the text coding mode processing unit 120 converts the block format program created in the block coding mode into a text format program equivalent to the program.
  • the conversion may be executed according to any known conversion method used in Microsoft MakeCode, AppLab, etc., and for example, according to the correspondence information between various blocks defined in advance and the text code, the block format program may be executed. It may be executed by converting each block into the corresponding text code.
  • the text format program may use a programming language such as Javascript or Python.
  • the text coding mode processing unit 120 displays the converted text format program as hint information to the user who created the text format program. For example, the converted text format program is displayed so that the user can distinguish the correspondence with the block format program. At this time, the text coding mode processing unit 120 may present the text format program as hint information to the user with a brightness lower than the default set brightness, for example, by translucency. Further, the text coding mode processing unit 120 may display the text format program on the editor screen in a non-editable state. [Programming learning software] Next, the programming learning software according to the embodiment of the present disclosure will be described with reference to FIGS. 3 to 9.
  • the programming learning software according to the present embodiment is installed in the programming learning device 100, and the functions of the block coding mode processing unit 110 and the text coding mode processing unit 120 described above are realized by the operation of the programming learning device 100 by the user.
  • .. 3 to 9 are diagrams showing screen examples provided by the programming learning software according to the embodiment of the present disclosure.
  • the user uses the block coding mode processing unit 110 to create a program.
  • the illustrated editor screen has an input display part for assembling blocks, a program execution button for executing the created program, and a text coding mode transition button for transitioning from block coding mode to text coding mode. included.
  • the text coding mode processing unit 120 displays the editor screen as shown in FIG. In this editor screen, the text coding mode processing unit 120 converts the block format program created in the editor screen of FIG. 3 into a text format program equivalent to the program. At this time, as shown in FIG. 4, the text coding mode processing unit 120 uses the text format program in a non-editable state as the text input by the user as hint information for learning the text-based programming. It may be displayed so as to be distinguishable. Specifically, the text coding mode processing unit 120 displays the code in the text format program equivalent to the block format program with a brightness lower than the default setting such as translucency, as shown inside the broken line in FIG.
  • the semi-transparent portion is displayed as a superposed dot-shaped layer), and may be presented as hint information that can be viewed only and cannot be edited.
  • the input display portion of the editor screen consists of a first layer that displays the program in text format, a second layer that displays characters typed by the user, and a user, in order toward the display side to the user. It has a third layer that accepts characters typed by, and the characters displayed by the second layer may be opaquely displayed to hide the corresponding parts of the first layer.
  • the text coding mode processing unit 120 may not execute the program presented as hint information. That is, in order to support programming learning by the user, the text coding mode processing unit 120 may execute the program input by the user himself / herself and may not execute the program presented as hint information.
  • the editor screen may include a button for hiding hint information, and when the hide button is pressed, the hint information may be displayed in a hidden state, specifically, in a non-visible state. good.
  • the text coding mode processing unit 120 hides the hint information as shown in FIG.
  • the text coding mode processing unit 120 may display a block coding mode transition button from the text coding mode to the block coding mode on the editor screen in the text coding mode.
  • the block coding transition button When the block coding transition button is pressed, the block coding mode processing unit 110 reproduces the block input in the previous block coding mode in the same arrangement as the previous time, while the block coding mode is input by the user in the text coding mode before the transition. You may not want to display the block that corresponds to the textual code.
  • the text coding mode processing unit 120 displays a text format program as hint information displayed on the editor screen shown in FIG. 4 as semi-transparent hint information immediately after the mode transition, and displays the code of the displayed program. Encourage the user to type in by tracing like a copy, and let the user do text-based programming learning.
  • the text coding mode processing unit 120 redisplays the typed characters with a relatively high brightness such as the default brightness, and then types the characters. The progress of is shown to the user.
  • the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button.
  • the text coding mode processing unit 120 displays the text format program equivalent to the created block format program as hint information on the editor screen with a brightness lower than the default setting. good.
  • the text coding mode processing unit 120 urges the user to type in the code of the displayed text format program by tracing it from the beginning like a copy, and when the user types in the characters, the characters are typed in as shown in FIG. 7C.
  • the programming learning device 100 allows the user who created the program in the block format to visually recognize the text format program equivalent to the created program, and by inputting the code of the text format program by himself / herself, the effect of programming learning. Can be improved.
  • the text coding mode processing unit 120 displays a text format program equivalent to the block format program created by the user as hint information, but in other embodiments, the text coding mode processing unit 120 displays the text format program.
  • the block format program created by the user may be displayed as hint information on the editor screen in the text coding mode as it is. For example, as shown in FIG. 8A, when the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button, FIG. 8B shows. As shown, the text coding mode processing unit 120 may show the created block-format program as hint information in the input display portion of the editor screen.
  • the text coding mode processing unit 120 considers the text format program corresponding to the displayed block format program by itself, and prompts the user to input the code of the text format program from the beginning.
  • the text coding mode processing unit 120 displays the code of the text-formatted program typed by the user, as shown in FIG. 8C.
  • the programming learning device 100 allows the user who created the program in the block format to think of the text format program equivalent to the created program by himself / herself and input the code of the text format program to obtain the effect of programming learning. It can be further improved.
  • the text coding mode processing unit 120 displays the block format program as hint information in the input display portion of the editor screen, but in other embodiments, the hint information is displayed on the editor screen. It may be displayed in an area other than the input display portion of.
  • FIG. 9A when the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button, FIG. 9B shows.
  • the text coding mode processing unit 120 may show the created block-format program as hint information in an area other than the input display portion of the editor screen.
  • the text coding mode processing unit 120 considers the text format program corresponding to the displayed block format program by itself, and prompts the user to input the code of the text format program from the beginning.
  • the text coding mode processing unit 120 displays the code of the text-formatted program typed by the user, as shown in FIG. 9C.
  • the programming learning device 100 allows the user who created the program in the block format to think of the text format program equivalent to the created program by himself / herself and input the code of the text format program to obtain the effect of programming learning. It can be further improved.
  • FIG. 10 Next, with reference to FIG. 10, a programming learning process according to an embodiment of the present disclosure will be described.
  • the programming learning process is executed by the programming learning device 100 described above, and may be realized, for example, by executing a program stored in one or more memories of the programming learning device 100 by one or more processors.
  • FIG. 10 is a flowchart showing a programming learning process according to an embodiment of the present disclosure.
  • step S101 the programming learning device 100 acquires a program created by the user in a block format in the block coding mode. Specifically, the programming learning device 100 displays the available blocks on the editor screen, and the user assembles the displayed blocks to create a program that realizes a desired function or process. The programming learning device 100 acquires a block-type program created by the user on the editor screen.
  • step S102 the programming learning device 100 determines whether or not the mode transition instruction from the block coding mode to the text coding mode has been received. Specifically, when the programming learning device 100 detects that the text coding mode transition button on the editor screen is pressed in the block coding mode, it determines that the mode transition instruction from the block coding mode to the text coding mode has been accepted. ..
  • the programming learning device 100 When the mode transition instruction is received (S102: YES), the programming learning device 100 presents a program created by the user as hint information distinguishable from the text input by the user in the text coding mode in step S103. do. Specifically, the programming learning device 100 displays the block format program created in the block coding mode on the editor screen as hint information of the text format or block format program. At this time, the programming learning device 100 may display the hint information in an area other than the input display portion or the input display portion of the editor screen with a brightness lower than the default brightness such as default brightness or translucency.
  • a part or all of the programming learning device 100 and the server device 200 in the above-described embodiment may be configured by hardware, or software executed by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. It may be composed of (program) information processing.
  • software that realizes at least a part of the functions of each device in the above-described embodiment is a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal).
  • Serial Bus Software information processing may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as a memory and loading it into a computer. Further, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by mounting the software on a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the type of storage medium that stores the software is not limited.
  • the storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed type storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.
  • FIG. 11 is a block diagram showing an example of the hardware configuration of the programming learning device 100 and the server device 200 in the above-described embodiment.
  • the programming learning device 100 and the server device 200 include a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75. It may be realized as a computer 7 connected via a bus 76.
  • the computer 7 in FIG. 11 includes one component for each component, but may include a plurality of the same components.
  • the software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part of the software. May be good.
  • it may be a form of distributed computing in which each computer communicates via a network interface 74 or the like to execute processing. That is, the programming learning device 100 and the server device 200 in the above-described embodiment are configured as a system that realizes a function by executing instructions stored in one or a plurality of storage devices by one or a plurality of computers. May be good.
  • the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the terminal.
  • Various operations of the programming learning device 100 and the server device 200 in the above-described embodiment may be executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. In addition, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud capable of communicating with the computer 7 via a network. As described above, each device in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.
  • the processor 71 may be an electronic circuit (processing circuit, Processing circuit, Processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a computer control device and an arithmetic unit. Further, the processor 71 may be a semiconductor device or the like including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 71 may include a calculation function based on quantum computing.
  • the processor 71 can perform arithmetic processing based on data and software (programs) input from each apparatus or the like of the internal configuration of the computer 7, and output the arithmetic result or control signal to each apparatus or the like.
  • the processor 71 may control each component constituting the computer 7 by executing an OS (Operating System) of the computer 7, an application, or the like.
  • OS Operating System
  • the programming learning device 100 and the server device 200 in the above-described embodiment may be realized by one or a plurality of processors 71.
  • the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
  • the main storage device 72 is a storage device that stores instructions executed by the processor 71, various data, and the like, and the information stored in the main storage device 72 is read out by the processor 71.
  • the auxiliary storage device 73 is a storage device other than the main storage device 72. It should be noted that these storage devices mean any electronic component capable of storing electronic information, and may be a semiconductor memory.
  • the semiconductor memory may be either a volatile memory or a non-volatile memory.
  • the storage device for storing various data in the programming learning device 100 and the server device 200 in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73, and may be realized by the built-in memory built in the processor 71. It may be realized.
  • the storage unit in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73.
  • processors may be connected (combined) to one storage device (memory), or a single processor may be connected.
  • a plurality of storage devices (memory) may be connected (combined) to one processor.
  • the programming learning device 100 and the server device 200 in the above-described embodiment are composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory), there are a plurality of cases.
  • a configuration in which at least one of the processors of the above is connected (combined) to at least one storage device (memory) may be included. Further, this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers. Further, a configuration in which the storage device (memory) is integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.
  • the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As the network interface 74, an appropriate interface such as one conforming to an existing communication standard may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8.
  • the communication network 8 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 7 and the external device 9A. It suffices as long as information is exchanged between them.
  • An example of a WAN is the Internet
  • an example of a LAN is 802.11, Ethernet (registered trademark)
  • an example of a PAN is Bluetooth (registered trademark), NFC (Near Field Communication), and the like.
  • the device interface 75 is an interface such as USB that directly connects to the external device 9B.
  • the external device 9A is a device connected to the computer 7 via a network.
  • the external device 9B is a device directly connected to the computer 7.
  • the external device 9A or the external device 9B may be an input device as an example.
  • the input device is, for example, a device such as a camera, a microphone, a motion capture, various sensors, a keyboard, a mouse, or a touch panel, and gives the acquired information to the computer 7. Further, it may be a device including an input unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
  • the external device 9A or the external device 9B may be an output device as an example.
  • the output device may be, for example, a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), or an organic EL (Electro Luminescence) panel, and outputs audio or the like. It may be a speaker or the like. Further, it may be a device including an output unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
  • the external device 9A or the external device 9B may be a storage device (memory).
  • the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.
  • the external device 9A or the external device 9B may be a device having some functions of the components of the programming learning device 100 and the server device 200 in the above-described embodiment. That is, the computer 7 may transmit or receive a part or all of the processing result of the external device 9A or the external device 9B.
  • the expression (including similar expressions) of "at least one of a, b and c (one)" or "at least one of a, b or c (one)” is used. When used, it includes any of a, b, c, a-b, a-c, b-c, or a-b-c. It may also include multiple instances for any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.
  • connection and “coupled” are direct connection / coupling and indirect connection / coupling. , Electrically connected / combined, communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term.
  • the term should be interpreted as appropriate according to the context in which the term is used, but any connection / coupling form that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.
  • the physical structure of the element A can execute the operation B. It has a configuration and includes that the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good.
  • the element A is a general-purpose processor
  • the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute.
  • the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.
  • the respective hardware when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process.
  • expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used.
  • the hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or a plurality of hardware.
  • the hardware may include an electronic circuit, a device including the electronic circuit, or the like.
  • each storage device (memory) among the plurality of storage devices (memory) stores only a part of the data. It may be stored or the entire data may be stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Stored Programmes (AREA)

Abstract

The purpose of the present invention is to provide technology for assisting with learning a text-based programming language from a block-based programming language. One embodiment of this disclosure relates to programming learning software which includes a block coding mode and a text coding mode, the programming learning software causing a computer to execute: a process for, in the block coding mode, acquiring a program created by a user in a block format; and a process for, in the text coding mode, presenting the program acquired in the block coding mode as hint information for text to be input by the user.

Description

プログラミング学習ソフトウェア、プログラミング学習装置及びプログラミング学習方法Programming learning software, programming learning device and programming learning method
 本開示は、プログラミング学習ソフトウェア、プログラミング学習装置及びプログラミング学習方法に関する。 This disclosure relates to programming learning software, programming learning equipment, and programming learning methods.
 プログラミング学習を支援するための教育用プログラミング言語として、Scratchなどのブロックベースのビジュアルプログラミング言語が知られている。Scratchでは、ユーザは各種命令や制御構造を表すブロックを組み立てることによって、プログラムを作成することができる。このようなブロックベースのビジュアルプログラミング言語は、JavaScript(登録商標)やPython(登録商標)などのテキストベースのプログラミング言語を学習するための導入ツールとして、しばしば初学者に利用されている。 A block-based visual programming language such as Scratch is known as an educational programming language for supporting programming learning. In Scratch, the user can create a program by assembling blocks representing various instructions and control structures. Such block-based visual programming languages are often used by beginners as an introductory tool for learning text-based programming languages such as Javascript® and Python®.
 また、Scratchなどのブロックベースのビジュアルプログラミング言語によって作成されたプログラムを、JavaScriptやPythonなどのテキストベースのプログラミング言語に変換するための各種ツール(例えば、Microsoft(登録商標) MakeCode、AppLabなど)も提案されている。プログラム作成者は、これらのツールを利用して、自らが作成したブロックベースのプログラムを、当該プログラムに等価なテキストベースのプログラムに変換することができる。 We also propose various tools (for example, Microsoft (registered trademark) MakeCode, AppLab, etc.) for converting programs created by block-based visual programming languages such as Scratch into text-based programming languages such as Javascript and Python. Has been done. Program creators can use these tools to convert their block-based programs into text-based programs equivalent to those programs.
特開2020-161094号公報Japanese Unexamined Patent Publication No. 2020-161094 特開2018-190400号公報Japanese Unexamined Patent Publication No. 2018-190400
 上述した変換ツールを利用してブロックベースのプログラムをテキストベースのプログラムに変換すると、ユーザは、ブロックベースのプログラムに等価なテキストベースのプログラムを確認することができ、プログラミング学習の習得が促進されうる。 Converting a block-based program to a text-based program using the conversion tool described above allows the user to see a text-based program equivalent to the block-based program, which may facilitate the learning of programming. ..
 一方、ユーザはテキストを自ら入力することなくテキストベースのプログラムを取得することができるため、テキストベースのプログラミング言語を学習のための導入ツールとしてのブロックベースのビジュアルプログラミング言語から、本来習得したいテキストベースのプログラミング言語への移行が進捗しないおそれがある。 On the other hand, users can get text-based programs without having to enter the text themselves, so they want to learn text-based programming languages from block-based visual programming languages as an introductory tool for learning. May not make progress in the transition to programming languages.
 上述した問題点を鑑み、本開示の課題は、ブロックベースのプログラミング言語からテキストベースのプログラミング言語を習得することを支援するための技術を提供することである。 In view of the above-mentioned problems, the subject of the present disclosure is to provide a technique for supporting the acquisition of a text-based programming language from a block-based programming language.
 上記課題を解決するため、本開示の一態様は、ブロックコーディングモードとテキストコーディングモードを有するプログラミング学習ソフトウェアであって、前記ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得する処理と、前記テキストコーディングモードにおいて、前記ユーザによって入力されるテキストのヒント情報として、前記ブロックコーディングモードにおいて取得されたプログラムを提示する処理と、をコンピュータに実行させるプログラミング学習ソフトウェアに関する。 In order to solve the above problems, one aspect of the present disclosure is programming learning software having a block coding mode and a text coding mode, and in the block coding mode, a process of acquiring a program created by a user in a block format. The present invention relates to programming learning software for causing a computer to execute a process of presenting a program acquired in the block coding mode as hint information of a text input by the user in the text coding mode.
本開示の一実施例によるプログラミング学習システムを示す概略図である。It is a schematic diagram which shows the programming learning system by one Example of this disclosure. 本開示の一実施例によるプログラミング学習装置の機能構成を示すブロック図である。It is a block diagram which shows the functional structure of the programming learning apparatus by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。It is a figure which shows the screen example provided by the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習ソフトウェアを示すフローチャートである。It is a flowchart which shows the programming learning software by one Example of this disclosure. 本開示の一実施例によるプログラミング学習装置及びサーバ装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware configuration of the programming learning apparatus and the server apparatus by one Embodiment of this disclosure.
 以下、図面に基づいて本開示の実施の形態を説明する。 Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
 以下の実施例では、ブロックベースのプログラミング言語に関する処理を実行するブロックコーディングモードと、テキストベースのプログラミング言語に関する処理を実行するテキストコーディングモードとを有するプログラミング学習ソフトウェアと、当該プログラミング学習ソフトウェアを実装するプログラミング学習装置とが開示される。
[プログラミング学習システム]
 まず、図1を参照して、本開示の一実施例によるプログラミング学習システムを説明する。図1は、本開示の一実施例によるプログラミング学習システム10を示す概略図である。
In the following embodiment, a programming learning software having a block coding mode for executing processing related to a block-based programming language and a text coding mode for executing processing related to a text-based programming language, and programming for implementing the programming learning software. The learning device is disclosed.
[Programming learning system]
First, a programming learning system according to an embodiment of the present disclosure will be described with reference to FIG. FIG. 1 is a schematic diagram showing a programming learning system 10 according to an embodiment of the present disclosure.
 図1に示されるように、以下の実施例によるプログラミング学習システム10は、プログラミング学習装置100と、プログラミング学習装置100に通信接続されたサーバ装置200とを有する。 As shown in FIG. 1, the programming learning system 10 according to the following embodiment has a programming learning device 100 and a server device 200 communication-connected to the programming learning device 100.
 プログラミング学習装置100は、典型的には、パーソナルコンピュータ、タブレット、スマートフォンなどのユーザ端末であり、サーバ装置200から提供されるプログラミング学習ソフトウェアを利用して、ユーザがプログラミングを学習することを支援する。例えば、プログラミング学習装置100は、サーバ装置200からプログラミング学習ソフトウェアをダウンロードし、ダウンロードしたプログラミング学習ソフトウェアをインストールすることによって、ユーザがプログラミング学習ソフトウェアの各種機能を利用することを可能にする。あるいは、サーバ装置200はクラウドサーバとして機能し、プログラミング学習装置100は、サーバ装置200からプログラミング学習ソフトウェアによって提供される画面を操作することによって、クラウド上に格納されたプログラミング学習ソフトウェアの各種機能を利用してもよい。 The programming learning device 100 is typically a user terminal such as a personal computer, a tablet, or a smartphone, and supports the user to learn programming by using the programming learning software provided by the server device 200. For example, the programming learning device 100 downloads the programming learning software from the server device 200 and installs the downloaded programming learning software, thereby enabling the user to use various functions of the programming learning software. Alternatively, the server device 200 functions as a cloud server, and the programming learning device 100 uses various functions of the programming learning software stored in the cloud by operating the screen provided by the programming learning software from the server device 200. You may.
 サーバ装置200は、プログラミング学習ソフトウェアを格納し、ユーザからのダウンロード要求に応答して、プログラミング学習装置100にプログラミング学習ソフトウェアを提供する。あるいは、サーバ装置200は、ユーザからの使用要求又は操作指示に応答して、プログラミング学習装置100にプログラミング学習ソフトウェアによって提供される機能を使用させたり、操作指示に対応した機能を提供する。
[プログラミング学習装置]
 次に、図2を参照して、本開示の一実施例によるプログラミング学習装置100を説明する。本実施例によるプログラミング学習装置100は、サーバ装置200からダウンロードしたプログラミング学習ソフトウェアを実行し、ユーザによるプログラミング学習を支援する。本実施例によるプログラミング学習ソフトウェアは、ブロックコーディングモードとテキストコーディングモードとの少なくとも2つの動作モードを有する。プログラミング学習ソフトウェアがブロックコーディングモードで動作しているとき、ユーザは、Scratchなどのブロックベースのプログラミング言語によってプログラムを作成、編集及び実行することが可能であり、他方、プログラミング学習ソフトウェアがテキストコーディングモードで動作しているとき、ユーザは、JavaScriptやPythonなどのテキストベースのプログラミング言語によってプログラムを作成、編集及び実行することが可能である。
The server device 200 stores the programming learning software, and provides the programming learning software to the programming learning device 100 in response to a download request from the user. Alternatively, the server device 200 causes the programming learning device 100 to use the function provided by the programming learning software in response to a usage request or an operation instruction from the user, or provides a function corresponding to the operation instruction.
[Programming learning device]
Next, with reference to FIG. 2, the programming learning device 100 according to the embodiment of the present disclosure will be described. The programming learning device 100 according to the present embodiment executes the programming learning software downloaded from the server device 200, and supports the programming learning by the user. The programming learning software according to this embodiment has at least two operation modes, a block coding mode and a text coding mode. When the programming learning software is operating in block coding mode, the user can create, edit and execute programs in a block-based programming language such as Scratch, while the programming learning software is in text coding mode. When in operation, users can create, edit and run programs in text-based programming languages such as JavaScript and Python.
 図2は、本開示の一実施例によるプログラミング学習装置100の機能構成を示すブロック図である。図2に示されるように、プログラミング学習装置100は、ブロックコーディングモード処理部110及びテキストコーディングモード処理部120を有する。ブロックコーディングモード処理部110及びテキストコーディングモード処理部120は、プログラミング学習装置100にインストールされた1つ以上のプログラムをプロセッサに実行させる処理により実現される。 FIG. 2 is a block diagram showing a functional configuration of the programming learning device 100 according to the embodiment of the present disclosure. As shown in FIG. 2, the programming learning device 100 has a block coding mode processing unit 110 and a text coding mode processing unit 120. The block coding mode processing unit 110 and the text coding mode processing unit 120 are realized by a process of causing a processor to execute one or more programs installed in the programming learning device 100.
 ブロックコーディングモード処理部110は、プログラミング学習ソフトウェアがブロックコーディングモードにより動作しているとき、ブロック形式のプログラムの作成、編集、表示制御及び実行、テキストコーディングモードへの移行等の各種処理を実行する。本実施例では、ブロックコーディングモード処理部110は、ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得する。 When the programming learning software is operating in the block coding mode, the block coding mode processing unit 110 executes various processes such as creation, editing, display control and execution of a block format program, and transition to the text coding mode. In this embodiment, the block coding mode processing unit 110 acquires a program created by the user in a block format in the block coding mode.
 具体的には、プログラミング学習ソフトウェアがブロックコーディングモードで動作しているとき、ブロックコーディングモード処理部110は、ブロックコーディングモードにおいて利用可能なブロックを表示し、ユーザがこれらのブロックを組み合わせることによって所望の機能又は処理を実行するプログラムを作成することを可能にし、作成されたプログラムを取得する。例えば、ブロック形式のプログラムは、Scratchによって作成されてもよい。 Specifically, when the programming learning software is operating in the block coding mode, the block coding mode processing unit 110 displays the blocks available in the block coding mode, and the user desires to combine these blocks. Allows you to create a program that executes a function or process, and gets the created program. For example, a block-type program may be created by Scratch.
 テキストコーディングモード処理部120は、プログラミング学習ソフトウェアがテキストコーディングモードにより動作しているとき、テキスト形式のプログラムの作成、編集、表示制御及び実行、ブロックコーディングモードへの移行等の各種処理を実行する。本実施例では、テキストコーディングモード処理部120は、テキストコーディングモードにおいて、ユーザによって入力されるテキストのヒント情報として、プログラムを提示する。このヒント情報は、ブロックコーディングモードにおいてブロック形式でユーザが作成したプログラムと同じプログラムを、テキストコーディングモードにおいて作成するためのヒントであり、そのプログラムを作成するためにテキストコーディングモードにおいてユーザがタイプ(入力)すべきテキストのヒントである。なお、このヒント情報は、ユーザによって実際にタイプ(入力)されるテキストとは区別可能である。 When the programming learning software is operating in the text coding mode, the text coding mode processing unit 120 executes various processes such as creation, editing, display control and execution of a text format program, and transition to the block coding mode. In this embodiment, the text coding mode processing unit 120 presents the program as hint information of the text input by the user in the text coding mode. This hint information is a hint for creating the same program in the text coding mode as the program created by the user in the block format in the block coding mode, and the user types (inputs) in the text coding mode to create the program. ) Text hints to do. Note that this hint information is distinguishable from the text actually typed (input) by the user.
 具体的には、ブロックコーディングモードからテキストコーディングモードに移行すると、テキストコーディングモード処理部120は、ブロックコーディングモードにおいて作成されたブロック形式のプログラムを、当該プログラムに等価なテキスト形式のプログラムに変換する。当該変換は、Microsoft MakeCode、AppLabなどに利用されている何れか公知の変換方式に従って実行されてもよく、例えば、予め規定されている各種ブロックとテキストコードとの対応情報に従って、ブロック形式のプログラムの各ブロックを、これに対応するテキストコードに変換することによって実行されてもよい。例えば、テキスト形式のプログラムは、JavaScript、Pythonなどのプログラミング言語を利用したものであってもよい。 Specifically, when the block coding mode is changed to the text coding mode, the text coding mode processing unit 120 converts the block format program created in the block coding mode into a text format program equivalent to the program. The conversion may be executed according to any known conversion method used in Microsoft MakeCode, AppLab, etc., and for example, according to the correspondence information between various blocks defined in advance and the text code, the block format program may be executed. It may be executed by converting each block into the corresponding text code. For example, the text format program may use a programming language such as Javascript or Python.
 ブロック形式のプログラムを等価なテキスト形式のプログラムに変換すると、テキストコーディングモード処理部120は、変換したテキスト形式のプログラムをヒント情報として、テキスト形式のプログラムを作成したユーザに表示する。例えば、変換されたテキスト形式のプログラムは、ユーザがブロック形式のプログラムとの対応関係を区別できるように表示される。このとき、テキストコーディングモード処理部120は、テキスト形式のプログラムをヒント情報としてデフォルト設定されている輝度より低い輝度で、例えば、半透明によりユーザに提示してもよい。さらに、テキストコーディングモード処理部120は、テキスト形式のプログラムを編集不可状態でエディタ画面上に表示してもよい。
[プログラミング学習ソフトウェア]
 次に、図3~9を参照して、本開示の一実施例によるプログラミング学習ソフトウェアを説明する。例えば、本実施例によるプログラミング学習ソフトウェアは、プログラミング学習装置100にインストールされ、上述したブロックコーディングモード処理部110及びテキストコーディングモード処理部120の機能は、ユーザによるプログラミング学習装置100の操作によって実現される。図3~9は、本開示の一実施例によるプログラミング学習ソフトウェアにより提供される画面例を示す図である。
When the block format program is converted into an equivalent text format program, the text coding mode processing unit 120 displays the converted text format program as hint information to the user who created the text format program. For example, the converted text format program is displayed so that the user can distinguish the correspondence with the block format program. At this time, the text coding mode processing unit 120 may present the text format program as hint information to the user with a brightness lower than the default set brightness, for example, by translucency. Further, the text coding mode processing unit 120 may display the text format program on the editor screen in a non-editable state.
[Programming learning software]
Next, the programming learning software according to the embodiment of the present disclosure will be described with reference to FIGS. 3 to 9. For example, the programming learning software according to the present embodiment is installed in the programming learning device 100, and the functions of the block coding mode processing unit 110 and the text coding mode processing unit 120 described above are realized by the operation of the programming learning device 100 by the user. .. 3 to 9 are diagrams showing screen examples provided by the programming learning software according to the embodiment of the present disclosure.
 例えば、図3に示されるように、ユーザがプログラミング学習ソフトウェアを利用して、図示されるキャラクタのフィールド上の動作に関するプログラムをブロックコーディングモードにおいて作成する場合、ユーザは、ブロックコーディングモード処理部110によってウィンドウ形式などで表示されるエディタ画面においてブロックを組み立てることによって、ブロック形式のプログラムを作成することができる。図示されたエディタ画面には、ブロックを組み立てるための入力表示部分と、作成したプログラムを実行するためのプログラム実行ボタンと、ブロックコーディングモードからテキストコーディングモードに移行させるためのテキストコーディングモード移行ボタンとが含まれる。 For example, as shown in FIG. 3, when a user uses programming learning software to create a program related to an operation on a field of a illustrated character in a block coding mode, the user uses the block coding mode processing unit 110 to create a program. By assembling blocks on the editor screen displayed in window format, you can create a block format program. The illustrated editor screen has an input display part for assembling blocks, a program execution button for executing the created program, and a text coding mode transition button for transitioning from block coding mode to text coding mode. included.
 図3に示されるエディタ画面においてテキストコーディングモード移行ボタンが押下されると、テキストコーディングモード処理部120は、図4に示されるようなエディタ画面を表示する。このエディタ画面において、テキストコーディングモード処理部120は、図3のエディタ画面において作成されたブロック形式のプログラムを、当該プログラムに等価なテキスト形式のプログラムに変換する。このとき、テキストコーディングモード処理部120は、図4に示されるように、編集不可の状態でテキスト形式のプログラムを、テキストベースのプログラミングを学習するためのヒント情報として、ユーザによって入力されるテキストと区別可能に表示してもよい。具体的には、テキストコーディングモード処理部120は、図4の破線内部に示されるように、ブロック形式のプログラムに等価なテキスト形式のプログラムにおけるコードを半透明などのデフォルト設定より低い輝度によって表示し(以降の図面において、便宜上、半透明部分はドット状のレイヤが重畳されたものとして表示される)、閲覧のみ可能であって編集不可のヒント情報として提示してもよい。具体的には、エディタ画面の入力表示部分は、ユーザへの表示側に向かって順に、テキスト形式でプログラムを表示する第1レイヤと、ユーザによってタイプされた文字を表示する第2レイヤと、ユーザによってタイプされた文字を受け付ける第3レイヤとを有し、第2レイヤによって表示される文字は、第1レイヤにおける対応する部分を隠すよう不透明に表示されてもよい。 When the text coding mode transition button is pressed on the editor screen shown in FIG. 3, the text coding mode processing unit 120 displays the editor screen as shown in FIG. In this editor screen, the text coding mode processing unit 120 converts the block format program created in the editor screen of FIG. 3 into a text format program equivalent to the program. At this time, as shown in FIG. 4, the text coding mode processing unit 120 uses the text format program in a non-editable state as the text input by the user as hint information for learning the text-based programming. It may be displayed so as to be distinguishable. Specifically, the text coding mode processing unit 120 displays the code in the text format program equivalent to the block format program with a brightness lower than the default setting such as translucency, as shown inside the broken line in FIG. (In the following drawings, for convenience, the semi-transparent portion is displayed as a superposed dot-shaped layer), and may be presented as hint information that can be viewed only and cannot be edited. Specifically, the input display portion of the editor screen consists of a first layer that displays the program in text format, a second layer that displays characters typed by the user, and a user, in order toward the display side to the user. It has a third layer that accepts characters typed by, and the characters displayed by the second layer may be opaquely displayed to hide the corresponding parts of the first layer.
 ユーザがプログラム実行ボタンを押下しても、テキストコーディングモード処理部120は、ヒント情報として提示されているプログラムを実行しないようにしてもよい。すなわち、ユーザによるプログラミング学習を支援するため、テキストコーディングモード処理部120は、ユーザ自身によって入力されたプログラムを実行し、ヒント情報として提示されたプログラムは実行しないようにしてもよい。 Even if the user presses the program execution button, the text coding mode processing unit 120 may not execute the program presented as hint information. That is, in order to support programming learning by the user, the text coding mode processing unit 120 may execute the program input by the user himself / herself and may not execute the program presented as hint information.
 なお、エディタ画面には、ヒント情報の非表示ボタンが含まれてもよく、当該非表示ボタンが押下されると、ヒント情報は非表示状態、具体的には、非可視状態で表示されてもよい。非表示ボタンが押下されると、テキストコーディングモード処理部120は、図5に示されるように、ヒント情報を非表示状態にする。 The editor screen may include a button for hiding hint information, and when the hide button is pressed, the hint information may be displayed in a hidden state, specifically, in a non-visible state. good. When the hide button is pressed, the text coding mode processing unit 120 hides the hint information as shown in FIG.
 テキストコーディングモード処理部120は、テキストコーディングモードにおけるエディタ画面において、テキストコーディングモードからブロックコーディングモードへのブロックコーディングモード移行ボタンを表示してもよい。ブロックコーディング移行ボタンが押下されると、ブロックコーディングモード処理部110は、前回のブロックコーディングモードにおいて入力されたブロックが前回と同じ配置で再現される一方、移行前のテキストコーディングモードにおいてユーザによって入力されたテキスト形式のコードに対応するブロックを表示しないようにしてもよい。 The text coding mode processing unit 120 may display a block coding mode transition button from the text coding mode to the block coding mode on the editor screen in the text coding mode. When the block coding transition button is pressed, the block coding mode processing unit 110 reproduces the block input in the previous block coding mode in the same arrangement as the previous time, while the block coding mode is input by the user in the text coding mode before the transition. You may not want to display the block that corresponds to the textual code.
 テキストコーディングモード処理部120は、図4に示されたエディタ画面上に表示されたヒント情報としてのテキスト形式のプログラムを、モード移行直後は半透明のヒント情報として表示し、表示したプログラムのコードを写経のようになぞって打ち込むようにユーザを促し、テキストベースのプログラミング学習をユーザに行わせる。 The text coding mode processing unit 120 displays a text format program as hint information displayed on the editor screen shown in FIG. 4 as semi-transparent hint information immediately after the mode transition, and displays the code of the displayed program. Encourage the user to type in by tracing like a copy, and let the user do text-based programming learning.
 ユーザがテキスト形式のプログラムのコードを先頭から写経のようになぞってキーボードに打ち込むと、テキストコーディングモード処理部120は、打ち込まれた文字をデフォルトの輝度など相対的に高い輝度により再表示し、打ち込みの進捗状況をユーザに示すことができる。 When the user traces the code of the text-format program from the beginning into the keyboard like a copy, the text coding mode processing unit 120 redisplays the typed characters with a relatively high brightness such as the default brightness, and then types the characters. The progress of is shown to the user.
 例えば、本実施例によると、図7Aに示されるように、ユーザがブロックコーディングモード処理部110によって提供されたエディタ画面上でブロックを組み合わせ、ブロック形式のプログラムを作成し、テキストコーディングモード移行ボタンを押下すると、図7Bに示されるように、テキストコーディングモード処理部120は、作成されたブロック形式のプログラムに等価なテキスト形式のプログラムをヒント情報として、デフォルト設定より低い輝度によってエディタ画面に示してもよい。そして、テキストコーディングモード処理部120は、表示したテキスト形式のプログラムのコードを先頭から写経のようになぞって打ち込むようユーザを促し、ユーザが文字を打ち込むと、図7Cに示されるように、打ち込んだ文字の輝度を、例えば、ブロック形式のプログラムのデフォルトの輝度で再表示する。これにより、プログラミング学習装置100は、ブロック形式でプログラムを作成したユーザが、作成したプログラムに等価なテキスト形式のプログラムを視認できると共に、テキスト形式のプログラムのコードを自ら打ち込むことによって、プログラミング学習の効果を向上させることができる。 For example, according to this embodiment, as shown in FIG. 7A, the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button. When pressed, as shown in FIG. 7B, even if the text coding mode processing unit 120 displays the text format program equivalent to the created block format program as hint information on the editor screen with a brightness lower than the default setting. good. Then, the text coding mode processing unit 120 urges the user to type in the code of the displayed text format program by tracing it from the beginning like a copy, and when the user types in the characters, the characters are typed in as shown in FIG. 7C. Redisplay the brightness of the characters, for example, with the default brightness of the block format program. As a result, the programming learning device 100 allows the user who created the program in the block format to visually recognize the text format program equivalent to the created program, and by inputting the code of the text format program by himself / herself, the effect of programming learning. Can be improved.
 しかしながら、本開示によるプログラミング学習ソフトウェアは、これに限定されるものでない。上述した実施例では、テキストコーディングモード処理部120は、ユーザが作成したブロック形式のプログラムに等価なテキスト形式のプログラムをヒント情報として表示したが、他の実施例では、テキストコーディングモード処理部120は、ユーザが作成したブロック形式のプログラムをそのままテキストコーディングモードにおけるエディタ画面にヒント情報として表示してもよい。例えば、図8Aに示されるように、ユーザがブロックコーディングモード処理部110によって提供されたエディタ画面上でブロックを組み合わせ、ブロック形式のプログラムを作成し、テキストコーディングモード移行ボタンを押下すると、図8Bに示されるように、テキストコーディングモード処理部120は、作成されたブロック形式のプログラムをヒント情報としてエディタ画面の入力表示部分に示してもよい。そして、テキストコーディングモード処理部120は、表示したブロック形式のプログラムに対応するテキスト形式のプログラムを自ら考えて、テキスト形式のプログラムのコードを先頭から打ち込むようユーザを促す。ユーザが文字を打ち込むと、図8Cに示されるように、テキストコーディングモード処理部120は、ユーザによって打ち込まれたテキスト形式のプログラムのコードを表示する。これにより、プログラミング学習装置100は、ブロック形式でプログラムを作成したユーザが、作成したプログラムに等価なテキスト形式のプログラムを自ら考えて、テキスト形式のプログラムのコードを打ち込むことによって、プログラミング学習の効果を更に向上させることができる。 However, the programming learning software according to the present disclosure is not limited to this. In the above-described embodiment, the text coding mode processing unit 120 displays a text format program equivalent to the block format program created by the user as hint information, but in other embodiments, the text coding mode processing unit 120 displays the text format program. , The block format program created by the user may be displayed as hint information on the editor screen in the text coding mode as it is. For example, as shown in FIG. 8A, when the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button, FIG. 8B shows. As shown, the text coding mode processing unit 120 may show the created block-format program as hint information in the input display portion of the editor screen. Then, the text coding mode processing unit 120 considers the text format program corresponding to the displayed block format program by itself, and prompts the user to input the code of the text format program from the beginning. When the user types a character, the text coding mode processing unit 120 displays the code of the text-formatted program typed by the user, as shown in FIG. 8C. As a result, the programming learning device 100 allows the user who created the program in the block format to think of the text format program equivalent to the created program by himself / herself and input the code of the text format program to obtain the effect of programming learning. It can be further improved.
 また、図8に示された実施例では、テキストコーディングモード処理部120は、ブロック形式のプログラムをヒント情報としてエディタ画面の入力表示部分に表示したが、他の実施例では、ヒント情報をエディタ画面の入力表示部分以外の領域に表示してもよい。例えば、図9Aに示されるように、ユーザがブロックコーディングモード処理部110によって提供されたエディタ画面上でブロックを組み合わせ、ブロック形式のプログラムを作成し、テキストコーディングモード移行ボタンを押下すると、図9Bに示されるように、テキストコーディングモード処理部120は、作成されたブロック形式のプログラムをヒント情報としてエディタ画面の入力表示部分以外の領域に示してもよい。そして、テキストコーディングモード処理部120は、表示したブロック形式のプログラムに対応するテキスト形式のプログラムを自ら考えて、テキスト形式のプログラムのコードを先頭から打ち込むようユーザを促す。ユーザが文字を打ち込むと、図9Cに示されるように、テキストコーディングモード処理部120は、ユーザによって打ち込まれたテキスト形式のプログラムのコードを表示する。これにより、プログラミング学習装置100は、ブロック形式でプログラムを作成したユーザが、作成したプログラムに等価なテキスト形式のプログラムを自ら考えて、テキスト形式のプログラムのコードを打ち込むことによって、プログラミング学習の効果を更に向上させることができる。
[プログラミング学習処理]
 次に、図10を参照して、本開示の一実施例によるプログラミング学習処理を説明する。当該プログラミング学習処理は、上述したプログラミング学習装置100によって実行され、例えば、プログラミング学習装置100の1つ以上のメモリに格納されたプログラムを1つ以上のプロセッサが実行することによって実現されうる。図10は、本開示の一実施例によるプログラミング学習処理を示すフローチャートである。
Further, in the embodiment shown in FIG. 8, the text coding mode processing unit 120 displays the block format program as hint information in the input display portion of the editor screen, but in other embodiments, the hint information is displayed on the editor screen. It may be displayed in an area other than the input display portion of. For example, as shown in FIG. 9A, when the user combines blocks on the editor screen provided by the block coding mode processing unit 110, creates a block format program, and presses the text coding mode transition button, FIG. 9B shows. As shown, the text coding mode processing unit 120 may show the created block-format program as hint information in an area other than the input display portion of the editor screen. Then, the text coding mode processing unit 120 considers the text format program corresponding to the displayed block format program by itself, and prompts the user to input the code of the text format program from the beginning. When the user types a character, the text coding mode processing unit 120 displays the code of the text-formatted program typed by the user, as shown in FIG. 9C. As a result, the programming learning device 100 allows the user who created the program in the block format to think of the text format program equivalent to the created program by himself / herself and input the code of the text format program to obtain the effect of programming learning. It can be further improved.
[Programming learning process]
Next, with reference to FIG. 10, a programming learning process according to an embodiment of the present disclosure will be described. The programming learning process is executed by the programming learning device 100 described above, and may be realized, for example, by executing a program stored in one or more memories of the programming learning device 100 by one or more processors. FIG. 10 is a flowchart showing a programming learning process according to an embodiment of the present disclosure.
 図10に示されるように、ステップS101において、プログラミング学習装置100は、ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得する。具体的には、プログラミング学習装置100は、利用可能なブロックをエディタ画面に表示し、ユーザは、表示されたブロックを組み立てて、所望の機能や処理を実現するプログラムを作成する。プログラミング学習装置100は、エディタ画面上でユーザによって作成されたブロック形式のプログラムを取得する。 As shown in FIG. 10, in step S101, the programming learning device 100 acquires a program created by the user in a block format in the block coding mode. Specifically, the programming learning device 100 displays the available blocks on the editor screen, and the user assembles the displayed blocks to create a program that realizes a desired function or process. The programming learning device 100 acquires a block-type program created by the user on the editor screen.
 ステップS102において、プログラミング学習装置100は、ブロックコーディングモードからテキストコーディングモードへのモード移行指示を受け付けたか判定する。具体的には、プログラミング学習装置100は、ブロックコーディングモードにおいてエディタ画面上のテキストコーディングモード移行ボタンが押下されたことを検出すると、ブロックコーディングモードからテキストコーディングモードへのモード移行指示を受け付けたと判定する。 In step S102, the programming learning device 100 determines whether or not the mode transition instruction from the block coding mode to the text coding mode has been received. Specifically, when the programming learning device 100 detects that the text coding mode transition button on the editor screen is pressed in the block coding mode, it determines that the mode transition instruction from the block coding mode to the text coding mode has been accepted. ..
 モード移行指示を受け付けた場合(S102:YES)、プログラミング学習装置100は、ステップS103において、テキストコーディングモードにおいて、ユーザによって入力されるテキストと区別可能なヒント情報として、ユーザによって作成されたプログラムを提示する。具体的には、プログラミング学習装置100は、ブロックコーディングモードにおいて作成されたブロック形式のプログラムを、テキスト形式又はブロック形式のプログラムのヒント情報としてエディタ画面に表示する。このとき、プログラミング学習装置100は、当該ヒント情報をデフォルトの輝度又は半透明などデフォルトの輝度より低い輝度によりエディタ画面の入力表示部分又は入力表示部分以外の領域に表示してもよい。
[ハードウェア構成]
 前述した実施形態におけるプログラミング学習装置100及びサーバ装置200の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
When the mode transition instruction is received (S102: YES), the programming learning device 100 presents a program created by the user as hint information distinguishable from the text input by the user in the text coding mode in step S103. do. Specifically, the programming learning device 100 displays the block format program created in the block coding mode on the editor screen as hint information of the text format or block format program. At this time, the programming learning device 100 may display the hint information in an area other than the input display portion or the input display portion of the editor screen with a brightness lower than the default brightness such as default brightness or translucency.
[Hardware configuration]
A part or all of the programming learning device 100 and the server device 200 in the above-described embodiment may be configured by hardware, or software executed by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. It may be composed of (program) information processing. When composed of software information processing, software that realizes at least a part of the functions of each device in the above-described embodiment is a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal). Serial Bus) Software information processing may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as a memory and loading it into a computer. Further, the software may be downloaded via a communication network. Further, information processing may be executed by hardware by mounting the software on a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
 ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。 The type of storage medium that stores the software is not limited. The storage medium is not limited to a removable one such as a magnetic disk or an optical disk, and may be a fixed type storage medium such as a hard disk or a memory. Further, the storage medium may be provided inside the computer or may be provided outside the computer.
 図11は、前述した実施形態におけるプログラミング学習装置100及びサーバ装置200のハードウェア構成の一例を示すブロック図である。プログラミング学習装置100及びサーバ装置200は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。 FIG. 11 is a block diagram showing an example of the hardware configuration of the programming learning device 100 and the server device 200 in the above-described embodiment. As an example, the programming learning device 100 and the server device 200 include a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75. It may be realized as a computer 7 connected via a bus 76.
 図11のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図11では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態におけるプログラミング学習装置100及びサーバ装置200は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。 The computer 7 in FIG. 11 includes one component for each component, but may include a plurality of the same components. Further, although one computer 7 is shown in FIG. 11, the software is installed on a plurality of computers, and each of the plurality of computers executes the same or different part of the software. May be good. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 74 or the like to execute processing. That is, the programming learning device 100 and the server device 200 in the above-described embodiment are configured as a system that realizes a function by executing instructions stored in one or a plurality of storage devices by one or a plurality of computers. May be good. Further, the information transmitted from the terminal may be processed by one or a plurality of computers provided on the cloud, and the processing result may be transmitted to the terminal.
 前述した実施形態におけるプログラミング学習装置100及びサーバ装置200の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。 Various operations of the programming learning device 100 and the server device 200 in the above-described embodiment may be executed in parallel processing by using one or a plurality of processors or by using a plurality of computers via a network. Further, various operations may be distributed to a plurality of arithmetic cores in the processor and executed in parallel processing. In addition, some or all of the processes, means, etc. of the present disclosure may be executed by at least one of a processor and a storage device provided on the cloud capable of communicating with the computer 7 via a network. As described above, each device in the above-described embodiment may be in the form of parallel computing by one or a plurality of computers.
 プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。 The processor 71 may be an electronic circuit (processing circuit, Processing circuit, Processing circuitry, CPU, GPU, FPGA, ASIC, etc.) including a computer control device and an arithmetic unit. Further, the processor 71 may be a semiconductor device or the like including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using an electronic logic element, and may be realized by an optical circuit using an optical logic element. Further, the processor 71 may include a calculation function based on quantum computing.
 プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。 The processor 71 can perform arithmetic processing based on data and software (programs) input from each apparatus or the like of the internal configuration of the computer 7, and output the arithmetic result or control signal to each apparatus or the like. The processor 71 may control each component constituting the computer 7 by executing an OS (Operating System) of the computer 7, an application, or the like.
 前述した実施形態におけるプログラミング学習装置100及びサーバ装置200は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。 The programming learning device 100 and the server device 200 in the above-described embodiment may be realized by one or a plurality of processors 71. Here, the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You may point. When a plurality of electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
 主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態におけるプログラミング学習装置100及びサーバ装置200において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部は、主記憶装置72又は補助記憶装置73により実現されてもよい。 The main storage device 72 is a storage device that stores instructions executed by the processor 71, various data, and the like, and the information stored in the main storage device 72 is read out by the processor 71. The auxiliary storage device 73 is a storage device other than the main storage device 72. It should be noted that these storage devices mean any electronic component capable of storing electronic information, and may be a semiconductor memory. The semiconductor memory may be either a volatile memory or a non-volatile memory. The storage device for storing various data in the programming learning device 100 and the server device 200 in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73, and may be realized by the built-in memory built in the processor 71. It may be realized. For example, the storage unit in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73.
 記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態におけるプログラミング学習装置100及びサーバ装置200が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。 Multiple processors may be connected (combined) to one storage device (memory), or a single processor may be connected. A plurality of storage devices (memory) may be connected (combined) to one processor. When the programming learning device 100 and the server device 200 in the above-described embodiment are composed of at least one storage device (memory) and a plurality of processors connected (combined) to the at least one storage device (memory), there are a plurality of cases. A configuration in which at least one of the processors of the above is connected (combined) to at least one storage device (memory) may be included. Further, this configuration may be realized by a storage device (memory) and a processor included in a plurality of computers. Further, a configuration in which the storage device (memory) is integrated with the processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.
 ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。 The network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As the network interface 74, an appropriate interface such as one conforming to an existing communication standard may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8. The communication network 8 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, and may be a combination of the computer 7 and the external device 9A. It suffices as long as information is exchanged between them. An example of a WAN is the Internet, an example of a LAN is 802.11, Ethernet (registered trademark), and an example of a PAN is Bluetooth (registered trademark), NFC (Near Field Communication), and the like.
 デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。 The device interface 75 is an interface such as USB that directly connects to the external device 9B.
 外部装置9Aはコンピュータ7とネットワークを介して接続されている装置である。外部装置9Bはコンピュータ7と直接接続されている装置である。 The external device 9A is a device connected to the computer 7 via a network. The external device 9B is a device directly connected to the computer 7.
 外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。 The external device 9A or the external device 9B may be an input device as an example. The input device is, for example, a device such as a camera, a microphone, a motion capture, various sensors, a keyboard, a mouse, or a touch panel, and gives the acquired information to the computer 7. Further, it may be a device including an input unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
 また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。 Further, the external device 9A or the external device 9B may be an output device as an example. The output device may be, for example, a display device such as an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), a PDP (Plasma Display Panel), or an organic EL (Electro Luminescence) panel, and outputs audio or the like. It may be a speaker or the like. Further, it may be a device including an output unit such as a personal computer, a tablet terminal, or a smartphone, a memory, and a processor.
 また、外部装置9Aまた外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。 Further, the external device 9A or the external device 9B may be a storage device (memory). For example, the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.
 また、外部装置9A又は外部装置9Bは、前述した実施形態におけるプログラミング学習装置100及びサーバ装置200の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。 Further, the external device 9A or the external device 9B may be a device having some functions of the components of the programming learning device 100 and the server device 200 in the above-described embodiment. That is, the computer 7 may transmit or receive a part or all of the processing result of the external device 9A or the external device 9B.
 本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。 In the present specification (including claims), the expression (including similar expressions) of "at least one of a, b and c (one)" or "at least one of a, b or c (one)" is used. When used, it includes any of a, b, c, a-b, a-c, b-c, or a-b-c. It may also include multiple instances for any element, such as a-a, a-b-b, a-a-b-b-c-c, and the like. It also includes adding elements other than the listed elements (a, b and c), such as having d, such as a-b-c-d.
 本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。 When expressions (including similar expressions) such as "with data as input / based on / according to / according to" are used in the present specification (including claims), unless otherwise specified. This includes the case where various data itself is used as an input, and the case where various data are processed in some way (for example, noise-added data, normalized data, intermediate representation of various data, etc.) are used as input data. In addition, when it is stated that some result can be obtained "based on / according to / according to the data", it includes the case where the result can be obtained based only on the data, and other data other than the data. It may also include cases where the result is obtained under the influence of factors, conditions, and / or conditions. In addition, when it is stated that "data is output", unless otherwise specified, various data itself is used as output, or various data is processed in some way (for example, noise is added, normal). It also includes the case where the output is output (intermediate representation of various data, etc.).
 本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。 When the terms "connected" and "coupled" are used herein (including claims), they are direct connection / coupling and indirect connection / coupling. , Electrically connected / combined, communicatively connected / combined, operatively connected / combined, physically connected / combined, etc. Intended as a term. The term should be interpreted as appropriate according to the context in which the term is used, but any connection / coupling form that is not intentionally or naturally excluded is not included in the term. It should be interpreted in a limited way.
 本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。 In the present specification (including claims), when the expression "A is configured to B (A configured to B)" is used, the physical structure of the element A can execute the operation B. It has a configuration and includes that the permanent or temporary setting (setting / configuration) of the element A is set (configured / set) to actually execute the operation B. good. For example, when the element A is a general-purpose processor, the processor has a hardware configuration capable of executing the operation B, and the operation B is set by setting a permanent or temporary program (instruction). It suffices if it is configured to actually execute. Further, when the element A is a dedicated processor, a dedicated arithmetic circuit, or the like, the circuit structure of the processor actually executes the operation B regardless of whether or not the control instruction and data are actually attached. It only needs to be implemented.
 本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。 In the present specification (including claims), when a term meaning inclusion or possession (for example, "comprising / including" and "having", etc.) is used, the object of the term is used. It is intended as an open-ended term, including the case of containing or owning an object other than the indicated object. If the object of these terms that mean inclusion or possession is an expression that does not specify a quantity or suggests a singular (an expression with a or an as an article), the expression is interpreted as not being limited to a specific number. It should be.
 本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。 In the present specification (including claims), expressions such as "one or more" or "at least one" are used in some places, and the quantity is specified in other places. Even if expressions that do not or suggest singular (expressions with a or an as an article) are used, the latter expression is not intended to mean "one". In general, expressions that do not specify a quantity or suggest a singular (an article with a or an as an article) should be construed as not necessarily limited to a particular number.
 本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。 In the present specification, when it is stated that a specific effect (advantage / result) can be obtained for a specific configuration of an embodiment, unless there is a specific reason, another one or more having the configuration. It should be understood that the effect can be obtained also in the examples of. However, it should be understood that the presence or absence of the effect generally depends on various factors, conditions, and / or states, and the effect cannot always be obtained by the configuration. The effect is merely obtained by the configuration described in the examples when various factors, conditions, and / or conditions are satisfied, and in the invention relating to the claim that defines the configuration or a similar configuration. , The effect is not always obtained.
 本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。 In the present specification (including claims), when a plurality of hardware performs a predetermined process, the respective hardware may cooperate to perform the predetermined process, or some hardware may perform the predetermined process. You may do all of the above. Further, some hardware may perform a part of a predetermined process, and another hardware may perform the rest of the predetermined process. In the present specification (including claims), expressions such as "one or more hardware performs the first process and the one or more hardware performs the second process" are used. , The hardware that performs the first process and the hardware that performs the second process may be the same or different. That is, the hardware that performs the first process and the hardware that performs the second process may be included in the one or a plurality of hardware. The hardware may include an electronic circuit, a device including the electronic circuit, or the like.
 本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。 In the present specification (including the claims), when a plurality of storage devices (memory) store data, each storage device (memory) among the plurality of storage devices (memory) stores only a part of the data. It may be stored or the entire data may be stored.
 以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, changes, replacements, partial deletions, etc. are possible without departing from the conceptual idea and purpose of the present invention derived from the contents specified in the claims and their equivalents. For example, in all the above-described embodiments, when numerical values or mathematical formulas are used for explanation, they are shown as an example, and the present invention is not limited thereto. Further, the order of each operation in the embodiment is shown as an example, and is not limited to these.
 本国際出願は2020年12月11日に出願された日本国特許出願2020-206187号に基づく優先権を主張するものであり、2020-206187号の全内容をここに本国際出願に援用する。 This international application claims priority based on Japanese Patent Application No. 2020-206187 filed on December 11, 2020, and the entire contents of No. 2020-206187 are incorporated herein by reference.

Claims (19)

  1.  ブロックコーディングモードとテキストコーディングモードを有するプログラミング学習ソフトウェアであって、
     前記ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得する処理と、
     前記テキストコーディングモードにおいて、前記ユーザによって入力されるテキストのヒント情報として、前記ブロックコーディングモードにおいて取得されたプログラムを提示する処理と、
    をコンピュータに実行させるプログラミング学習ソフトウェア。
    A programming learning software that has a block coding mode and a text coding mode.
    In the block coding mode, the process of acquiring a program created by the user in a block format and
    In the text coding mode, a process of presenting a program acquired in the block coding mode as hint information of text input by the user, and
    Programming learning software that lets your computer run.
  2.  前記提示する処理は、前記テキストコーディングモードにおいて、前記ユーザが前記プログラムをなぞってテキストを入力するための前記ヒント情報として、前記プログラムを提示する、請求項1記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 1, wherein the presented process presents the program as the hint information for the user to trace the program and input text in the text coding mode.
  3. 前記ヒント情報は、前記ユーザによって入力されるテキストと区別可能である、請求項1又は2記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 1 or 2, wherein the hint information is distinguishable from the text input by the user.
  4.  前記提示する処理は、前記ヒント情報として前記プログラムを半透明で提示することを含む、請求項1乃至3何れか一項記載のプログラミング学習ソフトウェア。 The programming learning software according to any one of claims 1 to 3, wherein the process to be presented includes presenting the program as hint information in a semi-transparent manner.
  5.  前記提示する処理は、テキスト形式又はブロック形式で前記プログラムを提示することを含む、請求項1乃至4何れか一項記載のプログラミング学習ソフトウェア。 The programming learning software according to any one of claims 1 to 4, wherein the process to be presented includes presenting the program in a text format or a block format.
  6.  前記提示する処理は、編集可能なテキストエディタ上に前記テキスト形式で前記プログラムを表示することを含む、請求項5記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 5, wherein the process to be presented includes displaying the program in the text format on an editable text editor.
  7.  前記テキストエディタは、前記ユーザへの表示側に向かって順に、
     前記テキスト形式で前記プログラムを表示する第1レイヤと、
     前記ユーザによってタイプされた文字を表示する第2レイヤと、
     前記ユーザによってタイプされた文字を受け付ける第3レイヤと、
    を有し、
     前記第2レイヤによって表示される文字は、前記第1レイヤにおける対応する部分を隠すよう不透明に表示される、請求項6記載のプログラミング学習ソフトウェア。
    The text editor, in order toward the display side to the user,
    The first layer that displays the program in the text format,
    A second layer that displays the characters typed by the user,
    A third layer that accepts characters typed by the user,
    Have,
    The programming learning software according to claim 6, wherein the characters displayed by the second layer are opaquely displayed so as to hide the corresponding portions in the first layer.
  8.  前記提示する処理は、前記プログラムを編集不可な状態で提示することを含む、請求項1乃至7何れか一項記載のプログラミング学習ソフトウェア。 The programming learning software according to any one of claims 1 to 7, wherein the process to be presented includes presenting the program in a non-editable state.
  9.  前記テキストコーディングモードは、前記ヒント情報として提示された前記ヒント情報を非表示にするためのユーザインタフェースを有する、請求項1又は2記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 1 or 2, wherein the text coding mode has a user interface for hiding the hint information presented as the hint information.
  10.  前記テキストコーディングモードは、前記ユーザによるテキストをプログラムのコードとして入力する操作を受け付け、前記ユーザによって前記テキストで入力された前記プログラムのコードを実行可能である、請求項1乃至9何れか一項記載のプログラミング学習ソフトウェア。 13. Programming learning software.
  11.  前記テキストコーディングモードは、前記ブロックコーディングモードにおいてブロック形式で前記ユーザによって作成されて取得され、且つ、当該テキストコーディングモードにおいて前記ヒント情報として提示された、前記プログラムを実行しない、請求項1乃至10何れか一項記載のプログラミング学習ソフトウェア。 The text coding mode is any of claims 1 to 10, wherein the text coding mode is created and acquired by the user in a block format in the block coding mode, and is presented as the hint information in the text coding mode, and does not execute the program. The programming learning software described in one section.
  12.  前記ブロックコーディングモードは、利用可能なブロックを表示し、前記ユーザによる当該利用可能なブロックを組み合わせる操作を受け付け、
     前記ブロック形式で前記ユーザによって作成される前記プログラムは、前記利用可能なブロックが前記ユーザによって組み合わせられることによって作成されるプログラムである、請求項1乃至11何れか一項記載のプログラミング学習ソフトウェア。
    The block coding mode displays available blocks and accepts operations by the user to combine the available blocks.
    The programming learning software according to any one of claims 1 to 11, wherein the program created by the user in the block format is a program created by combining the available blocks by the user.
  13.  前記ブロックコーディングモードは、前記利用可能なブロックが前記ユーザによって組み合わせられることによって作成されるプログラムを実行可能である、請求項12記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 12, wherein the block coding mode can execute a program created by combining the available blocks by the user.
  14.  前記ブロックコーディングモードにおいてブロック形式で前記ユーザによって作成される前記プログラム、および、前記テキストコーディングモードにおいて前記ユーザによって入力されたテキストで作成されたプログラムの何れも、所定対象の動作を制御するためのプログラムである、請求項1乃至13何れか一項記載のプログラミング学習ソフトウェア。 Both the program created by the user in the block format in the block coding mode and the program created by the text input by the user in the text coding mode are programs for controlling the operation of a predetermined target. The programming learning software according to any one of claims 1 to 13.
  15.  前記ブロックコーディングモードにおいてブロック形式でプログラムを作成するためのエディタ、および、前記テキストコーディングモードにおいてテキスト入力でプログラムを作成するためのエディタの何れも、前記所定対象の動作を表示する画面とともに表示される、請求項14記載のプログラミング学習ソフトウェア。 Both the editor for creating a program in block format in the block coding mode and the editor for creating a program by text input in the text coding mode are displayed together with a screen displaying the operation of the predetermined target. , The programming learning software according to claim 14.
  16.  前記所定対象は、フィールド上のキャラクタである、請求項14又は15記載のプログラミング学習ソフトウェア。 The programming learning software according to claim 14 or 15, wherein the predetermined object is a character on the field.
  17.  前記ブロックコーディングモードにおいて、ブロック形式で前記ユーザによって作成されるプログラムは、サーバに記憶される、請求項1乃至16何れか一項記載のプログラミング学習ソフトウェア。 The programming learning software according to any one of claims 1 to 16, wherein the program created by the user in the block format in the block coding mode is stored in the server.
  18.  ブロックコーディングモードとテキストコーディングモードを有するプログラミング学習ソフトウェアを格納する1つ以上のメモリと、
     1つ以上のプロセッサと、
    を有し、
     前記1つ以上のプロセッサは、
     前記ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得し、
     前記テキストコーディングモードにおいて、前記ユーザによって入力されるテキストのヒント情報として、前記ブロックコーディングモードにおいて取得されたプログラムを提示する、
    プログラミング学習装置。
    One or more memories to store programming learning software with block coding mode and text coding mode,
    With one or more processors
    Have,
    The one or more processors
    In the block coding mode, the program created by the user in the block format is acquired, and the program is acquired.
    In the text coding mode, the program acquired in the block coding mode is presented as hint information of the text input by the user.
    Programming learning device.
  19.  ブロックコーディングモードとテキストコーディングモードを有するプログラミング学習ソフトウェアにより実現されるプログラミング学習方法であって、
     1つ以上のプロセッサが、前記ブロックコーディングモードにおいて、ブロック形式でユーザによって作成されるプログラムを取得し、
     前記1つ以上のプロセッサが、前記テキストコーディングモードにおいて、前記ユーザによって入力されるテキストのヒント情報として、前記ブロックコーディングモードにおいて取得されたプログラムを提示する、
    ことを有するプログラミング学習方法。
    It is a programming learning method realized by programming learning software having a block coding mode and a text coding mode.
    One or more processors obtain a program created by the user in block format in the block coding mode.
    The one or more processors present the program acquired in the block coding mode as hint information of the text input by the user in the text coding mode.
    A programming learning method that has.
PCT/JP2021/041944 2020-12-11 2021-11-15 Programming learning software, programming learning device, and programming learning method WO2022124018A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022568138A JPWO2022124018A1 (en) 2020-12-11 2021-11-15

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-206187 2020-12-11
JP2020206187 2020-12-11

Publications (1)

Publication Number Publication Date
WO2022124018A1 true WO2022124018A1 (en) 2022-06-16

Family

ID=81974352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041944 WO2022124018A1 (en) 2020-12-11 2021-11-15 Programming learning software, programming learning device, and programming learning method

Country Status (2)

Country Link
JP (1) JPWO2022124018A1 (en)
WO (1) WO2022124018A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5760788A (en) * 1995-07-28 1998-06-02 Microsoft Corporation Graphical programming system and method for enabling a person to learn text-based programming
JP2003248418A (en) * 2002-02-22 2003-09-05 Silverfox:Kk Programing learning system, computer program for the same, and computer-readable storage medium
JP2017219718A (en) * 2016-06-08 2017-12-14 大日本印刷株式会社 Programming learning device and program
JP2018190400A (en) * 2017-04-28 2018-11-29 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation Method for analyzing data based on block, system, and program
JP2019144546A (en) * 2018-02-19 2019-08-29 株式会社キュレオ Programming learning program
JP2020161094A (en) * 2019-03-26 2020-10-01 萌希 関野 New language conversion method in block type programming system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5760788A (en) * 1995-07-28 1998-06-02 Microsoft Corporation Graphical programming system and method for enabling a person to learn text-based programming
JP2003248418A (en) * 2002-02-22 2003-09-05 Silverfox:Kk Programing learning system, computer program for the same, and computer-readable storage medium
JP2017219718A (en) * 2016-06-08 2017-12-14 大日本印刷株式会社 Programming learning device and program
JP2018190400A (en) * 2017-04-28 2018-11-29 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation Method for analyzing data based on block, system, and program
JP2019144546A (en) * 2018-02-19 2019-08-29 株式会社キュレオ Programming learning program
JP2020161094A (en) * 2019-03-26 2020-10-01 萌希 関野 New language conversion method in block type programming system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAMOTO DAICHI: "Proposal of program input assist function using block programming envirement", INFORMATION PROCESSING SOCIETY OF JAPAN, 1 January 2019 (2019-01-01), pages 309 - 312, XP055941235 *

Also Published As

Publication number Publication date
JPWO2022124018A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
US20180107279A1 (en) Applications, systems, and methods for facilitating emotional gesture-based communications
KR20090034891A (en) Providing input and output for a mobile device
CN105302569A (en) Method and device used for generating special-shaped window
JP5490416B2 (en) A method for extracting a graphic description of a display object specializing in a region to an external display unit in a patient monitor system
US8616888B2 (en) Defining an insertion indicator
WO2022124018A1 (en) Programming learning software, programming learning device, and programming learning method
Perlman Software tools for user interface development
US20220351640A1 (en) Method of supporting learning of programming, apparatus and computer-readable storage medium
JP2008108132A (en) Electronic equipment, projector, electronic equipment control program, projector control program
JP2008140150A (en) Operation procedure output device and operation procedure output program
JP2007280092A (en) Picture data preparation method
CN110012089B (en) Control method and electronic equipment
JP4635219B2 (en) Graphics dialogue apparatus and graphics dialogue program
JP2011003034A (en) Power system monitoring controller, and control method and control program of the same
JP5556230B2 (en) Computer emulation apparatus and computer emulation program
JP7132557B1 (en) Device control system
KR102560619B1 (en) Electronic device providing no-code tool service and method thereof
JP2001318811A (en) Graphical user interface simulation device
WO2022255365A1 (en) Programming learning software, programming learning device, and programming learning method
JP5446312B2 (en) Electronic calculator and program
JP2008310605A (en) Information processor, information processing method, program, and recording medium
JP3081634B2 (en) How to display icons
US20140184650A1 (en) Information processing device, display method and computer program product
Danturthi et al. Progress in using the universal remote console standard to create user-customized interfaces for future medical devices
US20190034212A1 (en) Method, user device and system for dynamically modifying a user interface within a deployed application

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21903122

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022568138

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21903122

Country of ref document: EP

Kind code of ref document: A1