DOI QR코드

DOI QR Code

A Study on the Effectiveness of Generative AI Utilization in Programming Education - focusing on ChatGPT and Scratch Programming

생성형AI 활용이 프로그래밍 학습에 미치는 효과성에 관한 연구 - ChatGPT와 스크래치 프로그래밍 중심으로

  • 고광 일 (우송대학교 테크노미디어융합학부 미디어디자인.영상전공)
  • Received : 2024.08.22
  • Accepted : 2024.09.25
  • Published : 2024.09.30

Abstract

The remarkable advancement of artificial intelligence technology is bringing innovative changes to the field of education. In particular, generative AI models like ChatGPT hold great potential in self-directed programming education due to their natural conversational abilities. This study analyzed the learning effects of using ChatGPT in Scratch classes for non-SW majors. Dividing the classes into those using ChatGPT and those not, and conducting the same evaluations and surveys for the ChatGPT-utilizing group, the results showed that ChatGPT significantly enhanced learning outcomes and the utility of ChatGPT was highly evaluated in advanced learning areas such as understanding Scratch's advanced features and algorithms. This study is significant as it empirically demonstrates the potential of generative AI like ChatGPT as an effective tool in programming education.

인공지능 기술의 획기적인 발전은 교육 분야에 혁신적인 변화를 가져오고 있다. 특히, ChatGPT와 같은 생성형 인공지능 모델은 자연스러운 대화 능력을 통해 자기주도적 프로그래밍 교육에서 큰 잠재력을 지니고 있다. 본 연구는 비SW전공생을 대상으로 ChatGPT를 활용한 스크래치 수업의 학습 효과를 분석하였다. ChatGPT 활용 분반과 비활용 분반으로 나누어 두 분반에 대해 동일한 평가와 ChatGPT 활용 분반의 설문 조사를 진행한 결과, ChatGPT의 활용이 학습 효과를 높이는 데 유의미한 영향을 미치는 것으로 나타났으며, 스크래치의 고급 기능과 알고리즘 이해와 같은 고난도 학습 영역에서 ChatGPT의 효용성이 높게 평가되었다. 본 연구는 ChatGPT와 같은 생성형 인공지능이 프로그래밍 교육에서 효과적인 도구로 활용될 가능성을 실증적으로 제시하였다는 점에서 의의가 있다.

Keywords

1. 서론

1.1 연구 배경

인공지능 기술의 획기적인 발전은 교육 분야에도 혁신적인 변화를 가져오고 있는데 특히, 생성형 인공지능 모델은 사람과의 자연스러운 대화를 가능하게 하여 교육과정에서의 새로운 접근법을 제시하고 있다. 프로그래밍 교육 분야에서도 인공지능 기술의 발전은 중요한 전환점을 만들고 있는데, 초보자들이 프로그래밍개념을 이해하고 응용하는 데 있어서 인공지능의 잠재력이 크게 주목받고 있다[1].

생성형 인공지능 모델 중 가장 주목받고 있는 Chat GPT는 오픈AI에서 개발한 대화형 인공지능 모델로서 GPT(Generative Pre-trained Transformer) 아키텍처를 기반으로 한다[2]. ChatGPT는 사람과의 자연스러운 대화 능력을 갖추고 있어서 교육 분야에서 학습자와의 상호작용을 통해 개념 설명, 문제해결 지원 등 다양한 업무를 수행할 수 있다. GPT는 업그레이드됨에 따라 멀티모달(Multi-modal) 대화 능력도 발전하고 있다. 2022년에 발표된 GPT-3는 텍스트 중심의 대화 방식을 지원했지만, 2023년에 발표된 GTP-4는 이미지 해석 능력을 갖추고 있다. 최근 2024년 5월에 발표된 GPT-4o는 다양한 언어의 실시간 음성 대화도 지원하고 있는데 이런 멀티모달 대화 능력의 발전은 ChatGPT의 학습자 중심의 자기주도형 교육 방식에 있어서 활용도를 더욱 높이고 있다.

