KR20200078946A - 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치 - Google Patents

책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20200078946A
KR20200078946A KR1020180168323A KR20180168323A KR20200078946A KR 20200078946 A KR20200078946 A KR 20200078946A KR 1020180168323 A KR1020180168323 A KR 1020180168323A KR 20180168323 A KR20180168323 A KR 20180168323A KR 20200078946 A KR20200078946 A KR 20200078946A
Authority
KR
South Korea
Prior art keywords
source code
book
information
coding
user terminal
Prior art date
Application number
KR1020180168323A
Other languages
English (en)
Other versions
KR102200181B1 (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 KR1020180168323A priority Critical patent/KR102200181B1/ko
Publication of KR20200078946A publication Critical patent/KR20200078946A/ko
Application granted granted Critical
Publication of KR102200181B1 publication Critical patent/KR102200181B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따라 사용자 단말에 의해 수행되는, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법에 있어서, (a) 코딩 학습 책의 특정 페이지에 기재된 링크 정보에 대한 인식을 수행하는 단계; (b) 링크 정보에 포함된 주소에 따라 서버에 접속하는 단계; 및 (c) 서버로부터 소스코드가 포함된 페이지 정보를 수신하여, 인터넷페이지 상에 표시하는 단계;를 포함하되, 코딩 학습 책은 코딩 교육을 위한 소스코드와 소스코드를 서버의 데이터베이스에서 불러오기 위한 링크 정보를 포함하며, 링크 정보는 바코드, QR코드 혹은 URL 중 적어도 하나로 구성되어 소스코드를 검색하기 위한 주소정보를 포함할 수 있다.

Description

책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치 {METHOD AND APPARATUS FOR PROVIDING INFORMATION FOR A SIMPLE CODING PRACTICE LINKED TO A BOOK}
본 발명은 코딩의 교육을 위한 책자가 포함하는 소스코드를 사용자 단말로 불러오는 방법에 관한 것이다.
코딩(coding)이란 컴퓨터 프로그래밍의 다른 뜻으로, C언어, 자바, 파이선 등의 컴퓨터 언어로 프로그램을 만드는 것을 뜻한다. 최근 코딩 교육을 통해 논리력, 창의력, 문제해결력을 키울 수 있다는 부분에서 유치원생이나 초등학생들도 퍼즐이나 블록 맞추기 등의 게임방식을 이용해 컴퓨터 프로그래밍 원리를 배우게 된다.
최근 코딩에 대한 중요도가 높아짐에 따라 우리나라에서도 2018년부터 전국 초중고교에서 소프트웨어 교육(코딩 교육)을 의무화하고 있는 상황이다. 하지만, 현재 수행되는 교육 방식은 코딩 교육을 위한 교재에 작성되어 있는 소스코드를 코딩 프로그램에 옮겨 작성하는 방식을 사용하고 있는 상황이다.
그에 따라, 코딩 교육에 있어 불필요한 시간낭비가 많아지고, 교육을 받는 사용자의 단말에 코딩용 프로그램이 설치되어 있어야 하는 한계가 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 코딩 학습 책에 포함되어 있는 링크 정보를 사용자 단말이 인식함으로써, 해당 링크 정보와 매핑되어 코딩 학습 책에 포함된 소스코드를 손쉽게 사용자 단말로 불러오고, 이를 편집하거나 컴파일할 수 있는 시스템의 제공을 목적으로 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따라 사용자 단말에 의해 수행되는, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법에 있어서, (a) 코딩 학습 책의 특정 페이지에 기재된 링크 정보에 대한 인식을 수행하는 단계; (b) 링크 정보에 포함된 주소에 따라 서버에 접속하는 단계; 및 (c) 서버로부터 소스코드가 포함된 페이지 정보를 수신하여, 인터넷페이지 상에 표시하는 단계;를 포함하되, 코딩 학습 책은 코딩 교육을 위한 소스코드와 소스코드를 서버의 데이터베이스에서 불러오기 위한 링크 정보를 포함하며, 링크 정보는 바코드, QR코드 혹은 URL 중 적어도 하나로 구성되어 소스코드를 검색하기 위한 주소정보를 포함할 수 있다.
다른 일 실시예에 따른, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템에 있어서, 사용자 단말로부터 수신한 링크 정보에 기초하여 기 저장된 소스코드 중 상기 링크 정보에 대응하는 소스코드를 페이지 정보와 함께 제공하는 서버; 및 종이 책자 혹은 전자 책자로 구성되어, 소스코드와 그에 대응하는 링크 정보를 포함하는 코딩 학습 책;을 포함하되, 사용자 단말은 링크 정보를 인식하여 서버로 전달하고, 소스코드가 포함된 페이지 정보를 수신하여, 인터넷 페이지 상에 표시하는 장치들로 구성될 수 있다.
본 발명은 코딩 학습 책에 포함되어 있는 링크 정보를 사용자 단말이 인식함으로써, 해당 링크 정보와 매핑되어 코딩 학습 책에 포함된 소스코드를 손쉽게 사용자 단말로 불러오고, 이를 편집하거나 컴파일할 수 있는 시스템을 제공할 수 있다.
책자에 포함되어 있는 소스코드를 교육하기 위해 사용자가 별도의 코드를 옮겨 적는 작업을 수행하지 않아 교육 시간을 절약할 수 있다. 또한, 소스코드에 대한 편집이나 컴파일에 필요한 별도의 프로그램을 요구하지 않기 때문에 사용자의 부담을 낮추고, 서버와 통신할 수 있는 다양한 종류의 단말로 코딩교육을 수행할 수 있게 되는 것이다.
도 1은 본 발명의 일 실시예에 따른, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른, 서버의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 사용자 단말의 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른, 사용자 단말에 의해 수행되는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법을 나타낸 동작흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 코딩 학습 책이 제공하는 소스코드 및 링크 정보의 예시를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른, 코딩을 실습하기 위한 사용자 인터페이스의 예시를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.
명세서 전체에서, 서버(100)는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 장치를 의미할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템(1)은 서버(100), 사용자 단말(200) 및 코딩 학습 책(300)을 포함할 수 있다. 또한, 서버(100)와 사용자 단말(200)은 통신망을 통해 상호 연결하게 된다.
본 발명의 일 실시예에 따라, 서버(100)는 사용자 단말(200)로부터 링크 정보를 수신하고, 그에 대응하는 소스코드가 포함된 페이지 정보를 사용자 단말(200)로 제공하게 된다. 또한, 서버(100)는 소스코드와 함께 이를 편집하거나 컴파일할 수 있는 사용자 인터페이스를 함께 제공하는 것을 특징으로 한다.
이때, 소스코드는 컴퓨터 프로그래밍을 위해 사용자가 생성하기 위한 코딩 정보로서, 이를 컴파일하여 프로그램을 생성하게 되고, 서버(100)에 기 저장되어 사용될 수 있다.
또한, 링크 정보는 소스코드와 매핑되어 서버(100)의 데이터베이스에 저장된다.
이때, 링크 정보는 바코드, QR코드 혹은 URL 중 적어도 하나로 구성되어, 데이터베이스에서 소스코드를 검색하기 위한 주소정보로 사용되는데, 추가 실시예로 코딩 학습 책(300)의 특정 페이지의 이미지가 해당 역할을 수행할 수도 있다. 또는, RFID 기능을 통하여 소스코드를 제공해줄 수도 있을 것이다.
또한, 사용자 단말(200)은 코딩 학습 책(300)의 특정 페이지에 기재된 링크 정보에 대한 인식을 수행하고, 서버(100)로부터 링크 정보에 매핑하는 소스코드를 제공받는 것을 특징으로 한다.
이때, 링크 정보를 앞서 설명한 바와 같이 사용자 단말(200)이 포함하는 카메라 모듈 또는 코드 인식 모듈을 통해 읽어와 서버(100)로 전달하게 된다.
이때, 소스코드가 포함된 페이지 정보에는 컴퓨터 언어 프로그래밍을 위한 사용자 인터페이스를 수신하여 생성하게 되는데, 사용자 인터페이스는 사용자 단말(200)이 보유한 어플리케이션을 통해 구현되거나, 웹 브라우저 기반으로 제공될 수도 있다.
그 외에도, 어플리케이션 배포 서버로부터 다운로드되어 사용자 단말(200)에 설치된 어플리케이션이 사용될 수 있다.
사용자 단말(200)은 유무선 통신 환경에서 단말 어플리케이션을 이용할 수 있는 통신 단말기를 의미한다. 여기서 사용자 단말(200)은 서버(100)로부터 비정형 텍스트 및 이미지로 구성된 사용자 인터페이스를 수신 후 이를 바탕으로 링크 정보를 제공하고, 그에 대한 소스코드 및 사용자 인터페이스를 수신할 수 있는 디바이스일 수 있다. 도 1에서는 사용자 단말(200)이 휴대용 단말기의 일종인 스마트폰(smart phone)으로 도시되었지만, 본 발명의 사상은 이에 제한되지 아니하며, 상술한 바와 같이 단말 어플리케이션을 탑재할 수 있는 단말에 대해서 제한 없이 차용될 수 있다.
이를 더욱 상세히 설명하면, 사용자 단말(200)은 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 퍼스널 컴퓨터(Personal computer), 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
한편, 통신망은 서버(100) 및 사용자 단말(200)들을 연결하는 역할을 수행한다. 즉, 통신망은 사용자 단말(200)과 서버(100)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 통신망은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
코딩 학습 책(300)은 코딩 교육을 위한 교재를 뜻하고, 종이 책자 또는 전자 책자로 구현될 수 있으며, 교육을 위한 특정 페이지에는 소스코드와 그와 매핑되는 링크 정보를 포함하고 있다.
이때, 코딩 학습 책(300)이 전자책자로 구현되는 경우, 링크 정보는 소스코드를 검색하기 위한 URL 주소로 구성될 수 있고, 종이책자로 구현되는 경우, 링크 정보는 QR코드 혹은 바코드 중 어느 하나로 구성될 수 있다.
또한, 추가 실시예로, 코딩 학습 책(300)이 전자책자로 구현되는 경우, 링크 정보와 함께 제공되는 소스코드가 사용자 인터페이스로 제공되어 직접 수정할 수 있도록 구현될 수도 있다.
도 2는 본 발명의 일 실시예에 따른, 서버(100)의 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신 모듈(110), 메모리(120), 프로세서(130) 및 데이터베이스(140)를 포함한다.
상세히, 통신 모듈(110)은 통신망과 연동하여 서버(100) 및 사용자 단말(200) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공한다. 나아가, 통신 모듈(110)은 사용자 단말(200)로부터 데이터 요청을 수신하고, 이에 대한 응답으로서 데이터를 송신하는 역할을 수행할 수 있다.
여기서, 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(120)는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법을 수행하기 위한 프로그램이 기록된다.
또한, 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(130)는 일종의 중앙처리장치로서 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 도 4를 참조하여 후술하기로 한다.
여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
데이터베이스(140)는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하기 위해 사용될 소스코드와 그에 매핑하는 링크 정보가 저장될 수 있다.
또한, 선택적 실시예로 사용자 단말(200)에 대응하는 단말식별정보가 추가로 저장되거나, 코딩 교육에 따라 생성된 결과물이나 변경된 소스코드가 단말식별정보와 매핑되어 저장될 수도 있다.
비록 도 2에는 도시하지 아니하였으나, 소스코드 및 링크 정보 중 일부는 데이터베이스(140)와 물리적 또는 개념적으로 분리된 데이터베이스(미도시)에 저장될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 사용자 단말(200)의 구성을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 사용자 단말(200)은 통신 모듈(210), 메모리(220), 프로세서(230) 및 카메라 모듈(240)을 포함한다.
통신 모듈(210), 메모리(220) 및 프로세서(230)에 대하여, 도 2를 참조하여 상술한 통신 모듈(110), 메모리(120) 및 프로세서(130)에 대한 설명과 중복되는 설명은 생략하기로 한다.
상세히, 통신 모듈(210)은 통신망과 연동하여 서버(100)와 사용자 단말(200) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공한다. 나아가, 통신 모듈(210)은 서버(100)로 데이터 요청을 송신하고, 이에 대한 응답으로 데이터를 수신하는 역할을 수행할 수 있다.
메모리(220)는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하기 위한 프로그램이 기록된다. 또한, 프로세서(230)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다.
이 때, 메모리(120) 및 메모리(220)에 기록되는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하기 위한 프로그램은 상이한 것일 수 있다.
프로세서(230)는 일종의 중앙처리장치로서 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 전체 과정을 제어한다.
카메라 모듈(240)은 코딩 학습 책(300)으로부터 링크 정보를 인식하기 위한 장치로 일반적으로 광학기기의 형태로 구현될 수 있다. 하지만, 링크 정보는 바코드나 QR코드의 형태로 구현되는 경우, 카메라 모듈(240)을 대체하는 코드 인식 모듈이 포함될 수 있다.
또한, 코딩 학습 책(300)이 전자 책자로 이루어지는 경우, 본 발명을 구현하기 위해 카메라 모듈(240)이 필요하지 않을 수도 있다.
도면 상에 도시되지 않았으나, 사용자 단말(200)은 별도의 저장 장치를 구비하는 경우, 소스코드나 컴파일의 결과물을 저장할 수도 있다.
도 4는 본 발명의 일 실시예에 따른, 사용자 단말에 의해 수행되는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법을 나타낸 동작흐름도이다.
도 4를 참조하면, 사용자 단말(200)에 의해 수행되는 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하기 위해서 먼저, 코딩 학습 책에서 실습을 수행하기 위한 소스코드가 위치한 페이지에 기재된 링크 정보를 인식 한다(S410).
이를 자세하게 설명하면, 코딩 교육을 받는 사용자는 코딩 학습 책(300)에 기재된 소스코드의 컴파일 혹은 수정 체험을 이용하는 교육을 수행하기 위해, 해당 페이지에 함께 포함되어 있는 링크 정보를 사용자 단말(200)이 보유한 코드 인식기나 카메라 모듈(240)을 통해 인식하게 된다.
또한, 코딩 학습 책(300)이 전자 책자로 구현되는 경우, 앞서 서술한 바와 같이 전자 책자가 포함하는 링크 정보로 구성된 URL을 클릭하거나 터치하는 입력 방식을 통해 인식할 수도 있다.
단계(S410)를 통해 링크 정보를 수신한 사용자 단말(200)은 링크 정보에 포함된 주소에 따라 서버(100)에 접속하게 된다(S420).
이때, 서버(100)는 사용자 단말(200)로부터 링크 정보를 수신하면, 링크 정보에 대응하는 소스코드를 데이터베이스에서 검색하고, 링크 정보에 대응하는 소스코드가 검색되면, 해당 소스코드를 사용자 단말(200)로 제공하는 것이다.
이를 위해, 소스코드 및 링크 정보는 코딩 학습 책(300)을 제작함과 동시에 서버(100)의 데이터베이스에 저장하는 과정이 필요하다.
코딩 학습 책(300)의 특정 페이지가 포함하는 특정 소스코드와 링크 정보가 함께 표시되어 제공될 수 있으며, 링크 정보는 특정 소스코드에 대한 식별정보를 포함하여 생성되는 것이다. 또한, 페이지 정보를 제공받을 시, 링크 정보에 대한 식별정보를 기반으로 서버(100) 내에서 특정 소스코드에 관한 정보를 검색하여 제공하게 되는 것이다.
단계(S420)를 통해 사용자 단말(200)은 소스코드가 포함된 페이지 정보를 서버(100)로부터 수신한다(S430).
이때, 소스코드가 포함된 페이지 정보와 함께 소스코드의 편집 및 컴파일을 실습할 수 있는 사용자 인터페이스를 추가로 제공될 수 있다.
이때, 사용자 인터페이스는 소스코드가 표시되는 제 1 영역, 컴파일 명령을 수신하는 버튼 영역을 가질 수 있다. 또한, 컴파일 결과를 표시하는 제 2 영역과 코딩 학습 책(300)의 특정 페이지에 기입된 설명 문구를 표시하는 제 3영역이 더 포함될 수 있다.
이때, 제 1 영역은 상기 사용자 단말에 의해 편집이 수행될 수 있도록 다양한 인터페이스로 구성되어 사용자 단말(200)로 제공되는 것이다.
마지막으로 사용자 인터페이스를 통해 소스코드의 수정 및 컴파일을 수행한다(S440).
사용자는 사용자 단말(200)로 제공되는 사용자 인터페이스의 제 1 영역을 통해 소스코드의 일부를 수정 또는 삭제할 수 있고, 작업을 완료한 소스코드에 대해서는 컴파일 명령을 입력하여 제 2영역을 통해 결과물을 확인할 수 있게 된다.
추가 실시예로 사용자 인터페이스의 제 1 영역을 통해 해당 페이지의 소스코드에 사용되는 명령어 혹은 알고리즘만을 조합하여 새롭게 소스코드를 만들 수 있도록 사용자에게 유도할 수도 있다.
이때, 사용자에게 코딩작업을 유도할 수 있도록 제 3 영역을 통해 가이드나 도움말이 제공될 수 있다.
단계(S440)를 통해 편집된 소스코드나 컴파일에 대한 결과물은 서버(100) 혹은 사용자 단말(200)에 저장되거나, 타 사용자 단말(200)과 공유될 수도 있다.
이를 구현하기 위해서는 단계(S410)에서 사용자 단말(200)이 서버(100)로 단말식별자를 제공하고, 단계(S440)에서 사용자 인터페이스의 제 1 영역을 통해 편집된 소스코드를 사용자 단말(200)의 단말식별자와 매핑하여 서버(100) 또는 사용자 단말(200)에 저장하는 기능을 가져야 하는 것이다.
이때, 편집되어 저장된 소스코드는 사용자 단말(200)에 저장된 외부 코딩용 프로그램으로 변환하여 불러오는 기능을 포함하고, 서버에 상기 소스코드가 저장되는 경우, 타 사용자 단말과 소스코드 및 컴파일 결과를 공유하는 기능을 가질 수 있다.
본 발명을 구현하는 추가 실시예로, 단계(S410)에서 코딩 학습 책(300)의 특정 페이지에 표시된 소스코드 및 식별정보를 촬영하면, 촬영된 소스코드를 사용자 단말(200)이 광학문자 판독기술(OCR, optical character reader)로 인식하게 된다.
다음으로 서버(100)를 통해 식별정보를 기반으로 코딩 학습 책(300)의 출판사를 확인하고, 출판사에서 제작된 코딩 학습 책(300)의 소스코드 중 사용자 단말(200)이 광학문자 판독기술을 통해 인식한 소스코드와 비교하게 된다.
이후, 단계(S430)와 마찬가지로 소스코드의 비교 결과에 따라 서버(100)로부터 소스코드를 포함하는 페이지 정보를 수신하는 방법이 더 사용될 수 있다.
상기 서술한 추가 실시예를 상세하게 설명하면, 사용자가 A사에서 출판된 코딩 학습 책(300)의 특정 페이지에 포함되어 있는 소스코드와 식별정보를 촬영하면, 사용자 단말(200)에 포함되어 있는 광학문자 판독기술을 통해 소스코드와 식별정보가 포함하는 문자에 대한 인식을 수행하게 된다.
사용자 단말(200)은 식별정보를 통해 해당 코딩 학습 책(300)이 A출판사에서 제작되었음을 확인하고, A출판사 서버(혹은 기 설정된 외부 서버)에 접속하여 데이터베이스에 저장된 A출판사가 생성한 소스코드와 사용자 단말(200)을 통해 코딩 학습 책(300)에서 직접 촬영하여 인식한 소스코드를 비교하는 작업을 수행한다.
사용자 단말(200)이 인식한 소스코드와 기 저장된 소스코드간의 비교작업을 통해, 기 설정된 매칭률을 넘는 소스코드를 발견된다면, 해당 소스코드를 포함하는 페이지 정보를 A출판사의 서버로부터 수신하게 되는 것이다.
도 5는 본 발명의 일 실시예에 따른, 코딩 학습 책(300)이 제공하는 소스코드 및 링크 정보의 예시를 나타낸 도면이다.
도 5를 참조하면, 코딩 학습 책(300)에는 링크 정보(510)와 소스코드(520)를 포함하는 특정 페이지를 확인할 수 있다.
예시로 제시 된 특정 페이지의 모습을 나타낸 것이며, 링크 정보(510)나 소스코드(520) 외에도 다양한 정보가 포함되어 있을 수 있다.
링크 정보(510)는 예시 상의 QR코드의 형태를 가지지만, 바코드나 URL 주소 등 소스코드를 불러올 수 있는 주소 정보를 포함할 수 있다면, 다양한 방식으로 구현될 수 있으며, 그 형태가 본 발명의 범위를 제한하지는 않는다.
소스코드(520)는 사용자의 코딩 교육을 위한 정보로 곧장 컴파일이 가능한 완전한 소스코드나 사용자의 수정이 필요한 문제 형식의 소스코드 등 다양한 형식의 소스코드가 포함될 수 있다.
예를 들어, 코딩의 기초에 대한 교육인 경우 기본적으로 사용되는 소스코드(520)가 포함되어 사용자는 사용자 단말(200)을 통해 해당 소스코드(520)를 불러와 곧장 컴파일 하여 제 2 영역에서 결과물을 확인할 수 있다. 반대로, 잘못된 코딩에 대한 문제를 찾고 해결하는 교육인 경우 소스코드(520)는 그 자체로 제대로 된 컴파일이 되지 않기 때문에 사용자는 사용자 인터페이스를 통해 소스코드(520)를 수정 및 컴파일을 통해 코딩에 대한 공부를 하게 되는 것이다.
도 6은 본 발명의 일 실시예에 따른, 코딩을 실습하기 위한 사용자 인터페이스의 예시를 나타낸 도면이다.
도 6을 참조하면, 사용자 인터페이스는 제 1 영역(610), 제 2 영역(620), 제 3 영역(630) 및 명령입력버튼(611)을 포함할 수 있다.
사용자는 앞서 서술한 바와 같이 링크 정보를 통해 코딩 학습 책(300)의 소스코드가 포함된 페이지 정보를 인터넷페이지 상으로 확인할 수 있다. 도면에 도시되어 있는 인터페이스는 사용자가 이를 확인하고 실습하기 위한 사용자 인터페이스가 될 수 있는 것이다.
제 1 영역(610)은 소스코드가 표시되는 곳으로 사용자는 제 1 영역(610)에 제공되어 있는 소스코드를 수정하거나, 추가로 소스코드를 생성할 수 있게 된다.
이때, 초보자들을 위해 사용자가 수정하거나 작성해야 하는 소스코드를 유도하기 위한 가이드를 문자나 이미지의 형태로 제공할 수도 있다.
제 2 영역(620)은 제 1 영역(620)을 통해 사용자가 수정하거나 생성한 소스코드를 컴파일하고, 그 결과값을 확인하기 위한 인터페이스가 될 수 있다.
일반적으로 컴파일의 결과가 제 2 영역(620)에 표시될 수 있으나, 새로운 인터넷페이지 창을 생성하여 표시하거나, 다운로드할 수 있는 파일의 형식으로 제공될 수도 있다.
이때, 명령입력버튼(611)을 통해 사용자는 자신이 수정하거나 생성한 소스코드의 컴파일 명령을 내릴 수 있게 된다.
일반적으로 명령입력버튼(611)은 컴파일 수행 명령 외에도, 작성한 소스코드를 초기화하거나, 저장, 출력, 외부로 제출 등의 기능이 추가로 제공될 수 있다.
제 3 영역(630)은 코딩 학습 책(300)의 특정 페이지에 기입된 설명 문구를 표시하는 영역으로, 사용자가 코딩 실습 시 사용자 단말(200)에 집중하여 학습할 수 있도록 도울 수 있다.
예컨대, 코딩실습을 위한 소스코드, 소스코드에 대한 설명, 문제, 예시, 해결 가이드, 정답 등이 제 3 영역(630)을 통해 사용자에게 제공될 수 있는 것이다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템
100: 서버
200: 사용자 단말 300: 코딩 학습 책

Claims (13)

  1. 사용자 단말에 의해 수행되는, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법에 있어서,
    (a) 코딩 학습 책의 특정 페이지에 기재된 링크 정보에 대한 인식을 수행하는 단계;
    (b) 상기 링크 정보에 포함된 주소에 따라 서버에 접속하는 단계; 및
    (c) 상기 서버로부터 소스코드가 포함된 페이지 정보를 수신하여, 인터넷페이지 상에 표시하는 단계;
    를 포함하되,
    상기 코딩 학습 책은 코딩 교육을 위한 소스코드와 상기 소스코드를 상기 서버의 데이터베이스에서 불러오기 위한 상기 링크 정보를 포함하며, 상기 링크 정보는 바코드, QR코드 혹은 URL 중 적어도 하나로 구성되어 상기 소스코드를 검색하기 위한 주소정보를 포함하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계는
    상기 코딩 학습 책이 전자책자로 구현되는 경우, 상기 링크 정보는 상기 소스코드를 검색하기 위한 URL 주소로 구성되는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  3. 제 2 항에 있어서,
    상기 코딩 학습 책이 종이책자로 구현되는 경우, 상기 링크 정보는 QR코드 혹은 바코드 중 어느 하나로 구성되는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  4. 제 2 항에 있어서,
    상기 코딩 학습 책이 포함하는 상기 특정 페이지 전체의 이미지를 상기 링크 정보로 구성되는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  5. 제 1 항에 있어서,
    상기 (b) 단계는
    (b-1) 상기 서버가 사용자 단말로부터 상기 링크 정보를 수신하면, 상기 링크 정보에 대응하는 상기 소스코드를 데이터베이스에서 검색하는 단계; 및
    (b-2) 상기 링크 정보에 대응하는 상기 소스코드를 검색하면, 상기 소스코드를 상기 사용자 단말로 제공하는 단계;를
    더 포함하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  6. 제 5 항에 있어서,
    상기 (b-2) 단계는
    상기 코딩 학습 책의 특정 페이지가 포함하는 특정 소스코드와 상기 링크 정보가 함께 표시되어 있고, 상기 링크 정보는 상기 특정 소스코드에 대한 식별정보를 포함하여, 상기 페이지 정보를 제공받을 시, 상기 링크 정보에 대한 식별정보를 기반으로 상기 서버 내에서 상기 특정 소스코드에 관한 정보를 검색하여 제공하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  7. 제 1 항에 있어서,
    상기 (c) 단계는
    상기 소스코드가 포함된 페이지는 상기 사용자 단말이 상기 소스코드의 편집 및 컴파일을 실습할 수 있는 사용자 인터페이스를 추가로 포함하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  8. 제 7 항에 있어서,
    상기 사용자 인터페이스는 상기 소스코드가 표시되는 제 1 영역, 컴파일 명령을 수신하는 버튼 영역, 컴파일 결과를 표시하는 제 2 영역, 상기 코딩 학습 책의 특정 페이지에 기입된 설명 문구를 표시하는 제 3영역을 포함하며,
    상기 제 1 영역은 상기 사용자 단말에 의해 편집이 수행될 수 있도록 구성되는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  9. 제 7 항에 있어서,
    상기 사용자 단말이 수신하는 사용자 인터페이스는 상기 사용자 단말이 보유한 어플리케이션을 통해 구현되거나, 상기 소스코드 및 사용자 인터페이스를 사용하기 위한 어플리케이션이 사용되는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  10. 제 1 항에 있어서,
    상기 (a) 단계는
    상기 사용자 단말이 상기 서버로 단말식별자를 추가로 제공하고,
    상기 (c) 단계 이후
    상기 사용자 인터페이스의 제 1 영역을 통해 편집된 상기 소스코드를 상기 사용자 단말의 단말식별자와 매핑하여 상기 서버 또는 사용자 단말에 저장하는 기능을 추가로 제공하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  11. 제 10 항에 있어서,
    편집되어 저장된 상기 소스코드는 상기 사용자 단말에 저장된 외부 코딩용 프로그램으로 변환하여 불러오는 기능을 포함하고, 상기 서버에 상기 소스코드가 저장되는 경우, 타 사용자 단말과 소스코드 및 컴파일 결과를 공유하는 기능을 더 포함하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  12. 제 1 항에 있어서,
    상기 코딩 학습 책의 특정 페이지에 표시된 상기 소스코드 및 식별정보를 촬영하는 단계;
    촬영된 상기 소스코드를 광학문자 판독기술(OCR, optical character reader)로 인식하는 단계;
    상기 서버를 통해 상기 식별정보를 기반으로 상기 코딩 학습 책의 출판사를 확인하고, 상기 출판사에서 제작된 상기 코딩 학습 책의 소스코드 중 상기 광학문자 판독기술을 통해 인식한 상기 소스코드와 비교하는 단계; 및
    상기 서버로부터 상기 소스코드를 포함하는 상기 페이지 정보를 수신하는 단계;를 포함하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법.
  13. 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템에 있어서,
    사용자 단말로부터 수신한 링크 정보에 기초하여 기 저장된 소스코드 중 상기 링크 정보에 대응하는 상기 소스코드를 페이지 정보와 함께 제공하는 서버; 및
    종이 책자 혹은 전자 책자로 구성되어, 상기 소스코드와 그에 대응하는 링크 정보를 포함하는 코딩 학습 책;을 포함하되,
    상기 사용자 단말은 상기 링크 정보를 인식하여 상기 서버로 전달하고, 상기 소스코드가 포함된 페이지 정보를 수신하여, 인터넷 페이지 상에 표시하는 것인, 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 시스템.
KR1020180168323A 2018-12-24 2018-12-24 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치 KR102200181B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180168323A KR102200181B1 (ko) 2018-12-24 2018-12-24 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168323A KR102200181B1 (ko) 2018-12-24 2018-12-24 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200078946A true KR20200078946A (ko) 2020-07-02
KR102200181B1 KR102200181B1 (ko) 2021-01-08

Family

ID=71599680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168323A KR102200181B1 (ko) 2018-12-24 2018-12-24 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102200181B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220098444A (ko) * 2021-01-04 2022-07-12 주식회사 럭스로보 조립 모듈을 이용한 퀘스트 해결형 전자책 서비스 제공 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120005988A (ko) * 2010-07-09 2012-01-17 김대중 학습 정보를 제공하는 방법 및 장치
KR20130021002A (ko) * 2011-08-22 2013-03-05 인크로스 주식회사 전자책을 이용한 프로그램 코드 관련 정보 제공 방법 및 장치
KR20170058843A (ko) * 2015-11-19 2017-05-29 (주)엘리스 온라인 교육 서비스 제공 방법 및 장치
KR20180094461A (ko) 2017-02-15 2018-08-23 이상준 코딩 교육 장치 및 시스템
KR101908939B1 (ko) * 2017-08-03 2018-10-17 노상민 코딩 교육 서비스 방법 및 이를 수행하기 위한 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120005988A (ko) * 2010-07-09 2012-01-17 김대중 학습 정보를 제공하는 방법 및 장치
KR20130021002A (ko) * 2011-08-22 2013-03-05 인크로스 주식회사 전자책을 이용한 프로그램 코드 관련 정보 제공 방법 및 장치
KR20170058843A (ko) * 2015-11-19 2017-05-29 (주)엘리스 온라인 교육 서비스 제공 방법 및 장치
KR20180094461A (ko) 2017-02-15 2018-08-23 이상준 코딩 교육 장치 및 시스템
KR101908939B1 (ko) * 2017-08-03 2018-10-17 노상민 코딩 교육 서비스 방법 및 이를 수행하기 위한 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220098444A (ko) * 2021-01-04 2022-07-12 주식회사 럭스로보 조립 모듈을 이용한 퀘스트 해결형 전자책 서비스 제공 시스템 및 방법

Also Published As

Publication number Publication date
KR102200181B1 (ko) 2021-01-08

Similar Documents

Publication Publication Date Title
WO2021082953A1 (zh) 机器阅读理解方法、设备、存储介质及装置
US20200372217A1 (en) Method and apparatus for processing language based on trained network model
CN111695345B (zh) 文本中实体识别方法、以及装置
CN105556516A (zh) 个性化的内容加标签
CN110399306B (zh) 软件模块自动化测试方法及装置
CN110147549A (zh) 用于执行文本纠错的方法和系统
Singh et al. Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter: Build scalable real-world projects to implement end-to-end neural networks on Android and iOS
KR102005907B1 (ko) 증강현실 번역 어플리케이션을 이용한 표지판 및 간판 번역 서비스 시스템
US11868345B2 (en) Information processing system, electronic device, information processing method, and recording medium
WO2019161685A1 (en) Interactive method and electronic device
CN113221555A (zh) 一种基于多任务模型的关键词识别方法、装置及设备
CN115952272A (zh) 一种生成对话信息的方法、装置、设备及可读存储介质
CN114332873A (zh) 一种识别模型的训练方法及装置
KR20200078942A (ko) 코딩 및 프로그래밍 교육 컨텐츠 플랫폼 제공 방법
KR102200181B1 (ko) 책과 연동되어 간편한 코딩 실습을 위한 정보를 제공하는 방법 및 장치
CN108491232A (zh) 在语音对话平台加载控件的方法及系统
CN110119754B (zh) 图像生成描述方法、装置及模型
KR20180087961A (ko) 증강현실 번역 어플리케이션을 이용한 표지판 및 간판 번역 서비스 시스템
CN114564958B (zh) 文本识别方法、装置、设备及介质
CN110569429A (zh) 一种内容选择模型的生成方法、装置和设备
Schluter Restarting automata with auxiliary symbols restricted by lookahead size
Sharma Full Stack Development with MongoDB: Covers Backend, Frontend, APIs, and Mobile App Development using PHP, NodeJS, ExpressJS, Python and React Native
CN114511393A (zh) 财务数据处理方法及系统
US9443139B1 (en) Methods and apparatus for identifying labels and/or information associated with a label and/or using identified information
CN112988996A (zh) 知识库生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant