KR102013955B1 - 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법 - Google Patents

소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법 Download PDF

Info

Publication number
KR102013955B1
KR102013955B1 KR1020180062197A KR20180062197A KR102013955B1 KR 102013955 B1 KR102013955 B1 KR 102013955B1 KR 1020180062197 A KR1020180062197 A KR 1020180062197A KR 20180062197 A KR20180062197 A KR 20180062197A KR 102013955 B1 KR102013955 B1 KR 102013955B1
Authority
KR
South Korea
Prior art keywords
education
content
evaluation
programming
smart
Prior art date
Application number
KR1020180062197A
Other languages
English (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 KR1020180062197A priority Critical patent/KR102013955B1/ko
Application granted granted Critical
Publication of KR102013955B1 publication Critical patent/KR102013955B1/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
    • G06Q50/2057Career enhancement or continuing education service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Educational Administration (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 방법이 개시된다. 소프트웨어 교육서비스를 제공하는데 있어서, 국가직무능력표준(NCS) 기반의 학습 모델을 바탕으로 동영상, 음성, 이미지, 텍스트 콘텐츠를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구를 개발하며, 소스 코드를 제공하며, 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌를 위한 멀티미디어 동영상 강의, ICT 정보기술과 프로그래밍 언어의 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서)과 각 단계(초급/중급/고급/전문가 레벨)별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 교육생 개인별 소프트웨어 소스 코드 코딩 및 컴파일 에러나 링크드 에러를 수정 체크하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하며, 학습자 수준별 교육 콘텐츠를 디스플레이하는 UX 콘텐츠 브라우저를 제공하며, 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅을 제공하는 인터렉티브 이러닝 서비스를 제공하며, 인터넷을 통해 미리 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠를 스마트 교육 서버에 등록시키고, PC, 태블릿PC에서 소프트웨어 전문가 실무교육과 평가 서비스를 제공한다.

Description

소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법{SMART EDUCATION SYSTEM FOR SOFTWARE EXPERT PRACTICAL AFFAIRS EDUCATION AND ESTIMATION AND METHOD THEREOF}
본 발명은 스마트 교육서비스 제공 시스템 및 방법에 관한 것으로, 보다 상세하게는 소프트웨어 교육서비스를 제공하는데 있어서, 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 동영상, 음성, 이미지, 텍스트 콘텐츠를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구를 개발하며, 정보 기술이 설명된 전자책과 소스 코드를 제공하며, 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌(동영상, 음성, 그래픽, 이미지, 텍스트)를 위한 멀티미디어 동영상 강의, ICT 정보기술과 프로그래밍 언어의 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서)과 각 단계(초급/중급/고급/전문가 레벨)별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 소프트웨어 소스 코드 코딩 및 컴파일 에러나 링크드 에러를 수정 체크하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과를 체크하여 교육생 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하며, 학습자 수준별 교육 콘텐츠를 디스플레이하는 UX 콘텐츠 브라우저를 개발하고, TCP/IP를 사용하여 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅을 제공하는 인터렉티브 이러닝 서비스를 제공하며, 인터넷을 통해 여러 분야의 내용에 대하여 미리 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠를 스마트 교육 서버에 등록시키고, PC, 태블릿PC에서 소프트웨어 전문가 실무교육과 평가 서비스를 제공하는, 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 방법에 관한 것이다.
2012년 기준 세계 소프트웨어 산업은 연간 4%대의 성장을 유지하고 있으며 시장 규모는 1조 3천억달러이며, 이중 휴대폰 시장(2,446억 달러)의 5.4배, 반도체 시장(3,161억 달러)의 4.2 배 규모인데 글로벌 소프트웨어 시장 내 한국의 점유율은 약 2.8%(게임, 인터넷 포함)에 불과하며, 사실상 세계 시장에서 소프트웨어 점유율은 미미하다고 볼 수 있다.
모바일, 클라우드, 빅 데이터, 소셜, 보안, IT 서비스 관련 비즈니스 수요가 소프트웨어 산업의 성장을 견인하고 있으며, 스마트폰, 통신기기나 자동차, 항공 등의 개발원가에서 소프트웨어가 차지하는 비중이 커지고 있으며 특히 통신기기는 53%, 자동차는 52%, 항공 51% 등으로 소프트웨어가 차지하는 절반 이상을 차지하고 있다.
국내 소프트웨어 시장은 2013년에 전년대비 5.2% 성장한 101억 달러를 달성했으며, 모바일, 클라우드, 빅데이터, 소셜, 보안 관련 SW 수용 증가가 성장을 견인했으며, 세계 소프트웨어 시장에서 국내 소프트웨어 시장이 차지하는 비중은 2016년까지 1.0% 대를 유지할 전망이다.
국내 소프트웨어 인력현황을 살펴보면, 국내 소프트웨어 기업 수는 7,103개(2,013년 기준, 임베디드 소프트웨어 제외)로 전년 대비 2.2% 증가하였고 임베디드 소프트웨어 기업 수는 2,400개로 파악되며 이러한 소프트웨어 기업에 종사하는 인력은 12만 8,376명, 소프트웨어 기술인력은 10만 2,730명, 그중 IT 서비스는 72,053명 종사 인력 중 기술인력이 59,079로 82%를 차지한다.
그럼에도 불구하고, 전반적으로 소프트웨어 개발 전문가는 기업이 필요로 하는 필요 인력 보다 평균적으로 4.1% 부족하다고 조사되었으며, 이중 웹 전문가의 부족은 5.2%, 컴퓨터 시스템 설계 전문가의 부족은 2.6%로 파악되며, 특히 응용 SW 개발자나 시스템 소프트웨어 개발자 인력이 가장 부족하다고 조사되었다.
소프트웨어 산업은 제조업 및 서비스업에 적용되어 생산성을 형상시키고 부가가치를 높이는 중요한 역할을 하며, 스마트폰 등의 전자·통신 제품 뿐만아니라 자동차, 조선, 항공 등 전통 제조업 및 서비스업과 융합함으로써 그 기능과 활용범위가 급속히 확대되고 있다.
특히 스마트폰의 경우, 소프트웨어를 활용함으로써 기존 휴대폰에 비해 디자인, 사용자 인터페이스(UI), 성능을 향상시켜 재미있는 여러가지 응용이 가능하다.
소프트웨어가 바꾸어갈 세상은 AGV 무인 자동차를 타고 배달해 주는 로봇, 가사 도우미 로봇, Siri 또는 구글 보이스(Google Voice) 같은 음성 인식과 패턴 인식, 생명 과학, 뇌과학에서도 기계 학습(machine learning), 인공 지능(Artificial Intelligence) 등 혁신이 일어나고 있다.
그러므로, 소프트웨어를 얼마나 잘 만드느냐에 따라 제품의 품질이 결정되며, 현재 우리나라의 소프트웨어 기술 수준은 가장 앞서 있는 미국에 비해 한참 떨어져 있고, 유럽 국가와 인도에 비해 떨어지고 있는 상태이므로 소프트웨어 엔지니어의 전문가 실무교육과 질적 향상이 필요함과 동시에 소프트웨어 전문가와 엔지니어 양성이 시급하다.
그러므로, 오프라인 소프트웨어 시장 및 온라인 소프트웨어 시장에서는 잘 교육된 소프트웨어 전문가와 엔지니어를 키워내는 잘 만들어진 스마트 교육 시스템이 필요하다.
이와 관련된 선행기술1로써, 특허 등록번호 10-04602460000에서는 "인터넷 환경에서 프로그래밍 실습을 위한 가상교육 시스템"이 등록되어 있다.
인터넷을 통하여 사용자가 입력한 프로그램 소스파일의 원격 컴파일링을 수행함으로써 사용자에게 웹기반의 프로그램 개발환경을 제공하는 인터넷환경에서 프로그래밍 실습을 위한 가상 교육 시스템 및 방법에 관한 것이다. 가상 교육 시스템은 적어도 하나 이상의 사용자 단말기를 포함하며 프로그램 소스 파일의 생성을 지원하기 위한 클라이언트 시스템, 및 상기 클라이언트 시스템과 인터넷을 통해 접속된 서버 시스템을 포함하며,
상기 클라이언트 시스템은 상기 생성된 프로그램 소스 파일과 원격 컴파일 요구를 상기 인터넷을 통해 상기 서버 시스템으로 전송하고,
상기 서버 시스템은 상기 컴파일 요구에 응답하며 상기 전송된 프로그램 소스 파일에 대하여 컴파일을 수행하여 그 결과를 상기 인터넷을 통해 상기 클라이언트 시스템으로 전송한다.
그 결과, 사용자는 웹사이트상에서 프로그래밍 이론교육과 실습을 병행할 수 있어 학습효과를 높일 수 있고, 고가의 프로그래밍 개발툴을 별도로 구입할 필요가 없어 경제적이다.
도 1은 종래의 인터넷환경에서 프로그래밍 실습을 위한 가상 교육 시스템의 개략적인 구성도이다. 본 실시예의 가상 교육시스템은 프로그래밍 언어 중에서도 자바언어에 적용한 구현예를 보인다.
인터넷을 통한 프로그래밍 가상 교육 시스템은 크게, 웹브라우저(3)를 구비한 복수개의 단말기(1,2)를 포함한 클라이언트 시스템(A), 및 상기 클라이언트 시스템(A)과 인터넷(4)을 통하여 연결되어 가상 교육 웹서비스를 제공하는 서버 시스템(B)으로 구분된다.
클라이언트 시스템(A)은 적어도 하나 이상의 학생용 단말기(1)와 교수용 단 말기(2), 그리고 이들 단말기(1,2) 각각에 구비된 웹브라우저(3)를 포함한다.
학생용 단말기(1)는 학생들이 자바프로그래밍 가상 교육을 위한 웹사이트에 가입 등록하여 웹사이트에 등록된 다양한 정보데이터 중 원하는 정보데이터를 선택하고 이를 웹서버(5)를 통해 제공받아 자바 프로그래밍 언어를 학습하는데 사용되며, 특히 학습창에서 학생 자신이 입력한 소스코드에 대해서 원격컴파일 및 실행명령을 선택으로써 이 선택된 명령이 웹브라우저(3)를 통해 서버시스템(B)측으로 전달될 수 있도록 한다.
교수용 단말기(2)는 자바 프로그램 교과목에 대해서 강의할 내용을 다양한 형태로 만들고 인터넷(4)을 통해 서버 시스템(B)측으로 업로딩시키고, 학생들이 학생용 단말기(1)를 통해 웹사이트내 게시판에 올린 질문사항들을 검색하여 이에 대한 답변안을 마련하는데 사용된다.
웹브라우저(3)는 하이퍼텍스트 마크업 언어(HyperText Markup Language: HTML)로 기술된 하이퍼미디어문서를 검색하기 위하여 사용되는 도구로서, 인터넷상의 모든 문서를 검색하여 그 문서의 내용을 사용자가 볼 수 있도록 화면에 디스플레이하는 역할을 수행하는데, 본 발명에서 웹브라우저(3)는 HTML 웹페이지 또는 자바 웹페이지인 JSP(Java Server Pages) 페이지로 접근하여 그 내용을 사용자가 볼 수 있도록 한다 여기서, JSP 페이지는 동적인 웹페이지를 가장 편리하고, 효율적인 방법으로 생성할 수 있도록 하는 자바 기술로서, 일반적인 HTML, DHTML(Dynamic HTML), XML(Extensible Markup Language)에 자바 코드를 삽입하는 방법에 의해 생성되며, 자바와 HTML의 조합을 이용하여 동적인 웹페이지를 쉽게 생성시킬 수 있 다.
서버 시스템(B)은 가상교육 웹서비스를 제공하기 위한 환경을 구축하기 위한 프로그램으로서, 웹서비스를 위한 데이터의 전송 및 입력데이터의 처리를 위한 웹서버(5), 상기 웹서버(5)로부터 전달된 정보데이터를 해당 데이터베이스(DB)에 저장하고 상기 웹서버(5)로부터 요구된 해당 정보데이터를 출력하는 데이터베이스 서버(12), 및 사용자의 자바 프로그래밍 실습을 위한 소스 파일과 클래스 파일, 및 교수의 자바 강의안 파일을 저장하고 상기 웹서버(5)로부터 요구되는 해당 파일을 출력하는 파일 서버(17)로 구성된다.
파일서버(17)에는 교수의 강의안파일 DB(18), 소스파일 DB(19), 및 클래스파일 DB(20)가 연결되어 있다. 소스파일DB(19)는 본 발명에 따른 가상교육 웹사이트에서 학생들이 자바 프로그래밍 실습을 통해 작성한 파일들을 저장하고 있고, 클래스파일 DB(20)는 소스파일 DB(19)에 저장된 자바소스파일들이 컴파일되어 생성된 클래스파일들을 저장하고 있으며, 이들 클래스파일에 대하여 실행명령을 하면 실행결과가 바로 출력된다.
또한, 파일서버(17)는 웹서버(5)단의 소스파일 처리 빈(Bean)(9)과 명령어 처리 빈(Bean)(8)을 필요에 따라 사용한다.
데이터베이스 서버(12)는 학생들 각각의 개인신상기록과 성적데이타 등의 회원정보를 저장하는 회원정보 DB(14), 가상교육 웹사이트 홈페이지에 제공되는 게시판의 질의/응답 내용 정보를 저장하는 게시판 정보 DB(15), 및 파일서버(17)에 저장되어 있는 파일에 대한 정보를 가지고 있는 소스파일 관리 DB(16)를 데이터베이 스로서 구비하며,
이들 데이터베이스와 연결되어 웹서버(5)로부터 데이타 인출 및 저장요구를 수신하며 상기 데이터베이스들을 통합관리하는 데이터베이스 관리자(13)를 더 포함한다 소스파일 관리 DB(16)는 상기 회원정보 DB(14)와 같이 연동하며 각 회원에 대해 저장된 파일의 위치를 파악하는데 필요한 데이타를 가지고 있으며, 웹서버(5)단의 소스파일 처리 빈(Bean)에 의해 호출되어 자바소스파일(19)과 클래스 파일(20)을 호출, 삭제수정할 수 있다.
웹서버(5)는 가상교육 웹서비스를 위한 데이터의 전송 및 입력데이터의 처리를 위한 것으로, 클라이언트 시스템(A) 측이 자바 가상교육 웹서비스를 받고자 URL주소를 입력하여 HTTP 요구를 발생시켰을때 이를 수신하여 사용자측으로 제공하는 사이트 홈페이지로서, HTML 또는 JSP 페이지로 구성된 자바 웹페이지(6), 및 상기 자바 웹페이지(6)로 수신된 사용자의 요구사항에 필요한 동작을 수행하기 위해 자바 프로그래밍에서 필요한 구성요소를 미리 작성해 놓고 특정한 일을 독립적으로 수행하는 컴포넌트 모듈인 프로그램 처리 로직(7)을 구비한다.
프로그램 처리 로직(7)은 자바 빈스(Java Beans)로 통칭할 수 있는데, 그 내부 구성요소로서, 파일서버(17)에 연결된 자바 컴파일러를 호출하여 자바소스파일을 컴파일하거나 실행할 클래스 파일을 지정하여 실행된 결과를 처리하기 위한 프로그램 모듈인 명령어 처리 빈(Bean)(8), 사용자가 입력한 파일을 저장하거나, 저장된 파일을 DB로부터 호출하거나 삭제하는 등과 같이 파일을 관리하기 위한 로직을 가지고 있는 프로그램 모듈인 소스파일 처리 빈(Bean)(9), 회원정보의 추가, 삭제, 수정 등과 같이 회원관리 기능을 수행하기 위한 프로그램 모듈인 회원관리 빈(Bean)(10), 그리고 홈페이지에 제공된 게시판에 대하여 질문이나 답변등의 글을 입력, 추가, 삭제하기 위한 프로그램 모듈인 게시판 처리 빈(Bean)(11)을 포함한다.
도 2는 도 1의 클라이언트측에서 입력한 프로그래밍(예를 들면, 자바) 소스파일에 대하여 원격컴파일을 수행하기 위한 명령어 처리과정을 보인 플로차트이다.
사용자(즉, 학생)가 가상 교육 웹서비스에서 제공하는 소스코드입력창(도 3f)에 자신이 학습한 자바 프로그램 소스를 입력하고 입력버튼(32)을 클릭하면 입력된 소스파일은 파일서버(17)단의 소스파일 DB(19)에 저장된다 이후, 사용자가 좌측에 위치된 툴바영역의 컴파일메뉴(33)를 선택하면, 도 3j에 도시된 바와 같이 컴파일할 자바 파일을 선택하라는 선택창이 디스플레이된다. 이때, 사용자가 선택창 하단에 위치한 컴파일버튼(34)을 누르면 웹서버(5)는 프로그램 처리 로직(7)의 명령어 처리 빈(8)을 호출하여 컴파일과 관련된 클래스들을 클래스파일 DB(20)로부터 가져온다(단계 S10) 상기 단계(S10) 이후에 명령어 처리 빈(8)은 현재 접속된 사용자 및 사용자가 위치하고 있는 디렉토리를 회원 관리 빈(10)과 접속하여 파악한다(단계 S11) 상기 단계(S11)에서 현재 접속된 사용자 및 사용자의 디렉토리가 파악되면, 상기 명령어 처리 빈(8)은 자바 컴파일을 위한 명령어를 작성한다(단계 S12).
이 때, 작성되는 컴파일 명령어의 일예를 보이면 다음과 같다.
String pwd = clsBeangetPwd();
pwd = pwd + filename;
command ='javac' + pwd;
여기서, 최종적인 컴파일 명령어는 마지막 줄의 'command ='javac' + pwd;'가 된다.
단계(S12)에서 자바 컴파일을 위한 명령어가 작성되면, 상기 명령어 처리 빈(8)은 파일서버(17)를 통해서 클래스파일 DB(20)로부터 명령어 처리 클래스를 호출한다(단계 S13) 여기서, 상기 명령어 처리 클래스는 실행시키면 바로 처리 결과가 출력되는 것으로, 컴파일 명령을 수행하기 위한 클래스파일이다.
그리고, 상기 명령어 처리 빈(8)은 상기 명령어 처리 클래스가 컴파일명령을 실행시키면, 그 컴파일 결과를 상기 명령어 처리 클래스로부터 받아서 자바 웹페이지(JSP)(6)로 출력함으로써(단계 S14) 도 2의 원격컴파일 수행 프로그램은 종료된다. 이때, 상기 단계(S14)에서 컴파일이 정상적으로 수행되면 도 3k에 도시된 바와 같이 정상적으로 컴파일이 수행되었음을 알리는 메시지창이 디스플레이되고, 컴파일이 정상적으로 수행되지 않고 소스코드에서 에러가 있으면 컴파일에러를 알리는 메시지창이 디스플레이된다.
이와 관련된 선행기술2로써, 특허 등록번호 10-16711790000 에서는 "프로그래밍 학습 장치 및 방법"이 등록되어 있다.
프로그래밍 학습장치는, 양방향 통신부와; 상기 양방향 통신부로부터 데이터를 입력받아 프로그래밍 언어 학습자의 실력과 진도 등을 실시간 파악하여 이에 적합한 프로그래밍 예제를 제공하는 제어부와; 상기 제어부로부터 제공된 프로그래밍 예제에 따른 상기 학습자가 입력 정보를 실시간으로 입력하도록 제공된 입력부와; 상기 입력부로부터 입력된 상기 입력 정보를 통해 상기 제어부가 이를 가공하고, 가공된 출력값을 실시간으로 출력하는 출력부를 포함하여 구성됨으로써, 프로그래밍 학습시 흥미를 유발하여 자율적인 학습을 유도하고, 어렵고 따분하고 힘든 코딩 작업이 아닌 게임하듯이 재미있고 유익한 프로그래밍 환경을 제공하며, 프로그래밍 학습이 시각, 청각, 촉각 등 실감나는 산 교육을 제공함으로써 자발적이고 자율적인 최적의 프로그래밍 언어 습득 환경을 제공한다.
국내에서는, 삼성 멀티캠퍼스, 오라클 자바교육센터, 비트교육센터, HP 교육센터에서는 오프라인 소프트웨어 교육이 주를 이루고 있으며, 오프라인 및 온라인 소프트웨어 시스템은 여러 가지 SW 실무 교육를 위해 온라인 학습 시스템과 동영상 강의가 제공되어 왔다.
그러나, 종래의 SW 교육서비스 제공 시스템은 체계적인 ICT 정보 기술 및 전자책과 소스 코드 제공 및 온라인 소스 코딩 및 컴파일을 배우고, 소프트웨어 교육에 적합한 강사와 교육생의 개인 맞춤형 반복 학습 서비스를 제공하는 국가직무능력표준(NCS,National Competency Standard) 기반 온라인 소프트웨어 교육 서비스 플랫폼을 제공하지 않았다.
특허 등록번호 10-04602460000 (등록일자 2004년 11월 26일), "온라인 교육서비스 제공서버의 온라인 교육서비스 제공방법", 김양우 특허 등록번호 10-13335260000 (등록일자 2013년 11월 21일), "프로그래밍 학습 장치 및 방법", 도경민, 강현웅
본 발명의 목적은 NCS(National Competency Standard, 국가직무능력표준)과 그 평가 기준에 부합되는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 방법 및 그 장치를 제공한다.
또한, 소프트웨어 교육서비스를 제공하는데 있어서, 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 동영상, 음성, 이미지, 텍스트 콘텐츠를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구를 개발하며, 정보 기술이 설명된 전자책과 소스 코드를 제공하며, 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌(동영상, 음성, 그래픽, 이미지, 텍스트)를 위한 멀티미디어 동영상 강의, ICT 정보기술과 프로그래밍 언어의 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서)과 각 단계(초급/중급/고급/전문가 레벨)별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 소프트웨어 소스 코드 코딩 및 컴파일 에러나 링크드 에러를 수정 체크하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과를 체크하여 교육생 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하며, 학습자 수준별 교육 콘텐츠를 디스플레이하는 UX 콘텐츠 브라우저를 개발하고, TCP/IP를 사용하여 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅을 제공하는 인터렉티브 이러닝 서비스를 제공하며, 인터넷을 통해 여러 분야의 내용에 대하여 미리 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠를 스마트 교육 서버에 등록시키고, PC, 태블릿PC에서 소프트웨어 전문가 실무교육과 평가 서비스를 제공한다.
또한, 온라인 소프트웨어 교육 서비스 시스템은 소프트웨어 전문가 실무 교육에 있어서, 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠, 전자책(e-Book, 디지털 교과서) 및 SW 소스 코드가 함께 교육생 단말로 제공되면서 기초 단계부터 심화학습 단계까지 각 단계 별로 기본 문법(syntax) 학습 및 코드 실습->샘플 코드 분석 및 학습->컴파일 오류 수정 학습->알고리즘 적용 연습-> 복잡한 코딩 연습의 5단계의 학습을 진행하여 교육생이 과제에 대한 정답 및 소프트웨어 소스 코드를 입력받고 이에 대한 컴파일 수행결과를 제시하여 소프트웨어 전문가 실무교육을 제공하는 스마트 교육 시스템 및 방법을 제공한다.
본 발명의 목적을 달성하기 위해, 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템은, 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구; 상기 저작 도구에 의해 생성된 교육 콘텐츠와 소스 코드를 저장하며, 정보 기술과 프로그래밍 언어의 문법이 표현된 전자책(e-Book)과 상기 교육 콘텐츠 및 상기 소스 코드를 사용자 단말로 제공하고, 동영상 강의와 프로그래밍 실습의 컴파일 기능과 정답을 제공하는 소프트웨어 프로그래밍 교육 서비스를 제공하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 전자책의 내용에 관한 시험과 프로그래밍 코딩과 실습 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공하는 스마트 교육 서버; 및 상기 스마트 교육 서버와 접속하여, 멀티미디어 동영상 강의와 상기 저작 도구에 의해 생성된 교육 콘텐츠와 전자책과 소스 코드를 수신받아 컴파일 결과를 확인하는 디스플레이하는 UX 콘텐츠 브라우저를 구비하며, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공받는 사용자 단말을 포함하며,
상기 스마트 교육 서버는 상기 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가시에 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현한다.
본 발명의 다른 목적을 달성하기 위해, 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공방법은, (a) 저작도구에 의해 생성된 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠를 스마트 교육 서버에 저장하는 단계; (b) 상기 스마트 교육 서버와 접속하여 상기 저작 도구에 의해 생성된 상기 교육 콘텐츠와 정보기술과 프로그래밍 언어의 문법이 표현된 전자책과 상기 소스 코드를 사용자 단말로 제공하는 단계; 및 (c) 상기 사용자 단말은 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저를 구비하며, 상기 스마트 교육 서버로부터 상기 교육 콘텐츠와 상기 전자책과 상기 소스 코드를 제공받고, 제공된 멀티미디어 동영상 강의를 재생하며 프로그래밍 실습을 위해 소스 코드 컴파일을 통해 실행 결과 제공하며, 시험 결과와 함께 스마트 교육 서버로 제공하며, 상기 스마트 교육 서버가 개인별 학습상태 수집 및 분석부에 의해 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 학습자 수준별 맞춤형 콘텐츠 제공부에 의해 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 상기 사용자 단말로 제공받는 단계를 포함하며,
상기 단계 (c)에서, 상기 스마트 교육 서버가 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가시에, 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현한다.
본 발명에 따르면 NCS(National Competency Standard, 국가직무능력표준)과 그 평가 기준에 부합되는 소프트웨어 전문가 실무 교육 및 평가를 제공하며, 또한 소프트웨어 교육서비스를 제공함에 있어서, 개인별 학습자 수준에 따라 동영상, 음성, 이미지, 그래픽, 텍스트의 교육 콘텐츠, ICT 정보기술과 프로그래밍 언어의 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서) 및 SW 소스 코드를 동시에 교육생에게 제공하면서 교육생으로부터 텍스트 형식의 정답 및 소프트웨어 소스 코드 자체를 교육생의 사용자 단말로 입력받아 곧바로 입력받은 소프트웨어 코드를 실행시켜 원격 컴파일 기능을 제공하며 그 결과를 제시하여 보다 효과적인 소프트웨어 전문가 실무 교육 및 평가를 하는 효과가 있다.
온라인 소프트웨어 교육 시에, 강사와 교육자의 의도대로, 클라우드 서버 기반 C, C++, C#, CSS, HTML, Java, Javascript, Python, Ruby, Ruby on Rails, SQL 등의 소프트웨어 교육 서비스를 제공함에 있어서, 다양한 형식의 이론 강좌 공간에서 강사와의 인터렉티브 이러닝과 머신 러닝 기술을 사용하여 개인별 학습 수준을 분석 및 판단하며 동영상, 음성, 이미지, 텍스트 등의 다양한 형식의 교육 콘텐츠들을 제공하며, 파일서버에서 제공하는 ICT 정보기술이 포함된 전자책을 통해 프로그래밍 언어의 문법과 소스 코드 코딩과 실습과 정답을 제공하는 이론 학습 공간을 제공한다.
온라인 상에서, 사용자 단말은 국가직무능력표준(NCS) 기반으로 구성된 학습 모델로 설계된 프로그래밍 언어의 문법(Syntax)과 전자책(e-Book)의 내용을 습득하며, UX 브라우저의 같은 화면에서 동영상 강의와 프로그래밍 언어의 문법에 대한 학습한 이론들을 바로바로 코딩해 보면서 프로그래밍 실습과 코딩 테스트와 컴파일을 통해 그 SW 수행 결과를 확인해 볼 수 있다.
TCP/IP를 사용하여 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅 데이터 송수신을 제공하는 인터렉티브 이러닝 서비스를 제공한다.
사용자는 소프트웨어의 기본 문법을 활용하여 다양한 알고리즘 및 이론이 어떻게 프로그래밍 되는지 기초 단계부터 심화 학습 단계의 어플리케이션을 직접 제작하는 단계를 직접 경험하면서 실제 어플리케이션 개발 방법을 습득하게 된다. 사용자는 어플리케이션을 직접 개발하면서 컴파일 오류(compile error)과 링크 오류(linked error)에 대한 수정 방법에 대하여 시스템 상의 시뮬레이션과 강사의 정답 제시를 통하여 해결 방법을 훈련할 수 있다.
온라인 소프트웨어 교육에 있어서, 교육생은 사용자 단말을 사용하여 동영상 강의를 듣고, C/C++, HTML, JAVA 등의 프로그래밍 실습과 소스 코드를 사용한 컴파일과 오류 수정, 코드 테스트, 프로그래밍 언어와 데이터 구조와 문법을 학습하고 알고리즘 적응 훈련을 통해 소프트웨어 전문가가 될 수 있다.
도 1은 종래의 인터넷환경에서 프로그래밍 실습을 위한 가상 교육 시스템의 개략적인 구성도이다.
도 2는 도 1의 클라이언트측에서 입력한 프로그래밍(예, JAVA) 소스파일에 대하여 원격컴파일을 수행하기 위한 명령어 처리과정을 보인 플로차트이다.
도 3은 본 발명에 따른 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 서비스 제공 시스템의 구성도이다.
도 4는 스마트 교육서비스를 제공하는 전체 흐름도이다.
도 5는 소프트웨어 교육서비스를 제공하는 시스템의 일부 블록구성도이다.
도 6은 본 발명의 실시예에 따른 소프트웨어 교육을 수강하는 교육생에게 콘텐츠 제공의 예이다.
도 7은 지능형 온라인 SW 교육 플랫폼의 화면이다.
도 8a는 Learn Visual C++ 프로그래밍 학습도구 화면이다.
도 8b는 현재 소프트웨어 프로그래밍 언어 습득 과정을 보인 도면이다.
도 8c는 본 발명에 적용되는 컴파일 에러 수정 및 데이터 구조와 알고리즘 적응 훈련이 포함된 소프트웨어 습득 단계를 보인 도면이다.
도 9는 머신 러닝 프로세스의 i) 학습(Learning), ii) 개인별 학습 수준 판단(Prediction)을 보인 도면이다.
도 10은 머신 러닝 기법의 k-NN(k-Nearest Neighbors)을 설명한 도면이다.
도 11은 머신 러닝 기법의 SVM(Support Vector Machine) 분류법을 설명한 도면이다.
도 12는 머신러닝(AI)를 이용한 이러닝 교육생 수준 예측 시스템 처리 절차를 보인 플로차트이다.
도 13은 이론 영역(30%), 실습 영역(40%), 평가 영역(30%)에서 평가 영역별 비중을 보인 도면이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
도 3은 본 발명에 따른 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 서비스 제공 시스템의 구성도이다.
스마트 교육 시스템은 교육생이 소프트웨어 전문가 실무교육 서비스를 제공받을 때 사용하는 사용자 컴퓨터; 및 상기 소프트웨어 전문가 실무교육 서비스를 상기 사용자 컴퓨터로 제공하는 서버 컴퓨터가 구비되며, 인터넷을 통해 연결되며, 강사가 저작도구(authoring tool)를 사용하여 교육콘텐츠 및 정보기술과 프로그래밍 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서)과 프로그래밍 소스 코드를 업로드하는데 사용하는 강사 컴퓨터가 구비된다.
소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 방법은 소프트웨어 교육서비스를 제공하는데 있어서, 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 동영상, 음성, 이미지, 텍스트 콘텐츠를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구를 개발하며, 정보 기술이 설명된 전자책과 소스 코드를 제공하고, 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌(동영상, 음성, 그래픽, 이미지, 텍스트)를 위한 멀티미디어 동영상 강의, ICT 정보기술과 프로그래밍 언어의 문법(syntax)이 포함된 전자책(e-Book, 디지털 교과서)과 각 단계(초급/중급/고급/전문가 레벨)별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 소프트웨어 소스 코드 코딩 및 컴파일 에러나 링크드 에러를 수정 체크하고, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과를 체크하여 소프트웨어 프로그래밍 실습을 평가하며 교육생 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하고, 학습자 수준별 교육 콘텐츠와 소스코드를 디스플레이하는 UX 콘텐츠 브라우저를 개발하고, TCP/IP를 사용하여 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅을 제공하는 인터렉티브 이러닝 서비스를 제공하며, 인터넷을 통해 여러 분야의 내용에 대하여 미리 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠를 스마트 교육 서버에 등록시키고, PC, 태블릿PC에서 소프트웨어 전문가 실무교육과 평가 서비스를 제공한다.
또한, 소프트웨어 전문가 실무 교육에 있어서, 동영상, 음성, 이미지, 텍스트 콘텐츠, 전자책(e-Book, 디지털 교과서) 및 SW 소스 코드가 함께 교육생에게 제공되면서 교육생이 과제에 대한 정답 및 소프트웨어 코드를 입력받고 이에 대한 수행결과를 제공한다.
또한, 온라인 소프트웨어 교육 서비스 시스템은 소프트웨어 전문가 실무 교육에 있어서, 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠, 전자책(e-Book, 디지털 교과서) 및 SW 소스 코드가 함께 교육생 단말로 제공되면서 기초 단계부터 심화학습 단계까지 각 단계 별로 기본 문법(syntax) 학습 및 코드 실습->샘플 코드 분석 및 학습->컴파일 오류 수정 학습->알고리즘 적용 연습-> 복잡한 코딩 연습의 5단계의 학습을 진행하여 교육생이 과제에 대한 정답 및 소프트웨어 소스 코드를 입력받고 이에 대한 컴파일 수행결과를 제공하여 소프트웨어 능력 평가 기능을 제공하며, 소프트웨어 전문가 실무교육을 제공하는 스마트 교육 시스템 및 방법을 제공한다.
도 2는 본 발명에 따른 교육서비스를 제공하는 전체 흐름도이다.
교육서비스 제공방법은 먼저 NCS(National Competency Standard) 분류체계 및 과목별/수준별 교육내용을 저장하고 있는 소정의 데이터베이스로부터 NCS 분류체계 및 과목별/수준별 교육내용 정보를 제공받아 상기 NCS 기반 과목 및 수준을 설정(S101)하고, 교육목표 및 평가기준을 설정(S102)한다. 그 후 강사로부터 구체적인 교육콘텐츠 및 상기 교육콘텐츠에 대한 메타정보를 등록받아 이를 저장(S103)하고, 학습자 정보를 외부로부터 제공받아 학습자의 수준을 판단(S104)한 후 상기 학습자에게 적당한 컨테츠를 제공(S105)하여 교육서비스를 제공한다.
국가직무능력표준(NCS, National Competency Standards)은 산업현장에서 직무를 수행하기 위해 요구되는 지식·기술·소양 등의 내용을 국가가 산업부문별 수준별로 체계화한 것으로, 산업현장의 직무를 성공적으로 수행하기 위해 필요한 국가직무능력(지식, 기술, 태도)을 국가적 차원에서 표준화한 것이다.
국가직무능력표준 활용 범위에서는 기업체는 직무능력, 교육훈련기관은 직업 교육 훈련 과정을 개발하고 교수 계획 및 매체, 교재 개발 및 훈련 기준을 마련하고, 자격시험기관은 자격 시험 출제 기준과 시험 문항 및 평가 방법을 제공한다.
도 4는 스마트 교육서비스를 제공하는 전체 흐름도이다.
도 5는 교육 과목 설정 및 교육목표, 평가기준을 설정하고 소프트웨어 교육서비스를 제공하는 시스템의 일부 블록구성도이다.
교육과목 설정, 교육목표, 평가기준을 설정하는 방식은 포괄적인 목록에서 구체적인 목록으로 접근하는 탑다운(Top Down) 방식과 이와 반대로 구체적인 목록에서 포괄적인 목록으로 접근하는 방식인 바텀업(Bottom Up) 방식으로 적용된다.
예를들면, 가장 포괄적인 목록인 '업종선택'에서 '20. 정보통신'을 선택하고 '중분류'에서는 '01. 정보기술'을 선택하며, '소분류'에서는 '02.정보기술개발'을 선택하고 '세분류'에서는 '02.응용S/W엔지니어링'을 선택하며 '능력단위'에서는 '03. 애플리케이션 구현'을 선택한 예를 보이고 있다. 그리고 '과목분야(대분류)'에서 '01. 프로그래밍 기본활용능력'을 선택하고 '과목분야(소분류)'에서 '01.데스크톱 프로그래밍'을 선택한다.
이 경우 '01.데스크톱 프로그래밍'을 선택하는 경우 그에 맞는 '과목 선택'의 내용이 디스플레이되게 되고 그에 해당되는 수준을 선택할 수 있다.
도 3은 본 발명에 따른 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 서비스 제공 시스템의 구성도이다.
전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템은,
국가직무능력표준(NCS, National Competency Standard) 기반의 학습 모델을 바탕으로 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구(270);
상기 저작 도구(270)에 의해 생성된 교육 콘텐츠와 SW 소스 코드를 저장하며, 정보 기술이 표현된 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠 및 소스 코드를 제공하여 동영상 강의와 프로그래밍 실습의 컴파일과 정답을 제공하는 소프트웨어 프로그래밍 교육 서비스를 제공하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 전자책의 내용에 관한 시험과 프로그래밍 코딩과 실습 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공하는 스마트 교육 서버(200); 및
상기 스마트 교육 서버(200)와 접속하여, 멀티미디어 동영상 강의와 상기 저작 도구에 의해 생성된 교육 콘텐츠와 전자책과 소스 코드를 수신받아 컴파일 결과를 확인하는 디스플레이하는 UX 콘텐츠 브라우저를 구비하며, 교육생 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공받도록 학습자 수준에 따른 맞춤형 콘텐츠를 제공받는 사용자 단말(PC, 스마트폰, 태블릿 PC)을 포함하며,
상기 스마트 교육 서버는 상기 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가시에 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현한다.
상기 스마트 교육 서버(200)는,
웹 서버(미도시);
NCS 분류 체계 및 과목별/수준별 교육 내용을 정의하는 NCS 기반 과목 및 수준 설정부;
교육 목표와 국가직무능력표준(NCS, National Competency Standard)에 따른 커리큘럼/과목별 평가 기준을 설정하는 교육 목표 및 평가기준 설정부;
교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 정보를 등록하는 교육 콘텐츠 및 메타정보 등록부;
머신 러닝(machine learning)의 기계 학습 엔진과 학습 모델 알고리즘(k-NN, SVM)을 사용하여 프로그래밍 코딩과 실습 결과 및 전자책의 내용에 관한 시험 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 개인별 소스 컴파일 실습과 정보 기술 시험에 의해 측정되는 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하는 개인별 학습상태 수집 및 분석부;
상기 개인별 학습상태 수집 및 분석부와 연결되며, 상기 학습자 수준에 따른 맞춤형 콘텐츠를 제공하는 학습자 수준에 따른 맞춤형 콘텐츠 제공부;
강좌 개설하기/삭제하기, 과목별 강사 정보와, 강좌별 강사와 교육생 정보와 단계별 프로그래밍 교육 과정과 출결상황 및 프로그래밍 실습 및 시험 정보를 관리하는 강좌 개설/수강신청/교육 정보 관리부;
소스 코드DB에 저장된 소스 코드를 사용자 단말로 제공하는 소스 코드 제공부;
ICT 정보 기술 내용과 프로그래밍 문법(syntax)과 설명이 기재된 전자책(e-Book, 디지털 교과서)을 제공하는 전자책 제공부;
TCP/IP 쪽지 보내기/쪽지 받기를 통해 텍스트 메시지와 파일을 전송하는 쪽지 제공부;
상기 저작도구(270)에 의해 생성된 동영상, 음성, 이미지, 텍스트, SW 소스 코드를 포함하는 교육 콘텐츠를 저장하며, 온라인상에서 프로그래밍 교육 커리큘럼 정보와 과목 정보, 강사 정보와 수강 신청한 교육생의 정보를 저장하는 교육 콘텐츠DB(210);
국가직무능력표준(NCS) 분류 체계 정보가 저장된 NCS 분류 체계DB(220);
사용자 단말(100)로 전자책을 제공하는 전자책 DB(230); 및
프로그래밍 교육 강좌별 기초 단계로부터 심화 학습 단계까지 소스 코드를 저장하는 소스 코드 DB(231)를 포함한다.
실시예에서는, 전자책은 PDF 파일로 제작되며, 전자책 뷰어는 PDF 뷰어를 사용한다.
상기 스마트 교육 서버(200)는 회원 가입 정보를 입력받아 저장하며 Id/Passwd와 회원 정보를 관리하는 회원 관리부; 공인인증서 방식 또는 Id/Passwd 방식으로 교육 서비스의 사용자를 인증하는 사용자 인증부; 및 게시판을 더 포함한다.
상기 스마트 교육 서버(200)는 커리큘럼/과목 별로 교육생들의 수강 신청 정보를 접수하는 수강 신청부; 및 수강신청한 교육생 별로 소정의 강의료를 납부하는 교육비 정산부를 더 포함한다.
상기 스마트 교육 서버(200)는 스마트 교육 서비스와 관련된 동영상을 촬영하는 카메라와, 카메라로 촬영된 동영상을 인코딩하는 비디오 인코더와, 인코딩된 동영상을 유무선 통신망을 통해 스마트 교육 서비스와 프로그래밍 실습 교과목의 동영상과 음성 데이터가 포함된 미디어 스트림을 제공하는 스트리밍 서버를 더 포함한다.
상기 스마트 교육 서버(200)는 화상 회의 서버 및/또는 채팅 서버와 연결되며, 강사와 교육생들 단말과의 화상 채팅을 통해 화상 채팅 데이터 또는 채팅 데이터를 포함하는 질의 응답 데이터를 송수신하는 질의 응답 화상 채팅부(미도시)를 더 포함한다.
상기 스마트 교육 서버(200)는 P2P(Peer to Peer) 방식으로 강사와 교육생 또는 교육생과 교육생과의 작성된 텍스트들과 파일을 첨부하여 송수신할 수 있는 쪽지 보내기와 쪽지 받기를 제공하는 쪽지 제공부를 더 포함한다.
상기 사용자 단말은 PC(100)와 노트북, 태블릿 PC(320)를 포함하며, NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치되고,
상기 NCS 기반 교육 목표 및 평가기준 설정 마법사는 과목 선택, 과목 분야 대분류/중분류/소분류, 수준 선택이 표시된다.
상기 스마트 교육 서버(200)는 교육 커리큘럼에 따른 과목별 국가직무능력표준(NCS,National Competency Standard)의 평가 기준에 따른 시험과 강사의 시험 정답 입력을 제공하는 시험평가부를 더 포함한다.
상기 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저는 과목 표시부, 동영상 콘텐츠 표시부, 이미지 콘텐츠 표시부, 텍스트 콘텐츠 표시부, SW 코드 입력부, SW 수행결과 표시부, 및 정답 입력부를 포함한다.
본 발명의 스마트 교육 서비스 방법은 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공방법은, (a) 저작도구에 의해 생성된 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠를 스마트 교육 서버에 저장하는 단계; (b) 상기 스마트 교육 서버와 접속하여 상기 저작 도구에 의해 생성된 상기 교육 콘텐츠와 정보기술이 기재된 전자책과 상기 소스 코드를 사용자 단말로 제공하는 단계; 및 (c) 상기 사용자 단말은 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저를 구비하며, 상기 스마트 교육 서버로부터 상기 교육 콘텐츠와 상기 전자책과 상기 소스 코드를 제공받고, 제공된 멀티미디어 동영상 강의를 재생하며 프로그래밍 실습을 위해 소스 코드 컴파일을 통해 실행 결과 제공하며, 시험 결과와 함께 스마트 교육 서버로 제공하며, 상기 스마트 교육 서버가 개인별 학습상태 수집 및 분석부에 의해 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 학습자 수준별 맞춤형 콘텐츠 제공부에 의해 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 상기 사용자 단말로 제공받는 단계를 포함하며,
상기 단계 (c)에서, 상기 스마트 교육 서버가 국가직무능력표준(NCS) 기반의 학습 모델을 바탕으로 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
평가단계의 데이터의 종류는 크게 이론영역(30%), 실습영역(40%), 평가영역(30%)으로 나뉘며, 각 영역 별로 평가되는 방법이 다르며, 이론 영역에서는 SVM 방식으로 구현하고, 실습 및 평가영역에서는 k-NN 방식으로 구현하였다.
본 발명의 스마트 교육 서비스 방법은
NCS(National Competency Standard) 기반 과목 및 수준 설정부에 의해 NCS 분류 체계 및 과목별/수준별 교육 내용이 정의되는 단계;
교육 목표 및 평가기준 설정부에 의해 교육 목표와 국가직무능력표준(NCS)에 따른 커리큘럼/과목별 평가 기준이 설정되는 단계;
교육 콘텐츠 및 메타정보 등록부에 의해 교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 데이터가 등록되는 단계;
머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘(k-NN, SVM)을 사용하여 프로그래밍 코딩과 실습 결과 및 정보 기술과 과 프로그래밍 언어의 문법이 포함된 전자책의 내용에 관한 시험 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하여 판단하는 단계;
학습자 수준에 따른 맞춤형 콘텐츠 제공부, 전자책 제공부 및 소스코드 제공부에 의해 평가된 상기 학습자 수준에 따른 맞춤형 콘텐츠, 전자책(예, PDF) 및 소스 코드를 상기 사용자 단말로 제공하는 단계;
쪽지 제공부에 의해 P2P 방식으로 강사와 교육생 또는 교육생과 교육생과의 작성된 텍스트들과 파일을 첨부하여 송수신하는 TCP/IP 또는 UDP/IP 방식으로 쪽지 보내기와 쪽지 받기 제공 단계; 및
강좌 개설 및 강사/수강생 교육 관리부에 의해 강좌 개설하기/삭제하기, 과목별 강사 정보와, 강좌별 강사와 수강생 정보와 단계별 교육 과정과 출결상황 및 시험 정보를 관리하는 단계를 포함하며,
상기 사용자 단말은 스마트 교육 서버(200)와 연결되며, 상기 저작 도구(270)에 의해 생성된 동영상, 음성, 이미지, 텍스트, SW 소스 코드를 포함하는 통합 콘텐츠 패키지를 디스플레이할 수 있는 사용자 컴퓨터의 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저를 구비하며, NCS 분류 체계 및 과목별/수준별 교육 내용을 정의하며, 교육 목표와 국가직무능력표준(NCS)에 따른 평가 기준을 설정하며, 교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 데이터가 등록되고, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공받는 것을 특징으로 하며,
상기 단계 (c)에서, 상기 스마트 교육 서버가 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(K-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가되는 방법이 다르며, 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현한다.
스마트 교육 서버는 회원 가입을 위해 교육 서비스 회원 정보를 입력 받아 저장하며 ID,Passwd 및 회원 정보를 관리하는 회원 가입 단계; 및 사용자 인증 단계를 더 포함하며,
유료의 경우, 수강 신청부에 의해 커리큘럼/과목 별로 교육생들의 수강 신청 정보를 입력 받는 단계; 및 교육비 정산부에 의해 수강신청한 교육생 별로 소정의 강의료를 납부하는 교육비 정산 단계를 더 포함한다.
스마트 교육 서버는 화상 회의 서버 및 채팅 서버와 연결되며, 질의 응답 화상 채팅부에 의해 강사와 교육생들 단말과의 화상 채팅을 통해 질의 응답 데이터를 송수신하는 단계를 더 포함한다.
스마트 교육 서버는 쪽지 제공부에 의해 P2P(Peer to Peer) 방식으로 강사와 교육생 또는 교육생과 교육생과의 작성된 텍스트들과 파일을 첨부하여 송수신할 수 있는 쪽지 보내기와 쪽지 받기 제공 단계를 더 포함한다.
스마트 교육 서버는 시험평가부에 의해 교육 커리큘럼에 따른 과목별 국가직무능력표준(NCS)의 평가 기준에 따른 시험과 강사의 시험 정답 입력을 제공하는 단계를 더 포함한다.
사용자 단말은, 상기 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 콘텐츠 브라우저는 과목 표시부, 동영상 콘텐츠 표시부, 이미지 콘텐츠 표시부, 텍스트 콘텐츠 표시부, SW 코드 입력부, SW 수행결과 표시부, 컴파일 오류 체크 필터, 및 정답 입력부를 포함한다.
상기 사용자 단말은 PC와 노트북, 태블릿 PC를 포함하며, NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치되고,
상기 NCS 기반 교육 목표 및 평가기준 설정 마법사는 과목 선택, 과목 분야 대분류/중분류/소분류, 수준 선택이 표시된다.
온라인 소프트웨어 교육을 위한 수강 신청은 PC와 노트북, 태블릿 PC 및 KIOSK 단말 중 어느 하나의 단말을 사용한다.
온라인 소프트웨어 교육 시에, 강사와 교육자의 의도대로, 클라우드 서버 기반 C, C++, C#, CSS, HTML, Java, Javascript, Python, Ruby, Ruby on Rails, SQL 등의 소프트웨어 교육 서비스를 제공함에 있어서, 다양한 형식의 이론 강좌 공간에서 강사와의 인터렉티브 이러닝과 머신 러닝 기술을 사용하여 개인별 학습 수준을 분석 및 판단하며, 동영상, 음성, 이미지, 텍스트 등의 다양한 형식의 교육 콘텐츠들을 제공하며, 파일서버에서 제공하는 ICT 정보기술이 포함된 전자책을 통해 프로그래밍 언어의 문법과 소스 코드 코딩과 실습과 정답을 제공하는 이론 학습 공간을 제공한다.
각 프로그래밍 언어별로 쉽게 적용할 수 있도록 교육 커리큘럼 서비스를 제공한다.
JAVA, HTML 같은 비컴파일 언어 뿐 아니라, Visual C/C++ 언어 같은 컴파일 언어는 컴퓨터의 국소에서 컴파일되거나 또는 linux 상의 C, TCP/IP 프로그래밍은 사용자 단말이 Linux 운영 체제 상의 원격 서버 컴퓨터에 접속하여 컴파될 수 있다.
TCP/IP를 사용하여 쪽지 보내기/받기, 소스 코드 파일 전송하기/받기, 강사와 교육생의 화상 채팅 데이터 송수신을 제공하는 인터렉티브 이러닝 서비스를 제공한다.
소스코드 코딩을 통한 실습 공간은 학습한 이론들을 바로바로 코딩해 보면서 실습해 볼 수 있으며 그 SW 수행 결과를 확인해 볼 수 있다.
사용자는 온라인 상에서 국가직무능력표준(NCS) 기반으로 구성된 학습 모델로 설계된 프로그래밍 언어의 문법(Syntax)을 습득할 수 있으며, 소스 코드의 원격 컴파일 기능과 같은 화면에서 프로그래밍 문법(syntax)에 대한 코딩 테스트와 컴파일을 통해 프로그래밍 실습과 온라인 시험을 해보고 그 결과를 볼 수 있다.
스마트 교육 서버(200)는 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌를 위한 멀티미디어 동영상 강의, 파일 서버를 통해 ICT 정보기술과 프로그래밍 언어의 문법(syntax)과 내용이 기재된 전자책(e-Book, 디지털 교과서)과 각 단계별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 국소 또는 원격 프로그래밍 컴파일 기능을 제공하여 교육생 개인별 소프트웨어 소스 코드 코딩 및 컴파일 error 또는 linked error를 수정하여 체크하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 컴파일 실습 결과와 전자책 관련 내용에 대한 시험을 통해 개인별 학습 상태를 판단하고, 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하며, 학습자 수준별 교육 콘텐츠를 디스플레이하는 UX 콘텐츠 브라우저를 개발하고, 인터넷을 통해 여러 분야의 내용에 대하여 미리 전자책(e-Book, 디지털 교과서)과 교육 콘텐츠를 스마트 교육 서버(200)에 등록시키고, PC(100), 태블릿PC(320)에서 소프트웨어 전문가 실무교육과 평가 서비스를 제공한다.
예를 들면, 전자책은 ePUB 표준 포맷 전자책 또는 어드비 플래시 PDF를 사용하거나 또는 애플 사의 확대/축소, 회전 인터랙션이 가능한 e-Book 저작도구와 전책을 사용할 수 있다.
특히, 머신 러닝 기술을 사용하여 기계학습 엔진을 활용하여 사용자의 학습 상태를 파악하여 개인별 프로그래밍 학습 상태가 다르기 때문에 반복 학습이 가능하도록 개인별 사용자 맞춤형 콘텐츠를 제공한다.
온라인 소프트웨어 교육에 있어서, 동영상 강의와 교육 콘텐츠와 전자책을 제공하며, 소스 코드를 제공하고 컴파일 기능을 제공함으로써 사용자는 기본 문법을 활용하여 다양한 알고리즘 이론이 어떻게 프로그래밍 되는지 기초 단계부터 심화 학습 단계의 어플리케이션을 직접 제작하는 단계를 직접 경험하면서 실제 어플리케이션 개발 방법을 습득할 수 있다. 사용자는 어플리케이션을 직접 개발하면서 컴파일 오류(compile error)과 링크 오류(linked error)에 대한 수정 방법에 대하여 시스템 상의 시뮬레이션과 강사의 정답 제시를 통하여 해결 방법을 훈련할 수 있다.
도 6은 본 발명의 실시예에 따른 소프트웨어 교육을 수강하는 교육생에게 콘텐츠 제공의 예이다.
동영상 콘텐츠 표시부(1102)는 해당 과목에 대하여 미리 강사가 업로드 시킨 동영상 콘텐츠가 디스플레이되는 화면의 일부를 의미하며, 텍스트 콘텐츠 표시부(1103)는 해당 과목에 대하여 미리 강사가 업로드 시킨 텍스트 형식으로 작성된 콘텐츠가 디스플레이되는 화면의 일부를 의미하며, 과목표시부(1101)는 교육생이 현재 수강하고 있는 과목의 명칭을 표시하고 있는 화면의 일부를 의미하며, 코드입력부(1105)는 소정의 프로그램 랭귀지를 사용하여 프로그래밍하는 교육을 수강하는 학생이 과제로 부여받은 프로그램을 코딩하여 입력하는 화면의 일부이며, 수행결과표시부(1106)는 상기 코드입력부(1105)를 통하여 입력받은 프로그램 코드를 컴파일하여 수행시킨 결과를 표시하는 화면의 일부이며, 정답입력부(1104)는 프로그램 코드가 아닌 텍스트 형식 등으로 입력할 필요가 있는 내용을 입력하는 화면의 일부를 의미한다.
도 7은 지능형 온라인 SW 교육 플랫폼의 화면이다.
스마트 교육 서버(200)는 교육생이 사용하는 사용자 컴퓨터로부터 상기 코드입력부로부터 입력받은 소스 코드의 프로그램을 전달받아 이를 컴파일하고 컴파일상의 오류나 수행결과를 다시 상기 사용자 컴퓨터(100)로 전송하여 상기 수행결과 표시부(1106)에 표시될 수 있도록 한다. 이때, 스마트 교육 서버(200)는 상기 입력받은 코드에 바이러스 등이 포함되어 있는지 여부를 검사하며, 바이러스 검사결과 상기 입력받은 코드에 바이러스가 포함되어 있는 경우 이에 대한 컴파일 또는 상기 코드를 수행하는 것을 중지할 수 있다.
온라인 소프트웨어 교육에 있어서, 교육생은 사용자 단말을 사용하여 동영상 강의를 듣고, C/C++, HTML, JAVA 등의 프로그래밍 실습과 소스 코드를 사용한 컴파일과 오류 수정, 코드 테스트, 프로그래밍 언어와 데이터 구조(data structure)와 프로그래밍 문법(syntax)과 알고리즘 적응 훈련을 통해 소프트웨어 전문가가 될 수 있다.
도 8a는 Learn Visual C++ 프로그래밍 학습도구 화면이다.
도 8b는 현재 소프트웨어 프로그래밍 언어 습득 과정을 보인 도면이다.
도 8c는 본 발명에 적용되는 컴파일 에러 수정 및 데이터 구조와 알고리즘 적응 훈련이 포함된 소프트웨어 습득 단계를 보인 도면이다.
도 9는 머신 러닝 프로세스의 i) 학습(Learning), ii) 개인별 학습 수준 판단(Prediction)을 보인 도면이다.
스마트 교육 서버(200)는 각 프로그래밍 언어별 기초 단계부터 심화 학습 단계 및 전문가 단계까지 다양한 형식의 이론 강좌를 위한 멀티미디어 동영상 강의, 파일 서버를 통해 ICT 정보기술과 프로그래밍 언어의 문법(syntax)과 내용이 기재된 전자책(e-Book, 디지털 교과서)과 각 단계별 소스 코드와 정답을 교육생 사용자 단말로 제공하며, 국소 또는 원격 프로그래밍 컴파일 기능을 제공하여 교육생 개인별 소프트웨어 소스 코드 코딩 및 컴파일 error 또는 linked error를 수정하여 체크하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 컴파일 실습 결과와 전자책 관련 내용에 대한 시험을 통해 개인별 학습 상태를 판단하며, 개인별 학습 상태에 따른 각기 다른 맞춤형 반복 학습 서비스를 제공하며, 학습자 수준별 교육 콘텐츠를 디스플레이하는 UX 콘텐츠 브라우저를 사용한다.
* 온라인 프로그래밍 교육 시스템의 특징
- NCS(국가직무능력 표준) 기반 교육 및 평가 설정 마법사
- 인터렉티브 이러닝 기술
멀티미디어 동영상 강의, 다양한 형식의 이론 강좌(동영상, 음성, 그래픽 , 이미지, 텍스트)
- 머신러닝(machine learning) 및 SRS(Spaced Repetition System) 기술
기계 학습 엔진, 학습 모델 알고리즘
- 전자책(디지털 교과서)
- 소스코드 코딩 실습 공간(소스 코드 코딩, 컴파일 및 오류 수정)
소스 코드 프로그래밍 언어의 문법에 대한 코딩 테스트,
최종 코딩 커파일 결과 서버 제출(학습 수준 판단 자료)
- 정보 기술과 알고리즘 및 프로그래밍 언어와 문법이 표시된 전자책 내용 시험 결과 서버로 제출(학습 수준 판단 자료)
특히, 스마트 교육 서버(200)는 머신 러닝과 SRS(Spaced Repetition System)을 사용하여 기계학습 엔진을 활용하여 머신 러닝 프로세스의 i) 학습(Learning), ii) 소스 코드의 프로그램 컴파일 제출 결과 및 전자책 내용 시험 결과에 따라 개인별 학습 수준 판단(Prediction)을 통해 사용자의 학습 상태를 머시 러닝 기법을 사용하여 파악하고 이를 평가하며 반복 학습이 가능하도록 사용자 맞춤형 콘텐츠를 제공한다.
또한, 스마트 교육 서버(200)는 강사와 교육생, 교육생과 교육생과의 쪽지 보내기/받기, 화상 채팅 데이터를 송수신하는 서비스를 제공하며, 온라인 소프트웨어 교육에서 있어서 강사와 교육생의 인터렉티브 이러닝 기술을 제공한다.
(실시예)
* 인공지능(AI)의 머신 러닝 기법을 사용한 이러닝 교육생 수준 예측 시스템
현재 인터넷 강의 시스템은 강의 종료 후 교육생의 수준을 판단하는 기능이 부족하다. 이러한 부분을 인공지능(AI)의 머신러닝 기술을 사용하여 개인별 수강자의 수준을 파악하는 기술이 필요하다. 본 연구에서는 수강자의 수강시간, 시험(퀴즈) 등을 데이터로 학습하고, 실제 수강자에 대한 수준을 판단하도록 하는 연구를 하였다. 본 발명은 머신러닝을 사용하여 인터넷 강의 수강자 수준예측 프로그램을 제공한다.
먼저 서버 backend 및 frontend 프로그램이 필요하다. frontend에서는 데이터를 수집해 서버로 전달하는 역할을 한다. 이를 위해 html/javascript/ajax에 대한 지식이 기본적으로 필요하다. html은 하이퍼텍스트 마크업 언어라고 하며, 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것 뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다. javascript는 객체 기반의 스크립트 프로그래밍 언어이다. 웹 브라우저에서 실행되며, html언어로는 불가능한 프로그래밍 기법을 사용해야 할 때 주로 사용된다. ajax는 비동기 javascript and xml이라는 이름의 준말인데, 자바스크립트를 이용해 비동기적으로 서버와 브라우저가 데이터를 주고 받는 방식을 의미한다. 이 때 사용하는 API가 XML 관련 API이다. 꼭 XML을 사용해서 통신해야 하는 것은 아니며, 이제 JSON 이라는 포맷을 더 많이 사용한다.
서버 backend 개발에서는 Node.js를 사용한다. Node.js는 작성 언어로 javascript를 활용하며 Non-blocking IO와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가진 서버 프레임워크이다. 내부 구현은 C/C++로 구현되어 있어 성능이 매우 좋고, 내장 HTTP 서버 라이브러리를 포함하며 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며, 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능하게 한다.
머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용한다.
도 10은 머신 러닝 기법의 k-NN(k-Nearest Neighbors)을 설명한 도면이다.
패턴 인식(pattern recognition)에서, k-NN(k-nearest neighbors), k- 최근접 이웃 알고리즘은 분류(classification) 및 회귀(regression)에 사용되는 비모수적인 방법(non-parametric method)이다. 두 경우 모두, 입력은 특징 공간에서 k 개의 가장 가까운 학습 예제로 구성된다. 출력은 k-NN이 분류 또는 회귀에 사용되는지 여부에 따라 달라진다.
k-NN 분류(k-NN classification)에서, 출력은 클래스 멤버십이다. 객체는 이웃 객체의 다수결에 의해 분류되며 객체는 k 개의 가장 가까운 이웃(nearest neighbor) 사이에서 가장 공통적인 클래스에 할당된다(k는 양의 정수, 일반적으로 작음). k = 1이면, 객체는 그 단일 최근접 이웃의 클래스에 단순히 할당된다.
k-NN 회귀(k-NN regression)에서, 출력은 객체의 속성 값이다. 이 값은 k 개의 가장 가까운 이웃의 값의 평균이다.
k-NN은 함수가 국부적으로 근사화되고 모든 계산이 분류까지 연기되는 인스턴스 기반 학습(instance-based learning) 또는 지연 학습(lazy learning)의 타입이다. k-NN 알고리즘은 모든 기계 학습 알고리즘(machine learning algorithms) 중에서 가장 단순하다.
분류와 회귀 모두 유용한 기법은 이웃들의 기여도(contributions of the neighbors)에 가중치(weight)를 할당하여 더 가까운 이웃(nearer neighbors)이 먼 이웃(more distant ones)에 비해 평균에 더 기여하도록 하는 것이다. 예를 들면, 일반적인 가중치 방식은 각 이웃에게 1/d의 가중치를 부여하는 것으로 구성되며, 여기서 d는 이웃과의 거리이다.
이웃들(neighbors)은 클래스(k-NN 분류의 경우) 또는 객체 속성 값(k-NN 회귀의 경우)이 알려진 객체 세트에서 가져온다. 이는 명백한 트레이닝 단계가 필요하지는 않지만 알고리즘에 대한 트레이닝 세트로 생각할 수 있다.
도 11은 머신 러닝 기법의 SVM(Support Vector Machine) 분류법을 설명한 도면이다.
SVM(Support Vector Machine)은 상기 k-NN과 마찬가지로 지도학습(supervised learning)의 분류모델 중 하나로, k-NN과 마찬가지로 훈련 데이터/테스트 데이터가 있어야 한다.
SVM의 분류 방식은 크게 선형 분류와 비선형 분류가 있으며, 실습 예제는 선형 분류를 위주로 다룰 예정이다.
비선형 분류의 경우 커널 트릭(Kernel Trick), 방사 기저 함수(RBF), 하이퍼볼릭 탄젠트(Hyperbolic tangent), 가우시안 방사 기저(Gaussian radial basis)함수, 다항함수(Polynomial function) 등등을 사용해야 하지만, SVM의 개념을 이해하고 기초적인 실습 및 학습을 하기에는 난이도가 있다.
k-NN에서도 언급했듯이, SVM은 퍼셉트론(Perceptron)의 개념에 기초하여 데이터를 분류하는 방식이다.
즉, k-NN은 훈련데이터를 기반으로 나눠진 분류에 인접을 판단하여 테스트데이터를 분류하는 방식이면,
SVM은 훈련 데이터로 퍼셉트론(Perceptron) 함수를 사전에 정의한 후, 테스트 데이터를 토대로 분류를 하면서 학습을 하는 형태이다. 퍼셉트론(Perceptron)은 인공신경망을 구성하기 위해, 입력 신호를 받고 함수를 통해 출력값을 제공한다. 퍼셉트론 함수는 고정된 형태의 함수가 아닌, 수많은 학습의 반복에 의해 특정 결과를 도출하는 학습된 형태의 함수이다.
SVM은 퍼셉트론 함수를 기반으로 분류하는 모델이므로, 해당 함수의 형태에 따라 선형 분류 및 비선형 분류로 나눠지게 된다. SVM은 이미지 인식, 패턴 인식에 활용되며, 텍스트 분류 또한 가능하다.
SVM에서 퍼셉트론 역시 들어오는 입력값을 토대로 가중치, 임계값 등을 조정하면서 원하는 함수를 만들며, 이를 기반으로 수많은 데이터를 분류한다.
머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용한다. k-NN은 지도학습에 활용되는 가장 단순한 형태의 알고리즘이며, 도 10을 참조하여 설명한다.
는 새로 추가되는 데이터이다. 3가지 특성으로 구분되는 그룹일 때, 그림 1처럼 데이터 집합이 3그룹으로 나뉘는 상황에 가 속할 그룹은 임의의 자연수 K에 의해 정해진다. K=3이라 할 때, 과 다른 점과의 거리를 측정하고 3번째까지 어떤 그룹의 점인지 검사한 후, 더 높은 비율인 그룹에 가 속하게 되는 것이다. 위의 경우에 는 파란색 사각형 그룹에 속하게 된다. 이 방식을 k-NN이라 한다. SVM도 k-NN과 마찬가지로 지도학습을 기반으로 하는 분류법인데, N개의 그룹에서 N-1차원의 초평면을 구함으로써 그룹을 나누는 기법이다.
도 11에 보인 바와 같이, SVM 분류법은 2차원의 데이터 그룹에서 그 사이의 중심이 되는 최적의 선을 찾는 알고리즘이다. 차원이 N이라면, N-1차원의 최적의 초평면을 구하는 알고리즘이 된다.
도 12는 머신러닝(AI)를 이용한 이러닝 교육생 수준 예측 시스템 처리 절차를 보인 플로차트이다.
머신 러닝을 진행하기 위한 학습 데이터 셋은 교차 검증이 필요한데, 교차 검증을 위한 학습 데이터 셋은 표 1과 같이 4종류로 구분된다.
실제 결과/분류
거짓
추론된
결과
/분류
TP(True Positive) FP(False Positive)
거짓 FN(False Negative) TN(True Negative)
학습을 진행한 후, 다음 표 2(평가 데이터1)와 표 3(평가 데이터2)에 표시된 평가 데이터를 입력 데이터로 사용하여 평가를 진행한다.
영상 관련 코드 관련 에러 관련
재생 시간 평균 변수 길이 수정되지 않고
발생한 에러 횟수
Pause 횟수 실행시간 간격 에러 당 고친
시간
코드 작성 시간 의미있는 변수명 평균 에러 종류
특정 구간 반복 횟수 들여쓰기 전체 에러 발생
횟수
코드 길이
시험(Quiz)
퀴즈 푸는데 소요된 시간
먼저 푼 문제
문제 푼 순서
문제당 푼 시간
전체 정답 비율
주관식/객관식 별 정답 비율
난이도 별 정답 비율
평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘는데, 각 영역 별로 평가되는 방법이 다르다. 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현한다. 도 13에 도시된 바와 같이, 각 영역 당 총 평가에 미치는 영향에 대한 비중이 다르다.
도 13은 이론 영역(30%), 실습 영역(40%), 평가 영역(30%)에서 평가 영역별 비중을 보인 도면이다.
각 영역별 입력 데이터에 대한 평가를 임의의 실수 a1, a2, a3라 했을 때, 난이도 계수를 곱해 더해준 후 최종적으로 하나의 결과값을 출력한다. 이 결과값이 바로 예측되는 유저의 수준이다.
결론적으로, 현재의 인터넷 강의 시스템은 강의 종료 후 강의자의 수준을 판단하는 기능이 부족하다. 이러한 부분을 온라인 소프트웨어 교육시스템에서 인공지능(AI)의 머신러닝 기술을 사용하여 개인별 수강자의 수준을 파악하는 기술이 필요하다. 본 연구에서는 수강자의 수강시간, 시험(퀴즈) 등을 데이터로 학습하고 실제 수강자의 수준을 판단하는 연구를 했다. 그 결과, 머신러닝 알고리즘에 설정한 요인들이 수준 예측을 하는데 있어서 높은 정확도를 가지는 것을 확인했다.
향후 이 요인들에 대해 더 분석하고, 더 나은 모델을 연구한다면 더 정확한 수준 예측 시스템을 구축할 수 있을 것이고, 온라인 소프트웨어 교육 시스템에서 연구과제로 실제 구현을 통해 e러닝 학습 수준 평가 시스템에 적용이 가능하다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 기록 매체는 스토리지, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로써 작동하도록 구성될 수 있다.
이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있음을 이해할 수 있을 것이다.
100: 사용자 컴퓨터 200: 스마트 교육 서버
210: 교육콘텐츠 DB 220: NCS 분류체계 DB
230: 전자책 DB 231: 소스 코드 DB
270: 저작도구 310: 스마트폰
320: 태블릿 PC 330: KIOSK 단말기

