Programming learning system, program, programming learning device, and programming learning method
The programming learning system supports users in transitioning from block-based to text-based programming by offering hint information in the text coding mode, enhancing the learning process.
Patent Information
- Application Number
- JP2022568138
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-11
- Filing Date
- 2021-11-15
- Publication Date
- 2026-03-05
- Estimated Expiration
- 2041-11-15
AI Technical Summary
Users may fail to progress from block-based visual programming languages to text-based programming languages due to the ease of converting block-based programs into text-based programs without manual input, hindering effective learning.
A programming learning system with both block and text coding modes, where the block coding mode allows users to create programs in block format, and the text coding mode provides hint information in the form of semi-transparent, uneditable text to guide users in converting their block-based programs into equivalent text-based programs.
Enhances the learning experience by visually guiding users to transition from block-based to text-based programming, improving the effectiveness of programming education.
Smart Images

Figure 0007824498000001 
Figure 0007824498000002 
Figure 0007824498000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to programming learning software, a programming learning device, and a programming learning method. [Background technology]
[0002] Block-based visual programming languages such as Scratch are known as educational programming languages to support programming learning. Scratch allows users to create programs by assembling blocks that represent various commands and control structures. Such block-based visual programming languages are often used by beginners as introductory tools for learning text-based programming languages such as JavaScript (registered trademark) and Python (registered trademark).
[0003] Additionally, various tools (e.g., Microsoft® MakeCode, AppLab, etc.) have been proposed for converting programs created in block-based visual programming languages such as Scratch into text-based programming languages such as JavaScript and Python. Using these tools, program creators can convert their own block-based programs into equivalent text-based programs. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-161094 [Patent Document 2] JP 2018-190400 A Summary of the Invention [Problem to be solved by the invention]
[0005] By using the above-described conversion tool to convert a block-based program into a text-based program, a user can identify a text-based program equivalent to the block-based program, which can facilitate learning programming.
[0006] On the other hand, because users can acquire text-based programs without having to input the text themselves, there is a risk that the transition from block-based visual programming languages, which are used as an introductory tool for learning text-based programming languages, to the text-based programming languages that users actually want to learn will not progress.
[0007] In view of the above-mentioned problems, an object of the present disclosure is to provide a technology for supporting learning a text-based programming language from a block-based programming language. [Means for solving the problem]
[0008] In order to solve the above problem, one aspect of the present disclosure is a programming learning system having a block coding mode and a text coding mode, the system including: an acquisition unit that acquires a program created by a user in block format in the block coding mode; and a program input unit that inputs the program acquired in the block coding mode as hint information for text input by the user in the text coding mode. , in an editable text editor, but in an uneditable state and a presentation unit that presents the programming. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a schematic diagram illustrating a programming learning system according to one embodiment of the present disclosure. [Figure 2] 1 is a block diagram showing a functional configuration of a programming learning device according to an embodiment of the present disclosure. [Figure 3]FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 4] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 5] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 6] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 7A] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 7B] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 7C] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 8A] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 8B] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 8C] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 9A] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 9B] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 9C] FIG. 10 is a diagram illustrating an example of a screen provided by programming learning software according to an embodiment of the present disclosure. [Figure 10] 1 is a flowchart illustrating a programming learning software according to an embodiment of the present disclosure. [Figure 11]1 is a block diagram showing the hardware configuration of a programming learning device and a server device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0011] In the following embodiments, programming learning software having a block coding mode for executing processes related to a block-based programming language and a text coding mode for executing processes related to a text-based programming language, and a programming learning device that implements the programming learning software are disclosed. [Programming learning system] First, a programming learning system according to an embodiment of the present disclosure will be described with reference to Fig. 1. Fig. 1 is a schematic diagram showing a programming learning system 10 according to an embodiment of the present disclosure.
[0012] As shown in FIG. 1, a programming learning system 10 according to the following embodiment includes a programming learning device 100 and a server device 200 connected to the programming learning device 100 for communication.
[0013] The programming learning device 100 is typically a user terminal such as a personal computer, tablet, or smartphone, and supports a user in learning programming using 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 may function as a cloud server, and the programming learning device 100 may use various functions of the programming learning software stored on the cloud by operating a screen provided by the programming learning software from the server device 200.
[0014] The server device 200 stores programming learning software and, in response to a download request from a user, provides the programming learning software to the programming learning device 100. Alternatively, in response to a usage request or an operation instruction from a user, the server device 200 allows the programming learning device 100 to use a function provided by the programming learning software or provides a function corresponding to the operation instruction. [Programming learning device] Next, with reference to FIG. 2 , a programming learning device 100 according to an embodiment of the present disclosure will be described. The programming learning device 100 according to this embodiment executes programming learning software downloaded from a server device 200 to assist a user in learning programming. The programming learning software according to this embodiment has at least two operating modes: a block coding mode and a text coding mode. When the programming learning software operates in the block coding mode, a user can create, edit, and execute a program using a block-based programming language such as Scratch. On the other hand, when the programming learning software operates in the text coding mode, a user can create, edit, and execute a program using a text-based programming language such as JavaScript or Python.
[0015] 2 is a block diagram showing a functional configuration of a programming learning device 100 according to an embodiment of the present disclosure. As shown in FIG. 2, the programming learning device 100 includes 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.
[0016] When the programming learning software is operating in the block coding mode, the block coding mode processing unit 110 executes various processes such as creating, editing, display control, and execution of a block-format program, transition to the text coding mode, etc. In this embodiment, the block coding mode processing unit 110 acquires a program created by a user in the block format in the block coding mode.
[0017] Specifically, when the programming learning software is operating in the block coding mode, the block coding mode processing unit 110 displays blocks available in the block coding mode, allows the user to create a program that performs a desired function or process by combining these blocks, and obtains the created program. For example, the block-based program may be created using Scratch.
[0018] When the programming learning software is operating in the text coding mode, the text coding mode processing unit 120 performs various processes such as creating, editing, display control, and execution of a text-format program, and transitioning to the block coding mode. In this embodiment, the text coding mode processing unit 120 presents the program as hint information for the text input by the user in the text coding mode. This hint information is a hint for creating, in the text coding mode, a program identical to the program created by the user in block format in the block coding mode, and is a hint for the text that the user should type (input) in the text coding mode to create the program. Note that this hint information can be distinguished from the text actually typed (input) by the user.
[0019] Specifically, when the mode shifts from the block coding mode 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 block-format program. This conversion may be performed according to any known conversion method used in Microsoft MakeCode, AppLab, etc. For example, it may be performed by converting each block of the block-format program into a corresponding text code according to predefined correspondence information between various blocks and text codes. For example, the text-format program may be written using a programming language such as JavaScript or Python.
[0020] 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 its 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 at a brightness lower than the brightness set by default, for example, semi-transparently. Furthermore, the text coding mode processing unit 120 may display the text-format program on the editor screen in an uneditable state. [Programming learning software] Next, a programming learning software according to an embodiment of the present disclosure will be described with reference to Figures 3 to 9. For example, the programming learning software according to this embodiment is installed in a 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 a user's operation of the programming learning device 100. Figures 3 to 9 are diagrams showing example screens provided by the programming learning software according to an embodiment of the present disclosure.
[0021] 3, when a user uses programming learning software to create a program relating to the actions of a character on a field in the block coding mode, the user can create a block-format program by assembling blocks on an editor screen displayed in a window format or the like by the block coding mode processing unit 110. The illustrated editor screen includes an input display area for assembling blocks, a program execution button for executing the created program, and a text coding mode transition button for transitioning from the block coding mode to the text coding mode.
[0022] When a text coding mode transition button is pressed on the editor screen shown in Fig. 3, the text coding mode processing unit 120 displays an editor screen as shown in Fig. 4. On this editor screen, the text coding mode processing unit 120 converts a block-format program created on the editor screen of Fig. 3 into a text-format program equivalent to the block-format program. At this time, the text coding mode processing unit 120 may display the text-format program in an uneditable state as hint information for learning text-based programming, in a manner distinguishable from text entered by a user, as shown in Fig. 4. Specifically, as shown within the dashed line in Fig. 4, the text coding mode processing unit 120 may display the code in the text-format program equivalent to the block-format program at a brightness lower than the default setting, such as semi-transparently (for convenience, in the following drawings, the semi-transparent portion is displayed as if a dot-like layer is superimposed), and present it as hint information that can only be viewed but cannot be edited. Specifically, the input display portion of the editor screen has, in order toward the display side to the user, a first layer that displays the program in text format, a second layer that displays characters typed by the user, and a third layer that accepts characters typed by the user, and the characters displayed by the second layer may be displayed opaquely so as to hide the corresponding portion in the first layer.
[0023] 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 the user's learning of programming, the text coding mode processing unit 120 may execute the program input by the user himself, but may not execute the program presented as hint information.
[0024] The editor screen may include a button for hiding the hint information, and when the button is pressed, the hint information may be displayed in a hidden state, specifically, in an invisible state. When the button is pressed, the text coding mode processing unit 120 hides the hint information as shown in FIG.
[0025] The text coding mode processing unit 120 may display a block coding mode transition button for transitioning 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 may reproduce the blocks input in the previous block coding mode in the same arrangement as the previous time, while not displaying the blocks corresponding to the text format code input by the user in the text coding mode before the transition.
[0026] The text coding mode processing unit 120 displays the text-format program as hint information displayed on the editor screen shown in Figure 4 as semi-transparent hint information immediately after the mode transition, and encourages the user to follow and type in the code of the displayed program as if copying a sutra, allowing the user to learn text-based programming.
[0027] When a user types the code of a text-format program into the keyboard by tracing it from the beginning like copying a sutra, the text coding mode processing unit 120 redisplays the typed characters at a relatively high brightness, such as default brightness, and can show the user the progress of typing.
[0028] For example, according to this embodiment, as shown in FIG. 7A, when a user combines blocks on an editor screen provided by the block coding mode processing unit 110 to create a block-format program and presses the text coding mode transition button, as shown in FIG. 7B, the text coding mode processing unit 120 may display a text-format program equivalent to the created block-format program on the editor screen as hint information at a brightness lower than the default setting. Then, the text coding mode processing unit 120 prompts the user to type in the code of the displayed text-format program by tracing it from the beginning like copying a sutra. After the user types the characters, as shown in FIG. 7C, the brightness of the typed characters is redisplayed at, for example, the default brightness of a block-format program. In this way, the programming learning device 100 allows the user who created a block-format program to visually recognize a text-format program equivalent to the created program, and by manually typing the code of the text-format program, the effectiveness of programming learning can be improved.
[0029] However, the programming learning software according to the present disclosure is not limited thereto. In the above-described embodiment, the text coding mode processing unit 120 displays a text program equivalent to a block-format program created by the user as hint information. However, in other embodiments, the text coding mode processing unit 120 may directly display the block-format program created by the user as hint information on the editor screen in the text coding mode. For example, as shown in FIG. 8A, when a user combines blocks on the editor screen provided by the block coding mode processing unit 110 to create a block-format program and presses the text coding mode transition button, as shown in FIG. 8B, the text coding mode processing unit 120 may display 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 prompts the user to create a text-format program corresponding to the displayed block-format program and enter the code for the text program from the beginning. When the user types characters, as shown in FIG. 8C, the text coding mode processing unit 120 displays the code for the text program entered by the user. As a result, the programming learning device 100 allows a user who has created a program in block format to think up a text-format program equivalent to the created program and enter the code for the text-format program, thereby further improving the effectiveness of programming learning.
[0030] 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. However, in other embodiments, the hint information may be displayed in an area other than the input display portion of the editor screen. For example, as shown in FIG. 9A , when a user combines blocks on the editor screen provided by the block coding mode processing unit 110 to create a block-format program and presses the text coding mode transition button, the text coding mode processing unit 120 may display the created block-format program as hint information in an area other than the input display portion of the editor screen, as shown in FIG. 9B . The text coding mode processing unit 120 then prompts the user to create a text-format program corresponding to the displayed block-format program and enter the code for the text-format program from the beginning. When the user types characters, the text coding mode processing unit 120 displays the code for the text-format program entered by the user, as shown in FIG. 9C . This allows the programming learning device 100 to further improve the effectiveness of programming learning by allowing a user who has created a block-format program to create a text-format program equivalent to the created program and enter the code for the text-format program. [Programming learning processing] Next, a programming learning process according to an embodiment of the present disclosure will be described with reference to Fig. 10. The programming learning process is executed by the above-described programming learning device 100, and can be realized, for example, by one or more processors executing a program stored in one or more memories of the programming learning device 100. Fig. 10 is a flowchart showing the programming learning process according to an embodiment of the present disclosure.
[0031] 10, in step S101, the programming learning device 100 acquires a program created by a user in block coding mode in block format. Specifically, the programming learning device 100 displays available blocks on an editor screen, and the user assembles the displayed blocks to create a program that achieves desired functions and processes. The programming learning device 100 acquires the block-format program created by the user on the editor screen.
[0032] In step S102, the programming learning device 100 determines whether a 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 has been pressed in the block coding mode, the programming learning device 100 determines that a mode transition instruction from the block coding mode to the text coding mode has been received.
[0033] When a mode transition instruction is received (S102: YES), in step S103, the programming learning device 100 presents the program created by the user in text coding mode as hint information that can be distinguished from text entered by the user. Specifically, the programming learning device 100 displays the block-format program created in block coding mode on the editor screen as hint information for the text-format or block-format program. At this time, the programming learning device 100 may display the hint information in the input display area or in an area other than the input display area on the editor screen at default brightness or a brightness lower than the default brightness, such as semi-transparent. [Hardware configuration] The programming learning device 100 and the server device 200 in the above-described embodiments may be configured in part or in whole by hardware, or may be configured by software (program) information processing executed by a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). When configured by software information processing, software that realizes at least some of the functions of each device in the above-described embodiments may be stored on a non-transitory storage medium (non-transitory computer-readable medium) such as a flexible disk, a CD-ROM (Compact Disc-Read Only Memory), or a USB (Universal Serial Bus) memory, and the software information processing may be executed by loading the software into a computer. Alternatively, the software may be downloaded via a communication network. Furthermore, the software may be implemented in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), thereby executing the information processing by hardware.
[0034] The type of storage medium that stores the software is not limited. The storage medium is not limited to removable media such as magnetic disks or optical disks, but may be fixed storage media such as hard disks or memory. The storage medium may be provided inside the computer or outside the computer.
[0035] 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 may be realized as a computer 7 including a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.
[0036] Although the computer 7 in FIG. 11 includes one of each component, it may also include multiple of the same component. Also, while FIG. 11 shows one computer 7, the software may be installed on multiple computers, and each of the multiple computers may execute the same or different parts of the software. In this case, a distributed computing configuration may be used in which each computer communicates with the other computers via a network interface 74 or the like to execute the processing. That is, the programming learning device 100 and server device 200 in the above-described embodiment may be configured as a system in which one or more computers execute instructions stored in one or more storage devices to realize their functions. Furthermore, the system may be configured such that information transmitted from a terminal is processed by one or more computers on a cloud, and the processing results are transmitted to the terminal.
[0037] The various calculations of the programming learning device 100 and the server device 200 in the above-described embodiments may be executed in parallel using one or more processors, or using multiple computers via a network. Furthermore, the various calculations may be distributed to multiple processor cores within a processor and executed in parallel. Furthermore, some or all of the processes, means, etc. disclosed herein may be executed by at least one of a processor and a storage device provided on a cloud that can communicate with the computer 7 via a network. Thus, each device in the above-described embodiments may be implemented in the form of parallel computing using one or more computers.
[0038] The processor 71 may be an electronic circuit (processing circuit, processing circuitry, CPU, GPU, FPGA, ASIC, or the like) including a computer control device and arithmetic device. The processor 71 may also be a semiconductor device or the like including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using electronic logic elements, but may also be realized by an optical circuit using optical logic elements. The processor 71 may also include an arithmetic function based on quantum computing.
[0039] The processor 71 performs arithmetic processing based on data and software (programs) input from each device, etc. configured inside the computer 7, and can output the arithmetic results and control signals to each device, etc. The processor 71 may control each component constituting the computer 7 by executing the OS (Operating System) of the computer 7, applications, etc.
[0040] The programming learning device 100 and the server device 200 in the above-described embodiments may be realized by one or more processors 71. Here, the processor 71 may refer to one or more electronic circuits arranged on one chip, or to one or more electronic circuits arranged on two or more chips or two or more devices. When multiple electronic circuits are used, the respective electronic circuits may communicate with each other via wire or wirelessly.
[0041] The main memory device 72 is a memory device that stores instructions executed by the processor 71 and various data, and information stored in the main memory device 72 is read by the processor 71. The auxiliary memory device 73 is a memory device other than the main memory device 72. Note that these memory devices refer to any electronic component capable of storing electronic information, and may be semiconductor memory. The semiconductor memory may be either volatile memory or non-volatile memory. The memory device for saving various data in the programming learning device 100 and the server device 200 in the above-described embodiments may be realized by the main memory device 72 or the auxiliary memory device 73, or may be realized by an internal memory built into the processor 71. For example, the memory unit in the above-described embodiments may be realized by the main memory device 72 or the auxiliary memory device 73.
[0042] Multiple processors may be connected (coupled) to one storage device (memory), or a single processor may be connected. Multiple storage devices (memories) may be connected (coupled) to one processor. When the programming learning device 100 and the server device 200 in the above-described embodiments are configured with at least one storage device (memory) and multiple processors connected (coupled) to this at least one storage device (memory), they may include a configuration in which at least one of the multiple processors is connected (coupled) to at least one storage device (memory). This configuration may also be realized by storage devices (memories) and processors included in multiple computers. Furthermore, they may include 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).
[0043] The network interface 74 is an interface for connecting to the communication network 8 wirelessly or via a wire. The network interface 74 may be an appropriate interface, such as one that conforms to an existing communication standard. Information may be exchanged with an external device 9A connected via the communication network 8 through the network interface 74. The communication network 8 may be any one of a WAN (Wide Area Network), a LAN (Local Area Network), a PAN (Personal Area Network), etc., or a combination thereof, as long as information is exchanged between the computer 7 and the external device 9A. An example of a WAN is the Internet, an example of a LAN is IEEE802.11 or Ethernet (registered trademark), and an example of a PAN is Bluetooth (registered trademark) or NFC (Near Field Communication), etc.
[0044] The device interface 75 is an interface such as a USB that directly connects to the external device 9B.
[0045] The external device 9A is a device connected to the computer 7 via a network. The external device 9B is a device connected directly to the computer 7.
[0046] For example, the external device 9A or the external device 9B may be an input device. The input device may be a device such as a camera, a microphone, a motion capture device, various sensors, a keyboard, a mouse, or a touch panel, and provides acquired information to the computer 7. Alternatively, the external device 9A or the external device 9B may be a device including an input unit, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.
[0047] Furthermore, the external device 9A or the external device 9B may be, for example, an output device. 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, or may be a speaker that outputs sound or the like. Alternatively, the output device may be a device including an output unit, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.
[0048] Furthermore, 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.
[0049] Furthermore, the external device 9A or the external device 9B may be a device having some of the functions of the components of the programming learning device 100 and the server device 200 in the above-described embodiments. In other words, the computer 7 may transmit or receive some or all of the processing results of the external device 9A or the external device 9B.
[0050] In this specification (including the claims), when the expression "at least one of a, b, and c" or "at least one of a, b, or c" (including similar expressions) is used, it includes any of a, b, c, ab, ac, bc, or abc. It may also include multiple instances of any element, such as aa, abb, aabbcc, etc. Furthermore, it also includes the addition of elements other than the enumerated elements (a, b, and c), such as having d, as in abcd.
[0051] In this specification (including the claims), when expressions such as "using data as input / based on / according to / in response to" (including similar expressions) are used, unless otherwise specified, this includes cases where various data itself is used as input, or where various data that has been processed in some way (e.g., noise-added, normalized, intermediate representation of various data, etc.) is used as input. Furthermore, when a statement is made that a result is obtained "based on / according to / in response to data," this includes cases where the result is obtained based solely on the data in question, as well as cases where the result is obtained as a result of being influenced by other data, factors, conditions, and / or states other than the data in question. Furthermore, when a statement is made that "data is output," this includes cases where various data itself is used as output, or where various data that has been processed in some way (e.g., noise-added, normalized, intermediate representation of various data, etc.) is output, unless otherwise specified.
[0052] When the terms "connected" and "coupled" are used in this specification (including the claims), they are intended as open-ended terms that encompass any of direct connection / coupling, indirect connection / coupling, electrically connection / coupling, communicatively connection / coupling, functionally connection / coupling, and physically connection / coupling. These terms should be interpreted appropriately according to the context in which they are used, but any form of connection / coupling that is not intentionally or naturally excluded should be interpreted as being included in these terms without limitation.
[0053] In this specification (including the claims), the expression "A configured to B" may include the physical structure of element A having a configuration capable of performing operation B, and the permanent or temporary setting / configuration of element A being configured / set to actually perform operation B. For example, if element A is a general-purpose processor, it is sufficient that the processor has a hardware configuration capable of performing operation B, and is configured to actually perform operation B by setting a permanent or temporary program (instruction). Also, if element A is a dedicated processor or dedicated arithmetic circuit, it is sufficient that the circuit structure of the processor is implemented to actually perform operation B, regardless of whether control instructions and data are actually attached.
[0054] When used in this specification (including the claims), terms implying containing or possessing (e.g., "comprising / including" and "having") are intended to be open-ended terms that include containing or possessing things other than the object designated by the object of the term. When the object of such a term implies no quantity or a singular number (e.g., an article such as "a" or "an"), the expression should be construed as not being limited to a specific number.
[0055] In this specification (including the claims), even if expressions such as "one or more" or "at least one" are used in some places and expressions that do not specify a quantity or that imply a singular number (expressions using the articles "a" or "an") are used in other places, the latter expressions are not intended to mean "one." In general, expressions that do not specify a quantity or that imply a singular number (expressions using the articles "a" or "an") should be interpreted as not necessarily being limited to a specific number.
[0056] In this specification, when a particular advantage / result is described as being obtained from a particular configuration of an embodiment, it should be understood that the same advantage / result can also be obtained from one or more other embodiments having the same configuration, unless otherwise stated. However, it should be understood that the presence or absence of the effect generally depends on various factors, conditions, and / or states, etc., and that the effect is not necessarily obtained by the configuration. The effect is merely obtained by the configuration described in the embodiment when various factors, conditions, and / or states, etc. are satisfied, and the effect does not necessarily occur in a claimed invention that defines the same or a similar configuration.
[0057] In this specification (including claims), when multiple pieces of hardware perform a predetermined process, the pieces of hardware may cooperate to perform the predetermined process, or some of the hardware may perform all of the predetermined process. Furthermore, some of the hardware may perform part of the predetermined process, and other hardware may perform the rest of the predetermined process. In this specification (including claims), when an expression such as "one or more pieces of hardware perform a first process, and the one or more pieces of hardware perform a second process" is used, the hardware performing the first process and the hardware performing the second process may be the same or different. In other words, it is sufficient that the hardware performing the first process and the hardware performing the second process are included in the one or more pieces of hardware. Note that hardware may include an electronic circuit, a device including an electronic circuit, etc.
[0058] In this specification (including the claims), when multiple storage devices (memories) store data, each of the multiple storage devices (memories) may store only a portion of the data, or may store the entire data.
[0059] 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, modifications, substitutions, partial deletions, etc. are possible within the scope of the conceptual idea and spirit of the present invention derived from the content defined in the claims and their equivalents. For example, in all of the above-described embodiments, when numerical values or formulas are used in the explanation, they are shown as examples and are not limited to these. Furthermore, the order of each operation in the embodiments is shown as an example and is not limited to these.
[0060] This international application claims priority based on Japanese Patent Application No. 2020-206187, filed on December 11, 2020, the entire contents of which are hereby incorporated by reference into this international application.
Claims
1. A programming learning system having a block coding mode and a text coding mode, an acquisition unit that acquires a program created by a user in block format in the block coding mode; a presentation unit that presents the program acquired in the block coding mode in an editable text editor in an uneditable state as hint information for the text input by the user in the text coding mode; A programming learning system with
2. 2. The programming learning system according to claim 1, wherein the presenting unit presents the program as the hint information for the user to input text by tracing the program in the text coding mode.
3. 3. The programming learning system according to claim 1, wherein the hint information is distinguishable from text input by the user.
4. 4. The programming learning system according to claim 1, wherein the presentation unit presents the program semi-transparently as the hint information.
5. The programming learning system according to claim 1 , wherein the presentation unit presents the program in a text format or a block format.
6. 6. The system for learning programming according to claim 5, wherein the presentation unit displays the program in the text format on the editable text editor.
7. The text editor, in order toward the display side to the user, a first layer that displays the program in text format; a second layer that displays characters typed by the user; a third layer for accepting characters typed by the user; and 7. The programming learning system according to claim 6, wherein characters displayed by said second layer are displayed opaquely so as to hide corresponding portions in said first layer.
8. 8. The system for learning programming according to claim 1, wherein the text coding mode comprises a user interface for hiding the hint information presented as hint information for the text input by the user.
9. 9. The programming learning system according to claim 1, wherein the text coding mode accepts an operation by the user to input text as program code, and is capable of executing the program code input by the user as text.
10. 10. The programming learning system of claim 1, wherein the text coding mode does not execute the program created and acquired by the user in block form in the block coding mode and presented as the hint information in the text coding mode.
11. the block coding mode displays available blocks and accepts an operation by the user to combine the available blocks; 11. The system for learning programming according to claim 1, wherein the program created by the user in the block format is a program created by the user combining the available blocks.
12. 12. The system for learning programming according to claim 11, wherein the block coding mode is capable of executing a program created by the user combining the available blocks.
13. 13. The programming learning system according to claim 1, wherein both the program created by the user in block format in the block coding mode and the program created from text entered by the user in the text coding mode are programs for controlling the operation of a predetermined object.
14. 14. The programming learning system according to claim 13, wherein both an editor for creating a program in block format in the block coding mode and an 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 object.
15. 15. The programming learning system according to claim 13, wherein the predetermined object is a character on a field.
16. 16. The system for learning programming according to claim 1, wherein in the block coding mode, a program created by the user in block form is stored in a server.
17. A program for causing one or more processors to function as the acquisition unit and the presentation unit according to any one of claims 1 to 16.
18. one or more memories for storing programming learning software having a block coding mode and a text coding mode; one or more processors; and The one or more processors: In the block coding mode, a program created by a user in block format is obtained; In the text coding mode, the program acquired in the block coding mode is presented in an editable text editor in an uneditable state as hint information for the text input by the user. Programming learning device.
19. A programming learning method realized by programming learning software having a block coding mode and a text coding mode, one or more processors, in said block coding mode, to obtain a program created by a user in block format; the one or more processors present the program acquired in the block coding mode in an editable text editor in an uneditable state as hint information for the text input by the user in the text coding mode; A programming learning method that:
Citation Information
Patent Citations
Programing learning system, computer program for the same, and computer-readable storage medium
JP2003248418A
Programming learning device and program
JP2017219718A
Method for analyzing data based on block, system, and program
JP2018190400A
Programming learning program
JP2019144546A
New language conversion method in block type programming system
JP2020161094A