WO2022025357A1 - Block coding processing method for programming education - Google Patents

Block coding processing method for programming education Download PDF

Info

Publication number
WO2022025357A1
WO2022025357A1 PCT/KR2020/017361 KR2020017361W WO2022025357A1 WO 2022025357 A1 WO2022025357 A1 WO 2022025357A1 KR 2020017361 W KR2020017361 W KR 2020017361W WO 2022025357 A1 WO2022025357 A1 WO 2022025357A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
script
blocks
generating
selection screen
Prior art date
Application number
PCT/KR2020/017361
Other languages
French (fr)
Korean (ko)
Inventor
임상희
Original Assignee
임상희
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 임상희 filed Critical 임상희
Priority to GB2112709.7A priority Critical patent/GB2602860A/en
Publication of WO2022025357A1 publication Critical patent/WO2022025357A1/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
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Definitions

  • the embodiments below relate to techniques for processing block coding for programming education.
  • blocks are generated and displayed in the window of the block selection screen, and when block coding is performed through the blocks, a script corresponding to the combination and arrangement of blocks is generated, and a child object is created through the script. Its purpose is to provide a block coding processing method for programming education that is additionally registered.
  • indexing is performed to identify a table configured by classifying blocks by name, classification, and function. generating and displaying blocks in a window of a block selection screen using one block information table; generating a first script corresponding to a combination and arrangement of the blocks when a script generation button displayed on a part of the block selection screen is selected after block coding is performed through the blocks; and creating a first object through the first script, and adding and registering the first object as a child object of a target object displayed in a window of an execution screen, providing a block coding processing method for programming education do.
  • the state and information of blocks connected through the block coding are stored for block coding preservation using a parsing script provided by the block coding software. generating one type of data; checking the first type of data and generating it as a second type of data, which is a string type, according to a syntax of a preset programming language; and converting the second type of data into a script of the programming language to generate the first script.
  • the step of creating and displaying the blocks includes listing each element of the element table using the block information table, block GUI image, element table, block action table, and block function and connecting the block function to form a block. generating a block production table for processing to be visualized; and controlling the block to be displayed on the block selection screen by using the block production table, wherein the block information table includes a block name, a category classification, a block color for each category, a block border for each category, and a block shape for each function.
  • the block information for the block information is abbreviated to a numeric code as a basis for creating an annotation code
  • the block GUI image is an image obtained through an image downloaded from an external server
  • the element table is generated using the block GUI image.
  • non-writable text, writable text, conditional blank, and each element of the drop-down menu is abbreviated as a symbol to create a comment code
  • the block action table extracts the source code and includes a mouse-related action function
  • the block function includes a function code to be actually implemented
  • the control unit of the block production table generates and stores a code for annotation in an internal script for each block, and among the internal scripts stored for each block according to the selection of the script generation button
  • a related script operates to convert the comment code into an actual code to generate a file
  • the control unit of the block selection screen provides a screen in which the blocks are listed by category through the category tab, using the block production table,
  • the control unit of the entire screen including the block selection screen and the execution screen stores the blocks listed on the block selection screen in a table to prepare for code generation, and each of block joining, block deletion and total block list extraction in the block selection screen You can create an action function for the action of .
  • the step of generating and displaying the blocks includes the first block in charge of the effect field, the second block in charge of the visual field, the third block in charge of the sound field, the fourth block in charge of the physical field, and the network field.
  • the seventh block is capable of various viewpoint transformations, and the viewport and It is possible to set the frustum, and it can be provided with the goal of applying perspective to make distant objects appear small, and understanding how to use and shooting techniques of free-view cameras, top-down cameras, and TPS cameras.
  • the generating and displaying of the blocks includes checking the user's block coding history, and the first block, the second block, the third block, the fourth block, the fifth block, the sixth block, and the Sorting and displaying the seventh block in the order of most use; and when the first block is selected, the second block that is used more than a reference value in connection with the first block is highlighted and the second block is recommended as a block to be placed next to the first block, and the second block is recommended.
  • the registering may include: analyzing the first object and confirming a second operation to be performed after performing a first operation corresponding to the first object; and automatically generating a second object corresponding to the second operation, adding the second object as a child object of the target object, and registering the second object.
  • blocks are generated and displayed in the window of the block selection screen, and when block coding is performed through the blocks, a script corresponding to the combination and arrangement of blocks is generated, and a child object is created through the script.
  • FIG. 1 is a diagram showing the configuration of an apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a process of processing block coding for programming education according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a process of generating and displaying block coding according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining a process of performing block coding for programming education according to an embodiment of the present invention.
  • first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another.
  • a first component may be termed a second component, and similarly, a second component may also be termed a first component.
  • FIG. 1 is a diagram showing the configuration of an apparatus according to an embodiment of the present invention.
  • Device 101 includes a processor 102 and a memory 103 .
  • the processor 102 may perform at least one method to be described later with reference to FIGS. 2 to 4 .
  • the memory 103 may store information related to methods to be described later or a program in which methods to be described later are implemented.
  • the memory 103 may be a volatile memory or a non-volatile memory.
  • the processor 102 may execute a program and control the device 101 .
  • the code of the program executed by the processor 102 may be stored in the memory 103 .
  • the device 101 may be connected to an external device (eg, a personal computer or a network) through an input/output device (not shown), and may exchange data through wired/wireless communication.
  • the Device 101 may be used to train an artificial neural network.
  • the memory 103 may include a trained artificial neural network.
  • the processor 102 may execute an artificial neural network algorithm stored in the memory 103 .
  • the apparatus 101 for training an artificial neural network and the apparatus 101 for using the learned artificial neural network may be the same or may be separate.
  • FIG. 2 is a flowchart illustrating a process of processing block coding for programming education according to an embodiment of the present invention.
  • block coding software is installed in the device 101, and the block coding process can be started by executing the block coding software.
  • the entire screen of the device 101 may be displayed by being divided into a block selection screen and an execution screen, and blocks to be used for coding blocks are displayed on the block selection screen, and the execution screen A target object to be controlled through the coding block may be displayed.
  • the device 101 may check the indexed block information table so as to identify a table configured by classifying blocks by name, classification, and function, and generate blocks using the block information table, and store the generated blocks. It can be displayed in the window of the block selection screen.
  • a detailed description of the content of generating blocks will be described later with reference to FIG. 3
  • a detailed description of the content of displaying the blocks will be described later with reference to FIG. 4 .
  • step S202 when the script generation button displayed on a part of the block selection screen is selected after block coding is performed through the blocks, the device 101 checks the combination and arrangement of blocks to correspond to the confirmed combination and arrangement of blocks It is possible to generate a first script that
  • the device 101 parses the state and information of blocks connected for block coding using a parsing script. It can be created with type data.
  • the parsing script is a script provided by the block coding software installed in the device 101, and it is possible to generate data in a simple first type using a pre-set parsing script, and the first type of data is stored for block coding preservation. and can be stored.
  • the device 101 may identify the first type of data and generate it as the second type of data, which is a string type, according to a syntax of a preset programming language. For example, the device 101 may check data in a simple form and generate string-type data according to the syntax of Lua.
  • the device 101 may convert the second type of data into a script of a programming language to generate the first script.
  • the device 101 may convert data of a string type into a script of Lua.
  • step S203 the device 101 may generate the first object through the first script, and for this purpose, matching information between the script and the object may be provided in block coding software installed in the device 101 .
  • step S204 the device 101 may add and register the first object as a child object of the target object displayed in the window of the execution screen. That is, the code designed through block coding can be operated only when the script generated through block coding is registered as a child object.
  • the device 101 may implement the operation of the target object by using the first object registered as a child object, for example, the first object includes information about the 180 degree rotation to the right. If there is, an operation of rotating the target object 180 degrees to the right may be performed.
  • the device 101 may implement by connecting various operations of the target object using a plurality of objects registered as child objects.
  • FIG. 3 is a diagram for explaining a process of generating and displaying block coding according to an embodiment of the present invention.
  • the device 101 uses a block information table 304 , a block GUI image 302 , an element table 303 , a block action table 305 and a block function 306 to create a block creation table ( 307) can be created.
  • the device 101 may control the block to be displayed on the block selection screen 308 using the block production table 307 .
  • the block information table 304 may be a basis for creating a comment code by abbreviated block information on block name, category classification, block color for each category, block border for each category, and block shape for each function into numeric codes, and device 101 can set the block name, category classification, block color for each category, block border for each category, and block shape for each function using the block information table 304 .
  • the block GUI image 302 may be an image obtained through an image 301 downloaded from an external server.
  • an image produced by the device 101 is uploaded to an external server, and when a program is played, an image can be downloaded from an external server online, and an image 301 downloaded from the external server can be used to download the image.
  • a block GUI image 302 may be obtained.
  • the device 101 downloads the uploaded image from the external server and transmits the image 303 downloaded from the external server.
  • the element table 303 can be created using the block GUI image 302, and each element of non-writable text, writable text, conditional blank, and drop-down menu can be abbreviated with symbols to form a basis for creating comment codes. Also, the device 101 may set each element of the non-writable text, the writable text, the conditional blank, and the drop-down menu as a symbol by using the element table 303 .
  • the block action table 305 may include a mouse-related action function by extracting the source code, and the device 101 may set the mouse-related action using the block action table 305 .
  • the block function 306 includes function codes to be actually implemented, and may be provided by block coding software installed in the device 101 .
  • the block production table 307 may process each element of the element table 303 to be visualized by linking the block function 306 to each element.
  • control unit of the block production table 307 generates and stores a code for annotation in the internal script for each block, and according to the selection of the script generation button, a related script among the internal scripts stored for each block operates You can convert the comment code into actual code and generate it as a file.
  • the controller of the block selection screen 308 may use the block production table 307 to provide a screen in which blocks are listed by category through the category tab on the block selection screen 308 . .
  • control unit of the full screen 309 including the block selection screen 308 and the execution screen stores the blocks listed on the block selection screen 308 in a table to prepare code generation, In the selection screen 308, it is possible to create an action function for each action of block joining, block deletion, and block list extraction.
  • FIG. 4 is a diagram for explaining a process of performing block coding for programming education according to an embodiment of the present invention.
  • a block selection screen 308 and an execution screen 401 may be displayed separately on the entire screen 309 of the device 101 .
  • the target object 403 is displayed on the execution screen 401 , and the first block 411 , the second block 412 , the third block 413 , the fourth block 414 , and the block selection screen 308 are displayed.
  • a plurality of blocks such as a fifth block 415 , a sixth block 416 , and a seventh block 417 may be displayed.
  • the block selection screen 308 may include a block arrangement screen 402 in which a plurality of blocks are selected and arranged.
  • a script generation button 404 for notifying this may be further displayed.
  • the device 101 In generating and displaying a plurality of blocks, the device 101 includes a first block 411 for the effect field, a second block 412 for the visual field, and a third block 413 for the sound field. , the fourth block 414 in charge of the physical field, the fifth block 415 in charge of the network field, the sixth block 416 in charge of the 3D field, and the seventh block 417 in charge of the camera field, respectively. It can be generated and displayed on the block selection screen 308 .
  • the device 101 performs a first block 411 , a second block 412 , a third block 413 , a fourth block 414 , a fifth block 415 , a sixth block
  • a first script corresponding to the combination and arrangement for block 416 and seventh block 417 may be generated.
  • the first block 411 , the second block 412 , the third block 413 , the fourth block 414 , the fifth block 415 , the sixth block 416 , and the seventh block 417 are differentiated. It can be created and displayed to provide the specified functions, and the functions provided by each block will be described in detail.
  • the first block 411 is responsible for effects on smoke, explosions, fires and beams, and may be provided with the goal of understanding when effects occur and what effects should appear using causality of events.
  • the second block 412 designs a screen according to the type of light, processes it so that bloom and blur effects are generated using post processing, and expresses day and night and dark areas. It can be provided with the goal of understanding that the expression of the screen varies according to the range of light and the type of light by using the function for expression of concentration and post-processing using bright areas.
  • the third block 413 is set to distinguish between a fixed sound heard from all directions and a sound from a specific area, and set to apply chorus, echo and reverb effects, and enter the cave. Using the effect that the sound gets louder the closer it is to the ringing or sounding source, it can serve with the goal of understanding the correlation between scientific facts and programming factors.
  • the fourth block 414 sets the effects related to gravity, friction and collision, rotation speed, joint, and energy effects to be applicable, and for mass and gravitational acceleration applied to gravity rather than implementing the physical code. It can be provided with the goal of understanding the physics formula by making it while changing the factor value.
  • the fifth block 415 provides a function of a project that can be carried out by several people in other terminals using chatting, dialog, and dialog choice, understands the functions and techniques used in chatting, It can be provided with the goal of understanding the technique of expressing one's story to others using a dialog.
  • the sixth block 416 controls information on meshes and textures used to express humanoid characters, cubes, spheres, and cylinders, which are objects that are difficult to express in 2D, and makes animation into a simple picture change. It can be provided with the goal of experiencing animations in which position, rotation and scale values are changed rather than non-existent.
  • the device 101 checks the user's block coding history, and the first block 411 , the second block 412 , the third block 413 , and the second block
  • the fourth block 414 , the fifth block 415 , the sixth block 416 , and the seventh block 417 may be arranged and displayed in the order in which they are most frequently used.
  • the device 101 confirms that the third block 413, the second block 412, and the fourth block 414 are frequently used in the order, the third block The block 413 , the second block 412 , and the fourth block 414 may be arranged in order to be displayed at the top.
  • the device 101 highlights and displays the second block 412 that has been used more than the reference value in connection with the first block 411 to display the second block 412 . It may be recommended as a block for the subsequent arrangement of the first block 411 . That is, when the first block 411 in charge of the effect is selected, the second block 412 in charge of the time in connection therewith may be recommended.
  • the device 101 highlights and displays the third block 413 that is used more than the reference value in connection with the second block 412 to display the third block 413 . It may be recommended as a block for subsequent placement of the second block 412 . That is, when the second block 412 in charge of time is selected, the third block 413 in charge of sound in connection therewith may be recommended.
  • the device 101 highlights and displays the seventh block 417 that is used more than the reference value in connection with the sixth block 416 . It may be recommended as a block for subsequent placement of the sixth block 416 . That is, when the sixth block 416 in charge of 3D is selected, the seventh block 417 in charge of the camera may be recommended in connection therewith.
  • the device 101 may analyze the first object and identify a second operation that must be performed after the first operation corresponding to the first object is performed.
  • the device 101 intends to implement that the target object 403 is moving on an S-shaped road, if a first motion corresponding to the first object is confirmed as moving through a left turn, then it is essentially performed The second operation to be performed may be confirmed as movement through a right turn.
  • the device 101 may automatically create a second object corresponding to the second operation, add the second object as a child object of the target object 403 and register it.
  • the device 101 generates the first script through the user's block coding, and after generating the first object through the first script, even if the user's subsequent block coding is not performed, the device 101 automatically generates the second script according to the situation.
  • the device 101 By creating an object, adding and registering the first object and the second object as child objects at once, the convenience and effect of block coding can be increased.
  • the embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component.
  • the apparatus, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • OS operating system
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • a hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave.
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Provided, according to one embodiment of the present invention, is a block coding processing method for programming education, the method being carried out by a device having block coding software installed thereon. The block coding processing method for programming education comprises the steps of: generating and displaying blocks on a window of a block selection screen by using a block information table which is indexed so as to enable checking a table which is configured so that blocks are distinguished by name, classification and function; generating a first script corresponding to a combination and arrangement of the blocks when a script generation button, displayed on a portion of the block selection screen, is selected after block coding through the blocks has been carried out; and generating a first object through the first script, and adding and registering the first object as a child object of a target object which is displayed on a window of an execution screen.

Description

프로그래밍 교육을 위한 블록 코딩 처리 방법How to deal with block coding for programming education
아래 실시예들은 프로그래밍 교육을 위해 블록 코딩을 처리하는 기술에 관한 것이다.The embodiments below relate to techniques for processing block coding for programming education.
최근 국내 초, 중, 고 교육과정에 소프트웨어의 코딩 교육이 의무화되면서, 코딩 교육에 대한 관심이 급증하고 있으며, 교육 대상 연령이 유아까지 확대되는 추세에 따라 다양한 코딩 교구 및 완구 등이 개발되고 있다.Recently, as coding education of software is made compulsory in domestic elementary, middle, and high school curriculum, interest in coding education is rapidly increasing, and various coding teaching aids and toys are being developed according to the trend that the age of education is expanding to infants.
특히 어린 아이의 경우 소프트웨어 프로그램에 대한 교육을 함에 있어서 프로그래밍 언어 자체 보다는 소프트웨어 프로그램이 어떠한 논리적 흐름으로 전개되는지를 스스로 이해할 수 있도록 교육을 하는 것이 중요하다.In particular, in the case of young children, in educating software programs, it is important to educate them so that they can understand the logical flow of software programs rather than the programming language itself.
이를 위해 다양한 방법이 시도되고 있는데, 다양한 카드들을 배치하고 이를 검출함으로써 소프트웨어 프로그램에 대한 논리 이해를 하는 방안이 제시된 바 있다.To this end, various methods have been tried, and a method for logical understanding of a software program by arranging various cards and detecting them has been suggested.
그러나, 단순한 카드의 배치만으로는 어린 아이가 쉽게 흥미를 잃을 뿐만 아니라, 소프트웨어 프로그램에 대한 깊은 이해가 어렵다. 또한, 대부분 특정 기능을 순서대로 수행하는 것에 대하여만 학습이 가능하므로 특정 기능을 수행하는 것과 그러한 기능을 제어하는 것에 대한 교육을 하는 것이 쉽지 않은 문제가 있다.However, a simple arrangement of cards not only makes it easy for a young child to lose interest, but also makes it difficult to understand the software program deeply. In addition, there is a problem in that it is not easy to train for performing a specific function and controlling such a function because most of the learning is possible only with respect to performing a specific function in order.
이에 따라, 사용자에게 흥미를 유발하면서 소프트웨어 프로그램의 논리에 대한 이해력을 높일 수 있는 코딩 교육에 대한 요구가 증가하고 있는 실정이다.Accordingly, there is an increasing demand for coding education that can increase the understanding of the logic of a software program while arousing interest in users.
본 발명의 일실시예에 따르면, 블록 선택 화면의 창에 블록들을 생성하여 표시하고, 블록들을 통해 블록 코딩이 수행되면, 블록들의 조합 및 배치에 대응하는 스크립트를 생성하고, 스크립트를 통해 자식 오브젝트를 추가하여 등록하는 프로그래밍 교육을 위한 블록 코딩 처리 방법을 제공하기 위한 것을 그 목적으로 한다.According to an embodiment of the present invention, blocks are generated and displayed in the window of the block selection screen, and when block coding is performed through the blocks, a script corresponding to the combination and arrangement of blocks is generated, and a child object is created through the script. Its purpose is to provide a block coding processing method for programming education that is additionally registered.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects not mentioned will be clearly understood from the description below.
본 발명의 일실시예에 따르면, 블록 코딩 소프트웨어가 설치된 장치에 의해 수행되는, 프로그래밍 교육을 위해 블록 코딩을 처리하는 방법에 있어서, 블록들의 이름, 분류 및 기능 별로 구별하여 구성된 테이블을 확인할 수 있도록 인덱싱한 블록 정보 테이블을 이용하여, 블록 선택 화면의 창에 블록들을 생성하여 표시하는 단계; 상기 블록들을 통해 블록 코딩이 수행된 후 상기 블록 선택 화면의 일부분에 표시된 스크립트 생성 버튼이 선택되면, 상기 블록들의 조합 및 배치에 대응하는 제1 스크립트를 생성하는 단계; 및 상기 제1 스크립트를 통해 제1 오브젝트를 생성하고, 상기 제1 오브젝트를 실행 화면의 창에 표시된 대상 오브젝트의 자식 오브젝트로 추가하여 등록하는 단계를 포함하는, 프로그래밍 교육을 위한 블록 코딩 처리 방법이 제공된다.According to an embodiment of the present invention, in a method of processing block coding for programming education, performed by a device in which block coding software is installed, indexing is performed to identify a table configured by classifying blocks by name, classification, and function. generating and displaying blocks in a window of a block selection screen using one block information table; generating a first script corresponding to a combination and arrangement of the blocks when a script generation button displayed on a part of the block selection screen is selected after block coding is performed through the blocks; and creating a first object through the first script, and adding and registering the first object as a child object of a target object displayed in a window of an execution screen, providing a block coding processing method for programming education do.
상기 제1 스크립트를 생성하는 단계는, 상기 스크립트 생성 버튼이 선택되면, 상기 블록 코딩을 통해 연결된 블록들의 상태 및 정보를 상기 블록 코딩 소프트웨어에서 제공하는 파싱 스크립트를 이용하여 블록 코딩 보존용으로 보관되는 제1 타입의 데이터로 생성하는 단계; 상기 제1 타입의 데이터를 확인하여 미리 설정된 프로그래밍 언어의 구문에 따라 문자열 타입인 제2 타입의 데이터로 생성하는 단계; 및 상기 제2 타입의 데이터를 상기 프로그래밍 언어의 스크립트로 변환하여 상기 제1 스크립트를 생성하는 단계를 포함할 수 있다.In the step of generating the first script, when the script generation button is selected, the state and information of blocks connected through the block coding are stored for block coding preservation using a parsing script provided by the block coding software. generating one type of data; checking the first type of data and generating it as a second type of data, which is a string type, according to a syntax of a preset programming language; and converting the second type of data into a script of the programming language to generate the first script.
상기 블록들을 생성하여 표시하는 단계는, 상기 블록 정보 테이블, 블록 GUI 이미지, 요소 테이블, 블록 동작 테이블 및 블록 함수를 이용하여, 상기 요소 테이블의 각각의 요소를 나열하고 상기 블록 함수를 연결하여 블록이 가시화되도록 처리하는 블록 제작 테이블을 생성하는 단계; 및 상기 블록 제작 테이블을 이용하여 상기 블록 선택 화면 상에서 블록이 표시되도록 제어하는 단계를 포함하며, 상기 블록 정보 테이블은, 블록명, 카테고리 분류, 카테고리별 블록 색, 카테고리별 블록 테두리 및 기능별 블록 모양에 대한 블록 정보를 숫자코드로 축약하여 주석 코드를 만드는 기초가 되고, 상기 블록 GUI 이미지는, 외부 서버로부터 다운로드한 이미지를 통해 획득된 이미지이고, 상기 요소 테이블은, 상기 블록 GUI 이미지를 이용하여 생성되어, 기입 불가 텍스트, 기입 가능 텍스트, 조건부 빈칸 및 드롭다운 메뉴 각각의 요소를 기호로 축약하여 주석 코드를 만드는 기초가 되고, 상기 블록 동작 테이블은, 소스 코드를 추출하여 마우스 관련 동작 함수를 포함하며, 상기 블록 함수는, 실제 구현할 함수 코드를 포함하며, 상기 블록 제작 테이블의 제어부는, 블록 별로 내부 스크립트에 주석용 코드를 생성하여 저장하고, 상기 스크립트 생성 버튼의 선택에 따라 상기 블록 별로 저장된 내부 스크립트 중 관련 스크립트가 작동하여 주석 코드를 실제 코드로 변환하여 파일로 생성하고, 상기 블록 선택 화면의 제어부는, 상기 블록 제작 테이블을 이용하여, 카테고리 탭을 통해 상기 블록들이 카테고리 별로 나열된 화면을 제공하고, 상기 블록 선택 화면 및 상기 실행 화면을 포함하는 전체 화면의 제어부는, 상기 블록 선택 화면에 나열된 블록들을 테이블에 저장하여 코드 생성을 준비하고, 상기 블록 선택 화면 내 블록 접합, 블록 삭제 및 총 블록 목록 추출 각각의 동작에 대한 동작 함수를 생성할 수 있다.The step of creating and displaying the blocks includes listing each element of the element table using the block information table, block GUI image, element table, block action table, and block function and connecting the block function to form a block. generating a block production table for processing to be visualized; and controlling the block to be displayed on the block selection screen by using the block production table, wherein the block information table includes a block name, a category classification, a block color for each category, a block border for each category, and a block shape for each function. The block information for the block information is abbreviated to a numeric code as a basis for creating an annotation code, the block GUI image is an image obtained through an image downloaded from an external server, and the element table is generated using the block GUI image. , non-writable text, writable text, conditional blank, and each element of the drop-down menu is abbreviated as a symbol to create a comment code, the block action table extracts the source code and includes a mouse-related action function, The block function includes a function code to be actually implemented, and the control unit of the block production table generates and stores a code for annotation in an internal script for each block, and among the internal scripts stored for each block according to the selection of the script generation button A related script operates to convert the comment code into an actual code to generate a file, and the control unit of the block selection screen provides a screen in which the blocks are listed by category through the category tab, using the block production table, The control unit of the entire screen including the block selection screen and the execution screen stores the blocks listed on the block selection screen in a table to prepare for code generation, and each of block joining, block deletion and total block list extraction in the block selection screen You can create an action function for the action of .
상기 블록들을 생성하여 표시하는 단계는, 이펙트 분야를 담당하는 제1 블록, 시각 분야를 담당하는 제2 블록, 음향 분야를 담당하는 제3 블록, 물리 분야를 담당하는 제4 블록, 네트워크 분야를 담당하는 제5 블록, 3D 분야를 담당하는 제6 블록 및 카메라 분야를 담당하는 제7 블록을 각각 생성하여 표시하는 단계를 포함하며, 상기 제1 스크립트를 생성하는 단계는, 상기 제1 블록, 상기 제2 블록, 상기 제3 블록, 상기 제4 블록, 상기 제5 블록, 상기 제6 블록 및 상기 제7 블록에 대한 조합 및 배치에 대응하는 상기 제1 스크립트를 생성하는 단계를 포함하며, 상기 제1 블록은, 연기, 폭발, 불 및 빔에 대한 효과를 담당하며, 사건의 인과를 이용하여 효과의 발생 시점과 어떠한 효과가 나타나야 하는지 이해하는 것을 목표로 제공되며, 상기 제2 블록은, 빛의 종류에 따라 화면을 설계하고, 후처리(Post Processing)를 이용하여 블룸(Bloom) 및 블러(blur) 효과가 생성되도록 처리하고, 낮과 밤의 표현, 어두운 부분과 밝은 부분을 이용한 집중도 표현 및 후처리에 대한 기능을 이용하여 빛의 범위, 빛의 종류에 따라 화면의 표현이 달라짐을 이해하는 것을 목표로 제공되며, 상기 제3 블록은, 전방위로 들리는 고정된 소리와 특정 지역에서 나는 소리를 구분하여 설정하고, 코러스(Chorus), 에코(Echo) 및 리버브(Reverb) 효과가 적용 가능하도록 설정하고, 동굴에 들어가면 목소리가 울리거나 소리가 나는 진원에서 가까울수록 소리가 커지는 효과를 이용하여 과학적 사실과 프로그래밍 인자에 상관관계를 이해하는 것을 목표로 제공되며, 상기 제4 블록은, 중력, 마찰 및 충돌과 관련된 효과와 회전 속도, 조인트(Joint), 에너지 효과가 적용 가능하도록 설정하고, 물리 코드를 구현하는 것이 아닌 중력에 적용되는 질량 및 중력 가속도에 대한 인자값을 변경하면서 제작하여 물리 공식을 이해하는 것을 목표로 제공되며, 상기 제5 블록은, 채팅, 다이얼로그(Dialog) 및 다이얼로그 초이스(Dialog Choice)를 이용하여 다른 단말에서도 여러 사람이 진행할 수 있는 프로젝트의 기능을 제공하며, 채팅에 사용되는 기능과 기술을 이해하고, 다이얼로그(Dialog)를 이용하여 자신의 스토리를 다른 사람들에게 표현하는 기술을 이해하는 것을 목표로 제공되며, 상기 제6 블록은, 2D 표현이 어려운 물체인 인간형 캐릭터, 육면체, 구 및 실린더에 대한 표현에 사용되는 메쉬(Mesh) 및 텍스처(Texture)의 정보를 제어하고, 애니메이션을 단순 그림의 변화로 만드는 것이 아닌 위치, 회전 및 크기 값이 변경되는 애니메이션을 체험하는 것을 목표로 제공되며, 상기 제7 블록은, 다양한 시점 변환이 가능하고 뷰포트 및 절두체 설정이 가능하며, 먼 거리에 있는 물체를 작게 보이게 하는 원근법 적용과 자유 시점 카메라, Top-down 카메라, TPS 카메라의 사용 방법과 촬영 기법을 이해하는 것을 목표로 제공될 수 있다.The step of generating and displaying the blocks includes the first block in charge of the effect field, the second block in charge of the visual field, the third block in charge of the sound field, the fourth block in charge of the physical field, and the network field. generating and displaying a fifth block, a sixth block in charge of a 3D field, and a seventh block in charge of a camera field, respectively, and generating the first script includes: the first block, the first block generating the first script corresponding to the combination and arrangement for the second block, the third block, the fourth block, the fifth block, the sixth block and the seventh block, wherein the first script Blocks are responsible for effects on smoke, explosions, fires and beams, and are provided with the goal of using the causality of events to understand when the effects occur and what effects should appear, and the second block is the type of light Design the screen according to the requirements, process it to create bloom and blur effects using post processing, express day and night, express concentration using dark and bright parts, and post-processing It is provided with the goal of understanding that the expression of the screen varies according to the range of light and the type of light by using the function for science facts and programming, with effects that enable Chorus, Echo, and Reverb effects to be applied, and the effect that when you enter a cave, your voice rings or gets louder as you get closer to the source of the sound It is provided with the goal of understanding the correlation of factors, and the fourth block is to set the effects related to gravity, friction and collision, rotation speed, joint, and energy effects to be applicable, and to implement the physical code. It is provided with the goal of understanding the physics formula by making it while changing the factor values for mass and gravitational acceleration applied to gravity, not the fifth block, chatting, dialog By using (Dialog) and Dialog Choice, it provides the function of a project that can be carried out by multiple people even on other terminals, understands the functions and technologies used in chatting, and uses the dialog to tell your story. is provided with the goal of understanding techniques for expressing ) is provided with the goal of controlling the information of ) and experiencing the animation in which the position, rotation and size values are changed, rather than making the animation a simple picture change, and the seventh block is capable of various viewpoint transformations, and the viewport and It is possible to set the frustum, and it can be provided with the goal of applying perspective to make distant objects appear small, and understanding how to use and shooting techniques of free-view cameras, top-down cameras, and TPS cameras.
상기 블록들을 생성하여 표시하는 단계는, 사용자의 블록 코딩 내역을 확인하여, 상기 제1 블록, 상기 제2 블록, 상기 제3 블록, 상기 제4 블록, 상기 제5 블록, 상기 제6 블록 및 상기 제7 블록 중 많이 사용된 순으로 정렬하여 표시하는 단계; 및 상기 제1 블록이 선택되면, 상기 제1 블록과 연계하여 기준치 이상으로 많이 사용된 상기 제2 블록을 강조 표시하여, 상기 제2 블록을 상기 제1 블록의 후속 배치 블록으로 추천하고, 상기 제2 블록이 선택되면, 상기 제2 블록과 연계하여 기준치 이상으로 많이 사용된 상기 제3 블록을 강조 표시하여, 상기 제3 블록을 상기 제2 블록의 후속 배치 블록으로 추천하고, 상기 제6 블록이 선택되면, 상기 제6 블록과 연계하여 기준치 이상으로 많이 사용된 상기 제7 블록을 강조 표시하여, 상기 제7 블록을 상기 제6 블록의 후속 배치 블록으로 추천하는 단계를 포함하며, 상기 자식 오브젝트를 등록하는 단계는, 상기 제1 오브젝트를 분석하여, 상기 제1 오브젝트에 대응하는 제1 동작 수행 이후 이어서 필수적으로 수행되어야 하는 제2 동작을 확인하는 단계; 및 상기 제2 동작에 대응하는 제2 오브젝트를 자동으로 생성하고, 상기 제2 오브젝트를 상기 대상 오브젝트의 자식 오브젝트로 추가하여 등록하는 단계를 포함할 수 있다.The generating and displaying of the blocks includes checking the user's block coding history, and the first block, the second block, the third block, the fourth block, the fifth block, the sixth block, and the Sorting and displaying the seventh block in the order of most use; and when the first block is selected, the second block that is used more than a reference value in connection with the first block is highlighted and the second block is recommended as a block to be placed next to the first block, and the second block is recommended. When the 2nd block is selected, the 3rd block used more than the reference value is highlighted in connection with the 2nd block, and the 3rd block is recommended as a subsequent arrangement block of the 2nd block, and the 6th block is when selected, highlighting the seventh block that is used a lot more than a reference value in connection with the sixth block, and recommending the seventh block as a block to be placed next to the sixth block; The registering may include: analyzing the first object and confirming a second operation to be performed after performing a first operation corresponding to the first object; and automatically generating a second object corresponding to the second operation, adding the second object as a child object of the target object, and registering the second object.
본 발명의 일실시예에 따르면, 블록 선택 화면의 창에 블록들을 생성하여 표시하고, 블록들을 통해 블록 코딩이 수행되면, 블록들의 조합 및 배치에 대응하는 스크립트를 생성하고, 스크립트를 통해 자식 오브젝트를 추가하여 등록함으로써, 사용자에게 흥미를 유발하면서 소프트웨어 프로그램의 논리에 대한 이해력을 높일 수 있는 코딩 교육을 제공할 수 있다.According to an embodiment of the present invention, blocks are generated and displayed in the window of the block selection screen, and when block coding is performed through the blocks, a script corresponding to the combination and arrangement of blocks is generated, and a child object is created through the script. By additionally registering, it is possible to provide coding education that can increase the understanding of the logic of the software program while generating interest to the user.
한편, 실시예들에 따른 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.On the other hand, effects according to the embodiments are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those of ordinary skill in the art from the description below.
도 1은 본 발명의 일실시예에 따른 장치의 구성을 나타내는 도면이다.1 is a diagram showing the configuration of an apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 프로그래밍 교육을 위해 블록 코딩을 처리하는 과정을 순서도로 나타낸 도면이다.2 is a flowchart illustrating a process of processing block coding for programming education according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 블록 코딩을 생성하여 표시하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of generating and displaying block coding according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 프로그래밍 교육을 위해 블록 코딩을 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of performing block coding for programming education according to an embodiment of the present invention.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the embodiments are not limited to the specific disclosure form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected to” another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or a combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.
도 1은 본 발명의 일실시예에 따른 장치의 구성을 나타내는 도면이다.1 is a diagram showing the configuration of an apparatus according to an embodiment of the present invention.
일실시예에 따른 장치(101)는 프로세서(102) 및 메모리(103)를 포함한다. 프로세서(102)는 도 2 내지 도 4를 통하여 후술되는 적어도 하나의 방법을 수행할 수 있다. 메모리(103)는 후술되는 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(103)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다. Device 101 according to one embodiment includes a processor 102 and a memory 103 . The processor 102 may perform at least one method to be described later with reference to FIGS. 2 to 4 . The memory 103 may store information related to methods to be described later or a program in which methods to be described later are implemented. The memory 103 may be a volatile memory or a non-volatile memory.
프로세서(102)는 프로그램을 실행하고, 장치(101)를 제어할 수 있다. 프로세서(102)에 의하여 실행되는 프로그램의 코드는 메모리(103)에 저장될 수 있다. 장치(101)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.The processor 102 may execute a program and control the device 101 . The code of the program executed by the processor 102 may be stored in the memory 103 . The device 101 may be connected to an external device (eg, a personal computer or a network) through an input/output device (not shown), and may exchange data through wired/wireless communication.
장치(101)는 인공 신경망을 학습시키는데 사용될 수 있다. 메모리(103)는 학습된 인공 신경망을 포함할 수 있다. 프로세서(102)는 메모리(103)에 저장된 인공 신경망 알고리즘을 실행할 수 있다. 인공 신경망을 학습시키는 장치(101)와 학습된 인공 신경망을 이용하는 장치(101)는 동일할 수도 있고 개별적일 수도 있다. Device 101 may be used to train an artificial neural network. The memory 103 may include a trained artificial neural network. The processor 102 may execute an artificial neural network algorithm stored in the memory 103 . The apparatus 101 for training an artificial neural network and the apparatus 101 for using the learned artificial neural network may be the same or may be separate.
도 2는 본 발명의 일실시예에 따른 프로그래밍 교육을 위해 블록 코딩을 처리하는 과정을 순서도로 나타낸 도면이다.2 is a flowchart illustrating a process of processing block coding for programming education according to an embodiment of the present invention.
먼저, 장치(101)에는 블록 코딩 소프트웨어가 설치되어 있으며, 블록 코딩 소프트웨어의 실행으로 블록 코딩 과정이 시작될 수 있다.First, block coding software is installed in the device 101, and the block coding process can be started by executing the block coding software.
일실시예에 따르면, 블록 코딩 소프트웨어가 실행되면, 장치(101)의 전체 화면은 블록 선택 화면과 실행 화면으로 구분되어 표시될 수 있으며, 블록 선택 화면에는 코딩 블록 시 사용될 블록들이 표시되고, 실행 화면에는 코딩 블록을 통해 제어하고자 하는 대상 오브젝트가 표시될 수 있다.According to an embodiment, when the block coding software is executed, the entire screen of the device 101 may be displayed by being divided into a block selection screen and an execution screen, and blocks to be used for coding blocks are displayed on the block selection screen, and the execution screen A target object to be controlled through the coding block may be displayed.
S201 단계에서, 장치(101)는 블록들의 이름, 분류 및 기능 별로 구별하여 구성된 테이블을 확인할 수 있도록 인덱싱한 블록 정보 테이블을 확인할 수 있으며, 블록 정보 테이블을 이용하여 블록들을 생성하고, 생성된 블록들을 블록 선택 화면의 창에 표시할 수 있다. 블록들을 생성하는 내용에 대한 자세한 설명은 도 3을 참조하여 후술하고, 블록들을 표시하는 내용에 대한 자세한 설명은 도 4를 참조하여 후술하기로 한다.In step S201 , the device 101 may check the indexed block information table so as to identify a table configured by classifying blocks by name, classification, and function, and generate blocks using the block information table, and store the generated blocks. It can be displayed in the window of the block selection screen. A detailed description of the content of generating blocks will be described later with reference to FIG. 3 , and a detailed description of the content of displaying the blocks will be described later with reference to FIG. 4 .
S202 단계에서, 장치(101)는 블록들을 통해 블록 코딩이 수행된 후 블록 선택 화면의 일부분에 표시된 스크립트 생성 버튼이 선택되면, 블록들의 조합 및 배치를 확인하여, 확인된 블록들의 조합 및 배치에 대응하는 제1 스크립트를 생성할 수 있다.In step S202, when the script generation button displayed on a part of the block selection screen is selected after block coding is performed through the blocks, the device 101 checks the combination and arrangement of blocks to correspond to the confirmed combination and arrangement of blocks It is possible to generate a first script that
제1 스크립트를 생성하는 과정을 구체적으로 설명해보면, 장치(101)는 블록 선택 화면의 일부분에 표시된 스크립트 생성 버튼이 선택되면, 블록 코딩을 위해 연결된 블록들의 상태 및 정보를 파싱 스크립트를 이용하여 제1 타입의 데이터로 생성할 수 있다. 파싱 스크립트는 장치(101)에 설치된 블록 코딩 소프트웨어 제공하는 스크립트로, 미리 설정된 파싱 스크립트를 이용하여 간단한 형태인 제1 타입으로 데이터를 생성할 수 있으며, 제1 타입의 데이터는 블록 코딩 보존용으로 보관되어 저장될 수 있다.When the process of generating the first script is described in detail, when the script generation button displayed on a part of the block selection screen is selected, the device 101 parses the state and information of blocks connected for block coding using a parsing script. It can be created with type data. The parsing script is a script provided by the block coding software installed in the device 101, and it is possible to generate data in a simple first type using a pre-set parsing script, and the first type of data is stored for block coding preservation. and can be stored.
장치(101)는 제1 타입의 데이터를 확인하여 미리 설정된 프로그래밍 언어의 구문에 따라 문자열 타입인 제2 타입의 데이터로 생성할 수 있다. 예를 들어, 장치(101)는 간단한 형태의 데이터를 확인하여 루아(Lua)의 구문에 따라 문자열 타입의 데이터를 생성할 수 있다.The device 101 may identify the first type of data and generate it as the second type of data, which is a string type, according to a syntax of a preset programming language. For example, the device 101 may check data in a simple form and generate string-type data according to the syntax of Lua.
장치(101)는 제2 타입의 데이터를 프로그래밍 언어의 스크립트로 변환하여 제1 스크립트를 생성할 수 있다. 예를 들어, 장치(101)는 문자열 타입의 데이터를 이용하여 루아(Lua)의 스크립트로 변환할 수 있다. The device 101 may convert the second type of data into a script of a programming language to generate the first script. For example, the device 101 may convert data of a string type into a script of Lua.
S203 단계에서, 장치(101)는 제1 스크립트를 통해 제1 오브젝트를 생성할 수 있으며, 이를 위해, 장치(101)에 설치된 블록 코딩 소프트웨어에서 스크립트와 오브젝트 간의 매칭 정보를 제공할 수 있다.In step S203 , the device 101 may generate the first object through the first script, and for this purpose, matching information between the script and the object may be provided in block coding software installed in the device 101 .
S204 단계에서, 장치(101)는 제1 오브젝트를 실행 화면의 창에 표시된 대상 오브젝트의 자식 오브젝트로 추가하여 등록할 수 있다. 즉, 블록 코딩을 통해 생성된 스크립트를 자식 오브젝트로 등록해야만 블록 코딩을 통해 설계된 코드가 작동될 수 있다.In step S204 , the device 101 may add and register the first object as a child object of the target object displayed in the window of the execution screen. That is, the code designed through block coding can be operated only when the script generated through block coding is registered as a child object.
일실시예에 따르면, 장치(101)는 자식 오브젝트로 등록된 제1 오브젝트를 이용하여 대상 오브젝트의 동작을 구현할 수 있으며, 예를 들어, 제1 오브젝트에 오른쪽으로 180도 회전에 대한 정보가 포함되어 있는 경우, 대상 오브젝트가 오른쪽으로 180도 회전하는 동작을 수행할 수 있다.According to one embodiment, the device 101 may implement the operation of the target object by using the first object registered as a child object, for example, the first object includes information about the 180 degree rotation to the right. If there is, an operation of rotating the target object 180 degrees to the right may be performed.
장치(101)는 자식 오브젝트로 등록된 복수의 오브젝트를 이용하여 대상 오브젝트의 다양한 동작을 연결하여 구현할 수 있다.The device 101 may implement by connecting various operations of the target object using a plurality of objects registered as child objects.
도 3은 본 발명의 일실시예에 따른 블록 코딩을 생성하여 표시하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of generating and displaying block coding according to an embodiment of the present invention.
도 3을 참조하면, 장치(101)는 블록 정보 테이블(304), 블록 GUI 이미지(302), 요소 테이블(303), 블록 동작 테이블(305) 및 블록 함수(306)를 이용하여 블록 제작 테이블(307)을 생성할 수 있다.Referring to FIG. 3 , the device 101 uses a block information table 304 , a block GUI image 302 , an element table 303 , a block action table 305 and a block function 306 to create a block creation table ( 307) can be created.
장치(101)는 블록 제작 테이블(307)을 이용하여 블록 선택 화면(308) 상에서 블록이 표시되도록 제어할 수 있다.The device 101 may control the block to be displayed on the block selection screen 308 using the block production table 307 .
블록 정보 테이블(304)은 블록명, 카테고리 분류, 카테고리별 블록 색, 카테고리별 블록 테두리 및 기능별 블록 모양에 대한 블록 정보를 숫자코드로 축약하여 주석 코드를 만드는 기초가 될 수 있으며, 장치(101)는 블록 정보 테이블(304)을 이용하여 블록명, 카테고리 분류, 카테고리별 블록 색, 카테고리별 블록 테두리 및 기능별 블록 모양을 설정할 수 있다.The block information table 304 may be a basis for creating a comment code by abbreviated block information on block name, category classification, block color for each category, block border for each category, and block shape for each function into numeric codes, and device 101 can set the block name, category classification, block color for each category, block border for each category, and block shape for each function using the block information table 304 .
블록 GUI 이미지(302)는 외부 서버로부터 다운로드한 이미지(301)를 통해 획득된 이미지일 수 있다.The block GUI image 302 may be an image obtained through an image 301 downloaded from an external server.
일실시예에 따르면, 장치(101)에서 제작하여 생성된 이미지를 외부 서버에 올려 프로그램이 재생될 때 온라인을 통해 외부 서버로부터 이미지를 다운로드 할 수 있으며, 외부 서버로부터 다운로드한 이미지(301)를 통해 블록 GUI 이미지(302)를 획득할 수 있다.According to an embodiment, an image produced by the device 101 is uploaded to an external server, and when a program is played, an image can be downloaded from an external server online, and an image 301 downloaded from the external server can be used to download the image. A block GUI image 302 may be obtained.
즉, 장치(101)에서 제작하여 생성된 이미지를 외부 서버에 올려 온라인 상에 이미지가 업로드되면, 장치(101)는 업로드된 이미지를 외부 서버로부터 다운로드 하여, 외부 서버로부터 다운로드한 이미지(303)를 획득할 수 있다.That is, when the image produced by the device 101 is uploaded to an external server and the image is uploaded online, the device 101 downloads the uploaded image from the external server and transmits the image 303 downloaded from the external server. can be obtained
요소 테이블(303)은 블록 GUI 이미지(302)를 이용하여 생성될 수 있으며, 기입 불가 텍스트, 기입 가능 텍스트, 조건부 빈칸, 드롭다운 메뉴 각각의 요소를 기호로 축약하여 주석 코드를 만드는 기초가 될 수 있으며, 장치(101)는 요소 테이블(303)을 이용하여 기입 불가 텍스트, 기입 가능 텍스트, 조건부 빈칸, 드롭다운 메뉴 각각의 요소를 기호로 설정할 수 있다.The element table 303 can be created using the block GUI image 302, and each element of non-writable text, writable text, conditional blank, and drop-down menu can be abbreviated with symbols to form a basis for creating comment codes. Also, the device 101 may set each element of the non-writable text, the writable text, the conditional blank, and the drop-down menu as a symbol by using the element table 303 .
블록 동작 테이블(305)은 소스 코드를 추출하여 마우스 관련 동작 함수를 포함할 수 있으며, 장치(101)는 블록 동작 테이블(305)을 이용하여 마우스 관련 동작을 설정할 수 있다.The block action table 305 may include a mouse-related action function by extracting the source code, and the device 101 may set the mouse-related action using the block action table 305 .
블록 함수(306)는 실제 구현할 함수 코드를 포함하며, 장치(101)에 설치된 블록 코딩 소프트웨어에서 제공할 수 있다.The block function 306 includes function codes to be actually implemented, and may be provided by block coding software installed in the device 101 .
블록 제작 테이블(307)은 요소 테이블(303)의 각각의 요소를 나열하고 블록 함수(306)를 연결하여 블록이 가시화되도록 처리할 수 있다.The block production table 307 may process each element of the element table 303 to be visualized by linking the block function 306 to each element.
장치(101)에 포함된 제어부 중 블록 제작 테이블(307)의 제어부는 블록 별로 내부 스크립트에 주석용 코드를 생성하여 저장하고, 스크립트 생성 버튼의 선택에 따라 블록 별로 저장된 내부 스크립트 중 관련 스크립트가 작동하여 주석 코드를 실제 코드로 변환하고 파일로 생성할 수 있다.Among the control units included in the device 101, the control unit of the block production table 307 generates and stores a code for annotation in the internal script for each block, and according to the selection of the script generation button, a related script among the internal scripts stored for each block operates You can convert the comment code into actual code and generate it as a file.
장치(101)에 포함된 제어부 중 블록 선택 화면(308)의 제어부는 블록 제작 테이블(307)을 이용하여, 카테고리 탭을 통해 블록들이 카테고리 별로 나열된 화면을 블록 선택 화면(308) 상에서 제공할 수 있다.Among the controllers included in the device 101 , the controller of the block selection screen 308 may use the block production table 307 to provide a screen in which blocks are listed by category through the category tab on the block selection screen 308 . .
장치(101)에 포함된 제어부 중 블록 선택 화면(308) 및 실행 화면을 포함하는 전체 화면(309)의 제어부는 블록 선택 화면(308)에 나열된 블록들을 테이블에 저장하여 코드 생성을 준비하고, 블록 선택 화면(308) 내 블록 접합, 블록 삭제 및 블록 목록 추출 각각의 동작에 대한 동작 함수를 생성할 수 있다.Among the control units included in the device 101, the control unit of the full screen 309 including the block selection screen 308 and the execution screen stores the blocks listed on the block selection screen 308 in a table to prepare code generation, In the selection screen 308, it is possible to create an action function for each action of block joining, block deletion, and block list extraction.
도 4는 본 발명의 일실시예에 따른 프로그래밍 교육을 위해 블록 코딩을 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of performing block coding for programming education according to an embodiment of the present invention.
도 4를 참조하면, 장치(101)의 전체 화면(309)에는 블록 선택 화면(308)과 실행 화면(401)이 구분되어 표시될 수 있다.Referring to FIG. 4 , a block selection screen 308 and an execution screen 401 may be displayed separately on the entire screen 309 of the device 101 .
실행 화면(401)에는 대상 오브젝트(403)가 표시되고, 블록 선택 화면(308)에는 제1 블록(411), 제2 블록(412), 제3 블록(413), 제4 블록(414), 제5 블록(415), 제6 블록(416), 제7 블록(417) 등 복수의 블록이 표시될 수 있다.The target object 403 is displayed on the execution screen 401 , and the first block 411 , the second block 412 , the third block 413 , the fourth block 414 , and the block selection screen 308 are displayed. A plurality of blocks such as a fifth block 415 , a sixth block 416 , and a seventh block 417 may be displayed.
블록 선택 화면(308)은 복수의 블록들이 선택되어 배치되는 블록 배치 화면(402)을 포함할 수 있다.The block selection screen 308 may include a block arrangement screen 402 in which a plurality of blocks are selected and arranged.
블록 선택 화면(308)에는 블록 배치 화면(402)에 블록들이 나열되어 블록 코딩의 수행이 완료되면 이를 통보하기 위한 스크립트 생성 버튼(404)이 더 표시될 수 있다. On the block selection screen 308 , when blocks are listed on the block arrangement screen 402 and block coding is completed, a script generation button 404 for notifying this may be further displayed.
복수의 블록들을 생성하여 표시하는데 있어, 장치(101)는 이펙트 분야를 담당하는 제1 블록(411), 시각 분야를 담당하는 제2 블록(412), 음향 분야를 담당하는 제3 블록(413), 물리 분야를 담당하는 제4 블록(414), 네트워크 분야를 담당하는 제5 블록(415), 3D 분야를 담당하는 제6 블록(416) 및 카메라 분야를 담당하는 제7 블록(417)을 각각 생성하여 블록 선택 화면(308) 상에 표시할 수 있다.In generating and displaying a plurality of blocks, the device 101 includes a first block 411 for the effect field, a second block 412 for the visual field, and a third block 413 for the sound field. , the fourth block 414 in charge of the physical field, the fifth block 415 in charge of the network field, the sixth block 416 in charge of the 3D field, and the seventh block 417 in charge of the camera field, respectively. It can be generated and displayed on the block selection screen 308 .
제1 스크립트를 생성하는데 있어, 장치(101)는 제1 블록(411), 제2 블록(412), 제3 블록(413), 제4 블록(414), 제5 블록(415), 제6 블록(416) 및 제7 블록(417)에 대한 조합 및 배치에 대응하는 제1 스크립트를 생성할 수 있다.In generating the first script, the device 101 performs a first block 411 , a second block 412 , a third block 413 , a fourth block 414 , a fifth block 415 , a sixth block A first script corresponding to the combination and arrangement for block 416 and seventh block 417 may be generated.
제1 블록(411), 제2 블록(412), 제3 블록(413), 제4 블록(414), 제5 블록(415), 제6 블록(416), 제7 블록(417)은 차별화된 기능을 제공하기 위해 생성되어 표시될 수 있으며, 각각의 블록에서 제공하는 기능에 대해 자세히 설명하기로 한다.The first block 411 , the second block 412 , the third block 413 , the fourth block 414 , the fifth block 415 , the sixth block 416 , and the seventh block 417 are differentiated. It can be created and displayed to provide the specified functions, and the functions provided by each block will be described in detail.
제1 블록(411)은 연기, 폭발, 불 및 빔에 대한 효과를 담당하며, 사건의 인과를 이용하여 효과의 발생 시점과 어떠한 효과가 나타나야 하는지 이해하는 것을 목표로 제공될 수 있다.The first block 411 is responsible for effects on smoke, explosions, fires and beams, and may be provided with the goal of understanding when effects occur and what effects should appear using causality of events.
제2 블록(412)은 빛의 종류에 따라 화면을 설계하고, 후처리(Post Processing)를 이용하여 블룸(Bloom) 및 블러(blur) 효과가 생성되도록 처리하고, 낮과 밤의 표현, 어두운 부분과 밝은 부분을 이용한 집중도 표현 및 후처리에 대한 기능을 이용하여 빛의 범위, 빛의 종류에 따라 화면의 표현이 달라짐을 이해하는 것을 목표로 제공될 수 있다.The second block 412 designs a screen according to the type of light, processes it so that bloom and blur effects are generated using post processing, and expresses day and night and dark areas. It can be provided with the goal of understanding that the expression of the screen varies according to the range of light and the type of light by using the function for expression of concentration and post-processing using bright areas.
제3 블록(413)은 전방위로 들리는 고정된 소리와 특정 지역에서 나는 소리를 구분하여 설정하고, 코러스(Chorus), 에코(Echo) 및 리버브(Reverb) 효과가 적용 가능하도록 설정하고, 동굴에 들어가면 목소리가 울리거나 소리가 나는 진원에서 가까울수록 소리가 커지는 효과를 이용하여 과학적 사실과 프로그래밍 인자에 상관관계를 이해하는 것을 목표로 제공될 수 있다.The third block 413 is set to distinguish between a fixed sound heard from all directions and a sound from a specific area, and set to apply chorus, echo and reverb effects, and enter the cave. Using the effect that the sound gets louder the closer it is to the ringing or sounding source, it can serve with the goal of understanding the correlation between scientific facts and programming factors.
제4 블록(414)은 중력, 마찰 및 충돌과 관련된 효과와 회전 속도, 조인트(Joint), 에너지 효과가 적용 가능하도록 설정하고, 물리 코드를 구현하는 것이 아닌 중력에 적용되는 질량 및 중력 가속도에 대한 인자값을 변경하면서 제작하여 물리 공식을 이해하는 것을 목표로 제공될 수 있다.The fourth block 414 sets the effects related to gravity, friction and collision, rotation speed, joint, and energy effects to be applicable, and for mass and gravitational acceleration applied to gravity rather than implementing the physical code. It can be provided with the goal of understanding the physics formula by making it while changing the factor value.
제5 블록(415)은 채팅, 다이얼로그(Dialog) 및 다이얼로그 초이스(Dialog Choice)를 이용하여 다른 단말에서도 여러 사람이 진행할 수 있는 프로젝트의 기능을 제공하며, 채팅에 사용되는 기능과 기술을 이해하고, 다이얼로그(Dialog)를 이용하여 자신의 스토리를 다른 사람들에게 표현하는 기술을 이해하는 것을 목표로 제공될 수 있다.The fifth block 415 provides a function of a project that can be carried out by several people in other terminals using chatting, dialog, and dialog choice, understands the functions and techniques used in chatting, It can be provided with the goal of understanding the technique of expressing one's story to others using a dialog.
제6 블록(416)은 2D 표현이 어려운 물체인 인간형 캐릭터, 육면체, 구 및 실린더에 대한 표현에 사용되는 메쉬(Mesh) 및 텍스처(Texture)의 정보를 제어하고, 애니메이션을 단순 그림의 변화로 만드는 것이 아닌 위치, 회전 및 크기 값이 변경되는 애니메이션을 체험하는 것을 목표로 제공될 수 있다.The sixth block 416 controls information on meshes and textures used to express humanoid characters, cubes, spheres, and cylinders, which are objects that are difficult to express in 2D, and makes animation into a simple picture change. It can be provided with the goal of experiencing animations in which position, rotation and scale values are changed rather than non-existent.
제7 블록(417)은 다양한 시점 변환이 가능하고 뷰포트 및 절두체 설정이 가능하며, 먼 거리에 있는 물체를 작게 보이게 하는 원근법 적용과 자유 시점 카메라, Top-down 카메라, TPS 카메라의 사용 방법과 촬영 기법을 이해하는 것을 목표로 제공될 수 있다.In the seventh block 417, various viewpoint transformations are possible, viewport and frustum settings are possible, and perspective application to make distant objects appear small, free viewpoint camera, top-down camera, TPS camera usage method and shooting technique can be provided with the goal of understanding
일실시예에 따르면, 블록들을 생성하여 표시하는데 있어, 장치(101)는 사용자의 블록 코딩 내역을 확인하여, 제1 블록(411), 제2 블록(412), 제3 블록(413), 제4 블록(414), 제5 블록(415), 제6 블록(416) 및 제7 블록(417) 중 많이 사용된 순으로 정렬하여 표시할 수 있다.According to an embodiment, in generating and displaying blocks, the device 101 checks the user's block coding history, and the first block 411 , the second block 412 , the third block 413 , and the second block The fourth block 414 , the fifth block 415 , the sixth block 416 , and the seventh block 417 may be arranged and displayed in the order in which they are most frequently used.
예를 들어, 장치(101)는 사용자의 블록 코딩 내역을 확인해본 결과, 제3 블록(413), 제2 블록(412), 제4 블록(414) 순으로 많이 사용된 것이 확인되면, 제3 블록(413), 제2 블록(412), 제4 블록(414) 순으로 정렬하여 상단에 표시되도록 처리할 수 있다.For example, as a result of checking the user's block coding history, the device 101 confirms that the third block 413, the second block 412, and the fourth block 414 are frequently used in the order, the third block The block 413 , the second block 412 , and the fourth block 414 may be arranged in order to be displayed at the top.
한편, 장치(101)는 제1 블록(411)이 선택되면, 제1 블록(411)과 연계하여 기준치 이상으로 많이 사용된 제2 블록(412)을 강조 표시하여, 제2 블록(412)을 제1 블록(411)의 후속 배치 블록으로 추천할 수 있다. 즉, 이펙트를 담당하는 제1 블록(411)이 선택되면, 이와 연계하여 시각을 담당하는 제2 블록(412)이 추천될 수 있다.On the other hand, when the first block 411 is selected, the device 101 highlights and displays the second block 412 that has been used more than the reference value in connection with the first block 411 to display the second block 412 . It may be recommended as a block for the subsequent arrangement of the first block 411 . That is, when the first block 411 in charge of the effect is selected, the second block 412 in charge of the time in connection therewith may be recommended.
또한, 장치(101)는 제2 블록(412)이 선택되면, 제2 블록(412)과 연계하여 기준치 이상으로 많이 사용된 제3 블록(413)을 강조 표시하여, 제3 블록(413)을 제2 블록(412)의 후속 배치 블록으로 추천할 수 있다. 즉, 시각을 담당하는 제2 블록(412)이 선택되면, 이와 연계하여 음향을 담당하는 제3 블록(413)이 추천될 수 있다.In addition, when the second block 412 is selected, the device 101 highlights and displays the third block 413 that is used more than the reference value in connection with the second block 412 to display the third block 413 . It may be recommended as a block for subsequent placement of the second block 412 . That is, when the second block 412 in charge of time is selected, the third block 413 in charge of sound in connection therewith may be recommended.
또한, 장치(101)는 제6 블록(416)이 선택되면, 제6 블록(416)과 연계하여 기준치 이상으로 많이 사용된 제7 블록(417)을 강조 표시하여, 제7 블록(417)을 제6 블록(416)의 후속 배치 블록으로 추천할 수 있다. 즉, 3D를 담당하는 제6 블록(416)이 선택되면, 이와 연계하여 카메라를 담당하는 제7 블록(417)이 추천될 수 있다.In addition, when the sixth block 416 is selected, the device 101 highlights and displays the seventh block 417 that is used more than the reference value in connection with the sixth block 416 . It may be recommended as a block for subsequent placement of the sixth block 416 . That is, when the sixth block 416 in charge of 3D is selected, the seventh block 417 in charge of the camera may be recommended in connection therewith.
일실시예에 따르면, 자식 오브젝트를 등록하는데 있어, 장치(101)는 제1 오브젝트를 분석하여, 제1 오브젝트에 대응하는 제1 동작 수행 이후 이어서 필수적으로 수행되어야 하는 제2 동작을 확인할 수 있다.According to an embodiment, in registering a child object, the device 101 may analyze the first object and identify a second operation that must be performed after the first operation corresponding to the first object is performed.
예를 들어, 장치(101)는 대상 오브젝트(403)가 S자 도로에서 이동하고 있는 것을 구현하고자 하는 경우, 제1 오브젝트에 대응하는 제1 동작이 좌회전을 통한 이동으로 확인되면, 이어서 필수적으로 수행되어야 하는 제2 동작이 우회전을 통한 이동으로 확인될 수 있다.For example, when the device 101 intends to implement that the target object 403 is moving on an S-shaped road, if a first motion corresponding to the first object is confirmed as moving through a left turn, then it is essentially performed The second operation to be performed may be confirmed as movement through a right turn.
장치(101)는 제2 동작에 대응하는 제2 오브젝트를 자동으로 생성하고, 제2 오브젝트를 대상 오브젝트(403)의 자식 오브젝트로 추가하여 등록할 수 있다.The device 101 may automatically create a second object corresponding to the second operation, add the second object as a child object of the target object 403 and register it.
즉, 장치(101)는 사용자의 블록 코딩을 통해 제1 스크립트를 생성하고, 제1 스크립트를 통해 제1 오브젝트를 생성한 후, 사용자의 후속 블록 코딩이 수행되지 않아도, 상황에 따라 자동으로 제2 오브젝트를 생성하여, 제1 오브젝트 및 제2 오브젝트를 한꺼번에 자식 오브젝트로 추가하여 등록함으로써, 블록 코딩의 편의성 및 효과를 증대시킬 수 있다.That is, the device 101 generates the first script through the user's block coding, and after generating the first object through the first script, even if the user's subsequent block coding is not performed, the device 101 automatically generates the second script according to the situation. By creating an object, adding and registering the first object and the second object as child objects at once, the convenience and effect of block coding can be increased.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다. The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, various technical modifications and variations may be applied to those of ordinary skill in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (3)

  1. 블록 코딩 소프트웨어가 설치된 장치에 의해 수행되는, 프로그래밍 교육을 위해 블록 코딩을 처리하는 방법에 있어서,A method of processing block coding for programming education, performed by a device installed with block coding software, the method comprising:
    블록들의 이름, 분류 및 기능 별로 구별하여 구성된 테이블을 확인할 수 있도록 인덱싱한 블록 정보 테이블을 이용하여, 블록 선택 화면의 창에 블록들을 생성하여 표시하는 단계;generating and displaying blocks in a window of a block selection screen using an indexed block information table so that a table configured by classifying blocks by name, classification, and function can be identified;
    상기 블록들을 통해 블록 코딩이 수행된 후 상기 블록 선택 화면의 일부분에 표시된 스크립트 생성 버튼이 선택되면, 상기 블록들의 조합 및 배치에 대응하는 제1 스크립트를 생성하는 단계; 및generating a first script corresponding to a combination and arrangement of the blocks when a script generation button displayed on a part of the block selection screen is selected after block coding is performed through the blocks; and
    상기 제1 스크립트를 통해 제1 오브젝트를 생성하고, 상기 제1 오브젝트를 실행 화면의 창에 표시된 대상 오브젝트의 자식 오브젝트로 추가하여 등록하는 단계를 포함하는, generating a first object through the first script, adding the first object as a child object of a target object displayed in a window of an execution screen, and registering the first object,
    프로그래밍 교육을 위한 블록 코딩 처리 방법.Block coding processing method for programming education.
  2. 제1항에 있어서,The method of claim 1,
    상기 제1 스크립트를 생성하는 단계는,The step of generating the first script is,
    상기 스크립트 생성 버튼이 선택되면, 상기 블록 코딩을 통해 연결된 블록들의 상태 및 정보를 상기 블록 코딩 소프트웨어에서 제공하는 파싱 스크립트를 이용하여 블록 코딩 보존용으로 보관되는 제1 타입의 데이터로 생성하는 단계;generating, when the script generation button is selected, the state and information of blocks connected through the block coding as a first type of data stored for block coding preservation using a parsing script provided by the block coding software;
    상기 제1 타입의 데이터를 확인하여 미리 설정된 프로그래밍 언어의 구문에 따라 문자열 타입인 제2 타입의 데이터로 생성하는 단계; 및checking the first type of data and generating it as a second type of data, which is a string type, according to a syntax of a preset programming language; and
    상기 제2 타입의 데이터를 상기 프로그래밍 언어의 스크립트로 변환하여 상기 제1 스크립트를 생성하는 단계를 포함하는, converting the second type of data into a script of the programming language to generate the first script,
    프로그래밍 교육을 위한 블록 코딩 처리 방법.Block coding processing method for programming education.
  3. 제1항에 있어서,According to claim 1,
    상기 블록들을 생성하여 표시하는 단계는,Creating and displaying the blocks includes:
    상기 블록 정보 테이블, 블록 GUI 이미지, 요소 테이블, 블록 동작 테이블 및 블록 함수를 이용하여, 상기 요소 테이블의 각각의 요소를 나열하고 상기 블록 함수를 연결하여 블록이 가시화되도록 처리하는 블록 제작 테이블을 생성하는 단계; 및Using the block information table, block GUI image, element table, block action table, and block function, each element of the element table is listed and the block function is linked to create a block production table that processes the block to be visualized step; and
    상기 블록 제작 테이블을 이용하여 상기 블록 선택 화면 상에서 블록이 표시되도록 제어하는 단계를 포함하며,and controlling the block to be displayed on the block selection screen using the block production table,
    상기 블록 정보 테이블은,The block information table is
    블록명, 카테고리 분류, 카테고리별 블록 색, 카테고리별 블록 테두리 및 기능별 블록 모양에 대한 블록 정보를 숫자코드로 축약하여 주석 코드를 만드는 기초가 되고,Block information on block name, category classification, block color by category, block border by category, and block shape by function is abbreviated into numeric codes to become the basis for creating comment codes,
    상기 블록 GUI 이미지는,The block GUI image is
    외부 서버로부터 다운로드한 이미지를 통해 획득된 이미지이고,It is an image obtained through an image downloaded from an external server,
    상기 요소 테이블은,The element table is
    상기 블록 GUI 이미지를 이용하여 생성되어, 기입 불가 텍스트, 기입 가능 텍스트, 조건부 빈칸 및 드롭다운 메뉴 각각의 요소를 기호로 축약하여 주석 코드를 만드는 기초가 되고,Created using the block GUI image, abbreviating each element of non-writable text, writable text, conditional blank, and drop-down menu with a symbol becomes the basis for creating an annotation code,
    상기 블록 동작 테이블은,The block operation table is
    소스 코드를 추출하여 마우스 관련 동작 함수를 포함하며,Extract the source code to include mouse-related motion functions,
    상기 블록 함수는,The block function is
    실제 구현할 함수 코드를 포함하며,It contains the function code to be actually implemented,
    상기 블록 제작 테이블의 제어부는,The control unit of the block production table,
    블록 별로 내부 스크립트에 주석용 코드를 생성하여 저장하고, 상기 스크립트 생성 버튼의 선택에 따라 상기 블록 별로 저장된 내부 스크립트 중 관련 스크립트가 작동하여 주석 코드를 실제 코드로 변환하여 파일로 생성하고,Generates and stores the code for comments in the internal script for each block, and according to the selection of the script generation button, a related script among the internal scripts stored for each block operates to convert the comment code into an actual code and generate a file,
    상기 블록 선택 화면의 제어부는,The control unit of the block selection screen,
    상기 블록 제작 테이블을 이용하여, 카테고리 탭을 통해 상기 블록들이 카테고리 별로 나열된 화면을 제공하고,Using the block production table, a screen in which the blocks are listed by category through the category tab is provided,
    상기 블록 선택 화면 및 상기 실행 화면을 포함하는 전체 화면의 제어부는,The control unit of the entire screen including the block selection screen and the execution screen,
    상기 블록 선택 화면에 나열된 블록들을 테이블에 저장하여 코드 생성을 준비하고, 상기 블록 선택 화면 내 블록 접합, 블록 삭제 및 총 블록 목록 추출 각각의 동작에 대한 동작 함수를 생성하는, Preparing the code generation by storing the blocks listed on the block selection screen in a table, and generating an operation function for each operation of block joining, block deletion, and total block list extraction in the block selection screen,
    프로그래밍 교육을 위한 블록 코딩 처리 방법.Block coding processing method for programming education.
PCT/KR2020/017361 2020-07-28 2020-12-01 Block coding processing method for programming education WO2022025357A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB2112709.7A GB2602860A (en) 2020-07-28 2020-12-01 Method for processing block coding for programme education

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0093444 2020-07-28
KR1020200093444A KR102228085B1 (en) 2020-07-28 2020-07-28 Method for processing block coding for programming education

Publications (1)

Publication Number Publication Date
WO2022025357A1 true WO2022025357A1 (en) 2022-02-03

Family

ID=75177160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/017361 WO2022025357A1 (en) 2020-07-28 2020-12-01 Block coding processing method for programming education

Country Status (2)

Country Link
KR (1) KR102228085B1 (en)
WO (1) WO2022025357A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443672B1 (en) 2021-08-12 2022-09-15 주식회사 로보그램 Method, device and system for providing block coding education service
KR102378690B1 (en) * 2021-08-17 2022-03-25 (주)비케이시스템 Methdo of generating programming code using code black and apparatus performing the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990048314A (en) * 1997-12-09 1999-07-05 구자홍 Software Agent Generator
KR20010076775A (en) * 2000-01-28 2001-08-16 오길록 Script automatic generation agent and method
US20140170633A1 (en) * 2012-12-14 2014-06-19 Kelvin Voon-Kit Chong Programming learning center
KR20190033955A (en) * 2017-09-22 2019-04-01 주식회사 플레이코드 Play code training system and method of supporting coding education by inducing various play code assembly or combination
KR20200054654A (en) * 2018-11-12 2020-05-20 장선연 Apparatus and methd for coding with 3d block

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990048314A (en) * 1997-12-09 1999-07-05 구자홍 Software Agent Generator
KR20010076775A (en) * 2000-01-28 2001-08-16 오길록 Script automatic generation agent and method
US20140170633A1 (en) * 2012-12-14 2014-06-19 Kelvin Voon-Kit Chong Programming learning center
KR20190033955A (en) * 2017-09-22 2019-04-01 주식회사 플레이코드 Play code training system and method of supporting coding education by inducing various play code assembly or combination
KR20200054654A (en) * 2018-11-12 2020-05-20 장선연 Apparatus and methd for coding with 3d block

Also Published As

Publication number Publication date
KR102228085B1 (en) 2021-03-12

Similar Documents

Publication Publication Date Title
US20190236975A1 (en) Integrated development environment for visual and text coding
Chun On software, or the persistence of visual knowledge
KR101344727B1 (en) Apparatus and method for controlling intelligent robot
WO2022025357A1 (en) Block coding processing method for programming education
WO1999053464A1 (en) Computer assisted interactive entertainment/educational character goods
CN107423049A (en) Realize method, browser and the terminal device of online programming
García-Zubía et al. Learning to program in K12 using a remote controlled robot: RoboBlock
Sandoval-Reyes et al. Visual learning environments for computer programming
KR20180046242A (en) Nfc block, and operating method using the same
WO2023136417A1 (en) Method and device for constructing transformer model for video story question answering
Hu et al. A rapid development method of virtual assembly experiments based on 3d game engine
Allsopp Playful programming products vs. programming concepts matrix
GB2602860A (en) Method for processing block coding for programme education
CN211979874U (en) Programming auxiliary jigsaw component and auxiliary programming system
Jin et al. Isea: An interesting application of chemistry education based on AR
KR20200139859A (en) System and method for providing coding education using star topology in Internet of things
Yamanoor et al. Python Programming with Raspberry Pi
Lamberta et al. Foundation HTML5 Animation with JavaScript
Bates Raspberry Pi Projects for Kids
Oliphant Meemoo: Hackable web app framework
Barmpoutis et al. Assessing the effectiveness of emoticon-like scripting in computer programming
WO2021006467A1 (en) System and method for providing coding education by using peer terminals connected to cloud platform
Li et al. Development and design of virtual experiment system based on 3dsmax and virtools technology
Yuan The application of virtual reality technology in ESP teaching
CN108268327A (en) The processing method of big data, apparatus and system in remote online

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 202112709

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20201201

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

Ref document number: 20947593

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20947593

Country of ref document: EP

Kind code of ref document: A1