Claims (15)

  1. 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠 생성과 저작을 위한 저작도구;
    상기 저작 도구에 의해 생성된 교육 콘텐츠와 소스 코드를 저장하며, 정보 기술과 프로그래밍 언어의 문법이 표현된 전자책(e-Book)과 상기 교육 콘텐츠 및 상기 소스 코드를 사용자 단말로 제공하고, 동영상 강의와 프로그래밍 실습의 컴파일 기능과 정답을 제공하는 소프트웨어 프로그래밍 교육 서비스를 제공하며, 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 전자책의 내용에 관한 시험과 프로그래밍 코딩과 실습 결과를 점수화하여 프로그래밍 실습을 평가하며, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공하는 스마트 교육 서버; 및
    상기 스마트 교육 서버와 접속하여, 멀티미디어 동영상 강의와 상기 저작 도구에 의해 생성된 교육 콘텐츠와 전자책과 소스 코드를 수신받아 컴파일 결과를 확인하는 디스플레이하는 UX 콘텐츠 브라우저를 구비하며, 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 제공받는 사용자 단말을 포함하며,
    상기 스마트 교육 서버는 상기 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며,
    개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
    평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가시에 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현하는, 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  2. 제1항에 있어서,
    상기 스마트 교육 서버는
    웹 서버;
    머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘(k-NN, SVM)을 사용하여 프로그래밍 코딩과 실습 결과 및 전자책의 내용에 관한 시험 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하는 개인별 학습상태 수집 및 분석부;
    상기 개인별 학습상태 수집 및 분석부와 연결되며, 평가된 상기 학습자 수준에 따른 맞춤형 콘텐츠를 제공하는 학습자 수준에 따른 맞춤형 콘텐츠 제공부;
    강좌 개설하기/삭제하기, 과목별 강사 정보와, 강좌별 강사와 교육생 정보와 단계별 프로그래밍 교육 과정과 출결상황 및 프로그래밍 실습 및 시험 정보를 관리하는 강좌 개설/수강신청/교육 정보 관리부;
    소스 코드DB에 저장된 소스 코드를 사용자 단말로 제공하는 소스 코드 제공부;
    TCP/IP 쪽지 보내기/쪽지 받기를 통해 텍스트 메시지와 파일을 전송하는 쪽지 제공부;
    상기 저작도구에 의해 생성된 동영상, 음성, 이미지, 텍스트, SW 소스 코드를 포함하는 교육 콘텐츠를 저장하며, 온라인상에서 프로그래밍 교육 커리큘럼 정보와 과목 정보, 강사 정보와 수강 신청한 교육생의 정보를 저장하는 교육 콘텐츠DB; 및
    프로그래밍 교육 강좌별 기초 단계로부터 심화 학습 단계까지 소스 코드를 저장하는 소스 코드 DB;
    를 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  3. 제2항에 있어서,
    상기 스마트 교육 서버는
    회원 관리부;
    사용자 인증부;
    커리큘럼/과목 별로 교육생들의 수강 신청 정보를 접수하는 수강 신청부; 및
    수강신청한 교육생 별로 소정의 강의료를 납부하는 교육비 정산부를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  4. 제2항에 있어서,
    상기 스마트 교육 서버는
    NCS 분류 체계 및 과목별/수준별 교육 내용을 정의하는 NCS 기반 과목 및 수준 설정부;
    교육 목표와 국가직무능력표준(NCS, National Competency Standard)에 따른 커리큘럼/과목별 평가 기준을 설정하는 교육 목표 및 평가기준 설정부;
    상기 교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 정보를 등록하는 교육 콘텐츠 및 메타정보 등록부; 및
    국가직무능력표준(NCS) 분류 체계 정보가 저장된 NCS 분류 체계DB;
    를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  5. 제2항에 있어서,
    상기 스마트 교육 서버는
    ICT 정보 기술 내용과 프로그래밍 문법이 기재된 전자책(e-Book)을 제공하는 전자책 제공부; 및
    사용자 단말로 전자책을 제공하는 전자책 DB를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  6. 제2항에 있어서,
    상기 스마트 교육 서버는
    카메라로 촬영된 동영상을 인코딩하는 비디오 인코더;
    상기 비디오 인코더에 의해 인코딩된 동영상을 유무선 통신망을 통해 스마트 교육 서비스와 교과목의 동영상과 음성 데이터가 포함된 미디어 스트림을 제공하는 스트리밍 서버를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  7. 제2항에 있어서,
    상기 스마트 교육 서버는
    화상 회의 서버 및 채팅 서버와 연결되며, 강사와 교육생들 단말과의 화상 채팅을 통해 질의 응답 데이터를 송수신하는 질의 응답 화상 채팅부를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  8. 제2항에 있어서,
    상기 스마트 교육 서버는, NCS 분류 체계 및 과목별/수준별 교육 내용을 정의하며, 교육 목표와 국가직무능력표준(NCS)에 따른 평가 기준을 설정하며, 교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 데이터가 등록되며,
    상기 스마트 교육 서버는, 소프트웨어 프로그래밍 교육 커리큘럼에 따른 과목별 국가직무능력표준(NCS)의 평가 기준에 따른 시험과 강사의 시험 정답 입력을 제공하는 시험평가부를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 시스템.
  9. 제1항에 있어서,
    상기 사용자 단말은 PC와 노트북, 태블릿 PC를 포함하며, NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치되고,
    NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저는 과목 표시부, 동영상 콘텐츠 표시부, 이미지 콘텐츠 표시부, 텍스트 콘텐츠 표시부, SW 코드 입력부, SW 수행결과 표시부, 컴파일 오류 체크 필터, 및 정답 입력부를 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 제공 시스템.
  10. (a) 저작도구에 의해 생성된 동영상, 음성, 이미지, 텍스트를 포함하는 교육 콘텐츠를 스마트 교육 서버에 저장하는 단계;
    (b) 상기 스마트 교육 서버와 접속하여 상기 저작 도구에 의해 생성된 상기 교육 콘텐츠와 정보기술과 프로그래밍 언어의 문법이 표현된 전자책과 상기 소스 코드를 사용자 단말로 제공하는 단계; 및
    (c) 상기 사용자 단말은 NCS 기반 교육 목표 및 평가기준 설정 마법사가 설치된 UX 콘텐츠 브라우저를 구비하며, 상기 스마트 교육 서버로부터 상기 교육 콘텐츠와 상기 전자책과 상기 소스 코드를 제공받고, 제공된 멀티미디어 동영상 강의를 재생하며 프로그래밍 실습을 위해 소스 코드 컴파일을 통해 실행 결과 제공하며, 시험 결과와 함께 스마트 교육 서버로 제공하며, 상기 스마트 교육 서버가 개인별 학습상태 수집 및 분석부에 의해 국가직무능력표준(NCS,National Competency Standard) 기반의 학습 모델을 바탕으로 머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘을 사용하여 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 학습자 수준별 맞춤형 콘텐츠 제공부에 의해 교육생 개인별 학습자 수준에 따른 맞춤형 콘텐츠를 상기 사용자 단말로 제공받는 단계를 포함하며,
    상기 단계 (c)에서, 상기 스마트 교육 서버가 프로그래밍 코딩과 실습 결과와 시험을 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 머신러닝 기법은 지도학습의 분류모델 인 k-NN(k-Nearest Neighbors)과 SVM(Support Vector Machine)을 사용하며, 개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하고,
    평가단계의 데이터의 종류는 크게 이론영역, 실습영역, 평가영역으로 나뉘며, 각 영역 별로 평가시에 이론 영역에서는 SVM 방식으로 구현하며, 실습 및 평가영역에서는 k-NN 방식으로 구현하는, 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 방법.
  11. 제10항에 있어서,
    상시 스마트 교육 서버는
    NCS 기반 과목 및 수준 설정부에 의해 NCS 분류 체계 및 과목별/수준별 교육 내용이 정의되는 단계;
    교육 목표 및 평가기준 설정부에 의해 교육 목표와 국가직무능력표준(NCS)에 따른 커리큘럼/과목별 평가 기준이 설정되는 단계;
    교육 콘텐츠 및 메타정보 등록부에 의해 교육 콘텐츠와 콘텐츠ID와 저작권자 포함된 메타 데이터가 등록되는 단계;
    머신 러닝의 기계 학습 엔진과 학습 모델 알고리즘(k-NN, SVM)을 사용하여 프로그래밍 코딩과 실습 결과 및 전자책의 내용에 관한 시험 결과를 점수화하여 소프트웨어 프로그래밍 실습을 평가하며, 개인별 소스 컴파일 실습과 시험에 의해 프로그래밍 입문 단계, 초보 단계, 심화 학습 단계, 전문가 과정 단계의 학습자 수준을 분석하여 판단하는 단계;
    학습자 수준에 따른 맞춤형 콘텐츠 제공부, 전자책 제공부 및 소스코드 제공부에 의해 상기 학습자 수준에 따른 맞춤형 콘텐츠, 전자책 및 소스 코드를 상기 사용자 단말로 제공하는 단계;
    쪽지 제공부에 의해 P2P 방식으로 강사와 교육생 또는 교육생과 교육생과의 작성된 텍스트들과 파일을 첨부하여 송수신하는 쪽지 보내기와 쪽지 받기 제공 단계; 및
    강좌 개설 및 강사/수강생 교육 관리부에 의해 강좌 개설하기/삭제하기, 과목별 강사 정보와, 강좌별 강사와 수강생 정보와 단계별 교육 과정과 출결상황 및 시험 정보를 관리하는 단계;
    를 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 방법.
  12. 제11항에 있어서,
    상기 스마트 교육 서버는
    회원 가입과 사용자 인증 단계;
    수강 신청부에 의해 커리큘럼/과목 별로 교육생들의 수강 신청 정보를 입력받아 저장하는 단계; 및
    교육비 정산부에 의해 수강신청한 교육생 별로 소정의 강의료를 납부하는 교육비 정산 단계를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 방법.
  13. 제11항에 있어서,
    상기 스마트 교육 서버가 화상 회의 서버 및 채팅 서버와 연결되며, 질의 응답 화상 채팅부에 의해 강사와 교육생들 단말과의 화상 채팅을 통해 질의 응답 데이터를 송수신하는 단계를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 방법.
  14. 제10항에 있어서,
    상기 스마트 교육 서버는 시험평가부에 의해 교육 커리큘럼에 따른 과목별 국가직무능력표준(NCS)의 평가 기준에 따른 각 단계별 시험과, 그 정답을 제공하는 단계를 더 포함하는 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육서비스 제공 방법.
  15. 삭제
KR1020180062197A 2018-05-30 2018-05-30 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법 KR102013955B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180062197A KR102013955B1 (ko) 2018-05-30 2018-05-30 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180062197A KR102013955B1 (ko) 2018-05-30 2018-05-30 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR102013955B1 true KR102013955B1 (ko) 2019-08-23

Family

ID=67763864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180062197A KR102013955B1 (ko) 2018-05-30 2018-05-30 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR102013955B1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102187444B1 (ko) * 2020-05-13 2020-12-07 안충호 It 전문 인력 관리 방법 및 이를 실행하는 서버
KR102235690B1 (ko) * 2020-06-05 2021-04-02 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
CN112835619A (zh) * 2021-01-20 2021-05-25 沈阳职业技术学院 一种基于oj的程序设计语言学习训练评价系统与方法
KR102275946B1 (ko) * 2020-01-30 2021-07-12 한밭대학교 산학협력단 쌍방향 실시간으로 이루어지는 인공지능 코딩교육 학습지원 시스템
KR102283466B1 (ko) * 2020-08-18 2021-07-28 이광열 국가직무능력표준을 기반으로 한 교육 과정 쇼핑 시스템
KR20210101006A (ko) * 2020-02-07 2021-08-18 동의대학교 산학협력단 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법
KR20220115711A (ko) 2021-02-09 2022-08-18 라온화이트햇 주식회사 가상 환경에서의 실습 평가 문제 제공 장치와 실습 평가 시스템 및 방법
CN116841519A (zh) * 2022-06-21 2023-10-03 北京浩泰思特科技有限公司 一种代码编写教学评估方法及系统
CN117194707A (zh) * 2023-11-08 2023-12-08 广州电力工程监理有限公司 一种基于监理工作智能推送短视频的培训系统及推送方法
KR102624135B1 (ko) * 2023-08-14 2024-01-11 주식회사 루트시스템즈 인공지능 기반 기업용 비대면 프로그래밍 교육 자동화플랫폼 서비스 제공 방법, 장치 및 시스템
CN117807631A (zh) * 2023-12-29 2024-04-02 北京万讯博通科技发展有限公司 基于多方安全计算的在线评估方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460246B1 (ko) 2001-09-06 2004-12-08 김양우 인터넷 환경에서 프로그래밍 실습을 위한 가상 교육시스템 및 방법
KR20060108971A (ko) * 2005-04-14 2006-10-19 주식회사 유비쿼터스엠투엠 강의목차, 강의교재와 연동되는 동영상 강의 저작도구 및그 저작방법
KR20120090569A (ko) * 2011-02-08 2012-08-17 주식회사 엔씨소프트 맞춤형 학습 컨텐츠 패키징 시스템 및 그 방법
KR101333526B1 (ko) 2012-04-30 2013-11-28 강현웅 프로그래밍 학습장치 및 방법
KR20170059376A (ko) * 2015-11-20 2017-05-30 (주)엘리스 프로그래밍 교육 장치 및 방법
KR20170096341A (ko) * 2016-02-16 2017-08-24 충북대학교 산학협력단 양방향 소프트웨어 코딩 방송 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460246B1 (ko) 2001-09-06 2004-12-08 김양우 인터넷 환경에서 프로그래밍 실습을 위한 가상 교육시스템 및 방법
KR20060108971A (ko) * 2005-04-14 2006-10-19 주식회사 유비쿼터스엠투엠 강의목차, 강의교재와 연동되는 동영상 강의 저작도구 및그 저작방법
KR20120090569A (ko) * 2011-02-08 2012-08-17 주식회사 엔씨소프트 맞춤형 학습 컨텐츠 패키징 시스템 및 그 방법
KR101333526B1 (ko) 2012-04-30 2013-11-28 강현웅 프로그래밍 학습장치 및 방법
KR20170059376A (ko) * 2015-11-20 2017-05-30 (주)엘리스 프로그래밍 교육 장치 및 방법
KR20170096341A (ko) * 2016-02-16 2017-08-24 충북대학교 산학협력단 양방향 소프트웨어 코딩 방송 시스템 및 방법

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102275946B1 (ko) * 2020-01-30 2021-07-12 한밭대학교 산학협력단 쌍방향 실시간으로 이루어지는 인공지능 코딩교육 학습지원 시스템
KR20210101006A (ko) * 2020-02-07 2021-08-18 동의대학교 산학협력단 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법
KR102426185B1 (ko) * 2020-02-07 2022-07-28 동의대학교 산학협력단 코딩 능력 향상을 위한 게임 제공 장치에 의한 게임 제공 방법
KR102187444B1 (ko) * 2020-05-13 2020-12-07 안충호 It 전문 인력 관리 방법 및 이를 실행하는 서버
WO2021246742A1 (ko) * 2020-06-05 2021-12-09 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
KR102235690B1 (ko) * 2020-06-05 2021-04-02 주식회사 코딩로봇연구소 인공지능 기반의 프로그램 코드 평가 시스템 및 방법
KR102283466B1 (ko) * 2020-08-18 2021-07-28 이광열 국가직무능력표준을 기반으로 한 교육 과정 쇼핑 시스템
CN112835619A (zh) * 2021-01-20 2021-05-25 沈阳职业技术学院 一种基于oj的程序设计语言学习训练评价系统与方法
KR20220115711A (ko) 2021-02-09 2022-08-18 라온화이트햇 주식회사 가상 환경에서의 실습 평가 문제 제공 장치와 실습 평가 시스템 및 방법
CN116841519A (zh) * 2022-06-21 2023-10-03 北京浩泰思特科技有限公司 一种代码编写教学评估方法及系统
CN116841519B (zh) * 2022-06-21 2024-06-11 北京浩泰思特科技有限公司 一种代码编写教学评估方法及系统
KR102624135B1 (ko) * 2023-08-14 2024-01-11 주식회사 루트시스템즈 인공지능 기반 기업용 비대면 프로그래밍 교육 자동화플랫폼 서비스 제공 방법, 장치 및 시스템
CN117194707A (zh) * 2023-11-08 2023-12-08 广州电力工程监理有限公司 一种基于监理工作智能推送短视频的培训系统及推送方法
CN117807631A (zh) * 2023-12-29 2024-04-02 北京万讯博通科技发展有限公司 基于多方安全计算的在线评估方法及系统

Similar Documents

Publication Publication Date Title
KR102013955B1 (ko) 소프트웨어 전문가 실무교육과 평가를 위한 스마트 교육 시스템 및 그 서비스 제공 방법
TWI529673B (zh) 用於可適性知識評鑑及學習之系統及方法
Verstege et al. Relations between students' perceived levels of self-regulation and their corresponding learning behavior and outcomes in a virtual experiment environment
US20140227675A1 (en) Knowledge evaluation system
Gordillo et al. An easy to use open source authoring tool to create effective and reusable learning objects
Manikandan et al. Intelligent and deep learning approach OT measure E-learning content in online distance education
KR20180134281A (ko) 교육서비스 제공 시스템 및 방법
KR101576727B1 (ko) Qr코드 및 앱을 이용한 온오프라인 연동 학습 시스템
WO2019046177A1 (en) MEASURABLE PROGRESSION LEARNING SYSTEM BASED ON EVALUATION
CN107403398A (zh) 一种英语教育互联网平台及其使用方法
US20150125845A1 (en) Server and method for providing learner-customized learning service
Wahyono et al. Development of a Personalized Virtual Laboratory Using Artificial Intelligent
CN110189238A (zh) 辅助学习的方法、装置、介质以及电子设备
Papamitsiou et al. An Assessment Analytics Framework (AAF) for enhancing students’ progress
TW201816747A (zh) 線上教學暨行動學習系統
Pistilli et al. Guiding early and often: Using curricular and learning analytics to shape teaching, learning, and student success in gateway courses
WO2019150393A1 (en) Method and apparatus for learning, monitoring and managing the educational progress
Mohanna Using knowledge engineering for modeling mobile learning systems
KR102492466B1 (ko) 수학문항의 단원과 난이도를 자동으로 분류하는 방법
US20220198949A1 (en) System and method for determining real-time engagement scores in interactive online learning sessions
Fang et al. Effective college English teaching based on teacher-student interactive model
TW201440016A (zh) 網路化實作評量系統與其方法
KR101245824B1 (ko) 학습 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
Wang et al. A Learning Analytic Model for Smart Classroom
KR20220039861A (ko) 장애인 체육교육 개발과 교육관리시스템 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant