KR102221228B1 - Method for provide coding tests and scoring algorithms - Google Patents

Method for provide coding tests and scoring algorithms Download PDF

Info

Publication number
KR102221228B1
KR102221228B1 KR1020180168320A KR20180168320A KR102221228B1 KR 102221228 B1 KR102221228 B1 KR 102221228B1 KR 1020180168320 A KR1020180168320 A KR 1020180168320A KR 20180168320 A KR20180168320 A KR 20180168320A KR 102221228 B1 KR102221228 B1 KR 102221228B1
Authority
KR
South Korea
Prior art keywords
tester
terminal
scoring
coding
test
Prior art date
Application number
KR1020180168320A
Other languages
Korean (ko)
Other versions
KR20200078943A (en
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 KR1020180168320A priority Critical patent/KR102221228B1/en
Publication of KR20200078943A publication Critical patent/KR20200078943A/en
Application granted granted Critical
Publication of KR102221228B1 publication Critical patent/KR102221228B1/en

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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

본 발명은 다양한 형태의 코딩 테스트 문제를 편리하게 생성할 수 있는 UI를 출제자 단말로 제공하고, 문제 UI 에 따라 상이한 채점 UI를 제공함으로써, 다양한 형태의 코딩 테스트를 수행할 수 있는 알고리즘을 제공할 수 있다. 또한, 시험자에 대한 인증을 수행하고, 코딩 테스트에 대한 채점 시 소스 코드 유사도 검사를 통해 부정 행위에 대한 검출이 가능한 알고리즘을 제공할 수 있다.The present invention provides a UI that can conveniently generate various types of coding test problems to a tester's terminal, and provides different scoring UIs according to the problem UI, thereby providing an algorithm capable of performing various types of coding tests. have. In addition, it is possible to provide an algorithm capable of detecting fraudulent behavior by performing authentication for testers and checking source code similarity when scoring coding tests.

Description

코딩 테스트 및 채점 알고리즘 제공 방법 {METHOD FOR PROVIDE CODING TESTS AND SCORING ALGORITHMS}How to provide coding test and scoring algorithm {METHOD FOR PROVIDE CODING TESTS AND SCORING ALGORITHMS}

본 발명은 코딩 테스트 및 채점 알고리즘 제공 방법에 관한 것으로서, 보다 상세하게는, 코딩 테스트에 대한 문제 UI 및 채점 UI를 출제자 단말에 제공하여, 출제자 단말로부터 대응하는 입력 값을 수신하고, 코딩 테스트를 시험자 단말로 제공하는 방법에 관한 것이다.The present invention relates to a method of providing a coding test and scoring algorithm, and more particularly, by providing a problem UI and a scoring UI for a coding test to a tester terminal, receiving a corresponding input value from the tester terminal, and performing a coding test. It relates to a method of providing to a terminal.

편리성이나 원거리성의 이유로 늘어나는 온라인 교육 및 평가 수요자에 따라 진보된 평가 공정성이 요구되고 있으며, 만에 하나 일어날지도 모르는 부정행위는 출제자, 응시자의 시험 공정성 훼손과 불편부당의 오해를 야기하므로, 온라인 시험의 공정성 및 신뢰성을 확보하기 위한 여러 가지 방법들이 제안되고 있다.Due to convenience or distance, an increasing number of online education and evaluation users are demanding advanced evaluation fairness, and cheating, which may occur once, undermines test fairness and causes misunderstandings of discomfort for test takers and test takers. Several methods have been proposed to ensure fairness and reliability of the company.

현재 출제자들은(특히 사이버대학) 온라인 평가 시 기능키 사용을 불가능하게 하거나 사용 가능하게 하고 기능키 사용을 기록하는 방법, 기능키 사용감지기능을 통해 타 프로그램 사용 시도를 경고조치나 부정행위로 간주하기 위한 데이터를 확보하기 위한 방편으로 혹은 시험제도와 평가 방식을 지속적으로 바꿔가며 예상되는 부정행위에 소극적으로 대처하고 있다.Current questionnaires (especially cyber colleges) regard attempts to use other programs as warning measures or fraudulent behavior through the method of disabling or enabling the use of function keys and recording the use of function keys during the online evaluation, and the function key use detection function. As a means of securing data for this purpose, or by continuously changing testing systems and evaluation methods, they are passively responding to expected misconduct.

즉, 지금까지 온라인 시험을 응시하는 경우에 본인 여부를 확인을 하는 방법은 여러 가지 방법이 제안되었다. 그러나, 온라인 시험 응시 중에 수험자가 답을 찾거나 타인이 온라인으로 제출되는 문제의 답을 가르쳐 주는 등의 부정행위에 대해서는 이를 검출하거나, 제한할 방법이 없어, 온라인 시험의 공정성이 제대로 정립될 수 없었다.In other words, in the case of taking the online test so far, various methods have been proposed to verify the identity of the person. However, there is no way to detect or limit misconduct, such as an examinee searching for an answer while taking an online test or teaching someone the answer to a question submitted online, so the fairness of the online test could not be properly established. .

등록특허공보 제10-1846702호(제목: 프로그래밍 교육 시스템 및 프로그래밍 교육 방법, 공고일: 2018. 4. 9. 공고)Registered Patent Publication No. 10-1846702 (Title: Programming Education System and Programming Education Method, Announcement Date: April 9, 2018 Announcement)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 출제자 단말로 다양한 형태의 문제를 출제할 수 있는 문제 UI를 제공하고, 이를 채점할 수 있는 채점 UI를 제공하며, 인증 정보를 출제자 단말로부터 수신하여, 인증된 시험자 단말로 제공하는데 그 목적이 있다.The present invention is to solve the problems of the prior art described above, and provides a problem UI for questioning various types of problems to a tester terminal, providing a scoring UI for scoring it, and providing authentication information from the tester terminal. The purpose is to receive it and provide it to the certified tester's terminal.

또한, 소스 코드 유사도 검사를 통해 시험자의 부정 행위를 검출하는 방법을 제공하는데 그 목적이 있다.In addition, the purpose of this is to provide a method of detecting the tester's fraudulent behavior through source code similarity check.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따라, 서버에 의해 수행되는 코딩 테스트 및 채점 알고리즘 제공 방법은, (a) 출제자 단말로부터 코딩 테스트에 대한 생성 요청을 수신하는 단계; (b) 상기 출제자 단말로부터 상기 코딩 테스트를 제공할 하나 이상의 시험자 단말에 대한 인증 정보를 수신하는 단계; (c) 상기 출제자 단말로부터, 문제 UI(User Interface) 및 채점 UI(User Interface)에 대응하는 입력 값을 수신하는 단계; (d) 상기 입력 값에 따라, 문제를 생성하고, 상기 출제자 단말에서 지정한 시험자 단말에 초대 알림을 제공하는 단계; 를 포함하되, 상기 (c) 단계는, 상기 입력 값에 따라, 문제 UI 및 채점 UI가 다르게 생성되는 것이고, 상기 코딩 테스트는, 하나 이상의 상기 문제 UI 및 상기 채점 UI를 포함할 수 있다.As a technical means for achieving the above-described technical problem, according to an embodiment of the present invention, a method for providing a coding test and scoring algorithm performed by a server includes: (a) receiving a request for generating a coding test from a tester terminal. step; (b) receiving authentication information for one or more tester terminals to provide the coding test from the tester terminal; (c) receiving an input value corresponding to a problem UI (User Interface) and a scoring UI (User Interface) from the tester terminal; (d) generating a question according to the input value, and providing an invitation notification to a tester terminal designated by the tester terminal; Including, wherein in step (c), the problem UI and the scoring UI are differently generated according to the input value, and the coding test may include one or more of the problem UI and the scoring UI.

또한, 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하는 서버는, 코딩 테스트 및 채점 알고리즘 제공 프로그램이 저장된 메모리; 및 상기 프로그램을 실행하는 프로세서를 포함하되, 상기 프로세서는 상기 프로그램의 실행에 따라, 출제자 단말로부터 코딩 테스트에 대한 생성 요청을 수신하고, 상기 출제자 단말로부터 상기 코딩 테스트를 제공할 하나 이상의 시험자 단말에 대한 인증 정보를 수신하고, 상기 출제자 단말로부터, 문제 UI 및 채점 UI에 대응하는 입력 값을 수신하고, 상기 입력 값에 따라, 문제를 생성하고, 상기 출제자 단말에서 지정한 시험자 단말에 초대 알림을 제공하되, 상기 입력 값에 따라, 문제 UI 및 채점 UI가 다르게 생성되는 것이고, 상기 코딩 테스트는, 하나 이상의 상기 문제 UI 및 상기 채점 UI를 포함할 수 있다.Further, according to an embodiment of the present invention, a server performing a coding test and scoring algorithm providing method includes: a memory storing a coding test and scoring algorithm providing program; And a processor executing the program, wherein the processor receives a request for generating a coding test from a tester terminal according to the execution of the program, and for one or more tester terminals to provide the coding test from the tester terminal. Receiving authentication information, receiving an input value corresponding to the problem UI and the scoring UI from the tester terminal, generating a problem according to the input value, and providing an invitation notification to the tester terminal designated by the tester terminal, According to the input value, the problem UI and the scoring UI are generated differently, and the coding test may include one or more of the problem UI and the scoring UI.

본 발명은 다양한 형태의 코딩 테스트 문제를 편리하게 생성할 수 있는 UI를 출제자 단말로 제공하고, 문제 UI 에 따라 상이한 채점 UI를 제공함으로써, 다양한 형태의 코딩 테스트를 수행할 수 있는 알고리즘을 제공할 수 있다.The present invention provides a UI that can conveniently generate various types of coding test problems to a tester's terminal, and provides different scoring UIs according to the problem UI, thereby providing an algorithm capable of performing various types of coding tests. have.

도 1은 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 시스템의 구조도 이다.
도 2는 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법의 인증 정보 입력에 대한 UI의 예시도 이다.
도 3은 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법의 스크래치 문제 UI의 예시도 이다.
도 4는 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법의 소스 코드 유사도 검사 UI의 예시도 이다.
도 5는 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 설명하기 위한 순서도 이다.
1 is a structural diagram of a system for performing a method of providing a coding test and scoring algorithm according to an embodiment of the present invention.
2 is an exemplary view of a UI for inputting authentication information in a method for providing a coding test and scoring algorithm according to an embodiment of the present invention.
3 is an exemplary diagram of a scratch problem UI in a method of providing a coding test and scoring algorithm according to an embodiment of the present invention.
4 is an exemplary diagram of a source code similarity check UI of a method for providing a coding test and scoring algorithm according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing a coding test and scoring algorithm according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in a number of different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In the present specification, the "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized by using two or more hardware, or two or more units may be realized by one piece of hardware. Meanwhile,'~ unit' is not meant to be limited to software or hardware, and'~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further separated into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), VR HMD(예를 들어, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR 등)등을 포함할 수 있다. 여기서, VR HMD 는 PC용 (예를 들어, HTC VIVE, Oculus Rift, FOVE, Deepon 등)과 모바일용(예를 들어, GearVR, DayDream, 폭풍마경, 구글 카드보드 등) 그리고 콘솔용(PSVR)과 독립적으로 구현되는 Stand Alone 모델(예를 들어, Deepon, PICO 등) 등을 모두 포함한다. 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smart phone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 또한, "네트워크"는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.The "terminal" mentioned below may be implemented as a computer or portable terminal that can access a server or other terminal through a network. Here, the computer is, for example, a notebook equipped with a web browser, a desktop, a laptop, a VR HMD (for example, HTC VIVE, Oculus Rift, GearVR, DayDream, PSVR, etc.). It may include. Here, VR HMD is for PC (for example, HTC VIVE, Oculus Rift, FOVE, Deepon, etc.), for mobile (for example, GearVR, DayDream, Storm Horse Racing, Google Cardboard, etc.) and console (PSVR) and It includes all stand alone models that are implemented independently (eg, Deepon, PICO, etc.). Portable terminals are, for example, wireless communication devices that ensure portability and mobility, as well as smart phones, tablet PCs, and wearable devices, as well as Bluetooth (BLE, Bluetooth Low Energy), NFC, RFID, and ultrasound. , Infrared, Wi-Fi, Li-Fi may include various devices equipped with a communication module such as. In addition, "network" refers to a connection structure in which information exchange is possible between nodes such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet. (WWW: World Wide Web), wired and wireless data networks, telephone networks, wired and wireless television networks, etc. Examples of wireless data networks include 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, Bluetooth communication, infrared communication, and ultrasound. Communication, Visible Light Communication (VLC), LiFi, and the like are included, but are not limited thereto.

이하 도 1을 참조하여 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 시스템에 대해 구체적으로 설명한다. 한편, 이하에서 "코딩"과 "프로그래밍"은 동일한 의미를 갖는 용어로 정의될 수 있다.Hereinafter, a system for performing a method for providing a coding test and scoring algorithm according to an embodiment of the present invention will be described in detail with reference to FIG. 1. Meanwhile, hereinafter, “coding” and “programming” may be defined as terms having the same meaning.

본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 시스템(10)은, 서버(100) 및 사용자 단말(200)을 포함할 수 있으며, 서버(100), 출제자 단말(200) 및 시험자 단말(300)은 네트워크를 통해 통신연결 되어 있을 수 있다.The system 10 for performing a method for providing a coding test and scoring algorithm according to an embodiment of the present invention may include a server 100 and a user terminal 200, and a server 100 and a tester terminal ( 200) and the tester's terminal 300 may be connected to each other through a network.

본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 서버(100)는, 코딩 테스트 및 채점 알고리즘 제공 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함하되, 프로세서는 프로그램의 실행에 따라, 출제자 단말로부터 코딩 테스트에 대한 생성 요청을 수신하고, 출제자 단말로부터 코딩 테스트를 제공할 하나 이상의 시험자 단말에 대한 인증 정보를 수신하고, 출제자 단말로부터, 문제 UI(User Interface) 및 채점 UI(User Interface)에 대응하는 입력 값을 수신하고, 입력 값에 따라, 문제를 생성하고, 출제자 단말에서 지정한 시험자 단말에 초대 알림을 제공하되, 입력 값에 따라, 문제 UI 및 채점 UI가 다르게 생성되는 것이고, 코딩 테스트는, 하나 이상의 문제 UI 및 채점 UI를 포함할 수 있다.The server 100 for performing a method for providing a coding test and scoring algorithm according to an embodiment of the present invention includes a memory storing a coding test and scoring algorithm providing program and a processor for executing the program. Depending on the execution, receiving a request to create a coding test from the tester terminal, receiving authentication information for one or more tester terminals to provide a coding test from the tester terminal, and from the tester terminal, the question UI (User Interface) and scoring UI Receives an input value corresponding to (User Interface), generates a question according to the input value, and provides an invitation notification to the tester's terminal designated by the tester's terminal, but the problem UI and the scoring UI are generated differently according to the input value. And the coding test may include one or more question UI and scoring UI.

본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 출제자 단말(200)은, 출제자가 소지하는 디바이스 또는 특정장소에 설치되어 있는 컴퓨팅 장치가 될 수 있으며, 코딩 테스트 및 채점 알고리즘 제공 프로그램이 설치되어 있을 수 있다.According to an embodiment of the present invention, the tester terminal 200 for performing a method of providing a coding test and scoring algorithm may be a device possessed by the tester or a computing device installed in a specific place, and coding test and scoring Algorithm providing program may be installed.

출제자 단말(200)은 서버(100)로부터 문제 UI(User Interface) 및 채점 UI를 제공 받을 수 있으며, 출제자의 입력을 입력 값으로 서버로 제공할 수 있다.The tester terminal 200 may receive a problem UI (User Interface) and a scoring UI from the server 100, and may provide the tester's input as an input value to the server.

또한, 출제자 단말(200)은 출제자의 계정으로 로그인 한 단말이 될 수 있으며, 서버에 기 저장된 문제를 활용하여, 코딩 테스트를 생성하는 것이 가능할 수 있다.In addition, the tester terminal 200 may be a terminal logged in with the tester's account, and it may be possible to generate a coding test by using a problem previously stored in the server.

본 발명의 추가 실시예로서, 서버(100)가 제공한 문제 UI 및 채점 UI를 통해 출제자 단말(200)로부터 생성된 문제 및 채점에 대한 내용은 출제자 단말(200)의 선택에 의해 공개 또는 비공개로 설정될 수 있으며, 공개로 설정되는 경우, 서버(100)는 해당 문제 및 채점에 대한 내용을 서버(100)에 저장하고, 기 등록된 타 출제자 단말로 공유 할 수 있다.As a further embodiment of the present invention, the contents of the problem and scoring generated from the tester terminal 200 through the problem UI and the scoring UI provided by the server 100 are disclosed or privately selected by the tester terminal 200. It may be set, and if it is set to be public, the server 100 may store the content of the problem and scoring in the server 100 and share it with other previously registered tester terminals.

즉, 출제자 단말로부터 문제 UI에 대한 공개여부 및 문제 정보를 수신할 수 있으며, 문제 UI를 공개하는 경우, 타 출제자 단말로 입력 값이 공유될 수 있다.That is, whether or not to disclose the problem UI and problem information may be received from the tester terminal, and when the problem UI is disclosed, the input value may be shared with the other tester terminal.

이때, 문제 정보는, 제목, 난이도, 출처, 분류, 문제 설명 및 출제 의도 중 어느 하나 이상을 포함하는 정보가 될 수 있다.In this case, the problem information may be information including any one or more of a title, a difficulty level, a source, a classification, a problem description, and an intention to present a question.

이때, 문제 UI 에는 문제 정보가 포함될 수 있으며, 제목, 난이도, 출처, 분류, 문제 설명 및 출제의도 중 어느 하나 이상을 포함하는 정보로 구성될 수 있다.At this time, the problem UI may include problem information, and may be composed of information including any one or more of title, difficulty, source, classification, problem description, and questionnaire intention.

본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하기 위한 시험자 단말(300)은 시험자가 소지하는 디바이스 또는 특정장소에 설치되어 있는 컴퓨팅 장치가 될 수 있으며, 코딩 테스트 및 채점 알고리즘 제공 프로그램이 설치되어 있을 수 있다.In accordance with an embodiment of the present invention, the tester's terminal 300 for performing a method of providing a coding test and scoring algorithm may be a device possessed by the tester or a computing device installed in a specific place, and the coding test and scoring algorithm The provided program may be installed.

시험자 단말(300)은 코딩 테스트 및 채점 알고리즘 제공 프로그램이 설치되어 있지 않더라도, 서버(100)가 출제자 단말(200)로부터 제공받은 인증 정보가 시험자 단말(300)로부터 입력 받은 정보와 매칭되는 경우, 코딩 테스트를 수행할 수 있다.Even if the tester terminal 300 does not have a coding test and scoring algorithm providing program installed, when the authentication information provided from the tester terminal 200 by the server 100 matches the information input from the tester terminal 300, coding You can do the test.

본 발명의 추가 실시 예로써, 서버(100)는 코딩 테스트의 응시 시간을 지정하여 제공할 수 있다.As a further embodiment of the present invention, the server 100 may provide a coding test by designating a gaze time.

모든 시험자 단말에 대해 동일한 날에 동일한 시간대를 제공할 수 있으며, 동일한 응시 시간대만 지정하여 제공할 수 있다.The same time zone can be provided on the same day for all tester terminals, and only the same test time zone can be designated and provided.

예를 들어, '2018년 12월 31일 14:00 ~ 16:00'로 구체적인 날짜와 시간을 지정하여, 모든 시험자 단말(300)로 동일하게 제공하는 것이 가능할 수 있다. 또는, 응시 시간은 2시간으로 한정하여, 원하는 시간대에 응시하도록 하되, 제한 시간만 2시간으로 설정할 수 있다.For example, it may be possible to provide the same to all tester terminals 300 by designating a specific date and time as'December 31, 2018 14:00 to 16:00'. Alternatively, the test time is limited to 2 hours, so that you can take the test at a desired time slot, but only the limited time may be set to 2 hours.

상술한 시간 대는 본 발명의 추가 실시 예를 설명하기 위한 한정사항으로, 이에 구체적인 날짜와 시간 설정 및 응시 시간대는 출제자 단말(200)의 설정에 따라 상이하게 적용될 수 있다.The above-described time zone is a limitation for explaining an additional embodiment of the present invention, and specific date and time settings and gaze time zones may be differently applied according to the settings of the examinee terminal 200.

이하 도 5를 참조하여, 본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법에 대해 구체적으로 설명한다.Hereinafter, a method of providing a coding test and scoring algorithm according to an embodiment of the present invention will be described in detail with reference to FIG. 5.

본 발명의 일 실시예에 따르는, 코딩 테스트 및 채점 알고리즘 제공 방법을 수행하는 서버(100)는 출제자 단말(200)로부터 코딩 테스트에 대한 생성 요청을 수신할 수 있다(S410).The server 100 performing a method for providing a coding test and scoring algorithm according to an embodiment of the present invention may receive a request for generating a coding test from the tester terminal 200 (S410).

이후, 출제자 단말(200)로부터 코딩 테스트를 제공할 하나 이상의 시험자 단말(300)에 대한 인증 정보를 수신할 수 있다(S420).Thereafter, authentication information for one or more tester terminals 300 to provide a coding test may be received from the tester terminal 200 (S420).

(S420) 단계는, 코딩 테스트의 문제를 제공 받을 시험자 단말(300)을 초대하거나, 지정하는 단계이며, 서버(100)에 기 등록된 시험자 단말(300)의 경우 시험자 단말(300)의 계정 정보가 인증 정보가 될 수 있다.Step (S420) is a step of inviting or designating the tester terminal 300 to be provided with the problem of the coding test, and in the case of the tester terminal 300 previously registered in the server 100, account information of the tester terminal 300 Can be authentication information.

이때, 인증 정보는, 서버(100)에 등록된 시험자 단말(300)에 대응하는 이름, 아이디, 전화번호 및 이 메일 중 어느 하나 이상을 포함할 수 있다.In this case, the authentication information may include any one or more of a name, ID, phone number, and e-mail corresponding to the tester's terminal 300 registered in the server 100.

본 발명의 일 실시예에 따르는, 서버(100)는, 등록되지 않은 사용자를 시험자로 초대하기 위해, 코딩 테스트의 문제를 제공 받을 수 있는 링크 주소를 생성하여, 출제자 단말(200)로 제공할 수 있다.According to an embodiment of the present invention, the server 100 may generate a link address that can receive a coding test problem in order to invite an unregistered user as a tester, and provide it to the tester terminal 200 have.

시험자 단말(300)이 서버(100)에 등록되어 있지 않은 경우, 인증 정보는 시험자 단말(300)에 대응하는 이 메일 및 이름을 포함하되, 출제자 단말(200)의 선택에 따라 수험번호 및 비밀번호 중 어느 하나 이상을 더 포함하여, 인증 정보를 설정 할 수 있다.When the tester terminal 300 is not registered in the server 100, the authentication information includes an email and name corresponding to the tester terminal 300, but among the test number and password according to the selection of the tester terminal 200 Any one or more may be further included, and authentication information may be set.

도 2에 도시된 바와 같이 이 메일과 이름만을 입력할 수 있으며, 추가적인 정보에 대한 입력 또는 파일 업로드가 가능할 수 있다.As shown in FIG. 2, only an e-mail and a name may be input, and additional information may be input or a file may be uploaded.

즉, 출제자 단말(200)의 선택에 따라, 인증 정보가 결정될 수 있으며, 인증 정보는 시험자 단말(300)이 코딩 테스트를 제공받을 수 있는 인증키가 될 수 있다.That is, according to the selection of the tester terminal 200, authentication information may be determined, and the authentication information may be an authentication key through which the tester terminal 300 can receive a coding test.

본 발명의 추가 실시예로써, 코딩 테스트에 대한 링크 정보를 포함하는 초대 URL을 하나의 코딩 테스트에 대해 하나 또는 시험자 단말(300)에 대응하는 갯수의 URL을 생성할 수 있다.As a further embodiment of the present invention, one invitation URL including link information for the coding test may be generated for one coding test or the number of URLs corresponding to the tester's terminal 300 may be generated.

즉, 하나의 코딩 테스트에 대해 복수의 시험자가 존재하는 경우, 출제자 단말(300)의 선택에 의해 복수의 시험자 단말(300)로 동일한 하나의 URL을 제공할 수 있으며, 각각 상이한 URL을 제공할 수도 있다.That is, when a plurality of testers exist for one coding test, the same one URL may be provided to the plurality of tester terminals 300 by selection of the tester terminal 300, and different URLs may be provided. have.

이후, 본 발명의 일 실시예에 따르는, 서버(100)는 출제자 단말로부터, 문제 UI 및 채점 UI에 대응하는 입력 값을 수신할 수 있다(S430).Thereafter, according to an embodiment of the present invention, the server 100 may receive an input value corresponding to the problem UI and the scoring UI from the tester terminal (S430).

이때, 출제자 단말(200)로부터 서버(100)에 기 등록된 복수의 타 출제자 단말 중 어느 하나 이상에 대한 선택 입력을 수신하는 경우, 선택 입력에 대응하는 하나 이상의 타 출제자 단말로부터 코딩 테스트에 대한 인증 정보 및 입력 값에 대한 수신이 가능하도록 하나의 코딩 테스트에 대해 복수의 출제자 단말을 대응하도록 할 수 있다.At this time, when receiving a selection input for any one or more of a plurality of other questionnaire terminals pre-registered in the server 100 from the questioner terminal 200, authentication for the coding test from at least one other questionnaire terminal corresponding to the selection input In order to enable reception of information and input values, a plurality of tester terminals may correspond to one coding test.

즉, 공동 출제자를 추가할 수 있으며, 이때, 추가 가능한 공동 출제자는 서버(100)에 기 등록된 타 출제자 단말에 한하여 가능할 수 있다.That is, it is possible to add a joint questionnaire, and in this case, the additional collaborative questionnaire may be possible only for other questionnaire terminals previously registered in the server 100.

(S430) 단계에서 입력 값은, 스크래치, 엔트리, 일반 프로그래밍, 유닛 테스트, 웹 서비스, 어플리케이션 개발, HTML, CSS 및 JS 중 하나 이상의 타입이 될 수 있으며, 입력 값에 따라, 문제 UI 및 채점 UI가 상이하게 생성될 수 있다.In step (S430), the input value may be one or more types of scratch, entry, general programming, unit test, web service, application development, HTML, CSS, and JS, and according to the input value, the problem UI and the scoring UI are It can be produced differently.

이하에서, 입력 값에 따른, 문제 UI 및 채점 UI에 대해 구체적으로 설명한다.Hereinafter, a problem UI and a scoring UI according to an input value will be described in detail.

입력 값의 타입이 스크래치 및 엔트리 중 어느 하나인 경우, 출제자 단말(200)로부터 기본 스크립트 및 오브젝트 구성에 대한 입력을 수신할 수 있다.When the type of the input value is either a scratch or an entry, an input for a basic script and an object configuration may be received from the tester terminal 200.

출제자 단말(200)로부터 수신한 기본 스크립트 및 오브젝트 구성은, 시험자 단말(300)이 접속하면 처음부터 제공될 수 있다. 이때, 제공되는 UI는 도 3에 도시된 바와 같은 UI가 제공될 수 있다.The basic script and object configuration received from the tester terminal 200 may be provided from the beginning when the tester terminal 300 is connected. In this case, the provided UI may be provided with a UI as shown in FIG. 3.

입력 값의 타입이 일반 프로그래밍인 경우, 출제자 단말(200)로부터 시험자 단말(300)로 제공될 가이드 정보를 수신할 수 있다.When the type of the input value is general programming, guide information to be provided to the tester terminal 300 may be received from the tester terminal 200.

이때, 가이드 정보는 소스코드를 입력할 수 있는 답안 영역 내에 답안이 기입되기 전 제공되는 텍스트 정보로서, 시험자 단말(300)로 제공되는 소스 코드의 수정, 추가 및 내용 중 어느 하나 이상에 대한 정보인 것이고, 채점은 시험자 단말(300)로부터 수신한 답안을 구성하는 각 항목에 대한 입력 및 출력 값 충족 여부를 기준으로 하되, 각 항목에 대한 정답이 기 저장되어 있고 각 항목에 따라 점수 비율이 상이하게 적용되며, 점수 비율에 근거한 각 항목에 대한 점수들의 합을 기반으로 수행될 수 있다.At this time, the guide information is text information provided before the answer is written in the answer area in which the source code can be entered, and is information on any one or more of the modification, addition, and contents of the source code provided to the tester's terminal 300. The scoring is based on whether the input and output values for each item constituting the answer received from the tester's terminal 300 are satisfied, but the correct answer for each item is already stored and the score ratio is different for each item. It is applied and can be performed based on the sum of the scores for each item based on the score ratio.

즉, 출제자 단말(200)로부터 문제 해결을 위해 사용 가능한 언어를 수신하고, 기본 예제 코드를 수신할 수 있다.That is, a language available for problem solving may be received from the tester terminal 200 and a basic example code may be received.

이때, 출제자 단말(200)은 에디터로 코드를 작성하여 제공하거나, 파일 업로드를 통해 제공할 수 있다.In this case, the questioner terminal 200 may provide a code by writing it with an editor or through a file upload.

서버(100)는 일반 프로그래밍 채점 UI를 제공하고, 출제자 단말(200)로부터 채점 UI에서 입력 및 출력 값에 대한 갯수, 각 케이스 별 입력 값, 출력 값 및 비율에 대한 정보를 수신할 수 있다.The server 100 may provide a general programming scoring UI and receive information on the number of input and output values, input values for each case, output values and ratios from the scoring UI from the tester terminal 200.

입력 값의 타입이 유닛 테스트인 경우, 출제자 단말(200)로부터 JUnit, CUnit 및 PyUnit 중 어느 하나의 프로그래밍 언어에 대한 선택 입력을 수신하고 채점 문제, 제출 문제 및 실행 문제 중 어느 하나의 문제 유형에 대한 선택 입력을 수신할 수 있다.When the type of the input value is a unit test, a selection input for any one programming language among JUnit, CUnit, and PyUnit is received from the tester terminal 200, and the problem type of any one of a scoring problem, a submission problem, and an execution problem is received. Can receive selection input.

즉, 출제자 단말(200)로부터 문제 해결을 위해 사용 가능한 언어를 수신하고, 기본 예제 코드를 수신할 수 있으며, 사용가능 한 언어는 JUnit, CUnit 및 PyUnit 중 어느 하나가 될 수 있다. 추가로 언어 설정에서 버전, 빌드 및 실행 옵션에 대한 선택입력을 수신할 수 있다.That is, a language available for problem solving from the questioner terminal 200 may be received and a basic example code may be received, and the usable language may be any one of JUnit, CUnit, and PyUnit. Additionally, you can receive optional inputs for version, build and run options in the language settings.

상술한, JUnit, CUnit 및 PyUnit은 본 발명의 일 실시 예를 설명하기 위해 한정된 사항으로, 유닛테스트 프레임워크에 대한 모든 언어가 사용될 수 있으므로 이에 한정하지 않는다.The above-described JUnit, CUnit, and PyUnit are limited to explain an embodiment of the present invention, and since all languages for the unit test framework may be used, they are not limited thereto.

이후 출제자 단말(200)로부터, 프레임워크의 버전에 대한 선택 입력을 수신하고, 테스트 함수를 수신하며, 테스트 메소드가 테스트 함수를 인식하여, 채점을 수행할 수 있으며, 각 테스트 매소드 별 반영 비율은 출제자 단말(200)의 입력에 따라 상이하게 결정될 수 있다.Thereafter, from the tester terminal 200, a selection input for the version of the framework is received, a test function is received, and the test method recognizes the test function to perform scoring, and the reflection rate for each test method is determined by the tester. It may be determined differently according to the input of the terminal 200.

본 발명의 추가 실시예로서, 테스트 메소드에서 채점을 수행할 때, 테스트 결과에 대한 옵션을 설정할 수 있다.As a further embodiment of the present invention, when performing scoring in a test method, an option for a test result may be set.

즉, 테스트 결과 실패한 케이스에 대한 메시지를 시험자 단말(300)로 제공하는 것에 대한 여부를 지정하여, 시험자 단말(300)로 테스트 실패 케이스에 대한 메시지를 제공할 수 있다.That is, by designating whether or not to provide a message for a test result failure case to the tester terminal 300, a message regarding the test failure case may be provided to the tester terminal 300.

입력 값의 타입이 웹 서비스, 어플리케이션 개발, HTML, CSS 및 JS 중 어느 하나의 타입인 경우, 출제자 단말(200)로부터 복수개의 파일로 구성된 프로젝트 파일을 수신할 수 있다.When the type of the input value is any one of web service, application development, HTML, CSS, and JS, a project file composed of a plurality of files may be received from the submitter terminal 200.

이때, 어플리케이션 개발은, 웹 서비스, 웹 애플리케이션, 데스크탑 애플리케이션, 모바일 애플리케이션 등으로 서비스/애플리케이션의 전 범위에 걸친 개발 중 어느 하나가 될 수 있다.In this case, application development may be any one of development across the entire range of services/applications such as web services, web applications, desktop applications, and mobile applications.

즉, 출제자 단말(200)로부터 복수개의 파일들로 이루어진 프로젝트 파일을 수신하되, 복수의 파일 중 시험자 단말(300)리 수정 가능한 파일을 지정하여, 해당 파일에 대해서만 수정이 가능하도록 할 수 있다.That is, a project file consisting of a plurality of files is received from the tester terminal 200, but a file that can be modified by the tester terminal 300 among the plurality of files may be designated so that only the corresponding file can be modified.

예를 들어, 웹 서비스 및 애플리케이션의 경우 하나의 파일 만으로 이루어져 있을 경우, 하이퍼링크를 통한 페이지간 이동과 같은 웹 서비스 특유의 강력한 특징을 살릴 수 없기 때문에, 다른 타입들과는 달리 복수 개의 소스코드 파일을 수정할 수 있도록 출제자 단말(200)로부터 기본 틀이 되는, 미완성된 웹 프로젝트를 zip 형식으로 수신하고, 출제자 단말(200)이 접근 가능한 파일 리스트를 지정하면, 시험자 단말(300)로 해당 파일들을 수정하여 완성된 웹 프로젝트로 만들 수 있도록 제공 될 수 있다.For example, in the case of web services and applications, if they consist of only one file, they cannot take advantage of the strong features unique to web services such as moving between pages through hyperlinks, so unlike other types, multiple source code files can be modified. In order to be able to receive the incomplete web project, which is the basic frame, from the tester terminal 200 in a zip format, and designate a list of files accessible to the tester terminal 200, the tester terminal 300 modifies and completes the corresponding files. It can be provided so that it can be created as a web project.

또한, 출제자 단말(200)로부터 채점 스크립트를 수신하되, 채점 스크립트는 자바스크립트 및 node.js에 기반한 스크립트 이며, UI 테스트 프레임워크에 적용될 수 있다.In addition, the scoring script is received from the tester terminal 200, but the scoring script is a script based on JavaScript and node.js, and can be applied to a UI test framework.

즉, 채점 UI는, 출제자가 입력한 Web UI 테스트 코드를 이용해서, 채점을 실시하여 점수를 산출할 수 있으며, 제출모드의 경우 지원자가 작성한 소스코드를 제출하여, 출제자 단말(200)로 제공하여 열람할 수 있도록 할 수 있다.That is, the scoring UI can calculate the score by performing scoring using the Web UI test code input by the applicant. In the case of the submission mode, the source code written by the applicant is submitted and provided to the applicant terminal 200. You can make it accessible.

채점에 활용되는 Web UI 테스트 코드는 Nightwatch.JS와 같은 공개 API를 사용하고 있으며, 이에 대한 사항은 당업자에게 자명한 사항으로 자세한 설명은 생략한다.The Web UI test code used for scoring uses a public API such as Nightwatch.JS, and details about this are obvious to those skilled in the art, and detailed descriptions will be omitted.

본 발명의 일 실시 예에 따라, 코딩 테스트에 포함되는 문제 UI 는 상술한 타입 이외에 O, X 문제, 주관식 문제, 객관식 문제, 선 긋기 문제, 서술형 문제 및 파일 제출 문제에 대한 UI를 더 포함할 수 있다.According to an embodiment of the present invention, the problem UI included in the coding test may further include UIs for O, X problems, short answer problems, multiple choice problems, line drawing problems, narrative problems, and file submission problems in addition to the types described above. have.

서버(100)는 출제자 단말(200)의 요청에 따라, 생성된 문제UI 중 하나 이상을 포함하여, 코딩 테스트를 생성할 수 있다.The server 100 may generate a coding test including one or more of the generated problem UIs according to the request of the questioner terminal 200.

즉, 코딩 테스트는 하나 이상의 문제 UI 및 하나 이상의 채점 UI로 구성될 수 있다.That is, the coding test may consist of one or more problem UIs and one or more scoring UIs.

이후 서버(100)는 입력 값에 따라, 문제를 생성하고, 출제자 단말(200)에서 지정한 시험자 단말(300)에 초대 알림을 제공할 수 있다(S440).Thereafter, the server 100 may generate a question according to the input value and provide an invitation notification to the tester terminal 300 designated by the tester terminal 200 (S440).

즉, 본 발명의 일 실시예에 따르는 서버(100)는 초대 URL을 생성하여, 시험자 단말(300)에 대응하는 이 메일로 초대 알림을 제공할 수 있다.That is, the server 100 according to an embodiment of the present invention may generate an invitation URL and provide an invitation notification by e-mail corresponding to the tester's terminal 300.

이때, 코딩 테스트에 대한 링크 정보를 포함하는 초대 URL을 하나의 코딩 테스트에 대해 하나 또는 시험자 단말(300)에 대응하는 갯수의 URL을 생성할 수 있다.In this case, one invitation URL including link information for the coding test may be generated for one coding test or a number of URLs corresponding to the tester's terminal 300 may be generated.

본 발명의 추가 실시 예로써, 시험자 단말(300)로 제공되는 코딩 테스트는 시험자 단말(300)의 디스플레이를 통해, 시험이 진행되는 동안 문제가 발생하거나, 운영에 변동 사항이 생기는 경우, 실시간으로 시험자 단말(300)로 메시지를 제공할 수 있다.As a further embodiment of the present invention, the coding test provided to the tester's terminal 300 is through the display of the tester's terminal 300, if a problem occurs during the test or changes in operation, the tester in real time A message may be provided to the terminal 300.

(S440) 단계 이후, 복수의 시험자 단말(300)로부터 코딩 테스트에 대한 복수의 답안을 수신하고 채점하되, 부정 행위 검출을 위해 복수의 시험자 단말이 제출한 복수의 답안에 대해 소스 코드 유사도 검사를 수행할 수 있다.After step (S440), a plurality of answers to the coding test are received and scored from the plurality of tester terminals 300, but a source code similarity check is performed on the plurality of answers submitted by the plurality of tester terminals to detect fraudulent behavior. can do.

이때, 소스 코드 유사도 검사는, 기 설정된 비율 이상의 유사도를 가진 답안을 검출하는 것이 될 수 있으며, 유사도는 답안을 구성하는 텍스트의 동일한 정도를 기준으로 산출되는 것이며, 비율은 상기 제출자 단말에 의해 각 코딩 테스트에 따라 상이하게 설정될 수 있다.At this time, the source code similarity check may be to detect an answer having a similarity greater than or equal to a preset ratio, and the similarity is calculated based on the same degree of text constituting the answer, and the ratio is each coded by the submitter terminal. It can be set differently depending on the test.

도 4에 도시된 바와 같이 소스 코드 유사도 검사를 통해 코드 비교가 수행 될 수 있다.As shown in FIG. 4, code comparison may be performed through a source code similarity check.

즉, 해당 코딩 테스트에 답안을 제공한 복수의 시험자 단말(300)들 간 답안이 얼마나 유사한지에 대한 비교를 수행할 수 있으며, 이는 코딩 테스트에 부정 행위 여부를 판단하는 기준이 될 수 있다.That is, it is possible to compare how similar the answers are between the plurality of tester terminals 300 that provided the answer to the corresponding coding test, and this can be a criterion for determining whether or not the coding test is cheated.

답안의 유사도에 대한 비율은, 출제자 단말(200)로부터 제공받을 수 있으며, 각각의 코딩 테스트 내 문제에 대해 상이하게 적용될 수 있다.The ratio of the similarity of the answer may be provided from the questioner terminal 200, and may be applied differently to a problem in each coding test.

본 발명의 추가 실시 예로써, 시험자 단말(300)이 웹 캠 등의 촬영이 가능한 환경을 제공하는 경우, 기 설정된 시간에 따라, 촬영하여 서버(100)로 제공할 수 있다.As a further embodiment of the present invention, when the tester's terminal 300 provides an environment in which photographing such as a web cam is possible, it may be photographed according to a preset time and provided to the server 100.

서버(100)는 제공된 사진에 기초하여, 시험자의 응시 내역을 확인할 수 있으며, 이상행위가 감지되는 경우, 해당 사진에 마킹을 남길 수 있으며, 이는 부정행위에 대한 검출을 위한 증거자료가 될 수 있다.The server 100 can check the examination details of the tester based on the provided photo, and when an abnormal behavior is detected, it can leave a marking on the photo, which can be evidence for detection of fraudulent behavior. .

본 발명의 일 실시 예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능 한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비 휘발성 매체, 분리형 및 비 분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비 휘발성, 분리형 및 비 분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

10: 시스템 100: 서버
200: 출제자 단말 300: 시험자 단말
10: system 100: server
200: tester terminal 300: tester terminal

Claims (16)

서버에 의해 수행되는 코딩 테스트 및 채점 알고리즘 제공 방법에 있어서,
(a) 출제자 단말로부터 코딩 테스트에 대한 생성 요청을 수신하는 단계;
(b) 상기 출제자 단말로부터 상기 코딩 테스트를 제공할 하나 이상의 시험자 단말에 대한 인증 정보를 수신하는 단계;
(c) 상기 출제자 단말로부터, 문제 UI(User Interface) 및 채점 UI(User Interface)에 대응하는 입력 값을 수신하는 단계;
(d) 상기 입력 값에 따라, 문제를 생성하고, 상기 출제자 단말에서 지정한 시험자 단말에 초대 알림을 제공하는 단계; 및
(e) 복수의 시험자 단말로부터 상기 코딩 테스트에 대한 복수의 답안을 수신하고 채점하되, 부정 행위 검출을 위해 상기 복수의 시험자 단말이 제출한 상기 복수의 답안에 대해 소스 코드 유사도 검사를 수행하는 단계; 를 포함하되,
상기 (c) 단계는,
상기 입력 값에 따라, 문제 UI 및 채점 UI가 상이하게 생성되는 것이고,
상기 코딩 테스트는,
하나 이상의 상기 문제 UI 및 상기 채점 UI를 포함하고,
상기 (c) 단계는
상기 출제자 단말로부터 상기 문제 UI에 대한 공개여부 및 문제 정보를 수신하는 단계를 더 포함하되, 상기 (d) 단계 이후 상기 출제자 단말의 선택에 기초하여, 상기 문제 및 문제에 대한 채점을 공개 또는 비공개로 설정하고,
상기 문제 UI를 공개하는 경우, 타 출제자 단말로 상기 입력 값이 공유되는 것이고, 상기 문제 정보는 제목, 난이도, 출처, 분류, 문제 설명 및 출제 의도 중 어느 하나 이상을 포함하는 정보이며,
상기 (d) 단계 이후
테스트 결과에 따라 실패한 케이스에 대한 메시지를 상기 시험자 단말로 제공할 것인지 여부를 결정하고, 상기 출제자 단말의 선택에 따라 상기 메시지를 상기 시험자 단말로 제공하고,
상기 (d) 단계는
초대 URL을 생성하여, 상기 시험자 단말에 대응하는 이 메일로 초대 알림을 제공하되, 상기 코딩 테스트에 대한 링크 정보를 포함하는 상기 초대 URL을 상기 시험자 단말의 개수에 대응하는 각각 상이한 상기 초대 URL을 생성하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
In the method of providing a coding test and scoring algorithm performed by a server,
(a) receiving a request for generating a coding test from a tester terminal;
(b) receiving authentication information for one or more tester terminals to provide the coding test from the tester terminal;
(c) receiving an input value corresponding to a problem UI (User Interface) and a scoring UI (User Interface) from the tester terminal;
(d) generating a question according to the input value, and providing an invitation notification to a tester terminal designated by the tester terminal; And
(e) receiving and scoring a plurality of answers to the coding test from a plurality of tester terminals, but performing a source code similarity check on the plurality of answers submitted by the plurality of tester terminals to detect fraud; Including,
The step (c),
According to the input value, the problem UI and the scoring UI are generated differently,
The coding test,
Including one or more of the problem UI and the scoring UI,
Step (c) is
Further comprising the step of receiving information on whether or not to disclose the question UI from the questioner terminal, and after step (d), based on the selection of the questioner terminal, the scoring for the question and the question is made public or private. Set up,
When the question UI is disclosed, the input value is shared with the other questionnaire terminal, and the question information is information including any one or more of title, difficulty, source, classification, problem description, and questionnaire intention,
After step (d)
Determine whether to provide a message for a failed case to the tester's terminal according to the test result, and provide the message to the tester's terminal according to the selection of the tester's terminal,
The step (d) is
By generating an invitation URL, an invitation notification is provided by e-mail corresponding to the tester terminal, and the invitation URL including link information for the coding test is generated, respectively, different invitation URLs corresponding to the number of tester terminals. To do,
How to provide coding testing and scoring algorithms.
제 1 항에 있어서,
상기 시험자 단말이 상기 서버에 등록되어 있지 않은 경우,
상기 인증 정보는,
상기 시험자 단말에 대응하는 이 메일 및 이름을 포함하되, 상기 출제자 단말의 선택에 따라 수험번호 및 비밀번호 중 어느 하나 이상을 더 포함하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
If the tester's terminal is not registered in the server,
The authentication information,
Including an email and a name corresponding to the tester terminal, but further comprising any one or more of an examination number and a password according to the selection of the tester terminal,
How to provide coding testing and scoring algorithms.
삭제delete 제 1 항에 있어서,
상기 시험자 단말이 상기 서버에 기 등록되어 있는 경우,
상기 인증 정보는,
상기 서버에 등록된 상기 시험자 단말에 대응하는 이름, 아이디, 전화번호 및 이 메일 중 어느 하나 이상을 포함하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
If the tester's terminal is already registered in the server,
The authentication information,
To include any one or more of the name, ID, phone number, and e-mail corresponding to the tester's terminal registered in the server,
How to provide coding testing and scoring algorithms.
제 1 항에 있어서,
하나의 코딩 테스트는 하나의 출제자 단말과 대응하되,
상기 (c) 단계는,
상기 출제자 단말로부터 상기 서버에 기 등록된 복수의 타 출제자 단말 중 어느 하나 이상에 대한 선택 입력을 수신하는 경우,
상기 선택 입력에 대응하는 하나 이상의 타 출제자 단말로부터 상기 코딩 테스트에 대한 상기 인증 정보 및 상기 입력 값에 대한 수신이 가능하도록 하나의 코딩 테스트에 대해 복수의 출제자 단말을 대응시키는 단계를 더 포함하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
One coding test corresponds to one tester's terminal,
The step (c),
When receiving a selection input for any one or more of a plurality of other questionnaire terminals pre-registered in the server from the questionnaire terminal,
The method further comprising the step of correlating a plurality of tester terminals to one coding test to enable reception of the authentication information and the input value for the coding test from one or more other tester terminals corresponding to the selection input. ,
How to provide coding testing and scoring algorithms.
삭제delete 제 1 항에 있어서,
상기 입력 값은,
스크래치, 엔트리, 일반 프로그래밍, 유닛 테스트, 웹 서비스, 어플리케이션 개발, HTML, CSS 및 JS 중 하나 이상의 타입에 대한 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
The input value is,
For one or more types of scratch, entry, general programming, unit testing, web services, application development, HTML, CSS, and JS,
How to provide coding testing and scoring algorithms.
제 7 항에 있어서,
상기 입력 값의 타입이 스크래치 및 엔트리 중 어느 하나인 경우,
상기 (c) 단계는,
상기 출제자 단말로부터 기본 스크립트 및 오브젝트 구성에 대한 입력을 수신하는 단계를 더 포함하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 7,
If the type of the input value is any one of scratch and entry,
The step (c),
It further comprises the step of receiving an input for the basic script and object configuration from the tester terminal,
How to provide coding testing and scoring algorithms.
제 7 항에 있어서,
상기 입력 값의 타입이 일반 프로그래밍인 경우,
상기 (c) 단계는,
상기 출제자 단말로부터 상기 시험자 단말로 제공될 가이드 정보를 수신하는 단계를 더 포함하되,
상기 가이드 정보는,
소스코드를 입력할 수 있는 답안 영역 내에 답안이 기입되기 전 제공되는 텍스트 정보로서, 상기 시험자 단말로 제공되는 소스 코드의 수정, 추가 및 내용 중 어느 하나 이상에 대한 정보인 것이고,
상기 채점은 상기 시험자 단말로부터 수신한 답안을 구성하는 각 항목에 대한 입력 및 출력 값 충족 여부를 기준으로 하되, 상기 각 항목에 대한 정답이 기 저장되어 있고 상기 각 항목에 따라 점수 비율이 상이하게 적용되며, 상기 점수 비율에 근거한 상기 각 항목에 대한 점수들의 합을 기반으로 수행되는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 7,
If the type of the input value is general programming,
The step (c),
Further comprising the step of receiving guide information to be provided to the tester terminal from the tester terminal,
The guide information above,
Text information provided before the answer is written in the answer area where the source code can be entered, and is information on any one or more of the modification, addition, and contents of the source code provided to the tester's terminal,
The scoring is based on whether the input and output values for each item constituting the answer received from the tester's terminal are satisfied, but the correct answer for each item is previously stored, and the score ratio is applied differently according to each item. And, which is performed based on the sum of the scores for each item based on the score ratio,
How to provide coding testing and scoring algorithms.
제 7 항에 있어서,
상기 입력 값의 타입이 유닛 테스트인 경우,
상기 (c) 단계는,
상기 출제자 단말로부터 JUnit, CUnit 및 PyUnit 중 어느 하나의 프로그래밍 언어에 대한 선택 입력을 수신하고 채점 문제, 제출 문제 및 실행 문제 중 어느 하나의 문제 유형에 대한 선택 입력을 수신하는 단계를 더 포함하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 7,
If the type of the input value is a unit test,
The step (c),
Receiving a selection input for any one programming language of JUnit, CUnit, and PyUnit from the tester terminal, and receiving a selection input for any one problem type of a scoring problem, a submission problem, and an execution problem. ,
How to provide coding testing and scoring algorithms.
제 7 항에 있어서,
상기 입력 값의 타입이 웹 서비스, 어플리케이션 개발, HTML, CSS 및 JS 중 어느 하나의 타입인 경우,
상기 (c) 단계는,
상기 출제자 단말로부터 복수개의 파일로 구성된 프로젝트 파일을 수신하는 단계를 더 포함하되,
상기 복수개의 파일은,
상기 시험자 단말이 열람 및 수정이 가능한 형태로 제공되는 것이고,
상기 어플리케이션 개발은,
웹 어플리케이션, 데스크탑 어플리케이션, 모바일 어플리케이션 중 어느 하나가 되는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 7,
When the type of the input value is any one of web service, application development, HTML, CSS, and JS,
The step (c),
Further comprising the step of receiving a project file consisting of a plurality of files from the tester terminal,
The plurality of files,
The tester's terminal is provided in a form that can be viewed and modified,
The application development,
To be any one of a web application, a desktop application, and a mobile application,
How to provide coding testing and scoring algorithms.
제 11 항에 있어서,
상기 (c) 단계는,
상기 출제자 단말로부터 채점 스크립트를 수신하는 단계를 더 포함하되,
상기 채점 스크립트는,
UI 테스트 프레임워크에 적용되는 것이고, 상기 UI 테스트 프레임워크에 사용되는 스크립트 인 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 11,
The step (c),
Further comprising the step of receiving a scoring script from the tester terminal,
The above scoring script,
It is applied to the UI test framework, and is a script used in the UI test framework,
How to provide coding testing and scoring algorithms.
삭제delete 제 1 항에 있어서,
상기 소스 코드 유사도 검사는,
기 설정된 비율 이상의 유사도를 가진 답안을 검출하는 것이고,
상기 유사도는 답안을 구성하는 텍스트의 동일한 정도를 기준으로 산출되는 것이며,
상기 비율은 상기 출제자 단말에 의해 각 코딩 테스트에 따라 상이하게 설정되는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
The source code similarity check,
It is to detect an answer with a similarity greater than or equal to a preset ratio,
The similarity is calculated based on the same degree of text constituting the answer,
The ratio is set differently according to each coding test by the applicant terminal,
How to provide coding testing and scoring algorithms.
제 1 항에 있어서,
상기 소스 코드 유사도 검사는,
기 설정된 비율 이상의 유사도를 가진 답안을 검출하는 것이고,
상기 유사도는 답안을 구성하는 소스코드의 구조, 동작 순서 및 알고리즘 상의 동일한 정도를 기준으로 산출되는 것이며,
상기 비율은 상기 출제자 단말에 의해 각 코딩 테스트에 따라 상이하게 설정되는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법.
The method of claim 1,
The source code similarity check,
It is to detect an answer with a similarity greater than or equal to a preset ratio,
The similarity is calculated based on the same degree in the structure, order of operation, and algorithm of the source code constituting the answer,
The ratio is set differently according to each coding test by the applicant terminal,
How to provide coding testing and scoring algorithms.
코딩 테스트 및 채점 알고리즘 제공 방법을 수행하는 서버에 있어서,
코딩 테스트 및 채점 알고리즘 제공 프로그램이 저장된 메모리; 및
상기 프로그램을 실행하는 프로세서를 포함하되,
상기 프로세서는 상기 프로그램의 실행에 따라,
출제자 단말로부터 코딩 테스트에 대한 생성 요청을 수신하고, 상기 출제자 단말로부터 상기 코딩 테스트를 제공할 하나 이상의 시험자 단말에 대한 인증 정보를 수신하고, 상기 출제자 단말로부터, 문제 UI 및 채점 UI에 대응하는 입력 값을 수신하고, 상기 입력 값에 따라, 문제를 생성하고, 상기 출제자 단말에서 지정한 시험자 단말에 초대 알림을 제공하고, 복수의 시험자 단말로부터 상기 코딩 테스트에 대한 복수의 답안을 수신하고 채점하되, 부정 행위 검출을 위해 상기 복수의 시험자 단말이 제출한 상기 복수의 답안에 대해 소스 코드 유사도 검사를 수행하되,
상기 입력 값에 따라, 문제 UI 및 채점 UI가 다르게 생성되는 것이고,
상기 코딩 테스트는,
하나 이상의 상기 문제 UI 및 상기 채점 UI를 포함하고,
입력 값을 수신하는 과정에서
상기 출제자 단말로부터 상기 문제 UI에 대한 공개여부 및 문제 정보를 수신하는 단계를 더 포함하되, 상기 시험자 단말에 초대 알림을 제공한 이후 상기 출제자 단말의 선택에 기초하여, 상기 문제 및 문제에 대한 채점을 공개 또는 비공개로 설정하고,
상기 문제 UI를 공개하는 경우, 타 출제자 단말로 상기 입력 값이 공유되는 것이고, 상기 문제 정보는 제목, 난이도, 출처, 분류, 문제 설명 및 출제 의도 중 어느 하나 이상을 포함하는 정보이며,
상기 시험자 단말에 초대 알림을 제공한 이후
테스트 결과에 따라 실패한 케이스에 대한 메시지를 상기 시험자 단말로 제공할 것인지 여부를 결정하고, 상기 출제자 단말의 선택에 따라 상기 메시지를 상기 시험자 단말로 제공하고,
상기 시험자 단말에 초대 알림을 제공하는 과정에서
초대 URL을 생성하여, 상기 시험자 단말에 대응하는 이 메일로 초대 알림을 제공하되, 상기 코딩 테스트에 대한 링크 정보를 포함하는 상기 초대 URL을 상기 시험자 단말의 개수에 대응하는 각각 상이한 상기 초대 URL을 생성하는 것인,
코딩 테스트 및 채점 알고리즘 제공 방법을 수행하는 서버.
In the server that performs a coding test and scoring algorithm provision method,
A memory in which a program for providing coding test and scoring algorithms is stored; And
Including a processor that executes the program,
The processor according to the execution of the program,
Receiving a request to generate a coding test from the tester terminal, receiving authentication information for one or more tester terminals to provide the coding test from the tester terminal, and input values corresponding to the problem UI and the scoring UI from the tester terminal Receive, generate a question according to the input value, provide an invitation notification to the tester terminal designated by the tester terminal, receive and score a plurality of answers to the coding test from a plurality of tester terminals, but cheat For detection, a source code similarity check is performed on the plurality of answers submitted by the plurality of tester terminals,
According to the input value, the problem UI and the scoring UI are generated differently,
The coding test,
Including one or more of the problem UI and the scoring UI,
In the process of receiving the input value
Further comprising the step of receiving information on whether or not to disclose the question UI and question information from the questioner terminal, wherein after providing an invitation notification to the tester terminal, scoring for the question and the question is based on the selection of the questioner terminal. Make it public or private,
When the question UI is disclosed, the input value is shared with the other questionnaire terminal, and the question information is information including any one or more of title, difficulty, source, classification, problem description, and questionnaire intention,
After providing the invitation notification to the tester's terminal
Determine whether to provide a message for a failed case to the tester's terminal according to the test result, and provide the message to the tester's terminal according to the selection of the tester's terminal,
In the process of providing an invitation notification to the tester's terminal
By generating an invitation URL, an invitation notification is provided by e-mail corresponding to the tester terminal, and the invitation URL including link information for the coding test is generated, respectively, different invitation URLs corresponding to the number of tester terminals. To do,
A server that performs coding tests and methods of providing scoring algorithms.
KR1020180168320A 2018-12-24 2018-12-24 Method for provide coding tests and scoring algorithms KR102221228B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180168320A KR102221228B1 (en) 2018-12-24 2018-12-24 Method for provide coding tests and scoring algorithms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168320A KR102221228B1 (en) 2018-12-24 2018-12-24 Method for provide coding tests and scoring algorithms

Publications (2)

Publication Number Publication Date
KR20200078943A KR20200078943A (en) 2020-07-02
KR102221228B1 true KR102221228B1 (en) 2021-03-03

Family

ID=71599331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168320A KR102221228B1 (en) 2018-12-24 2018-12-24 Method for provide coding tests and scoring algorithms

Country Status (1)

Country Link
KR (1) KR102221228B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230159249A (en) 2022-05-13 2023-11-21 (주)자인원 Coding test apparatus and method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648772B1 (en) * 2021-11-19 2024-03-19 주식회사 스마트크리에이터 Online examination platform system of preventing and coping with cheating using metaverse
TWI824984B (en) * 2023-06-21 2023-12-01 和氏科技有限公司 Programming scoring system and scoring method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090097532A (en) * 2008-03-12 2009-09-16 주식회사 온비즈시스템 Service system for personalized item-pool education via online and the method thereof
KR20150119578A (en) * 2014-04-15 2015-10-26 에스케이플래닛 주식회사 Method for calculating score according to variable reference data, apparatus and system for the same
KR101764890B1 (en) * 2016-01-11 2017-08-04 주식회사 생각공간 Method of providing programmer test service and server performing the same
KR101846702B1 (en) 2016-09-05 2018-04-09 이규호 Programming education system and programming education method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230159249A (en) 2022-05-13 2023-11-21 (주)자인원 Coding test apparatus and method thereof

Also Published As

Publication number Publication date
KR20200078943A (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US10169717B2 (en) System and method for defining and using different levels of ground truth
US8214446B1 (en) Segmenting access to electronic message boards
US10313364B2 (en) Adaptive client-aware session security
KR102221228B1 (en) Method for provide coding tests and scoring algorithms
Lancaster et al. Rethinking assessment by examination in the age of contract cheating
Young et al. ‘Nobody wants the parents involved’: Social norms in parent and adolescent responses to cyberbullying
US11016982B2 (en) Methods, apparatuses and computer program products for outputting improved autosuggestions in a group-based communication platform
US10192043B2 (en) Identity verification
Aisyah et al. Development of continuous authentication system on android-based online exam application
KR102012286B1 (en) Apparatus and Method for Measuring Pure Time using Distance Sensor and Camera
KR101182629B1 (en) Learning services providing method and system
US20160147738A1 (en) System and method for multi-lingual translation
US20160217139A1 (en) Determining a preferred list length for school ranking
KR20110099977A (en) System for providing incorrect answer note based on online lecture
US11042571B2 (en) Data redundancy maximization tool
US20160217540A1 (en) Determining a school rank utilizing perturbed data sets
Vantova et al. Mobile application for creating presence lists
Andoh-Baidoo et al. Architecture for managing knowledge on cybersecurity in Sub-Saharan Africa
Hina et al. A relational study of critical threats and risks affecting the potential usage of collaborative pattern
CN113642982A (en) Autonomous learning system and autonomous learning method
KR102118076B1 (en) Method for provide rewards to ai(artificial intelligence) and distribute the rewards to other users
KR20150080457A (en) System, method and program for providing question using mobile terminal
Wei et al. An automatic test platform to verify the security functions for secure WIA-PA wireless sensor networks
KR102496823B1 (en) System and method for medical institution information sharing based on false review verification of cosmetic surgery review flatform
KR20150025112A (en) The method, server and system for providing online learning service

Legal Events

Date Code Title Description
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