MIT 미디어랩에서 개발한 스크래치(Scratch)는 블록을 조립하여 프로그램을 만드는 시각적 프로그래밍 언어로서 초급 학습자들이 컴퓨터 과학 개념과 프로그래밍 능력을 쉽게 익힐 수 있는 환경을 제공한다[3]. 2022년 기준 세계적으로 9천만 명 이상이 스크래치를 사용하고 있으며, 1억 개 이상의 프로젝트가 개발되어 공유되고 있다[4].

1.2 관련 연구

생성형 인공지능의 프로그래밍 교육 분야 활용에 관한 다양한 연구가 진행되었다. 이수환 외(2023)는 생성형 인공지능의 교육적 활용에 관한 국내 연구 동향을 탐색하여 생성형 인공지능의 교육적 활용에 관해 종합적인 연구의 필요성과 시사점을 제안하였다[5]. 김슬기(2023)는 ChatGPT의 프로그래밍 교육 활용 가능성을 분석하고[6], 프로그래밍 교육용 코드 생성을 위해 교수학습 전략과 프롬프트 공학 기법을 적용한 프롬프트를 개발하였다[7]. 박중오(2024)는 프로그래밍 수업을 중심으로 AI 챗봇 활용에 대한 학습자의 경험과 인식의 변화를 분석하였고[8], 공병찬 외(2023)는 사람이 프로그래밍한 코드와 비교하여 ChatGPT가 생성한 코드의 잠재력과 실용성을 평가하였다[9]. 최수지 외(2023)는 인간 프로그래머와 ChatGPT-3.5, ChatGPT-4.0 간의 코딩 문제해결 능력을 비교 분석하고 ChatGPT 코딩 과제에 대한 평가체계를 제안하였다[10].

1.3 연구 주제

본 연구는 이러한 배경 속에서 ChatGPT가 비SW 전공생의 프로그래밍 학습에 미치는 효과성을 탐구하였다. 구체적으로, 본 연구는 비SW전공생 대상의 스크래치 수업을 ChatGPT를 활용한 분반과 전통적인 수업 방식의 분반으로 구분하고, 동일한 평가를 통해 두 분반의 학습 성과 차이를 통계적으로 분석하였다. 또한, ChatGPT 활용 분반을 대상으로 설문조사를 실시하여, ChatGPT 활용의 효용성과 스크래치 학습 영역별로 얼마나 도움이 되었는지를 평가하였다.

이어지는 논문의 구성은 다음과 같다. 제2장에서는 ChatGPT 활용이 가능한 스크래치 학습 범위를 결정하기 위한 스크래치 학습 영역별 ChatGPT의 활용도를 분석한다. 제3장에서는 본 연구의 실험 방식을 소개하고 실험 전 두 분반의 학습 역량 차이를 분석한다. 제4장에서는 실험 결과를 토대로 두 분반의 학습 성과 차이를 통계적으로 분석하고, 설문 조사를 통해 ChatGPT 활용의 효용성을 평가한다. 마지막으로 제5장에서 본 연구 내용을 정리하고 연구의 의의와 향후 과제를 논하면서 결론을 맺는다.

2. 스크래치 학습의 ChatGPT 활용도

스크래치 수업의 ChatGPT 활용 분반을 운영하기 위해 스크래치 학습 영역별로 ChatGPT의 활용도를 조사하여, 실제 ChatGPT를 활용할 스크래치 학습 영역을 결정하였다. 참고로, 본 연구는 실험에 사용할 ChatGPT로 학습자가 무료로 사용 가능한 ChatGPT-3.5를 채택하였다.

<표 1>은 스크래치 수업을 진행하는 교수자가 스크래치 학습 영역별 학습 내용을 기반으로 ChatGPT의 활용 가능 내용을 정리한 것이다. 블록 사용법의 경우, ChatGPT는 블록의 조립 방법에 대한 설명뿐만 아니라 스프라이트 간 스크립트 복사 방법과 같은 유용한 도움말까지 제공한다. 변수 활용의 경우, ChatGPT는 기본 변수와 구조적 변수 리스트의 생성 방법을 알려주고, 지역변수와 전역변수의 설명과 각각의 생성 방법을 설명한다. 그리고 변수를 활용한 다양한 예제를 제공한다. 조건 활용의 경우, ChatGPT는 관계식과 논리식으로 조건을 만드는 방법뿐만 아니라, 문제를 입력하면 문제해결에 필요한 조건을 자동적으로 생성하고 프로그래밍 예까지 제공한다. 선택/반복 문장 제어의 경우, ChatGPT는 스크래치의 문장 제어 블록들을 설명하고, 이 블록들을 활용한 프로그래밍 예를 제공한다. 프로시저 활용의 경우, ChatGPT는 프로시저의 개념과 프로시저 블록 생성 방법을 설명하고, 프로시저를 활용한 프로그래밍 예를 제공한다. 감지/이벤트 기능 활용의 경우, ChatGPT는 감지/이벤트 블록의 사용방법을 설명하고, 이를 활용한 프로그래밍 예를 제공한다. 특히, 고난도의 이벤트 방송 기능에 대한 다양한 프로그래밍 예를 제공하여 학습자의 이해를 돕는다. 스크래치 학습에 있어서 가장 고난도 주제인 복제 기능 활용의 경우, ChatGPT는 복제의 개념과 복제 기능 관련 블록 사용법을 설명하고, 복제 간의 충돌 방지와 독립적인 행동 보장을 위한 도움말과 프로그래밍 예를 제공한다. 마지막으로, 알고리즘 이해와 구현의 경우, ChatGPT는 특정 알고리즘 (예: 그리디 알고리즘, 이분탐색 알고리즘, 유클리드 최대공약수 구하기 알고리즘 등)의 동작 방식을 설명하고, 알고리즘의 성능 이해에 필요한 시간 복잡도를 설명한다. ChatGPT는 구체적인 알고리즘 동작 시나리오 예를 통해 학습자의 알고리즘 이해를 돕고, 알고리즘을 구현한 스크래치 프로그래밍 예를 제공한다.

<표 1> 학습 영역별 ChatGPT 활용 내용

SOBTCQ_2024_v24n3_33_3_t0001.png 이미지

이와 같은 분석을 통해, 본 연구는 <표 1>에 기술된 모든 스크래치 학습 영역에서 ChatGPT를 활용한 학습자 중심의 자기주도적 학습이 가능하다고 판단하였다.

3. 실험 방식 및 실험 사전 준비

3.1 그룹별 실습 방식

본 연구는 ChatGPT 활용이 비SW전공생의 프로그래밍 학습에 미치는 영향을 실험하기 위해 SW중심대학으로 선정된 모 지방 사립대학의 SW기초교육 수업을 활용하였다. 참고로, 본 실험에 활용된 SW기초교육 수업은 교육용 프로그래밍 언어인 스크래치를 활용하여, 관계식과 논리식으로 문제해결에 요구되는 조건 설계, 계층적 분해와 절차적 사고방식에 기반한 프로시저 설계, 선택과 반복 문장제어를 통한 알고리즘의 이해와 구현 등 비SW전공생에 필요한 컴퓨팅사고력과 프로그래밍 기초능력을 배양한다.

본 연구는 해당 SW기초교육 수업을 두 개의 분반으로 나누어, 한 분반(그룹A)은 수업 시간에 진행하는 실습에서 프로그램의 개요와 실행 결과만 알려주고, 그 후 ChatGPT를 활용하여 학생 스스로 해결 방법을 찾아 프로그램을 완성하도록 하였다. 다른 분반(그룹B)은 전통적인 수업 방식으로, 교수가 주도하여 실습 대상의 프로그래밍 과정을 보여주면서 설명을 통해 학생들의 이해를 돕도록 하였다. 두 그룹 모두 실습 후에는 교수자와 학생 간 질의응답 시간을 가졌다. <표 2>는 두 그룹 간의 실습 진행 방식과 교수자의 역할을 정리한 것이다.

<표 2> 그룹A와 그룹B의 실습 수행 방식

SOBTCQ_2024_v24n3_33_4_t0001.png 이미지

3.2 실험 사전 준비

본 연구는 그룹에 따라 수업 방식이 서로 달라서 수업 오리엔테이션을 통해 실습 방식의 공지와 동의를 얻었다. 그리고 두 그룹 학생들의 프로그래밍 경험을 알아보기 위해 설문 조사를 진행하여 <표 3>과 같은 결과를 얻었다. 그룹A는 총 34명 중 2명이, 그룹B는 총 31 중 1명이 이미 프로그래밍 교육을 받았다. 프로그래밍 교육을 경험한 학생들은 스크래치 외 다른 프로그래밍 언어에 대한 경험은 없었다.

<표 3> 프로그래밍 경험에 대한 사전 설문조사

SOBTCQ_2024_v24n3_33_4_t0002.png 이미지

본 연구는, ChatGPT 활용이 프로그래밍 기초교육에 미치는 효과성을 실험하는 것이기 때문에, 수업 전 스크래치 교육을 받은 3명의 학생(그룹A 2명, 그룹B 1명)을 실험 대상에서 제외하고, 나머지 학생들로 두 그룹 간의 프로그래밍 역량 차이를 비교하였다. 이를 위해, 수업 오리엔테이션 시간에 스크래치의 실행환경, 기본적인 블록 사용법, 관계식과 논리식의 수학적 의미, 선택/반복 문장제어의 개념을 교육하고, 사전 평가를 시행하였다. 사전 평가는 스크래치 실행환경의 이해도, 블록사용 능력, 논리식의 이해력, 그리고 문장의 반복적, 선택적 제어 능력으로 구분하여 총 12문제로 구성하였다. 사전 평가결과의 t-검정 결과, 두 그룹 간의 프로그래밍 역량은 통계적으로 유의미한 차이가 없었다(유의 수준 α = 0.05, 유의 확률 0.1035)(<표 4> 참고).

<표 4> 프로그래밍 역량에 대한 t-검정 분석

SOBTCQ_2024_v24n3_33_4_t0003.png 이미지

4. 실험 결과 및 분석

4.1 평가 방식

그룹A와 그룹B의 평가는 공통적으로 중간고사와 기말고사, 그리고 프로그래밍 과제로 이루어졌는데, 중간고사는 스크래치 문법 이해력과 기본 프로그램 작성 능력을 평가하는 문제로 구성되었으며, 기말고사는 스크래치 고급기능 활용과 알고리즘 이해 능력을 평가하는 문제로 구성되었다. 중간고사와 기말고사는 두 그룹 모두 동일한 문제로 출제하였다. 프로그래밍 과제는 수업 시간 외에 수행되기 때문에 본 연구의 객관적 평가 자료로 활용하기 어려운 면이 있다. 따라서 본 연구에서는, 두 그룹의 중간고사와 기말고사 점수로만 학습 효과를 비교하였다.

<표 5>는 본 연구에 활용된 중간고사와 기말고사의 문제 유형과 유형별 문제 내용, 그리고 배점을 정리한 것이다.

<표 5> 중간, 기말고사 문제 구성

SOBTCQ_2024_v24n3_33_5_t0001.png 이미지

4.2 평가결과 및 분석

<표 6>은 중간고사와 기말고사로 출제된 문제의 유형 별로 그룹A와 그룹B의 평균 점수를 정리한 것이다. 스크래치 문법 이해과 기본 코드 작성 능력 유형의 경우, 두 그룹 간의 평균 점수가 크게 차이나지 않았는데, 이는 학습 내용 자체가 수월하여 교수 강의나 교재 내용만으로 실습이 원활히 진행되었기 때문으로 판단된다. 스크래치 고급기능 활용 유형의 경우, 그룹A가 그룹B에 비해 평균 점수가 4.36점 높았는데 이는 실습 난이도가 높아짐에 따라 ChatGPT를 통해 스스로 해결 방법을 찾는 과정에서 그룹A의 스크래치 고급기능에 대한 이해도가 그룹B보다 높게 형성되었다고 볼 수 있다. 알고리즘 이해 능력 유형의 경우, 그룹A가 그룹B에 비해 6.71점 높았는데, 이처럼 큰 점수 차가 난 것에 대한 이유를 분석하는 과정에서, 그룹A가 ChatGPT를 통해 단순히 알고리즘의 스크래치 코딩 방법이 아닌 알고리즘 자체를 이해하고자 하는 학습을 수행하였다는 것을 알 수 있었다. 결과적으로, 이런 활동이 그룹A의 알고리즘에 대한 이해도를 높이고 관련 문제 유형에서 그룹B에 비해 높은 점수를 받았다고 볼 수 있다.

<표 6> 문제 유형별 그룹의 평균 점수

SOBTCQ_2024_v24n3_33_5_t0002.png 이미지

<표 7>은 문제 유형별 그룹A와 그룹B의 성적 결과로 t-검정을 수행한 것이다 (유의 수준 α = 0.05). 수행 결과, 스크래치 문법 이해와 기본 코드작성 능력 유형에 대해서는 두 그룹 간 성적에서 통계적으로 유의미한 차이가 발견되지 않았다 (스크래치 문법 이해 유형: 유의 확률 p = 0.946116, 기본 코드작성 능력 유형: 유의 확률 p = 0.802534). 하지만, 스크래치 고급 기능 활용과 알고리즘 이해 능력 유형에서는 그룹A가 그룹B보다 통계적으로 유의미하게 더 우수한 성적을 받았다(스크래치 고급기능 활용 유형: 유의 확률 p = 0.003708, 알고리즘 이해 능력 유형: 유의 확률 p = 0.000489).

<표 7> 문제 유형별 성적에 대한 t-검정 분석

SOBTCQ_2024_v24n3_33_5_t0003.png 이미지

4.3 ChatGPT 활용에 관한 설문 조사

그룹A의 32명과 수업 전 스크래치 학습 경험자로 그룹A에서 제외되었던 2명을 포함한 총 34명을 대상으로 ChatGPT 활용에 관한 설문을 진행하였다. 설문 조사 내용은 <표 8>과 같이 ChatGPT 활용이 스크래치 수업에 어느 정도 도움이 되었는지와 스크래치 학습 영역별로 ChatGPT의 활용이 어느 정도 도움이 되었는지를 파악하기 위한 문항으로 구성하였다.

<표 8> ChatGPT 활용에 관한 설문 항목

SOBTCQ_2024_v24n3_33_6_t0001.png 이미지

(그림 1)은 설문 응답자의 설문 결과를 그래프로 표현한 것이다. 설문 응답자 중, ChatGPT의 활용이 스크래치 학습 내용 이해도 향상에 ‘그렇다’와 ‘매우 그렇다’로 답해 긍정적이라고 생각한 학생이 30명(88.2%)으로 집계되었으며, 흥미도 향상에 ‘그렇다’와 ‘매우 그렇다’로 답해 긍정적으로 생각한 학생이 28명(82.4%)으로 집계되었다. 나머지는 ‘보통이다’라고 답하였으며, 부정적으로 답한 학생은 없었다. 학습 영역별로 ChatGPT 활용이 어느 정도 도움이 되었는지 묻는 설문의 응답 결과는, 알고리즘 이해/구현(평균 4.79점), 조건 생성(평균 4.62점), 선택/반복 문장 제어(평균 4.47점), 복제 기능 활용(평균 4.38점), 이벤트 기능 활용(평균 4.15점), 감지 기능 활용(평균 3.88점), 블록 사용법(평균 2.97점) 순으로 점수가 높았다. 이는 학생들이 ChatGPT와의 반복적으로 이어지는 질문과 응답을 통해 실습에서 요구하는 조건과 알고리즘을 이해하고, 선택/반복 문장 제어로 알고리즘을 구현하는 데 많은 도움을 받았음을 방증한다. 실제 수업 시간에 학생들이 ChatGPT를 활용하여 실습 해결에 필요한 조건과 알고리즘 구현방법, 그리고 유사한 예제까지 학습하는 것을 확인할 수 있었다. 또한, 고난도의 복제 기능과 이벤트 방송 기능에 대해서도 학생들은 ChatGPT를 활용하여 실습에서 제공된 문제 외의 다양한 예제를 경험하는 것을 알 수 있었다. 마지막으로, 어려운 내용이 없는 블록 조립 방법에 대해서는 학생들이 ChatGPT의 유용성을 느끼지 않았다.

SOBTCQ_2024_v24n3_33_6_f0001.png 이미지

(그림 1) ChatGPT 활용 설문 조사 결과

5. 결론

생성형 인공지능 기술이 발전함에 따라 프로그래밍 교육 분야에서의 생성형 인공지능 활용에 관한 연구가 활발히 진행되고 있다. 본 연구는 비SW전공생 대상으로 ChatGPT의 활용이 스크래치 프로그래밍 학습 효과에 미치는 효과성을 분석하였다. 구체적으로, 비SW전공생 대상 스크래치 수업을 ChatGPT 활용 분반과 비활용 분반으로 구분하고, 같은 평가결과를 토대로 학습 효과의 차이를 통계적으로 분석하였으며, 설문 조사를 통해 ChatGPT 활용의 효용성을 평가하였다. 연구 결과, ChatGPT의 활용이 스크래치 수업의 학습 효과 향상에 통계적으로 유의미한 영향을 미치는 것으로 나타났으며, 스크래치의 고급기능과 알고리즘 이해와 같은 고난도 학습 영역에서 ChatGPT의 효용성이 높게 평가되었다.

본 연구는 비SW전공생의 스크래치 학습에 있어서 ChatGPT 활용의 학습 효과성을 탐구하였는데, 다양한 고급 프로그래밍 언어의 학습을 지원하는 ChatGPT의 능력을 고려할 때, SW전공생의 고급 프로그래밍 언어 수업을 대상으로 연구를 확장해야 하는 과제를 남겨두고 있다. 하지만, 본 연구는 정량적인 프로그래밍 학습효과 분석을 통해 프로그래밍 교육에서 ChatGPT의 잠재력을 실증적으로 탐구하였다는 점에서 의의가 있으며, 생성형 인공지능 시대에 보안 IT 분야 학생의 프로그래밍 입문 교육에도 도움이 되길 기대한다.

References

  1. 진회승, 윤보성, 신승윤, 생성형 AI에 대응한 SW인재양성 정책 방향 연구, 연구보고서 RE-158, 소프트웨어정책연구소(SPRI), 2023. 
  2. OpenAI 홈페이지, https://openai.com/. 
  3. 스크래치 홈페이지, https://scratch.mit.edu/. 
  4. Scratch Programming User and Growth Statistics 2022, https://brightchamps.com/blog/scratch-stats/. 
  5. 이수환, 송기상, "생성형 인공지능의 교육적 활용에 대한 국내 연구 동향 탐색", 컴퓨터교육학회 논문지, 제26권, 제6호, 2023년, pp. 15-27. DOI: https://doi.org/10.32431/kace.2023.26.6.002. 
  6. 김슬기, "프로그래밍 교육을 위한 생성형 인공지능 활용 가능성 탐색 : ChatGPT를 중심으로", 2023년 한국컴퓨터교육학회 하계 학술대회 논문집, 제27권, 제2호, pp. 151-154, 2023년 8월. 
  7. 김슬기, "생성형 AI를 활용한 프로그래밍 교육용 코드 생성 프롬프트 개발", 컴퓨터교육학회 논문지, 제26권, 제5호, pp. 107-117, 2023년. DOI : 10.32431/kace.2023.26.5.009. 
  8. 박중오, "생성형 인공지능 기반 수업 경험 및 활용 방안에 대한 연구-프로그래밍 수업을 중심으로", 실천공학교육논문지, 제16권, 제1호, pp. 33-39, 20 24년. DOI: https://doi.org/10.14702/JPEE.2024.033. 
  9. 공병찬, 조수희, 장지영, 박소희, 권기현, "ChatGPT 와 인간 프로그래머가 생성한 코드의 비교 분석", 2023년 한국정보기술학회 하계 종합학술대회 논문집, 제18권, 제1호, pp. 789-792, 2023년 6월. 
  10. 최수지, 변혜원, "한국어 코딩 테스트에서의 인간 대 ChatGPT 3.5 & 4.0 성능 비교 및 평가 체계", 한국디지털콘텐츠학회논문지, 제24권, 제12호, pp. 3167-3178, 2023년. DOI: https://doi.org/10.9728/dcs.2023.24.12.3167