Korea Digital Contents Society

Journal Archive

Journal of Digital Contents Society - Vol. 24 , No. 9

[ Article ]
Journal of Digital Contents Society - Vol. 24, No. 9, pp. 2119-2128
Abbreviation: J. DCS
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Sep 2023
Received 07 Aug 2023 Revised 21 Aug 2023 Accepted 23 Aug 2023
DOI: https://doi.org/10.9728/dcs.2023.24.9.2119

웹 기반 가이드 맵과 피드백 기반 시연중심모델의 결합을 통한 컴퓨터 비전공자의 프로그래밍 이해도 향상을 위한 연구
정혜욱*
경기대학교 진성애교양대학 교양학부 조교수

A Study on the Improvement of Programming Understanding for Non-Computer Major Undergraduates by Combining Web based Guide Map and Feedback based DMM
Hye-Wuk Jung*
Assistant Professor, Department of Liberal Arts, Kyonggi University, Suwon 16227, Korea
Correspondence to : *Hye-Wuk Jung Tel: +82-31-249-1467 E-mail: wukj@kyonggi.ac.kr


Copyright ⓒ 2023 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Funding Information ▼

초록

최근 소프트웨어 교육 분야에서는 컴퓨터 비전공 학습자가 프로그래밍 지식을 습득하는 과정에서 느끼는 어려움을 최소화하고, 학습자의 학습효과를 높이는 것이 중요한 문제로 대두되고 있다. 이에 본 연구에서는 컴퓨터 비전공자들이 자기주도적 학습을 진행해 나가며 프로그래밍 학습효과를 향상시키기 위한 수업 방법으로 웹 기반 가이드 맵과 피드백 기반 시연중심모델의 결합을 통한 컴퓨터 비전공자의 프로그래밍 학습 모델을 설계하고, 실제 수업시간에 적용 후 교수자 - 학습자의 피드백 빈도와 학습 모델의 효과성을 분석하였다. 제안한 학습 모델은 컴퓨터 비전공 학습자들의 프로그래밍 학습효과를 향상시키기 위한 수업 방법으로 활용될 수 있을 것이다.

Abstract

Recently, in the field of software education, it has emerged as an important issue to minimize the difficulties that learners who are not computer majors feel in the process of acquiring programming knowledge and to increase the learning effect of the learners. Therefore, we designed a programming learning model for non-computer majors by combining a web-based guide map and a feedback-based Demonstration-Modeling-Making(DMM) model as a teaching method to improve the programming learning effect of non-computer majors who proceed with Self-Directed learning. And we applied the designed learning model to actual classes and analyzed the frequency of teacher-learner feedback and the effect of the learning model. The proposed learning model can be used as a teaching method to improve the programming learning effect of non-computer major learners.


Keywords: Computer Programming, Software Education, Software Learning Model, Non-Computer Major, Python Programming
키워드: 컴퓨터 프로그래밍, 소프트웨어 교육, 소프트웨어 학습모델, 컴퓨터 비전공자, 파이썬 프로그래밍

Ⅰ. 서 론

최근 인공지능의 발달과 함께 사회에서는 창의융합형 인재를 요구하고 있다. 이로 인해 각 대학에서는 전교생을 대상으로 컴퓨터 프로그래밍 교육을 활발하게 진행하고 있으며, 국가적 차원에서도 이를 지원하고 있는 실정이다. 또한 4차 산업혁명 기술의 원천이 되는 소프트웨어는 IT 기술을 기반으로 하는 융복합 시스템에 주요 핵심 요소이며, 프로그램 개발자를 목표로 하는 전공자뿐만 아니라 컴퓨터 비전공자도 소프트웨어를 이용하여 새로운 가치를 창출할 수 있는 능력을 준비해야 빠르게 변화되는 사회에 적응할 수 있다[1].

컴퓨터 비전공자를 대상으로 하는 컴퓨터 프로그래밍 수업은 교양 필수 또는 선택으로 진행되고 있으며, 주로 프로그래밍 언어의 기초에 대한 강의가 진행되고 있다. 이로 인해 인문, 사회과학, 예체능 등을 전공하는 학습자들은 보통 프로그램을 처음 접하는 초급자들로 이 과목을 수강할 때, 전공과는 무관하게 생각하여 과목에 대한 낮은 흥미와 과목 자체의 생소함으로 인해 학습에 어려움을 겪는 학습자들이 많이 있다[2]. 또한 프로그래밍 수업은 이론에 대한 설명을 듣고 실습을 통해 학습자가 직접 코딩을 해봄으로써 프로그래밍 언어에 대한 지식을 습득하는 과목으로, 앞에서 언급한 어려움을 겪고 있는 학습자들이 실습과정에서 다루는 응용문제를 풀 때 또 한 번 어려움을 겪게 되어 학습에 대한 관심이 더욱 감소하는 경우가 발생한다. 따라서 컴퓨터 비전공자들이 보다 효율적으로 컴퓨터 프로그래밍 학습을 하기 위해서는 학습자 스스로 수업에 참여하는 의지와 자기주도적인 학습 능력을 키워줄 수 있는 실질적인 교육방법이 필요하다.

현재 소프트웨어 교육 분야에서는 컴퓨터 비전공 학습자가 전공과는 전혀 다른 분야의 지식을 습득하는 과정에서 느끼는 어려움을 최소화하고, 학습자의 학습효과를 높이는 것이 중요한 문제로 대두되고 있으며, 소프트웨어 교육 교수학습 모델, 문제 중심 학습(Problem-Based Learning, PBL), 플립드러닝(Flipped Learning)과 같은 다양한 교수법들이 활용되고 있다[3]. 그러나 강의내용에 대한 이해도와 코딩 실력의 차이에 의해 학습효과가 다르게 나타날 수 있는 한계점들이 있다.

이에 본 연구에서는 웹 기반 가이드 맵과 피드백 기반 시연중심모델의 결합을 통한 컴퓨터 비전공자의 프로그래밍 이해도 향상을 위한 학습 모델을 제안한다. 제안한 방법은 학습자들이 수업 시간에 자주 질문하는 내용에 대한 데이터를 수집하고 이를 바탕으로 보조 학습도구인 웹 기반 가이드 맵을 개발하여, 실제 수업시간에 적용 후 교수자 - 학습자의 피드백 빈도와 학습모델의 효과성을 분석하였다. 제안한 학습 모델은 컴퓨터 비전공자들이 자기주도적 학습을 진행해 나가며 프로그래밍 학습효과를 향상시키기 위한 수업 방법으로 활용될 수 있을 것이다.


Ⅱ. 이론적배경
2-1 소프트웨어 교육 교수학습 모델

소프트웨어 교육은 컴퓨팅 사고력(Computational Thinking) 증진을 위해 문제의 분해, 패턴인식, 추상화, 알고리즘 작성 방법을 익히고 프로그래밍을 통해 자동화 하는 과정으로 이루어진다. 이러한 소프트웨어 교육을 위해 다양한 학습 모델이 연구되고 있으며 한국교육학술정보원에서는 컴퓨팅 사고력의 구성요소가 포함된 5개의 소프트웨어 교육 교수학습 모델을 개발 하였다[3]. 첫째, CT요소중심(DPAA(P))모델은 CT의 요소인 분해, 패턴인식, 추상화, 알고리즘, 프로그래밍 절차를 가진다. 하지만 이와 같은 순서를 따르는 절차적 모델로도 사용가능하며, 절차의 다양한 조합을 적용하는 모듈식 모델로도 적용 가능한 특징이 있다. 둘째, 재구성중심(UMC)모델은 다양한 사례를 통해 핵심 개념 및 원리를 찾고 주어진 사례의 수정 및 재구성을 통해 컴퓨팅 사고를 향상시키는 모델로, 놀이, 수정, 재구성의 단계로 이루어져 있다. 셋째, 개발중심(DDD)모델은 소프트웨어 개발의 전 과정을 이해하는 모델로, 탐구, 설계, 개발의 절차로 진행되며, 학습자가 개발 과정을 주도하고 교사는 개발 범위와 이에 따른 제약사항을 안내하는 특징을 가지고 있다. 넷째, 디자인중심(NDIS)모델은 요구분석, 디자인, 구현, 공유의 단계로 이루어지며, 인간중심의 요구분석을 통해 프로그램 개발이 사회적 요구를 충족시키는 것임을 인지하고, 이를 기반으로 창의적 설계를 하는 모델이다. 또한 개발된 프로그램을 공유하고 평가하여 개선 방향을 찾는 선순환 구조를 가진다. 마지막으로 직접교수법의 원리를 기반으로 한 시연중심(DMM)모델은 소프트웨어 교과목에서 시연-모방-제작 과정을 통해 수업이 진행되는 학습모델이다. 이 모델은 교수자가 학습내용에 대해 시연을 하고 학습자는 질문과 대답을 하며 모방하는 실습을 한 후 직접 제작하는 과정에서 반복적으로 단계적, 독립적 연습을 해봄으로써 학습내용을 습득한다[3].

본 논문에서는 위의 학습 모델 중 시연중심모델을 기반으로 연구를 진행하였으며, 이와 관련된 연구들로는 다음과 같은 것들이 있다. 정혜욱은 시연중심모델에 기초하여 단계적 블라인드 처리된 프로그래밍 실습과정과 학기말 프로젝트 수행을 위한 문제의 계획, 알고리즘 작성, 프로그램 개발과정이 포함된 학습모델을 설계하여 소프트웨어 기초교육에 적용하였다[4]. 서주영은 데이터 분석을 통한 문제해결 관점에서 기본적인 프로그래밍 문법을 학습 할 수 있도록 교과과정을 진행하고 시연중심모델을 도입하여 교수자의 지도하에 수업내용의 반복적인 학습을 할 수 있게 한 후 과제수행 단계에서는 학습자 중심으로 문제의 정의부터 해결까지 프로젝트를 진행할 수 있게 하였다[5].

이와 같이 시연중심모델을 적용한 학습방법은 실습 과정에서 모방과 제작 단계를 거치면서 반복적인 코딩을 통해 프로그래밍 언어의 문법, 실습 중심의 명령어 등의 지식을 습득할 수 있다. 그러나 프로그래밍의 기본 원리에 대한 추가적인 설명이나 프로그래밍 과정에서 발생하는 오류 해결을 위해 교수자의 피드백을 필요로 하는 모든 학습자들을 충분히 지도하는데 시간적 한계가 있다. 또한 프로그래밍의 기본 원리를 정확하게 이해하지 못하면서 모방하는 경우 응용된 개념으로 확장하여 프로그래밍을 구현 할 수 있는 실력을 키우기에는 한계가 있다.

2-2 문제중심학습(Problem-Based Learning, PBL)

문제중심학습은 교수자의 강의 중심이 아닌 학습자 스스로 문제를 이해하고 해결하기 위한 방법을 찾아가는 과정을 통해 학습하는 방법이다[6]. 문제중심학습으로 진행되는 수업에서 교수자는 학습을 진행하고 촉진시키는 역할을 하고 학습자는 자기주도적 학습을 통해 지식을 습득한다. 이 방법은 다양한 학문분야의 수업에 적용되어져 왔으며 최근 소프트웨어 교육에도 많이 도입되고 있는 추세이다.

고광일은 컴퓨터 비전공자들에게 PBL 방법을 적용하여 프로그래밍을 교육한 후 학습자들의 학업성취도와 컴퓨팅 사고력에 미치는 효과에 대한 설문조사를 기반으로 분석한 결과, 통계적으로 유의미하게 높은 결과를 얻었다[7].

김시정은 학습자들의 다양한 전공 특성을 고려하여 VPBL(Various Problem-based Learning) 모델을 설계하여 수업에 적용 후 설문조사를 한 결과 상호작용, 학습 내용 이해, 교과 관련 지식 습득에 도움이 되는 것을 확인 했다[8].

이러한 문제중심학습 방법은 학습자들이 자발적으로 수업에 참여할 수 있도록 유도하여 학업의 성취도를 향상시킬 수 있지만, 학습자 개인별 강의 내용에 대한 이해도 측정이 어렵고 학습자들 간 코딩실력의 격차에 따른 학습효과의 차이가 발생할 수 있는 문제가 있다.

2-3 플립드러닝(Flipped Learning)

플립드러닝은 학습자의 온라인상에서의 사전학습과 기존의 오프라인 강의 중심적인 수업방법을 병행하여 진행함에 따라 학습자들이 학습에 능동적으로 참여할 수 있게 유도할 수 있는 방법이다[9].

피수영은 학습자들이 자기 주도적으로 학습할 수 있도록 플립드러닝 방식으로 수업을 진행하며, 비교과프로그램과 연계된 경진대회를 통해 컴퓨터 비전공자들이 다양한 문제를 해결하며 프로그램을 개발할 수 있는 교육과정을 제시하였다. 교육 효과 측정을 위한 설문조사와 개인 인터뷰를 실시하여 학습자들이 코딩에 대한 관심이 증가 되었고 문제해결능력, 사고력, 창의력 등이 향상된 결과를 보였다[10].

김시정, 조도은은 문제중심학습 방법과 플립드러닝 방법을 혼합하여 수업 모델을 설계하고 학습자 분석을 통해 팀을 구성하여 수업을 진행함. 팀별 프로젝트를 진행 후 설문조사를 통한 만족도 조사결과, 학습 체험에 대해 긍정적인 반응을 나타냈다[11].

이러한 플립드러닝 방법은 학습자들에게 온라인 강좌를 통한 사전학습으로 습득한 지식을 기반으로 오프라인 수업에서의 능동적인 수업참여를 유도하는 방법이지만, 프로그래밍을 처음 접하는 입문자에 해당하는 학습자의 경우 온라인 매체를 통한 사전학습에 대한 이해 정도의 차이에 따라 그 학습효과의 차이가 크게 발생할 수 있다. 또한 학습자의 이해도를 파악하여 반영한 후 업그레이드하는 방법에 대한 연구는 고려하지 않았다.


Ⅲ. 연구방법
3-1 학습모델 설계

본 연구에서는 그림 1과 같이 교수자, 학습자, 교수자 - 학습자 피드백, 파이썬 가이드 맵으로 구성된 웹 기반 가이드 맵과 피드백 기반 시연중심모델의 결합한 학습모델을 설계 하였다.


Fig. 1. 
Block diagram of proposed learning model

교수자는 학습내용에 대한 이론적인 설명과 예제에 대한 시연을 하고, 학습자는 이론내용을 학습 후 시연내용을 모방하며 연습하고 응용문제를 작성하는 과정에서 교수자와 학습자간에 피드백이 이루어진다. 교수자 -학습자 피드백은 교수자와 학습자 간의 활발한 상호작용을 통해 학습자의 역량을 이끌어내고 학습능력을 촉진시킬 수 있게 하는 방법으로, 학습자는 학습 오류에 대하여 즉각적이고 구체적인 교정을 교수자에게 받으며 주어진 문제를 이해하거나 해결할 수 있고, 교수자는 학습자의 이해정도를 확인하면서 학습자가 학습해 나아가는 과정이 제대로 진행될 수 있게 해법을 제시해 준다[12]. 따라서 교수자가 적극적으로 학습자의 질문을 유도하여 학습자에게 해법을 제시하는 방법을 적용한 과정으로 기존의 시연중심모델과는 차별성이 있다. 이와 같은 피드백 과정과 함께 학습자는 가이드 맵의 내용을 통해 실습과정에서 발생하는 오류의 종류와 발생 항목을 참조하며 확인, 수정하는 과정을 거치게 된다. 또한 오류를 검토하는 과정에서 발생한 새로운 항목을 등록하거나 참고 사이트를 통해 파이썬 작성 및 실습에 대한 방법을 참고한다. 이때, 파이썬 오류에 대한 정보는 파이썬 사이트에서 제공되는 내용을 참고하여 작성하였다[13],[14].

이러한 학습모델은 시연중심모델과 교수자 - 학습자 피드백 방법의 한계점인 이해도와 시간적 제약의 문제를 개선할 수 있고 보조 학습도구인 가이드 맵을 통해 학습자 스스로 문제를 해결하고 수업 내용에 대한 복습과정을 반복하며 학습내용에 대한 이해도와 수업에 대한 참여 의지를 향상 시킬 수 있다.

3-2 웹 기반 가이드 맵 구현

본 연구에서는 학습자들이 쉽게 접근할 수 있고 학습의 이해도를 향상시킬 수 있는 보조 학습도구로써 웹 기반의 가이드 맵을 다음과 같은 절차를 통해 구현하였다.

1) 데이터 수집

학습자들이 파이썬 프로그래밍 수업과정에서 교수자에게 하는 질문은 프로그램을 작성 후 실행했을 때 정상적인 결과값이 출력되지 않는 경우와 학습자가 파이썬 문법 자체를 이해하지 못하는 경우로 나눌 수 있다. 학습자가 작성한 프로그램의 결과값이 정상적으로 출격되지 않는 주된 원인은 학습자가 기본적인 프로그램 사용법을 숙지하지 못하거나 파이썬 문법에 맞게 프로그램을 작성하지 않아서 발생한다. 그리고 파이썬 문법 자체를 이해하지 못하는 경우는 학습자의 수업에 대한 이해도가 낮거나 문제 해결을 위해 어떻게 접근 할지를 모르는 경우가 있다[15].

따라서 학습자의 실습과정에서 발생되는 데이터는 수업시간에 학습자가 하는 질문 내용에서 오류 메시지와 문법 정보를 수집하였다. 데이터 수집은 표 1과 같이 학기가 시작되고 끝나는 기간 동안 총 2차례 진행하였고, COVID-19로 인해 비대면 방식으로 수업이 진행됨에 따라 동영상 강의를 이용한 온라인 수업방식을 도입하였으므로 학습자들이 매주 실습과제를 LMS에 제출하면 교수자가 피드백을 해주는 방식으로 진행되었다. 따라서 LMS(과제게시판, Q&A게시판, 쪽지)와 이메일를 통해 질문 내용을 수집하였다.

Table 1. 
Data collection period and method
Data Collection Period Collection Method
3/2020 ~ 6/2020 LMS(Assignment Board, Q&A Board, Note), E-mail
9/2020 ~ 12/2020

2) 데이터 분석

파이썬 프로그램 작성과정에서 빈번하게 발생하는 오류 메시지와 각 오류에 대한 내용은 표 2와 같이 출력된다. 수집된 오류 메시지에 대해 관련된 문법 정보를 기반으로 분류하고 파이썬의 문법 카테고리와 연결하여 오류 메시지를 분석 후 학습자들이 빈번하게 질문하는 내용들에 대한 패턴을 추출하였다.

Table 2. 
Frequent Error Messages
Error Type Description
SyntaxError Wrong punctuation, parenthesis errors, missing commas and quotes, reserved word errors, variable setting errors
NameError Variable name typo, function name typo, function name error, module function reference error
EOFError Missing parenthesis error when using function
EOLError Omission of quotation marks when displaying strings and incorrect transcription errors
ZeroDivisionError Errors when dividing by zero
TypeError Errors due to incorrect data types, incorrect use of function returns and parameters
IndexError Error due to setting the index range of the list out of range
ValueError Errors that occur when incorrect values are passed, missing loop variable initialization, and infinite loop notation errors
IndentationError Invalid block processing error when using conditional statements, loop statements, and functions
ImportError Incorrect notation of module name
AttributeError Invalid use error of module properties

예를들어 수업내용 초반에 학습하는 print()함수 사용 부분에서 괄호가 누락된 경우에는 EOFError가 따옴표가 누락된 경우에는 EOLError가 발생 된다. 따라서 파이썬의 문법 카테고리인 print()함수, input()함수, 변수, 문자열, 리스트, 조건문, 반복문, 함수, 모듈로 세분화하여 데이터를 정리하였다. 파이썬 문법 자체를 이해하지 못해 질문을 하는 경우에 대해서는 기초 이론 설명 부분에서 다룬 내용들을 기준으로 문법 카테고리별로 요약정리 하였다.

3) 시스템 구현

데이터 수집과 분석을 통해 정리 및 세분화된 오류 메시지와 파이썬 문법 카테고리에 대한 내용을 이용하여 프로그램을 처음 접하는 초급자들이 수업 시간에 쉽게 활용할 수 있도록 가이드 맵 사이트 Ver. 1.0을 구현하였다. 가이드 맵은 그림 2와 같이 메인 페이지인 python-guidemap, 파이썬 오류 항목, 파이썬 오류 등록으로 구성하였다.


Fig. 2. 
Guide Map Site Ver. 1.0

* This site is made for Korean students, so it is written in Korean.



학습자는 프로그래밍 과정에서 발생된 오류 해결을 위해 가이드 맵의 ‘파이썬 오류 항목’ 메뉴에서 문법 카테고리를 직접 선택하여 지금 문제가 되고 있는 부분에 해당하는 내용을 참조할 수 있다. 파이썬 문법별 카테고리를 선택하면 가이드 맵은 추출된 패턴을 기반으로 현재의 문제를 해결할 수 있는 방법을 제공하고, 문법에 대한 기본 설명을 제공함으로써 학습자가 학습 내용을 다시 확인할 수 있게 한다. 학습자가 프로그래밍 과정에서 발생한 새로운 오류는 ‘파이썬 오류 등록’ 메뉴에서 새롭게 등록할 수 있다. 이때 등록된 새로운 오류는 교수자가 검토 후 가이드 맵 사이트에 추가하게 된다.

4) 시스템 안정화

데이터 가이드 맵 사이트의 안정화를 위해 Ver. 1.0을 활용한 파이썬 프로그래밍 수업의 교수자 - 학습자간의 피드백 내용을 바탕으로 학습자들의 가이드 맵에 대한 사용 후기에 대한 의견과 3차로 수집된 데이터의 분석결과를 반영하여 보다 개선된 내용의 그림 3과 같은 Ver. 2.0으로 업데이트 하였다[16].


Fig. 3. 
Guide Map Site Ver. 2.0[16]

* This site is made for Korean students, so it is written in Korean.



가이드 맵 Ver. 2.0의 구조는 파이썬 오류 종류와 참고 사이트 메뉴를 추가하여 확장하였다. 따라서 학습자는 프로그램 작성 후 발생한 오류 메시지 정보는 ‘파이썬 오류 종류’ 메뉴에서 확인하며 오류의 원인을 파악할 수 있고, ‘참고 사이트’ 메뉴에서는 파이썬 언어의 다양한 문법에 대한 정보를 얻을 수 있고 실습방법과 관련된 내용을 참고할 수 있다.

시스템 안정화 과정에서 가이드 맵의 신뢰도를 향상시키기 위해 기존 2차례에 걸쳐 수집한 데이터에서 3차(2021년 3월 ~ 2021년 6월) 데이터 수집 및 분석을 추가하였고, 컴퓨터 프로그래밍 전문가 2인, 교육 전문가 1인을 활용하여 데이터 분석에 대한 자문과 추출된 패턴에 대한 검증을 수행하였다. 따라서 제안한 방법에 대한 최종적인 평가는 웹 기반 가이드 맵 Ver. 2.0을 적용한 결과를 바탕으로 진행하였다.


Ⅳ. 연구 결과
4-1 실험 대상 및 방법

본 연구의 실험은 표 3과 같이 2020년 1학기(3월~6월)부터 2022년 2학기(9월~12월)까지 K대학에서 ‘소프트웨어기초’와 ‘컴퓨팅사고’ 교과목을 수강한 총 1,036명의 학습자를 대상으로 진행하였다. 이 두개의 교과목에서는 모두 파이썬 언어를 사용하였고 입력, 출력, 변수, 문자열, 리스트, 조건문, 반복문, 함수, 모듈에 대한 내용을 다루었다. 수업방식은 2020년부터 2021년도 까지는 COVID-19로 인해 온라인 강의로 진행하고, 2022년도에는 온라인과 오프라인 수업을 혼합한 하이브리드 방식으로 진행하였다. 따라서 온라인 수업에서의 교수자 - 학습자의 피드백은 LMS(과제게시판, Q&A게시판, 쪽지), 이메일로 이루어졌고, 하이브리드 방식에서는 온라인 피드백 방식과 함께 오프라인 수업에서도 교수자 - 학습자의 피드백이 이루어졌다. 가이드 맵 적용 전인 2020년도에는 시연중심모델을 기반으로 수업 진행하고, 2021년도 1학기에는 가이드 맵 Ver. 1.0, 2021년도 2학기와 2022년도 수업에서는 가이드 맵 Ver. 2.0을 적용하여 수업을 진행하였다.

Table 3. 
Test subject and method
Year Sem Number of
people
Class
method
Guide map application
2020 1 160 Online Before guide map
2020 2 204 Online Before guide map
2021 1 199 Online After guide map Ver. 1.0
2021 2 159 Online After guide map Ver. 2.0
2022 1 156 Hybrid After guide map Ver. 2.0
2022 2 158 Hybrid After guide map Ver. 2.0

4-2 교수자 - 학습자의 피드백 빈도 분석

학습자들이 교수자에게 피드백을 요청하는 방법에는 온라인 학습과 과제 제출에 사용하는 LMS(과제게시판, Q&A게시판, 쪽지) 시스템과 이메일 그리고 오프라인 실습수업에서의 질문이 있으며, 이를 통한 피드백의 빈도 변화를 측정하였다. 측정 기간에서 학기 초 이론 수업만 진행한 1~2 주차, 중간고사와 기말고사를 시행한 8, 15주차, 프로젝트 계획 및 제작을 진행한 13~14 주차를 제외하였다. 그리고 변화를 쉽게 관찰할 수 있도록 분석 대상이 되는 총 9주를 수업 내용에 따라 3개의 기간(3~5주차, 6~7주차와 9주차, 10~12주차)으로 나누어 표 4와 같이 주차 별 빈도수의 합을 구하였고, 1명 당 평균 질문 수는 소수점 2째 자리까지 계산하였다.

Table 4. 
Sum of feedback frequencies per week
Year Sem Number
of
people
Number of questions about practice problems Average
number of
questions
per person
3~5
weeks
6~7, 9
weeks
10~12
weeks
Total
2020 1 160 478 552 589 1,619 10.12
2020 2 204 610 704 751 2,065 10.12
2021 1 199 412 449 494 1355 6.81
2021 2 159 285 366 366 1,017 6.40
2022 1 156 252 323 316 891 5.71
2022 2 158 265 334 327 926 5.86

그림 4는 연차별 학습자의 질문 수를 비교한 그래프이며, 세로축은 질문 수를 의미한다. 가이드 맵을 적용하지 않은 2020년 1, 2학기와 가이드 맵 Ver. 1.0을 적용한 2021년 1학기, Ver. 2.0을 적용한 2021년 2학기, 2022년 1, 2학기의 질문 수의 분포를 보면 프로그래밍 수업에서 웹 기반 가이드 맵을 적용하기 전보다 적용한 후에 빈도가 현저히 감소되는 현상을 나타냈다. 주차별 난이도에 따른 횟수의 경우 3~5주차에 비해 수업의 중반 이후에 질문 수가 증가되는 것을 볼 수 있는데, 주차가 진행 될수록 수업 내용의 난이도가 높아지기 때문으로 분석된다. 이는 선행 연구에서 도출한 파이썬 언어의 문법 내용이 복잡해짐에 따라 코딩 오류의 발생률이 높아지는 것과 유사한 결과라고 볼 수 있다[17].


Fig. 4. 
Comparing the number of learners' questions per year

학습자 1명당 평균 질문 수를 이용하여 가이드 맵을 적용하지 않은 학기 대비 적용 후의 비율을 비교해 보면 그림 5와 같다. 1명당 평균 질문 수가 10.12개로 동일한 가이드 맵 적용 전(2020년 1, 2학기)의 평균 질문 수 100% 대비 가이드 맵 적용 후에는 67.29%(2021년 1학기), 63.20%(2021년 2학기), 56.44%(2022년 1학기), 57.91%(2022년 2학기)의 비율을 보였다. 즉, 가이드 맵 적용 전 보다 학습자의 질문 수가 Ver. 1.0을 적용한 2021년 1학기에는32.71%, Ver. 2.0을 적용한 2021년 2학기와 2022년 1, 2학기에는 각 36.80%, 43.56%, 42.09% 감소되었다.


Fig. 5. 
Percentage of average number of questions per learner compared to 2020

이와 같은 피드백의 빈도 변화를 통해 웹 기반 가이드 맵이 학습자들의 프로그래밍 학습에 도움이 된 것을 확인할 수 있다.

4-3 학습모델의 효과성 분석

본 연구에서는 제안한 학습모델을 적용한 수업의 효과성을 분석하기 위해 학기 초와 학기 말, 두 번에 걸쳐 설문 조사를 시행하였다. 설문지의 평가지표와 질문 항목에 대한 작성은 전문가들(컴퓨터 프로그래밍 전문가 2인, 교육 전문가 2인)과 논의하여 진행하였다. 제안하는 학습모델에 대한 평가지표는 “학습자들이 수업 내용을 얼마나 이해하고 있는가?”와 “학습 내용에 대한 흥미와 재미를 얼마나 느낄 수 있는가?”, 그리고 “이 학습이 학습자들에게 진정으로 도움이 되었는가?”가에 중점을 두어 이해도 향상, 참여 의지로 정하고 각 지표에 해당하는 질문 항목을 표 5와 같이 작성하였다.

Table 5. 
Questionnaire for analyzing the effectiveness of the learning model
Evaluation Index Question Number Question
Improvement of Understanding Q1 I understand the program.
Q2 I have application skills in solving problems using computers.
Q3 I am creative in solving problems using computers.
Willingness to Participate Q4 I am interested in computers and programming.
Q5 I want to be good at programming.
Q6 Computer non-major students also need software education.
Q7 I think my programming skills can be improved if I take this course.
Q8 I think that software education is helpful for employment and career decision-making.

사전, 사후 조사를 모두 시행한 Q1~Q8에 대한 설문 조사 결과는 표 6과 같다. 설문은 매우 부정(1점), 부정(2점), 보통(3점), 긍정(4점), 매우 긍정(5점) 중 선택하게 되어 있고 산출된 값은 각 설문항목의 모든 점수에 대한 평균을 식 (1)을 사용하여 계산하였다.

yQi=k=15kmkN(1) 
  • yQi : Qi 항목의 y 값, i = 1 ~ 8
  • mk : Qi 항목에서 선택한 점수가 k(=1 ~ 5)인 학습자의 수
  • N : 해당 설문을 수행한 전제 학습자`수
Table 6. 
Survey results
Evaluation
Index
Question
Number
2020 2021 2022
1st Sem 2nd Sem 1st Sem 2nd Sem 1st Sem 2nd Sem
Pre Post Pre Post Pre Post Pre Post Pre Post Pre Post
Improvement of
Understanding
Q1 2.36 4.00 2.29 3.92 2.40 4.17 2.07 3.96 2.04 3.84 2.11 4.19
Q2 2.97 4.18 2.83 4.00 2.90 4.24 2.75 4.18 2.49 3.97 2.65 4.25
Q3 2.84 4.09 2.77 4.08 2.68 4.11 2.55 4.09 2.47 3.92 2.39 4.16
Willingness to
Participate
Q4 2.92 4.30 2.89 4.38 2.96 4.44 2.67 4.28 2.70 4.22 2.99 4.32
Q5 2.99 4.31 2.79 4.34 2.84 4.36 2.95 4.31 2.66 4.10 2.99 4.30
Q6 4.11 4.16 3.91 4.21 4.07 4.28 3.72 4.13 3.79 4.17 3.88 4.23
Q7 4.29 4.27 4.20 4.19 4.19 4.28 4.03 4.26 4.13 4.27 4.23 4.30
Q8 4.17 4.15 4.14 4.17 4.16 4.19 3.89 4.14 4.05 4.15 4.04 4.18

이와같은 설문조사 결과에 대해 사전, 사후 조사 결과를 비교하고 웹 기반 가이드 맵의 적용 전, 후의 비교를 동시에 수행하기 위해 각 학기 별 사전, 사후 조사의 항목 별 점수 변화량을 식 (2)를 이용하여 계산하였다.

vi=sposti-sprei(2) 
  • vi : Qi 항목의 사전, 사후의 점수 변화량, i = 1 ~ 8
  • spost i : 사후 조사에서의 Qi 항목의 점수
  • spre i :사전 조사에서의 Qi 항목의 점수

또한 가이드 맵 적용 전, 후에 대해 비교하기 위해 가이드 맵 적용 전인 2020년 1, 2학기와 가이드 맵 Ver. 1.0 적용 후인 2021년 1학기(온라인), 가이드 맵 Ver. 2.0 적용 후인 2021년 2학기(온라인), 2022년 1, 2학기(하이브리드)의 각 항목 별 점수 변화량의 평균을 표 7과 같이 계산하고 각 항목 별 점수 변화량을 그림 6에 나타내었다.

Table 7. 
Pre- and post-average change in survey results
Evaluation Index Question
Number
Before Guide Map (Online) After Guide Map Ver. 1.0 (Online) After Guide Map Ver. 2.0 (Online) After Guide Map Ver. 2.0 (Hybrid)
2020
1st & 2nd Sem
2021
1st Sem
2021
2nd Sem
2022
1st & 2nd Sem
Improvement of Understanding Q1 1.63 1.77 1.89 1.94
Q2 1.19 1.33 1.42 1.54
Q3 1.28 1.43 1.55 1.61
Willingness to Participate Q4 1.43 1.47 1.62 1.42
Q5 1.43 1.52 1.36 1.37
Q6 0.17 0.22 0.41 0.37
Q7 -0.01 0.09 0.23 0.11
Q8 0.01 0.04 0.25 0.12


Fig. 6. 
Comparison of pre- and post-average changes in survey results

설문 조사 결과의 사전, 사후 평균 변화량을 비교해보면, 이해도 향상(Q1~Q3) 부분에서는 가이드 맵 적용 전에 비해 가이드 맵을 적용했을 때 점수의 변화량이 증가되는 결과를 보였다. 특히 시스템 안정화과정을 거친 가이드 맵 Ver. 2.0을 이용하며 온라인과 오프라인 수업을 병행한 하이브리드 방식 수업에서 이해도가 많이 향상된 것을 알 수 있다.

참여 의지(Q4~Q8)에 대한 변화량의 경우 Q4는 변화율이 증가한 가이드 맵 Ver. 2.0 적용(온라인)을 제외한 나머지 기간에는 거의 변화가 없었다. Q5에서는 가이드 맵 v2.0 적용 후에 다소 감소하는 현상을 보였지만, Q6~Q8은 가이드 맵 Ver. 2.0 적용 전 보다 적용 후에 조사 점수의 변화량이 전체적으로 증가되는 결과를 나타냈다. 즉 가이드 맵 적용 후에 학습자들의 참여 의지도 전반적으로 높아졌음을 알 수 있다.

그림 7은 학습자들의 파이썬에 대한 이해도 분석을 위해 설문조사한 내용으로 매우 부정(1점), 부정(2점), 보통(3점), 긍정(4점), 매우 긍정(5점)의 각 점수 별 합산 결과를 전체 합산 결과에 대한 백분율로 나타내었다.


Fig. 7. 
Result of a survey on learner's understanding of the Python program

그림 7의 (a)는 본 연구에서 제안한 방법을 통해 학습하는 과정에서 “파이썬 프로그램의 오류를 스스로 해결할 수 있었다”는 질문에 대해 긍정 53.63%, 매우긍정 26.38%로 총 80.01%의 학습자들이 긍정 이상으로 답변한 결과를 보여준다. 또한, 그림 7의 (b)와 같이 학습자들이 본 연구에서 제안한 “가이드 맵이 파이썬을 학습하는데 도움이 되었다”는 질문에 대한 결과도 긍정 44.59%, 매우긍정 30.40%로 총 74.99%의 학습자가 긍정 이상의 답변을 하였다.

이러한 설문조사 결과는 학습자들이 본 연구에서 제안한 방법을 통해 파이썬을 학습하며 발생하는 오류를 가이드 맵의 도움을 받으며 스스로 해결할 수 있었음을 나타낸다.


Ⅴ. 결 론

본 연구는 컴퓨터 비전공자들이 자기주도적 학습을 진행해 나가며 프로그래밍 학습효과를 향상시키기 위한 수업 방법으로 웹 기반 가이드 맵과 피드백 기반 시연중심모델의 결합을 통한 컴퓨터 비전공자의 프로그래밍 학습 모델을 설계하고, 실제 수업시간에 적용 후 교수자 - 학습자의 피드백 빈도와 학습 모델의 효과성을 분석하였다.

학습자의 피드백 빈도는 웹 기반 가이드 맵을 적용하기 전보다 적용한 후에 감소되는 현상을 보였으며, 이는 웹 기반 가이드 맵이 학습자의 학습에 도움이 되는 것으로 볼 수 있다. 평가 지표별 분석은 이해도 향상과 참여의지로 나누어 접근하였으며, 가이드 맵 적용 후에 학습자들의 이해도와 참여의지가 전반적으로 향상된 결과를 나타냈다. 파이썬 프로그램에 대한 이해도 분석을 통해 파이썬을 학습하며 발생하는 오류를 가이드 맵의 도움을 받으며 학습자 스스로 해결할 수 있다는 것을 알 수 있었다. 또한 본 연구에서 제안한 방법은 온라인 수업뿐만 아니라 오프라인을 병행한 하이브리드 수업에서도 유사하게 긍정적인 결과를 나타냈으므로 다양한 학습 환경에 유연하게 적용할 수 있음을 보여주는 결과이다.

본 연구에서 제안한 피드백 기반 시연중심모델과 가이드 맵을 결합한 새로운 학습 모델은 컴퓨터 비전공자들이 자기주도적으로 학습을 진행해 나가며 프로그래밍 학습효과를 향상시키기 위한 수업 방법으로 활용될 수 있을 것이다. 향후에는 가이드 맵의 구성을 보다 심화된 내용으로 확장하여 학습자의 전공 지식을 바탕으로 융복합적인 프로그래밍 학습방법에 대해 연구 할 계획이다.


Acknowledgments

이 논문은 2020년 대한민국 교육부와 한국연구재단의 인문사회분야 신진연구자지원사업의 지원을 받아 수행된 연구임(NRF-2020S1A5A8042850)


References
1. G.-J. Park and Y.-J. Choi, “Exploratory Study on the Direction of Software Education for the Non-Major Undergraduate Students,” Journal of Education & Culture, Vol. 24, No. 4, pp. 273-292, August 2018.
2. M. Lee, “Exploring the Effect of SW Programming Curriculum and Content Development Model for Non-Majors College Students: Focusing on Visual Representation of SW Solutions,” Journal of Digital Contents Society, Vol. 18, No. 7, pp. 1313-1321, November 2017.
3. J. Kim, S. Han, S. Kim, S. Jung, J. Yang, E. Jang, ... and S. Kim, A Research on the Development of Teaching and Learning Models for SW Education, Korean Educational Development Institute, Seoul, CR 2015-35, December 2015.
4. H.-W. Jung, “A Study on Basic Software Education Applying a Step-by-Step Blinded Programming Practice,” Journal of Digital Convergence, Vol. 17, No. 3, pp. 25-33, March 2019.
5. J. Seo, “A Case Study on the Teaching and Learning Method of SW Education for Data Analysis Problem Solving,” Journal of Digital Contents Society, Vol. 20, No. 10, pp. 1953-1960, October 2019.
6. Y. S. Cho and M. J. Lee, Theory & Practice of PBL: From Problem Development to Classroom Application, 2nd ed. Seoul: Hagjisa, 2017.
7. K. Ko, “A Study on the Effectiveness of EPL Utilizing Programming Education Based on Problem Based Learning (PBL) for Non-SW Major,” Journal of Convergence Security, Vol. 19, No. 2, pp. 105-111, June 2019.
8. S.-J. Kim, “A Study on the VPBL Model for SW Liberal Education,” Journal of Digital Convergence, Vol. 19, No. 7, pp. 51-56, July 2021.
9. D. Y. Lee, “Research on Developing Instructional Design Models for Flipped Learning,” Journal of Digital Convergence, Vol. 11, No. 12, pp. 83-92, December 2013.
10. S.-Y. Pi, “A Study on Coding Education of Non-Computer Majors for IT Convergence Education,” Journal of Digital Convergence, Vol. 14, No. 10, pp. 1-8, October 2016.
11. S.-J. Kim and D.-E. Cho, “A Stduy on Learning Model for Effective Coding Education,” Journal of the Korea Convergence Society, Vol. 9, No. 2, pp. 7-12, February 2018.
12. W.-Y. Choi, “The Effects of Peer Tutoring and Feedback on Academic Learning in University Mathematics,” Journal of Engineering Education Research, Vol. 21, No. 1, pp. 37-43, January 2018.
13. The Python Tutorial. 8. Errors and Exceptions [Internet]. Available: https://docs.python.org/3/tutorial/errors.html.
14. The Python Standard Library. Built-in Exceptions [Internet]. Available: https://docs.python.org/3/library/exceptions.html.
15. H.-W. Jung, “A Case Study of Python Programming Error in an Online Learning Environment,” The Journal of the Convergence on Culture Technology, Vol. 7, No. 3, pp. 247-253, August 2021.
16. H. W. Jung. Python Guidemap Ver. 2.0 [Internet]. Available: https://sites.google.com/view/software/python-guidemap.
17. H.-W. Jung, “A Study on Coding Education for Non-Computer Majors Using Programming Error List,” International Journal of Advanced Culture Technology, Vol. 9, No. 1, pp. 203-209, March 2021.

저자소개

정혜욱(Hye-Wuk Jung)

2005년:성균관대학교 정보보호학과(공학석사)

2013년:성균관대학교 컴퓨터공학과(공학박사)

2015년 11월~2018년 2월: 성균관대학교 컨버젼스연구소 선임연구원

2018년 3월~현 재: 경기대학교 진성애교양대학 교양학부 조교수

※관심분야:소프트웨어 교육, 프로그래밍 언어, 지문분류, 인공지능, 딥러닝 등