KR102039296B1 - System and method for programming education - Google Patents
System and method for programming education Download PDFInfo
- Publication number
- KR102039296B1 KR102039296B1 KR1020190044910A KR20190044910A KR102039296B1 KR 102039296 B1 KR102039296 B1 KR 102039296B1 KR 1020190044910 A KR1020190044910 A KR 1020190044910A KR 20190044910 A KR20190044910 A KR 20190044910A KR 102039296 B1 KR102039296 B1 KR 102039296B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- program
- command
- terminal
- training terminal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
Description
본 발명의 실시예들은 프로그래밍 교육을 위한 시스템 및 방법과 관련된다.Embodiments of the present invention relate to systems and methods for programming education.
최근, 산업 현장 또는 생활 환경에서 각종 시스템들의 자동화가 이루어지고 있으며, 이러한 시스템들의 자동화를 위해 프로그래밍 교육이 중요성이 증가하고 있다. 이에 따라, 학교, 학원, 과학 단체 등과 같은 교육기관들은 학생, 일반인 등을 대상으로 하는 프로그래밍 교육을 진행하고 있다.In recent years, automation of various systems has been made in an industrial site or living environment, and programming education is increasing for the automation of such systems. Accordingly, educational institutions such as schools, academies, and scientific organizations are conducting programming education for students and the general public.
그러나, 이러한 프로그래밍 교육의 경우, C/C++, Java, Python 등의 프로그래밍 언어만을 이용하여 초보자가 이를 배우는데 많은 어려움이 있다. 또한, 종래 프로그래밍 교육의 경우 실습 결과를 시각적으로 보여주지 않아 초보자의 흥미를 유발하기 어렵다는 문제가 있다.However, such programming education has a lot of difficulties for beginners to learn it using only programming languages such as C / C ++, Java, Python. In addition, the conventional programming education has a problem that it is difficult to induce the interest of beginners do not visually show the results of the practice.
본 발명의 실시예들은, 사용자의 프로그래밍 교육에 대한 흥미를 향상시키고, 사용자의 프로그래밍 실력에 따라 차별적인 교육을 제공하여 프로그래밍 교육의 효과를 향상시키기 위한 것이다.Embodiments of the present invention are to improve the interest in programming education of the user, and to provide a differentiated education according to the user's programming ability to improve the effectiveness of programming education.
본 발명의 일 실시예에 따른 프로그래밍 교육 시스템은, 사용자로부터 복수의 프로그램 입력 방법 중 어느 하나의 방법을 선택 받고, 선택된 방법에 따라 상기 사용자로부터 하나 이상의 명령을 입력 받아 프로그램을 생성하며, 생성된 상기 프로그램을 실습 단말로 송신하는 사용자 단말, 및 복수의 제어 대상 소자를 구비하고, 상기 프로그램에 따라 상기 복수의 제어 대상 소자 각각을 제어하되, 외면에 상기 프로그램을 실행 또는 정지하기 위한 하나 이상의 버튼을 구비하는 실습 단말을 포함한다.Programming programming system according to an embodiment of the present invention, receives any one of a plurality of program input method from a user, generates a program by receiving one or more commands from the user according to the selected method, A user terminal for transmitting a program to a training terminal, and a plurality of control target elements, and controlling each of the plurality of control target elements according to the program, and having one or more buttons on the outer surface for executing or stopping the program; It includes a training terminal.
상기 사용자 단말은, 각각 설정된 명령에 대응되는 복수의 아이콘 블록을 저장하고, 상기 사용자로부터 프로그램 입력 방법으로 제1 방법이 선택된 경우, 상기 사용자로 상기 복수의 아이콘 블록 및 상기 복수의 아이콘 블록이 배치되는 배치창을 포함하는 GUI(Graphical User Interface)를 제공하고, 상기 사용자가 상기 복수의 아이콘 블록 중 어느 하나의 블록을 선택하는 경우 선택된 상기 아이콘 블록을 상기 배치창에 배치하고, 상기 사용자가 상기 복수의 아이콘 블록 선택을 종료한 경우 상기 배치창에 배치된 상기 아이콘 블록에 따라 상기 프로그램을 생성할 수 있다.The user terminal stores a plurality of icon blocks corresponding to each set command, and when the first method is selected as a program input method from the user, the plurality of icon blocks and the plurality of icon blocks are arranged as the user. Providing a graphical user interface (GUI) including a layout window, and when the user selects any one of the plurality of icon blocks, the selected icon block is disposed in the layout window, and the user When the selection of the icon block is finished, the program may be generated according to the icon block arranged in the layout window.
상기 사용자 단말은, 상기 사용자로부터 프로그램 입력 방법으로 제2 방법이 선택된 경우, 상기 사용자로 복수의 명령어의 목록 및 상기 복수의 명령어가 배치되는 배치창을 포함하는 GUI를 제공하고, 상기 사용자가 상기 복수의 명령어 중 어느 하나의 명령어를 선택하는 경우 선택된 상기 명령어를 상기 배치창에 배치하고, 상기 사용자가 상기 명령어 선택을 종료한 경우 상기 배치창에 배치된 상기 명령어에 따라 상기 프로그램을 생성하되, 상기 사용자로부터 선택된 상기 명령어가 상기 배치창에 배치되는 경우 상기 사용자로 선택된 상기 명령어의 실행을 위해 요구되는 정보들을 요청하여 상기 사용자로부터 상기 정보들을 입력 받을 수 있다.When the second method is selected as a program input method from the user, the user terminal provides a GUI including a list of a plurality of commands and an arrangement window in which the plurality of commands are arranged for the user, wherein the user includes the plurality of commands. If the user selects any one of the instructions of the command, the selected command is placed in the batch window, and when the user finishes selecting the command, the program is generated according to the command arranged in the batch window, but the user When the command selected from the user is arranged in the layout window, the user may request information required for execution of the command selected as the user and receive the information from the user.
상기 사용자 단말은, 상기 사용자로부터 프로그램 입력 방법으로 제3 방법이 선택된 경우, 상기 사용자로 설정된 프로그래밍 언어에 따른 소스 코드를 입력할 수 있는 입력창을 제공하여 상기 사용자로부터 소스 코드를 입력 받고, 입력된 상기 소스 코드에 따라 상기 프로그램을 생성할 수 있다.When the third method is selected as a program input method from the user, the user terminal provides an input window for inputting a source code according to a programming language set as the user to receive the source code from the user, and The program may be generated according to the source code.
상기 실습 단말의 상측에는 가로세로 일정한 간격으로 복수의 결합돌기가 구비되고, 상기 실습 단말의 하측에는 사각형으로 배열된 4개의 결합돌기 사이에 결합되는 연결튜브가 구비되고, 상기 실습 단말의 측면에는 외면에서 내측으로 만입 형성되는 복수의 삽입홈이 구비될 수 있다.The upper side of the training terminal is provided with a plurality of coupling protrusions at regular intervals vertically and horizontally, the lower side of the training terminal is provided with a connection tube coupled between the four coupling protrusions arranged in a square, the outer surface of the training terminal A plurality of insertion grooves formed indented inward may be provided.
본 발명의 일 실시예에 따른 프로그래밍 교육 시스템에 의해 수행되는 프로그래밍 교육 방법은, 사용자 단말에서, 사용자로부터 복수의 프로그램 입력 방법 중 어느 하나의 방법을 선택 받는 단계, 상기 사용자 단말에서, 선택된 방법에 따라 상기 사용자로부터 하나 이상의 명령을 입력 받아 프로그램을 생성하는 단계, 상기 사용자 단말에서, 생성된 상기 프로그램을 실습 단말로 송신하는 단계, 및 상기 실습 단말에서, 상기 프로그램에 따라 복수의 제어 대상 소자 각각을 제어하는 단계를 포함한다.Programming training method performed by a programming training system according to an embodiment of the present invention, the user terminal, receiving a selection of any one of a plurality of program input methods from the user, in the user terminal, according to the selected method Generating a program by receiving one or more commands from the user, transmitting the generated program to the training terminal in the user terminal, and controlling each of the plurality of control target elements according to the program in the training terminal; It includes a step.
본 발명의 실시예들에 따르면, 프로그래밍 결과를 시각적으로 나타냄으로써, 교육 대상의 프로그래밍 교육에 대한 흥미를 향상시킬 수 있다.According to embodiments of the present invention, by visually representing a programming result, it is possible to improve an interest in programming education of an education target.
또한, 본 발명의 실시예들에 따르면, 교육 대상의 프로그래밍 실력에 따라 차별적인 교육을 제공하여 프로그래밍 교육의 효과를 향상시킬 수 있다.In addition, according to the embodiments of the present invention, it is possible to improve the effect of programming education by providing differential education according to the programming ability of the education target.
도 1은 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템을 설명하기 위한 블록도
도 2 내지 도 4는 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템에서 프로그램을 생성하는 방법을 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 실습 단말의 사시도
도 6은 본 발명의 일 실시예에 따른 실습 단말의 배면도
도 7 내지 도 9는 본 발명의 일 실시예에 따른 실습 단말을 설명하기 위한 도면
도 10은 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템에 의해 수행되는 프로그래밍 교육 방법의 흐름도1 is a block diagram illustrating a programming education system according to an embodiment of the present invention.
2 to 4 are diagrams for explaining a method for generating a program in a programming education system according to an embodiment of the present invention.
5 is a perspective view of a training terminal according to an embodiment of the present invention;
6 is a rear view of a training terminal according to an embodiment of the present invention.
7 to 9 are diagrams for explaining a training terminal according to an embodiment of the present invention.
10 is a flowchart of a programming teaching method performed by a programming teaching system according to an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.
도 1은 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템(100)을 설명하기 위한 블록도이다.1 is a block diagram illustrating a
도 1을 참조하면, 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템(100)은 사용자의 실력에 따른 프로그래밍 교육을 제공하고, 사용자가 생성한 프로그램의 실습을 제공하기 위한 것으로, 사용자 단말(102) 및 실습 단말(106)을 포함한다. 이때, 사용자 단말(102)은 예를 들어, 태블릿 PC, 데스크탑, 스마트폰, PDA(Personal Digital Assistant) 등과 같이 네트워크를 통한 데이터 통신 기능 및 정보 처리 기능을 구비한 다양한 형태의 장치를 포함할 수 있다.Referring to FIG. 1, a
또한, 사용자 단말(102) 및 실습 단말(106) 각각은 네트워크(104)를 통해 연결될 수 있으며, 네트워크(104)는 예를 들어, 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 저전력 광대역 네트워크(LPWAN; Low-Power Wide-area Network) 등의 유선 또는 무선 네트워크 등일 수 있다.In addition, each of the
사용자 단말(102)은 사용자로부터 복수의 프로그램 입력 방법 중 어느 하나의 방법을 선택 받는다. 구체적으로, 사용자 단말(102)은 예를 들어, 복수의 프로그램 입력 방법에 대한 목록을 사용자로 제공하고, 사용자로부터 어느 하나의 입력 방법을 선택 받을 수 있다.The
사용자 단말(102)은 선택된 방법에 따라 사용자로부터 하나 이상의 명령을 입력 받아 프로그램을 생성하고, 생성된 프로그램을 실습 단말(106)로 송신한다. 이때, 사용자 단말(102)은 예를 들어, 컴파일(Compile) 과정을 통해 사용자로부터 입력된 명령에 대응되는 프로그램을 생성할 수 있다.The
도 2 내지 도 4는 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템(100)에서 프로그램을 생성하는 방법을 설명하기 위한 도면(200, 300, 400)이다.2 to 4 are diagrams 200, 300, and 400 for explaining a method of generating a program in the
도 2를 참조하면, 본 발명의 일 실시예에 따른 사용자 단말(102)은 각각 설정된 명령에 대응되는 복수의 아이콘 블록(202)을 저장하고, 사용자로부터 프로그램 입력 방법으로 제1 방법이 선택된 경우, 사용자로 복수의 아이콘 블록(202) 및 복수의 아이콘 블록(202)이 배치되는 배치창(204)을 포함하는 GUI(Graphical User Interface)를 제공할 수 있다.Referring to FIG. 2, when the
구체적으로, 사용자 단말(102)은 복수의 아이콘 블록(202)의 목록을 사용자로 출력하고, 사용자가 복수의 아이콘 블록(202) 중 어느 하나의 블록을 선택하는 경우 선택된 아이콘 블록(202)을 배치창(204)에 배치할 수 있다. 또한, 사용자 단말(102)은 사용자로부터 다른 아이콘 블록(202)이 추가적으로 선택되는 경우, 추가적으로 선택된 아이콘 블록(202)을 기존에 배치된 아이콘 블록(202)에 이어서 배치할 수 있다. 이때, 사용자 단말(102)은 사용자의 선택에 따라 배치창(204)에 배치된 아이콘 블록(202)들의 위치를 서로 교환하여 재배치할 수 있다.In detail, the
이때, 복수의 아이콘 블록(202) 각각은, 사용자가 각 아이콘 블록(202)에 대응되는 명령을 직관적으로 이해할 수 있도록, 각 명령에 대응되는 이미지를 포함할 수 있다. 예를 들어, 실습 단말(106)이 두 개의 전동 모터 및 각 전동 모터에 연결된 바퀴를 포함하는 경우, 직진 명령(예를 들어, 두 모터를 동일한 속도로 회전하는 명령)에 대응되는 아이콘 블록(202)은, 곧은 화살표 이미지를 포함할 수 있다. 다른 예로, 우회전(예를 들어, 두 모터를 상이한 속도로 회전하는 명령)에 대응되는 아이콘 블록(202)은, 우측으로 휘어진 화살표 이미지를 포함할 수 있다.In this case, each of the plurality of
또한, 사용자 단말(102)은, 각 아이콘 블록(202)에 대응되는 명령으로 프로그램을 생성하기 위해 추가적인 정보가 필요한 경우, 사용자로 추가적인 정보를 요청하여 제공 받을 수 있다. 예를 들어, 직진 명령으로 프로그램을 생성하기 위해 직진 명령 수행 시간에 대한 정보가 필요한 경우, 사용자 단말(102)은 명령 수행 시간에 대한 정보를 사용자로부터 입력 받을 수 있다. 이때, 입력된 정보는 예를 들어, 각 아이콘 블록(202)의 하단에 함께 표시될 수 있다.In addition, when the
또한, 사용자 단말(102)은 사용자가 복수의 아이콘 블록(202) 선택을 종료한 경우, 배치창(204)에 배치된 아이콘 블록(202)에 따라 프로그램을 생성할 수 있다. 예를 들어, 사용자 단말(102)은 각 아이콘 블록(202)에 대응되는 소스 코드를 미리 저장하고, 배치창(204)에 배치된 아이콘 블록(202)에 대응되도록 프로그램을 생성할 수 있다. 이때, 사용자 단말(102)은 배치창(204)에 배치된 아이콘 블록(202)의 종류 및 순서를 고려하여 프로그램을 생성할 수 있다.In addition, when the user finishes selecting the plurality of
도 3을 참조하면, 본 발명의 일 실시예에 따른 사용자 단말(102)은, 사용자로부터 프로그램 입력 방법으로 제2 방법이 선택된 경우, 사용자로 복수의 명령어(302) 목록 및 복수의 명령어(302)가 배치되는 배치창(304)을 포함하는 GUI를 제공할 수 있다.Referring to FIG. 3, when the second method is selected as a program input method from a user, the
또한, 사용자 단말(102)은 사용자가 복수의 명령어(302) 중 어느 하나의 명령어(302)를 선택하는 경우, 선택된 명령어(302)를 배치창(304)에 배치할 수 있다. 또한, 사용자 단말(102)은 사용자로부터 다른 명령어(302)가 추가적으로 선택되는 경우, 추가적으로 선택된 명령어(302)를 기존에 배치된 명령어(302)에 이어서 배치할 수 있다. 이때, 사용자 단말(102)은 사용자의 선택에 따라 배치창(304)에 배치된 명령어(302)들의 위치를 변경할 수 있다.In addition, when the user selects any one
또한, 사용자 단말(102)은 사용자로부터 선택된 명령어(302)가 배치창(304)에 배치되는 경우, 사용자로 선택된 명령어(302)의 실행을 위해 요구되는 정보들을 요청하여 사용자로부터 이러한 정보들을 입력 받을 수 있다. 예를 들어, 실습 단말(106)의 직진 명령을 의미하는 "forward" 명령어(302)가 배치창(304)에 배치된 경우, 사용자 단말(102)은 실습 단말(106)의 전진 거리, 및 실습 단말(106)의 전진 속도와 같은 정보들을 사용자로부터 입력 받을 수 있다. 다른 예로, "if" 명령어(예를 들어, c언어의 if 명령어, 302)와 같이 조건을 필요로 하는 명령어(302)가 배치창(304)에 배치된 경우, 사용자 단말(102)은 조건 및 해당 조건의 만족 시 실행할 명령어(302)를 사용자로부터 입력 받을 수 있다. 이때, 입력된 정보는 예를 들어, 각 명령어(302)와 함께 표시될 수 있다.In addition, when the
도 4를 참조하면, 본 발명의 일 실시예에 따른 사용자 단말(102)은, 사용자로부터 프로그램 입력 방법으로 제3 입력 방법이 선택된 경우, 사용자로 설정된 프로그래밍 언어에 따른 소스 코드를 입력할 수 있는 입력창(402)을 제공하여 사용자로부터 소스 코드를 입력 받고, 입력된 소스 코드에 따라 프로그램을 생성할 수 있다. 이때, 설정된 프로그래밍 언어는 프로그래밍 교육 시스템(100)의 사용자에 의해 미리 설정된 언어로서, 예를 들어, c, c++, c#, java, phython 등과 같은 프로그래밍 언어일 수 있다.Referring to FIG. 4, when a third input method is selected as a program input method by a user, the
다시 도 1을 참조하면, 본 발명의 일 실시예에 따른 실습 단말(106)은 복수의 제어 대상 소자를 구비하고, 사용자 단말(102)로부터 수신된 프로그램에 따라 복수의 제어 대상 소자 각각을 제어한다. 구체적으로, 실습 단말(106)은 하나 이상의 모터, 적외선 센서, LED 등과 같은 제어 대상 소자를 구비하고, 프로그램에 따라 제어 대상 소자 각각을 제어할 수 있다.Referring back to FIG. 1, the
또한, 실습 단말(106)은 외면에 프로그램을 실행 또는 정지하기 위한 하나 이상의 버튼을 구비한다. 예를 들어, 실습 단말(106)은 상측에 프로그램을 시작하기 위한 제1 버튼, 프로그램을 일시 정지하기 위한 제2 버튼, 프로그램을 종료하기 위한 제3 버튼 등을 구비하고, 버튼의 입력에 따라 프로그램을 시작, 정지, 또는 종료 할 수 있다.In addition, the
또한, 실습 단말(106)은 사용자 단말(102)로부터 프로그램 실행과 관련된 명령을 수신하고, 수신된 명령에 따라 프로그램을 실행할 수 있다. 예를 들어, 실습 단말(106)은 사용자 단말(102)로부터 프로그램 시작 또는 정지 명령을 수신하고, 프로그램을 시작하거나 정지할 수 있다. 다른 예로, 실습 단말(106)은 사용자 단말(102)로부터 프로그램 실행 속도에 대한 정보(예를 들어, 0.5배 실행)를 수신하고, 수신된 실행 속도대로 프로그램을 실행(예를 들어, 프로그램을 0.5배의 속도로 실행)할 수 있다.In addition, the
도 5는 본 발명의 일 실시예에 따른 실습 단말(106)의 사시도이며, 도 6은 본 발명의 일 실시예에 따른 실습 단말(106)의 배면도이다.5 is a perspective view of a
도 5 내지 도 6을 참조하면, 실습 단말(106)의 상측에는 가로세로 일정한 간격으로 복수의 결합돌기(502)가 구비될 수 있다. 구체적으로, 실습 단말(106)은 상측 오른편에 두 줄로 정렬된 16개의 결합돌기(502-1) 및 상측 왼편에 두 줄로 정렬된 16개의 결합돌기(502-2)가 구비될 수 있다. 이때, 복수의 결합돌기(502) 각각은 실습 단말(106)의 외측으로 돌출 형성되는 원기둥 형상으로 구성될 있다.5 to 6, a plurality of
또한, 실습 단말(106)의 상측 중앙에는 하나 이상의 버튼(506)이 구비될 수 있다.In addition, one or
또한, 실습 단말(106)의 측면에는 외면에서 내측으로 만입 형성되는 복수의 삽입홈(504)이 구비될 수 있다. 구체적으로, 실습 단말(106)의 측면에는 서로 인접하는 3개의 삽입 홈, 및 서로 인접하는 5개의 삽입 홈이 구비될 수 있다. 이때, 복수의 삽입홈(504)은 외면에서 내측으로 만입 형성되는 원기둥 형상으로 구성될 수 있다. 또한, 복수의 삽입홈(504) 중 어느 하나의 삽입홈(504)은 실습 단말(106)에 구비되는 모터와 연결되어, 해당 삽입홈(504)으로 삽입되는 물체를 모터의 회전에 따라 회전시키도록 구성될 수 있다.In addition, the side of the
또한, 실습 단말(106)의 하측에는 사각형으로 배열된 4개의 결합돌기(502) 사이에 결합되는 연결튜브(602)가 구비될 수 있다. 구체적으로, 실습 단말(106)은 하측 오른편에 한 줄로 정렬된 7개의 연결튜브(602-1) 및 하측 왼편에 한 줄로 정렬된 7개의 연결튜브(602-2)가 구비될 수 있다. 이때, 연결튜브(602) 각각은 내부가 빈 원기둥 형상으로 구성될 수 있다.In addition, the lower side of the
한편, 실습 단말(106)은 실습 단말(106)의 상측에 구비되는 복수의 결합돌기(502) 및 실습 단말(106)의 하측에 구비되는 연결튜브(602)를 이용하여, 다른 실습 단말(106)과 결합될 수 있다. 예를 들어, 제1 실습 단말(106)이 제2 실습단말(106)의 상측에 배치되는 경우, 제1 실습 단말(106) 및 제2 실습 단말(106)은 제1 실습 단말(106)의 하측에 구비되는 연결튜브(602)가 제2 실습 단말(106)의 상측에 구비되는 결합돌기(502)와 결합됨으로써 서로 결합될 수 있다. 또한, 실습 단말(106)은 결합돌기(502), 삽입홈(504), 및 연결튜브(602)를 통해 다른 부품들과 결합될 수 있다.On the other hand, the
도 7 내지 도 9는 본 발명의 일 실시예에 따른 실습 단말(106)을 설명하기 위한 도면이다.7 to 9 are diagrams for explaining the
구체적으로, 도 7은 결합 돌기(502) 및 연결튜브(602)가 결합되는 방법을 설명하기 위한 도면으로, 하나의 연결튜브(602-1)는 연결 튜브(602-1)에 인접하는 4개의 결합 돌기(502-1 내지 502-4) 사이에 끼워짐으로써 결합 돌기(502-1 내지 502-4)와 결합될 수 있다. 또한, 도 8 내지 도 9는 삽입홈(504)에 두 개의 바퀴가 결합된 경우의 실습 단말(106)의 예를 나타내는 도면이다.Specifically, FIG. 7 is a view for explaining how the
도 10은 본 발명의 일 실시예에 따른 프로그래밍 교육 시스템(100)에 의해 수행되는 프로그래밍 교육 방법의 흐름도(1000)이다.10 is a
도 10을 참조하면, 사용자 단말(102)은, 사용자로부터 복수의 프로그램 입력 방법 중 어느 하나의 방법을 선택 받는다(1002).Referring to FIG. 10, the
사용자 단말(102)은, 선택된 방법에 따라 사용자로부터 하나 이상의 명령을 입력 받아 프로그램을 생성한다(1004). The
이때, 사용자 단말(102)은, 각각 설정된 명령에 대응되는 복수의 아이콘 블록을 저장하고, 사용자로부터 프로그램 입력 방법으로 제1 방법이 선택된 경우, 사용자로 복수의 아이콘 블록 및 복수의 아이콘 블록이 배치되는 배치창을 포함하는 GUI(Graphical User Interface)를 제공하고, 사용자가 복수의 아이콘 블록 중 어느 하나의 블록을 선택하는 경우 선택된 아이콘 블록을 배치창에 배치하고, 사용자가 복수의 아이콘 블록 선택을 종료한 경우 배치창에 배치된 아이콘 블록에 따라 프로그램을 생성할 수 있다. In this case, the
또한, 사용자 단말(102)은, 사용자로부터 프로그램 입력 방법으로 제2 방법이 선택된 경우, 사용자로 복수의 명령어의 목록 및 복수의 명령어가 배치되는 배치창을 포함하는 GUI를 제공하고, 사용자가 복수의 명령어 중 어느 하나의 명령어를 선택하는 경우 선택된 명령어를 배치창에 배치하고, 사용자가 명령어 선택을 종료한 경우 배치창에 배치된 명령어에 따라 프로그램을 생성하되, 사용자로부터 선택된 명령어가 배치창에 배치되는 경우 사용자로 선택된 명령어의 실행을 위해 요구되는 정보들을 요청하여 사용자로부터 정보들을 입력 받을 수 있다.In addition, when the second method is selected as a program input method from the user, the
또한, 사용자 단말(102)은, 사용자로부터 프로그램 입력 방법으로 제3 방법이 선택된 경우, 사용자로 설정된 프로그래밍 언어에 따른 소스 코드를 입력할 수 있는 입력창을 제공하여 사용자로부터 소스 코드를 입력 받고, 입력된 소스 코드에 따라 프로그램을 생성할 수 있다.In addition, when the third method is selected as a program input method from the user, the
사용자 단말(102)은, 생성된 프로그램을 실습 단말(106)로 송신한다(1006).The
실습 단말(106)은 프로그램에 따라 복수의 제어 대상 소자 각각을 제어한다(1008).The
한편, 도 10에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the flowchart illustrated in FIG. 10, the method is divided into a plurality of steps, but at least some of the steps may be performed in a different order, in combination with other steps, omitted, or divided into detailed steps. Or one or more steps not shown may be added and performed.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Although the present invention has been described in detail through the representative embodiments, those skilled in the art to which the present invention pertains can make various modifications without departing from the scope of the present invention with respect to the embodiments described above. Will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
100: 프로그래밍 교육 시스템
102: 사용자 단말
106: 실습 단말
202: 아이콘 블록
204, 304: 배치창
302: 명령어
402: 입력창
502, 502-1, 502-2: 결합돌기
504, 504-1, 504-2: 삽입홈
506: 버튼
602, 602-1, 602-2: 연결튜브100: programming education system
102: user terminal
106: training terminal
202: icon block
204, 304: Placement window
302: command
402: input window
502, 502-1, 502-2: engaging projection
504, 504-1, 504-2: Insertion Groove
506: button
602, 602-1, 602-2: connecting tube
Claims (6)
복수의 제어 대상 소자를 구비하고, 상기 프로그램에 따라 상기 복수의 제어 대상 소자 각각을 제어하는 실습 단말을 포함하고,
상기 사용자 단말은,
각각 설정된 명령에 대응되는 복수의 아이콘 블록을 저장하고, 상기 사용자로부터 프로그램 입력 방법으로 제1 방법이 선택된 경우, 상기 사용자로 상기 복수의 아이콘 블록 및 상기 복수의 아이콘 블록이 배치되는 배치창을 포함하는 GUI(Graphical User Interface)를 제공하고, 상기 사용자가 상기 복수의 아이콘 블록 중 어느 하나의 블록을 선택하는 경우 선택된 상기 아이콘 블록을 상기 배치창에 배치하고, 상기 사용자가 상기 복수의 아이콘 블록 선택을 종료한 경우 상기 배치창에 배치된 상기 아이콘 블록에 따라 상기 프로그램을 생성하고,
상기 사용자로부터 프로그램 입력 방법으로 제2 방법이 선택된 경우, 상기 사용자로 복수의 명령어의 목록 및 상기 복수의 명령어가 배치되는 배치창을 포함하는 GUI를 제공하고, 상기 사용자가 상기 복수의 명령어 중 어느 하나의 명령어를 선택하는 경우 선택된 상기 명령어를 상기 배치창에 배치하고, 상기 사용자가 상기 명령어 선택을 종료한 경우 상기 배치창에 배치된 상기 명령어에 따라 상기 프로그램을 생성하되, 상기 사용자로부터 선택된 상기 명령어가 상기 배치창에 배치되는 경우 상기 사용자로 선택된 상기 명령어의 실행을 위해 요구되는 정보들을 요청하여 상기 사용자로부터 상기 정보들을 입력 받고,
상기 실습 단말은,
상측에 프로그램을 시작하는 제1 버튼, 상기 프로그램을 일시 정지하는 제2 버튼, 상기 프로그램을 종료하는 제3 버튼 및 상기 상측의 좌측 및 우측에 각각 가로세로 일정한 간격으로 복수의 결합돌기가 16개씩 구비되고, 하측의 좌측 및 우측에 각각 사각형으로 배열된 4개의 결합돌기 사이에 결합되는 연결튜브가 7개씩 구비되고, 양 측면 각각에 외면에서 내측으로 만입 형성되는 8개의 삽입홈이 구비되고,
상기 양 측면 각각에 상기 8개의 삽입홈 중 어느 하나의 삽입홈은 상기 실습 단말 내부의 모터와 연결되고, 상기 양 측면 각각의 상기 어느 하나의 삽입홈을 통해 바퀴가 상기 모터와 결합되고,
상기 제1 방법 또는 상기 제2 방법을 통해 직진 명령에 대응하는 블록 또는 명령어를 기반으로 상기 프로그램이 생성되고, 상기 실습 단말이 상기 제1 버튼에 따라 상기 프로그램의 시작에 대한 정보를 수신한 경우, 상기 실습 단말은 상기 모터를 회전시켜 상기 직진 명령에 따라 상기 바퀴를 구동하고, 상기 실습 단말이 상기 제2 버튼 또는 상기 제3 버튼에 따라 상기 프로그램의 일시 정지 또는 종료에 대한 정보를 수신한 경우, 상기 실습 단말은 상기 모터의 회전을 중지하는 프로그래밍 교육 시스템.
A user terminal receiving any one of a plurality of program input methods from a user, receiving one or more commands from the user according to the selected method, generating a program, and transmitting the generated program to a training terminal; And
A training terminal having a plurality of control target elements, and controlling each of the plurality of control target elements according to the program;
The user terminal,
A plurality of icon blocks corresponding to each set command, and a layout window in which the plurality of icon blocks and the plurality of icon blocks are arranged as the user when the first method is selected as a program input method from the user; Provide a graphical user interface (GUI), and when the user selects any one of the plurality of icon blocks, the selected icon block is placed in the layout window, and the user ends the selection of the plurality of icon blocks. In one case, the program is generated according to the icon block arranged in the layout window.
When a second method is selected as a program input method from the user, the user may provide a GUI including a list of a plurality of commands and an arrangement window in which the plurality of commands are arranged, wherein the user selects one of the plurality of commands. In case of selecting a command, the selected command is placed in the batch window, and when the user finishes selecting the command, the program is generated according to the command arranged in the batch window. When the information is arranged in the layout window, the information requested for the execution of the command selected as the user is requested to receive the information from the user.
The training terminal,
The first button for starting the program, the second button for pausing the program, the third button for terminating the program, and the plurality of coupling protrusions 16 are provided on the left and right sides of the upper side at regular intervals, respectively. On the left and right side of the lower side is provided with seven connecting tubes coupled between the four engaging projections arranged in a square, respectively, and each of the two sides is provided with eight insertion grooves formed indented from the outer surface to the inside,
The insertion groove of any one of the eight insertion grooves on each of the two side surfaces is connected to a motor inside the training terminal, and the wheel is coupled to the motor through the one insertion groove on each of the both sides,
When the program is generated based on a block or command corresponding to a straight command through the first method or the second method, and the training terminal receives information on the start of the program according to the first button, When the training terminal rotates the motor to drive the wheel according to the straight command, and the training terminal receives information about the pause or termination of the program according to the second button or the third button, The training terminal is a programming education system for stopping the rotation of the motor.
상기 사용자 단말은, 상기 사용자로부터 프로그램 입력 방법으로 제3 방법이 선택된 경우, 상기 사용자로 설정된 프로그래밍 언어에 따른 소스 코드를 입력할 수 있는 입력창을 제공하여 상기 사용자로부터 소스 코드를 입력 받고, 입력된 상기 소스 코드에 따라 상기 프로그램을 생성하는 프로그래밍 교육 시스템.
The method according to claim 1,
When the third method is selected as a program input method from the user, the user terminal provides an input window for inputting a source code according to a programming language set as the user to receive the source code from the user, and Programming education system for generating the program according to the source code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190044910A KR102039296B1 (en) | 2019-04-17 | 2019-04-17 | System and method for programming education |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190044910A KR102039296B1 (en) | 2019-04-17 | 2019-04-17 | System and method for programming education |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102039296B1 true KR102039296B1 (en) | 2019-10-31 |
Family
ID=68420921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190044910A KR102039296B1 (en) | 2019-04-17 | 2019-04-17 | System and method for programming education |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102039296B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102529627B1 (en) * | 2022-12-06 | 2023-05-08 | (주)에이아이웍스 | Coding methods and coding educational system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020061186A (en) * | 2001-01-15 | 2002-07-24 | 주식회사 보스텍 | A study system for the control, design and application of robot |
KR20030012488A (en) * | 2001-08-01 | 2003-02-12 | 주식회사 마이크로로보트 | Training system for microrobot control program and method thereof |
KR20120078939A (en) | 2011-01-03 | 2012-07-11 | 동명대학교산학협력단 | Educating game robot system available of programming and robot game method thereof |
KR101908939B1 (en) * | 2017-08-03 | 2018-10-17 | 노상민 | Method for serving coding education and apparatus for executing the method |
KR20180130934A (en) * | 2017-05-30 | 2018-12-10 | (주) 나인원 | A smart coding block sets of wireless communication-based capable of software coding education |
-
2019
- 2019-04-17 KR KR1020190044910A patent/KR102039296B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020061186A (en) * | 2001-01-15 | 2002-07-24 | 주식회사 보스텍 | A study system for the control, design and application of robot |
KR20030012488A (en) * | 2001-08-01 | 2003-02-12 | 주식회사 마이크로로보트 | Training system for microrobot control program and method thereof |
KR20120078939A (en) | 2011-01-03 | 2012-07-11 | 동명대학교산학협력단 | Educating game robot system available of programming and robot game method thereof |
KR20180130934A (en) * | 2017-05-30 | 2018-12-10 | (주) 나인원 | A smart coding block sets of wireless communication-based capable of software coding education |
KR101908939B1 (en) * | 2017-08-03 | 2018-10-17 | 노상민 | Method for serving coding education and apparatus for executing the method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102529627B1 (en) * | 2022-12-06 | 2023-05-08 | (주)에이아이웍스 | Coding methods and coding educational system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Homer et al. | Combining tiled and textual views of code | |
KR102114917B1 (en) | Coding education providing system using traveling robot | |
EP3576077A1 (en) | Unplugged real coding block | |
US9805482B2 (en) | Computer-implemented tutorial for visual manipulation software | |
Stoiber et al. | Visualization onboarding: Learning how to read and use visualizations | |
KR102039296B1 (en) | System and method for programming education | |
Burbaite et al. | The LEGO NXT robot-based e-learning environment to teach computer science topics | |
US11727824B2 (en) | System and method for teaching computer programming | |
Nam et al. | Haptic user interfaces for the visually impaired: Implications for haptically enhanced science learning systems | |
Sprute et al. | A study on different user interfaces for teaching virtual borders to mobile robots | |
JP2021056286A (en) | Programming learning support system and programming learning support method | |
Alzoubi et al. | TEACHActive feedback dashboard: Using automated classroom analytics to visualize pedagogical strategies at a glance | |
Cleaver et al. | Dynamic path visualization for human-robot collaboration | |
KR102198397B1 (en) | Coding Table | |
Fernando et al. | Developing a user-friendly interface from robotic applications development | |
Karaca et al. | Ros based visual programming tool for mobile robot education and applications | |
Perry et al. | Teacher semiotic mediation and student meaning-making: A Peircean perspective. | |
Romanowska et al. | Towards developing an effective algorithm visualization tool for online learning | |
KR20160025248A (en) | System and method of learning mathematics for evhancing meta-cognition ability | |
Behrens et al. | First steps into practical engineering for freshman students using matlab and lego mindstorms robots | |
CN210836690U (en) | Control device and programmable device | |
Wai et al. | A proposal of code modification problem for web client programming using JavaScript | |
KR20170036307A (en) | ROBOT SYSTEM for SOFTWARE EDUCATION | |
CN105912193B (en) | In the method and system of platform interface lead learning, record device, guide device | |
JP6680975B2 (en) | Learning support program, learning support device, and learning support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |