
AI 기반 짝 프로그래밍 기법을 활용한 프로그래밍 수업모델 설계
초록
본 연구는 생성형 AI를 접목한 대학 프로그래밍 수업모델을 개발하고, 실제 이 모델에 기반한 수업을 평가하여 생성형 AI의 교육적 효과와 향후 활용 방안에 대하여 고찰하고자 하였다. 실험은 S대학교 사범대학 컴퓨터교육과 2024년 2학기 인공지능 교과목 강의 수강생 19명을 대상으로 진행되었으며, ChatGPT를 파트너로서 활용한 짝 프로그래밍 실습 강의를 진행하였다. 사전-사후 설문조사와 심층 인터뷰를 통해 설계한 짝 프로그래밍 기반 수업모델의 효과를 측정하였으며 생성형 AI를 활용한 짝 프로그래밍 강의가 학생들의 컴퓨팅 사고력, 학습 동기, 프로그래밍 자기효능감에 미치는 영향을 분석하였다. 실험 결과, 컴퓨팅 사고력의 알고리즘적 사고와 문제해결능력, 프로그래밍 자기효능감의 응용과 코드 리터러시 능력 영역에서 유의미한 향상이 확인되었다. 심층인터뷰에서는 AI와의 상호작용을 통한 능동적 학습이 가능했다는 긍정적 평가가 있었다. 이를 통해 생성형 AI를 프로그래밍 교육에도 효과적으로 활용할 수 있다는 가능성을 확인하였다.
Abstract
This study designs a university programming course model that integrates Generative Artificial Intelligence (AI) with pair programming techniques. The model’s educational effectiveness and future applications are evaluated through practical sessions conducted with 19 students from an artificial intelligence course at the College of Education, S University, using ChatGPT as a programming partner. Effectiveness is measured through pre- and post-surveys and in-depth interviews, assessing the impact on students’ computational thinking, learning motivation, and programming self-efficacy. The results indicate significant improvements in algorithmic thinking and problem-solving within computational thinking, as well as in the application and code literacy aspects of programming self-efficacy. In-depth interviews highlight the potential for active learning through AI interaction, demonstrating generative AI’s effective use in programming education.
Keywords:
Generative AI, Pair Programming, Computational Thinking, Programming Self-Efficacy, ChatGPT키워드:
생성형 AI, 짝 프로그래밍, 컴퓨팅 사고력, 프로그래밍 자기효능감1. 서론
코드 생성형 AI는 프롬프트를 입력하면 원하는 코드를 생성하고, 코드에 대한 해석도 제공해줄 수 있는 자연어 처리 기반 도구이다. 대표적인 코드 생성형 AI 도구로는 (GitHub Copilot, 2023)과 OpenAI의 (ChatGPT, 2023)가 있다[1-2]. 이러한 도구들의 사용은 이미 실무 개발 환경에서도 보편적으로 사용되고 있으며, 교육 현장에서도 사용이 증가하고 있어 효과적인 활용 방안에 대한 연구가 필요하다.
개발자들에게 요구되는 핵심 역량 또한 단순히 코드를 작성하는 능력에서 AI가 제시한 코드를 비판적으로 분석하고 이해하며, 주어진 문제 상황에 맞게 수정하여 활용할 수 있는 코드 리터러시 능력으로 바뀔 것으로 예상된다[3]. 따라서 프로그래밍 교육도 기존의 코드 작성 중심 교육에서 벗어나, 코드 해석 능력과 응용력을 향상시키는 방향으로 변화할 필요가 있다.
짝 프로그래밍(Pair Programming)은 이러한 맥락에서 주목할 만한 교육 방법론이다. 짝 프로그래밍은 두 명의 개발자가 협업하여 코드를 작성하는 방식으로, 한 명은 운전사(driver) 역할을 하여 실제 코드를 작성하고, 다른 한 명은 항해사(navigator) 역할을 맡아 코드를 검토하고 피드백을 제공한다[4]. 두 사람은 일정 시간 간격으로 역할을 교대하며 협업을 지속하는데, 이는 코드 품질 향상과 문제 해결 능력 증진에 효과적인 것으로 알려져 있다[5-6].
정충교(2017, 2018)의 연구에서 대학 프로그래밍 강의에 짝 프로그래밍을 도입한 결과, 짝과의 성격이나 실력 차이로 인해 참여도와 만족도가 떨어질 수 있다는 문제점이 발견되었다[7-8]. 이러한 문제점들이 짝 프로그래밍의 본래 취지인 상호 학습과 협력적 문제 해결을 저해하는 요소로 작용한 것으로 보인다.
이를 해결하기 위해 본 연구에서는 생성형 AI를 프로그래밍 학습 보조 도구로 활용하는 최근의 연구 동향(Qureshi, 2023; Lau&Guo, 2023; Yilmaz&Yilmaz, 2023)을 고려하여, ChatGPT를 짝 프로그래밍의 파트너로 활용하는 새로운 학습 방법을 제안하고자 한다[9-11]. 본 연구에서 제안하는 방식은 학생들의 성격이나 실력에 상관없이 평등한 조건에서 실습을 진행할 수 있다는 장점이 있다. 또한, 교수나 조교에게 하기 어려웠던 질문도 ChatGPT에게 자유롭게 할 수 있어 학생들의 능동적인 참여를 유도할 수 있을 것으로 기대된다.
짝 프로그래밍 수업은 학생들이 ChatGPT와 항해사와 운전사 역할을 일정 시간 간격으로 번갈아가며 수행하고, 서로가 작성한 코드를 검토하고 피드백을 제공하거나 새로운 아이디어를 제안하는 방식으로 설계하였다. S대학교 사범대학 인공지능 과목에서 이를 적용한 후, 학생들의 프로그래밍 능력을 컴퓨팅 사고력, 학습 동기, 프로그래밍 자기효능감 세 가지 항목으로 나누어 AI 짝 프로그래밍 수업 전후의 변화를 설문조사를 통해 분석하였다.
설문 문항은 컴퓨팅 사고력과 학습 동기 측정을 위해 Yilmaz&Yilmaz(2023)의 연구와 Law,Lee,&Yu(2010)의 연구에서 사용된 문항을 채택하였으며, 프로그래밍 자기효능감 측정을 위해서는 김갑수(2014)의 설문 문항을 보완하여 활용하였다[12-14]. 특히 프로그래밍 자기효능감 문항의 경우, 코드 리터러시 능력을 평가하기 위해 새로운 문항들을 추가하였다. 또한, 수강생 2명을 대상으로 심층 인터뷰를 진행하여 ChatGPT와의 짝 프로그래밍 경험이 학습자들의 프로그래밍 학습에 미치는 영향을 보다 구체적으로 파악하고자 하였다.
2. 관련 연구
2.1 생성형 AI를 활용한 프로그래밍 교육
생성형 AI는 인공지능 기술의 한 분야로서 주어진 데이터를 기반으로 새로운 콘텐츠를 생성할 수 있다. 자연어 처리(NLP)와 딥러닝 기술의 급격한 발전으로 인해, ChatGPT와 같은 생성형 AI 모델이 등장하며 교육, 의료, 금융 등 다양한 산업에서 활용되고 있다. 특히 교육 분야에서는 ChatGPT와 GitHub Copilot과 같은 AI 도구들이 학습을 위한 새로운 가능성을 제시하고 있다.
이러한 도구들의 교육적 활용에 대한 연구도 활발히 진행되고 있다. Lau&Guo(2023)는 프로그래밍 교육에서 AI 도구의 활용이 불가피한 추세임을 지적하며, 이러한 도구들이 학생들의 프로그래밍 과제 수행에 실질적인 도움을 줄 수 있다고 보고하였다. 특히 코드 생성과 설명 기능이 학습자의 이해도를 높이는 데 긍정적인 영향을 미치는 것으로 나타났다[10].
Denny et al.(2023)은 ChatGPT와 GitHub Copilot과 같은 생성형 AI 도구들이 초급 프로그래밍 교육에서 코드 생성 및 설명 기능을 통해 학습자들의 이해도를 높이는 데 기여할 수 있음을 강조하였다. 그러나 학습자가 도구에 지나치게 의존하거나, 생성된 코드의 정확성 및 보안성을 비판적으로 평가하는 능력이 저하될 위험성도 함께 언급하였다[15].
한편, Qureshi(2023)는 대학 컴퓨터 과학 교육과정에서 ChatGPT를 학습 및 평가 도구로 활용하는 실험을 진행하였다. ChatGPT 사용 그룹과 비사용 그룹을 비교한 결과, ChatGPT를 활용한 그룹이 프로그래밍 문제 해결에서 더 높은 점수를 얻었다. 그러나 제출된 코드의 불일치와 부정확성으로 인해 전반적인 학습 성과에는 부정적인 영향이 있음도 확인되었다[9]. 이는 생성형 AI를 교육에 활용할 때 적절한 가이드라인과 평가 기준이 필요함을 시사한다.
2.2 짝 프로그래밍(Pair Programming)
짝 프로그래밍은 애자일 방법론의 대표적인 사례인 XP(eXtreme Programming)의 실천 방법 중 하나로, 두 명의 개발자가 한 컴퓨터 앞에 앉아 함께 작업하는 방식이다[4]. 이 때 한 명이 코드를 작성하는 운전사(driver) 역할을 하고, 다른 한 명이 코드를 검토하며 피드백을 주는 항해사(navigator) 역할을 한다. 두 사람은 약 15분 간격으로 역할을 바꿔가며 짝 프로그래밍을 진행한다.
Cockburn&Williams(2000)의 연구는 짝 프로그래밍이 소프트웨어 개발에서 설계 품질을 향상시키고, 오류를 줄이며 기술 향상과 팀 간 소통을 촉진시킨다고 밝혔다[5]. 또한, McDowell 외(2006)은 짝 프로그래밍이 개발자들의 자신감을 향상시키고 프로그래밍에 대한 긍정적인 태도를 형성하는 데 도움이 된다고 보고하였다[6]. Williams(2010)는 실제 기업 환경에서도 짝 프로그래밍을 도입한 팀이 더 높은 생산성과 코드 품질을 보였다고 보고하였다[16].
이러한 장점들로 인해 대학 수준의 프로그래밍 수업에서도 짝 프로그래밍이 널리 활용되고 있다. 그러나 정충교(2017, 2018)의 연구에 따르면, 짝 프로그래밍은 학습 성과 향상에 효과적이나, 짝의 구성이 성과에 중요한 영향을 미치는 것으로 나타났다. 특히 15분 간격의 역할 교체에 대해서는 약 27%의 학생만이 긍정적으로 평가했으며, 대부분의 학생들은 필요할 때마다 서로 도움을 주는 방식을 선호했다. 이는 짝과의 실력 차이나 성격 차이로 인해 짝 프로그래밍의 본래 취지인 상호 학습과 협력적 문제 해결이 효과적으로 이루어지지 않을 수 있음을 시사한다. 따라서 학생들의 수준과 성격을 고려한 세밀한 짝 배정이 필요하다는 의견도 제시되었다[7-8].
이러한 한계를 극복하기 위해 본 연구에서는 짝을 생성형 AI로 대체하여, 학생들의 성격이나 실력에 상관없이 공평한 조건에서 짝 프로그래밍의 장점을 최대한 활용할 수 있도록 하였다. 특히 생성형 AI는 각 학생의 수준과 특성에 맞춰 응답과 피드백을 유연하게 조정할 수 있어, 더욱 효과적인 학습이 가능하다는 장점이 있다.
2.3 프로그래밍 자기효능감
프로그래밍 자기효능감은 학습자가 프로그래밍 과제를 수행할 때 느끼는 자신감과 능력에 대한 개념을 의미한다. 이는 학습자가 주어진 문제를 해결할 수 있다는 믿음과 직접적인 연관이 있으며, 프로그래밍 능력 습득의 중요한 요소로 작용한다. Artino(2012)는 자기효능감이 학습 동기와 성취도에 직접적인 영향을 미친다고 보고하였으며[17], 이는 프로그래밍 교육에서도 동일하게 적용될 수 있다.
김갑수(2014)의 연구에서는 프로그래밍 자기효능감을 측정하기 위한 구체적인 평가 기준을 제시하였다[14]. 본 연구에서는 이 평가 기준을 바탕으로 실제 프로그래밍에 필수적인 다섯 가지 항목으로 재구성하였다. 여기에 더해, 생성형 AI 시대의 새로운 요구사항을 반영하여 코드 리터러시 능력을 평가하는 항목을 추가하였다.
코드 리터러시는 단순히 코드를 읽고 이해하는 능력을 넘어서는 개념이다. 특히 생성형 AI가 보편화된 현재의 프로그래밍 환경에서는, AI가 생성한 코드를 비판적으로 분석하고, 이를 자신의 목적에 맞게 수정하며, 더 나아가 이를 기존 코드와 효과적으로 통합할 수 있는 능력이 필수적이다. Lau&Guo(2023)의 연구에서도 강조했듯이, 이러한 코드 리터러시 능력은 AI 도구를 활용하는 프로그래밍 교육에서 핵심적인 평가 요소가 되어야 한다[10].
따라서 본 연구에서는 프로그래밍 자기효능감을 측정함에 있어, 기존의 프로그래밍 능력에 대한 자신감뿐만 아니라, AI가 생성한 코드를 이해하고 활용하는 능력에 대한 자신감까지 포함하여 종합적으로 평가하고자 하였다.
3. 연구 방법
생성형 AI를 활용한 짝 프로그래밍 수업은 Fig. 1에 제시된 수업 모형을 기반으로 진행되었다. 이 수업 모형은 정충교(2017, 2018)의 짝 프로그래밍 수업 모델을 참고하였으며, 기존의 학생 간 짝 프로그래밍 방식을 생성형 AI와의 짝 프로그래밍으로 수정하여 설계되었다. 설계된 모형은 컴퓨터교육 전문가 3인의 타당화 과정을 거쳐 구성의 적절성과 효과성을 검토받았다[7-8].
본 수업은 컴퓨터 교육에서 자주 활용되는 플립드 러닝(Flipped Learning) 방식을 적용하였다. 프로그래밍 개념 및 이론 수업의 경우 온라인 사전학습(Pre-Class)으로 진행하고, 생성형 AI를 활용한 짝 프로그래밍 실습은 오프라인 실습 수업(In-Class) 시간에 실시하였다. 사후 학습(Post-Class) 시간에는 핵심 내용 요약 강의, 학습 평가를 위한 퀴즈, 그리고 실습 시간에 학습한 내용을 바탕으로 한 프로그래밍 과제 평가가 이루어졌다.
3.1 연구 대상
본 연구는 인공지능 강의를 수강하는 S대학교 사범대학 컴퓨터교육과 인공지능 교과목의 2024학년도 1학기 수강생 19명을 대상으로 생성형 AI를 활용한 짝 프로그래밍 실습의 효과를 분석하였다.
3.2 연구 도구
짝 프로그래밍 실습에 활용할 AI 도구로는 (Yetiştiren 외, 2023)의 연구를 참고하여 코드 생성 정확성이 가장 높은 ChatGPT를 선정하였다[18]. 또한, 컴퓨팅 사고력, 학습 동기, 프로그래밍 자기효능감을 측정하기 위해 설문 도구를 사용하였다. 설문지의 구성은 Yilmaz&Yilmaz(2023)의 연구와 Law,Lee,&Yu(2010)의 연구에서 사용한 컴퓨팅 사고력과 학습 동기 문항을 일부 수정하여 활용하였다[12-13]. 프로그래밍 자기효능감 영역의 경우, 김갑수(2014)의 연구에서 제시한 척도를 본 연구의 목적에 맞게 재구성하였다[14].
초기 설문지는 컴퓨터교육 전문가 3인의 타당화 과정을 거쳤으며, 설문 문항의 적절성, 명확성, 그리고 연구 목적과의 부합성을 검토한 후 피드백을 반영하여 수정 및 보완하여 최종 설문지를 작성하였다. 설문지는 컴퓨팅 사고력(5점 척도), 학습 동기(6점 척도), 프로그래밍 자기효능감(5점 척도)으로 구성되었으며, 모든 문항은 리커르트 척도를 사용하였다.
본 연구에서 사용한 설문 도구의 신뢰도 검증 결과는 Table 1에서 확인할 수 있으며, 대부분의 영역에서 Cronbach’s α 값이 0.7 이상으로 나타나 타당성을 확보하였다. 다만, 창의력 설문지의 신뢰도가 0.62로 상대적으로 낮았으나, Taber(2018)의 연구에 따르면 탐색적 연구나 복합적 구인 측정에서는 0.60 이상의 신뢰도도 의미 있게 해석될 수 있다[19]. 이를 바탕으로 본 연구의 창의력 설문 문항 역시 적절한 신뢰도를 확보한 것으로 판단하여 그대로 사용하였다.
3.3 연구 설계 및 절차
본 연구는 16주 과정의 인공지능 교과목 중 생성형 AI를 활용한 짝 프로그래밍 실습을 3차시로 계획하였다. 실제 운영에서는 학사 일정으로 인해 2차시가 진행되었다. 연구 참여자들은 컴퓨터교육과 학생들로 대부분 구성되어 있어 프로그래밍 경험이 풍부하고 AI 활요에도 친숙하여, ChatGPT와의 상호작용에 필요한 프롬프트 작성에 어려움이 크지는 않았다. ChatGPT는 무료로 제공되는 GPT-3.5 버전을 사용하였다.
각 차시별로 학생들은 ChatGPT와 운전사와 항해사 역할을 번갈아가며 수행하였으며, 실습 과정에서 발생하는 문제점과 해결 방안을 공유하며 수업을 진행하였다. Fig. 2와 같이 ChatGPT에게 경험이 풍부한 AI 엔지니어 역할을 부여하고, 운전사-항해사 모델을 사용하여 프로그래밍을 수행할 것임을 명시하였다. 이후 일정 시간이 지나면 번갈아가며 역할을 전환하는 방식으로 짝 프로그래밍을 진행하였다.
본 연구에서 진행된 수업은 Python 언어와 딥러닝 프레임워크인 PyTorch를 활용하였으며, 학습 내용은 Attention 메커니즘과 Object Detection 기법을 중심으로 구성되었다. 학생들의 학습 효과를 분석하기 위해서는 수업 전후 설문조사를 통해 컴퓨팅 사고력, 학습 동기, 프로그래밍 자기효능감의 변화를 측정하였다. 또한 생성형 AI의 활용이 학생들의 학습 경험에 미친 영향을 심층적으로 이해하기 위해 수업에 참여한 학생 중 자발적으로 지원한 2명을 대상으로 심층 인터뷰를 실시하였다. 이 인터뷰는 학생 개개인의 학습 방식 변화, AI와의 상호작용에서 경험한 장단점, 그리고 학습 동기 및 자신감에 대한 구체적인 의견을 수집하는 데 중점을 두었다.
본 연구에서는 다음과 같은 연구가설을 통계적으로 검증하려고 한다.
연구가설 1: 생성형 AI를 활용한 짝 프로그래밍을 진행했을 때 실습 전후의 컴퓨팅 사고력에 통계적으로 유의미한 차이가 있을 것이다.
연구가설 2: 생성형 AI를 활용한 짝 프로그래밍을 진행했을 때 실습 전후의 학습 동기에 통계적으로 유의미한 차이가 있을 것이다.
연구가설 3: 생성형 AI를 활용한 짝 프로그래밍을 진행했을 때 실습 전후의 프로그래밍 자기효능감에 통계적으로 유의미한 차이가 있을 것이다.
4. 연구 결과
4.1 설문조사 결과
본 연구의 가설 검증을 위해 대응표본 t-검정을 실시 하였다. 사전-사후 설문조사를 통해 컴퓨팅 사고력, 학습 동기, 그리고 프로그래밍 자기효능감에 미치는 영향을 종합적으로 분석하였다.
Table 2에 제시된 컴퓨팅 사고력에 대한 설문조사 결과, 생성형 AI를 활용한 짝 프로그래밍은 학습자의 컴퓨팅 사고력 향상에 전반적으로 긍정적인 영향을 미친 것으로 나타났다.
특히 알고리즘적 사고(t=-3.32, p<.01)와 문제해결력(t=-3.58, p<.01)에서 통계적으로 유의미한 향상이 관찰되었다. 창의력 영역에서도 유의미한 향상(t=-2.50, p<.05)이 나타났는데, 흥미로운 점은 창의력 영역의 신뢰도 계수(Cronbach’s α=0.62)가 다른 영역에 비해 다소 낮게 측정되었다는 것이다. 이는 학생들이 AI와의 상호작용 과정에서 창의력을 각기 다른 방식으로 경험했음을 시사한다.
반면 협동성과 비판적 사고 영역에서는 평균값이 소폭 상승하였으나, 통계적으로 유의미한 차이는 나타나지 않았다. 이러한 결과는 본 연구의 2차시라는 비교적 짧은 실험 기간의 한계를 반영하는 것으로 보이며, 향후 더 장기적인 관찰을 통해 이들 영역에서의 변화를 면밀히 살펴볼 필요가 있다.
Table 3에 제시된 학습 동기에 대한 설문조사의 경우, 모든 하위 요인에서 사전-사후 검사 간 통계적으로 유의미한 차이는 발견되지 않았다. 도전적 목표 설정(사전 M=4.32, 사후 M=4.47)과 사회적 압박과 경쟁(사전 M=3.93, 사후 M=4.08) 영역에서는 소폭의 평균 증가가 관찰되었다. 개인의 태도 및 기대, 명확한 방향성, 보상과 인정 항목은 이미 사전 검사에서 5점 이상의 높은 점수를 보였으며, 사후 검사에서도 유지되었다. 이는 학생들이 실험 전부터 이미 높은 수준의 학습 동기를 가지고 있었을 가능성을 시사한다. 짧은 실험 기간을 고려했을 때, 학습 동기에 미치는 영향을 정확하게 파악하기 위해서는 보다 장기적인 연구가 필요할 것으로 보인다.
Table 4에서 제시된 프로그래밍 자기효능감 측면에서는 특히 응용 능력에서 가장 큰 향상을 보였으며(t=-3.76, p<.01), 코드 리터러시 영역에서도 유의미한 증가가 관찰되었다(t=-2.75, p<.05). 이는 생성형 AI를 활용한 짝 프로그래밍이 학습자들의 프로그래밍 적용 능력과 코드 이해 능력 향상에 효과적이었음을 시사한다. 응용 영역의 경우 사전 평균 3.21에서 사후 평균 3.81로 가장 큰 폭의 향상을 보였으며, 이는 AI와의 상호작용을 통한 실제적인 프로그래밍 경험이 학습자들의 응용 능력 향상에 긍정적인 영향을 미쳤음을 나타낸다.
이러한 결과들을 통해 본 연구의 가설 1(컴퓨팅 사고력 향상)과 가설 3(프로그래밍 자기효능감 향상)은 지지되었으나, 가설 2(학습동기 향상)는 기각되었음을 알 수 있다. 특히 알고리즘적 사고, 문제해결력, 응용 능력, 코드 리터러시 영역에서의 유의미한 향상은 생성형 AI를 활용한 짝 프로그래밍의 교육적 효과를 실증적으로 보여준다.
비록 모든 영역에서 통계적으로 유의미한 향상이 나타나지는 않았으나, 전반적인 평균값의 상승은 본 연구에서 제시한 교육 방식이 프로그래밍 역량 향상에 긍정적인 영향을 미칠 가능성을 시사한다. 다만, 학습 동기 영역에서는 유의미한 차이가 나타나지 않았으며, 이는 짧은 실험 기간과 참여 학생들의 이미 높은 초기 수준이 주요 요인으로 작용했을 가능성이 있다. 또한, 생성형 AI와의 상호작용이 인간 동료와의 협업과는 다른 특성을 가지므로, 협동성 부분에서 이를 보완할 수 있는 추가적인 교육적 방안을 모색할 필요가 있다.
4.2 심층 인터뷰
수업이 끝난 후, 생성형 AI를 활용한 짝 프로그래밍의 전반적인 경험에 대해 분석하기 위해 2명의 학생들(이하 S1, S2)과 심층 인터뷰를 진행하였다.
먼저, 학생들에게 생성형 AI의 사용으로 인해 생긴 학습방법의 변화와 장점에 대해 물어보았을 때, 다음과 같은 답변을 얻을 수 있었다.
S1: “원래는 스택오버플로우나 구글로 찾아보는 방법밖에 없었는데, 이제 생성형 AI에게 직접 물어보고 오류를 수정하는 등 코드에 대한 피드백을 받는다.”
S2: “이론 수업과 실습 사이에 있던 간극을 채우는 과정에 시간이 많이 소요되었는데, AI를 사용했을 때 그러한 시간을 절약할 수 있었다.”
수업 참여도 측면에서도 긍정적인 변화가 관찰되었는데, 학생들은 다음과 같이 답변하였다.
S1: “예전에는 교수님이 보여주시는 코드를 그냥 보기만 하거나, 직접 코딩할 때 막막함을 많이 느꼈는데, AI와 함께하니 궁금한 점을 자유롭게 물어볼 수 있어서 좋았다.”
S2: “AI가 개념에 대한 코드 예시를 바로 보여주고 직관적으로 설명해줘서, 새로운 내용을 배우는 데 있어서 좀 더 재밌어졌다.”
자신감 측면에서는 다음과 같은 답변이 있었다.
S1: “실제로도 자신감이 향상되었다는 게 느껴졌지만, 코드 작성을 AI가 전부 해준다는 것이 아니라 보조 도구로써 사용한다고 생각했을 때 좀 더 자신감이 생겼다.”
S2: “처음 읽었을 때 모르는 문제가 좀 많았는데, 생성형 AI를 사용하면서 한 번 풀었던 문제에 대한 이해도가 올라 실습 과정에서 자신감이 생겼다.”
한편, 생성형 AI 활용 과정에서 나타나는 한계점에 대해서는 다음과 같은 답변이 있었다.
S1: “AI가 때로는 전체 코드의 맥락을 모르다 보니 완벽한 도움을 주기 어려웠고, 무료 버전을 사용하다 보니 횟수 제한으로 인한 어려움이 있었다.”
S2: “프롬프트 엔지니어링이 중요하다고 생각되어서 수업에서 생성형 AI를 사용한다면 구체적인 작성 방법이나 설정에 대해 더 자세히 알려줘야 모든 학생들이 동일하게 결과물을 얻을 수 있을 것 같다.”
전반적으로 학생들은 AI와의 짝 프로그래밍을 긍정적으로 평가했다. 사람과 하기 어려운 활동을 AI와 함께 할 수 있어 좋았다는 장점이 있지만, 학습 도구로 활용하려면 프롬프트 작성 능력이 중요할 것 같다는 의견도 공통적으로 제시되었다.
다만, 학생 2명의 인터뷰 결과는 연구 대상 전체를 대표한다고 보기에는 한계가 있다. 이는 소규모 표본의 특성에 기인한 것이며, 본 연구의 제한점 중 하나로 고려된다. 이를 보완하기 위해 후속 연구에서는 더 다양한 배경을 가진 학생들을 포함한 심층 인터뷰와 정량적 설문 데이터를 병행하여 분석할 필요가 있다.
추가적으로, 인터뷰에서 언급된 프롬프트 작성 능력은 참여도와 만족도에 직접적인 영향을 미칠 가능성이 높다. 따라서, 후속 연구에서는 프롬프트 작성 능력을 향상시키기 위한 교육을 실시하고, 이를 통해 생성형 AI 활용이 학습자 경험에 미치는 영향을 보다 체계적으로 분석할 필요가 있다.
5. 결론
본 연구는 ChatGPT를 짝 프로그래밍의 파트너로 활용하여 학생들의 컴퓨팅 사고력, 학습 동기, 프로그래밍 자기효능감의 변화를 분석하였다. 연구 결과, 생성형 AI를 활용한 짝 프로그래밍이 특히 알고리즘 사고력과 문제해결능력, 그리고 프로그래밍 응용 능력과 코드 리터러시 향상에 효과적인 것으로 나타났다. 심층 인터뷰에서도 AI와의 상호작용을 통한 능동적 학습이 가능했다는 긍정적 평가가 있었다.
그러나 본 연구는 몇 가지 한계점을 가진다. 19명이라는 비교적 적은 표본으로 인해 통계적 분석 결과를 일반화하기 어렵다는 제한이 있다. 또한 연구 참여자들 다수가 컴퓨터교육과 학생들로서 인공지능에 대해 호의적이고 관심이 높은 집단이었으며, 이미 프로그래밍과 인공지능 활용 경험이 있어 ChatGPT와의 상호작용에 어려움이 적었다는 특수성이 있다. 2차시라는 비교적 짧은 기간 동안 진행되어 변화를 충분히 관찰하기 어려웠으며, 참여자들이 사전에 이미 일정 수준 이상의 프로그래밍 역량을 보유하고 있어 컴퓨팅 사고력의 특정 영역에서의 향상이 제한되었을 가능성도 있다.
이러한 한계점을 보완하기 위해 향후 연구에서는 더 많은 표본을 대상으로 한 연구가 필요하며, 프로그래밍과 인공지능 활용 경험이 상대적으로 적은 학습자들을 포함하여 연구를 진행할 필요가 있다. 이를 통해 생성형 AI를 활용한 짝 프로그래밍의 효과를 더욱 일반화하여 검증할 수 있을 것이다. 또한 보다 장기적인 관찰을 통해 협동성, 비판적 사고, 학습 동기 영역에서의 변화를 면밀히 분석할 필요가 있다. 아울러 생성형 AI 활용에 대한 구체적인 가이드라인 개발이 필요하다. 본 연구의 참여자들은 AI 활용에 능숙했으나, 일반적인 교육 현장에서는 효과적인 프롬프트 작성법과 AI 활용 전략에 대한 체계적인 지원이 필요할 것으로 보인다.
본 연구는 생성형 AI를 프로그래밍 교육에 활용하는 구체적인 방안을 제시하고 그 효과성을 실증적으로 분석했다는 점에서 의의가 있다. 이러한 연구 결과를 바탕으로 다양한 학습자 특성과 교육 맥락을 고려한 생성형 AI 활용 교육 방법이 개발되기를 기대한다.
Acknowledgments
본 연구는 과학기술정보통신부 및 정보통신기획평가원의 메타버스 융합대학원(IITP-2024-RS-2023-00254129)과 디지털 분야 해외 석학 유치 지원(RS-2024-00459638)의 연구 결과로 수행되었음.
References
- Dohmke, T. (2023, February 14). GitHub Copilot for business is now available. https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/
- OpenAI. (2023, March 14). GPT-4 research. https://openai.com/research/gpt-4
-
Brennan, R. W., & McDermott, B. (2023). Coding Literacy in the Age of Generative AI. Service oriented, holonic and multi-agent manufacturing systems for industry of the future, Springer, 1136, 445–456.
[https://doi.org/10.1007/978-3-031-53445-4_37]
-
Cockburn, A., & Highsmith, J. (2001). Agile software development, the people factor. Computer, 34(11), 131-133.
[https://doi.org/10.1109/2.963450]
- Cockburn, A., & Williams, L. (2000). The costs and benefits of pair programming. In Extreme Programming Examined, 223-243.
-
McDowell, C., Werner, L., Bullock, H. E., & Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communications of the ACM, 49(8), 90-95.
[https://doi.org/10.1145/1145287.1145293]
- Jeong, C.-K. (2017, December 1). Management of Pair Programming in Programming Classes: PairMatching. Proceedings of KIIT Conference, Daejeon. 125-126.
-
Jeong, C.-K. (2018). Pair programming in programming lab: The effects, limits, and guidelines based on the student receptivity. Journal of Digital Contents Society, 19(9), 1663-1669.
[https://doi.org/10.9728/dcs.2018.19.9.1663]
-
Qureshi, B. (2023). Exploring the use of ChatGPT as a tool for learning and assessment in undergraduate computer science curriculum: Opportunities and challenges. arXiv.
[https://doi.org/10.48550/arXiv.2304.11214]
-
Lau, S., & Guo, P. (2023). From “Ban It Till We Understand It” to “Resistance is Futile”: How University Programming Instructors Plan to Adapt as More Students Use AI Code Generation and Explanation Tools such as ChatGPT and GitHub Copilot. Proceedings of the 2023 ACM Conference on International Computing Education Research, New York, NY, USA, 1(1), 106-121.
[https://doi.org/10.1145/3568813.3600138]
-
Yilmaz, R., & Yilmaz, F. G. K. (2023). Augmented intelligence in programming learning: Examining student views on the use of ChatGPT for programming learning. Computers in Human Behavior: Artificial Humans, 1(2), 100005.
[https://doi.org/10.1016/j.chbah.2023.100005]
-
Yilmaz, R., & Yilmaz, F. G. K. (2023). The effect of generative artificial intelligence (AI)-based tool use on students’ computational thinking skills, programming self-efficacy and motivation. Computers and Education: Artificial Intelligence, 4, 100147.
[https://doi.org/10.1016/j.caeai.2023.100147]
-
Law, K. M. Y., Lee, V. C. S., & Yu, Y. T. (2010). Learning motivation in e-learning facilitated computer programming courses. Computers & Education, 55(1), 218-228.
[https://doi.org/10.1016/j.compedu.2010.01.007]
-
Kim, K. S. (2014). Measuring and applying the selfefficacy in computer programming education. Journal of the Korean Association of Information Education, 18(1), 111-120.
[https://doi.org/10.14352/jkaie.2014.18.1.111]
-
Denny, P., Prather, J., Becker, B. A., Finnie-Ansley, J., Hellas, A., Leinonen, J., ... & Sarsa, S. (2024). Computing education in the era of generative AI. Communications of the ACM, 67(2), 56-67.
[https://doi.org/10.1145/3624720]
-
Williams, L. A. (2010). Pair Programming. Encyclopedia of software engineering, 2.
[https://doi.org/10.1081/E-ESE-120044181]
-
Artino, A. R. (2012). Academic self-efficacy: from educational theory to instructional practice. Perspectives on medical education, 1, 76-85.
[https://doi.org/10.1007/s40037-012-0012-5]
-
Yetiştiren, B., Özsoy, I., Ayerdem, M., & Tüzün, E. (2023). Evaluating the code quality of ai-assisted code generation tools: An empirical study on github copilot, amazon codewhisperer, and chatgpt. arXiv preprint arXiv:2304.10778.
[https://doi.org/10.48550/arXiv.2304.10778]
-
Taber, K. S. (2018). The use of Cronbach’s alpha when developing and reporting research instruments in science education. Research in science education, 48, 1273-1296.
[https://doi.org/10.1007/s11165-016-9602-2]
Appendix
부 록
· 2023년 한국항공대학교 전자 및 항공전자공학과(공학사)
· 2023 ~ 현재 성균관대학교 실감미디어공학과 석사과정
· 2023년 ~ 현재 성균관대학교 실감미디어공학과 석사과정
관심분야 : Computer Vision, Deep Learning
hyemin00@skku.edu
· 2006년 성균관대학교 정보통신공학부 (공학사)
· 2008년 성균관대학교 전자전기컴퓨터공학과 (공학석사)
· 2018년 Indiana University Intelligent and Interactive Systems (이학박사)
· 2018년 ~ 2020년 : ObjectVideo Labs at Alarm.com Research Scientist
· 2020년 ~ 2023년 : 한국항공대학교 항공전자정보공학부 교수
· 2023년 ~ 현재 : 성균관대학교 컴퓨터교육과 및 실감미디어공학과 교수
관심분야 : Computer Vision, Human-Robot-Interaction (HRI)
leejang@skku.edu