The Journal of Korean Association of Computer Education
[ Article ]
The Journal of Korean Association of Computer Education - Vol. 27, No. 4, pp.173-183
ISSN: 1598-5016 (Print) 2733-9785 (Online)
Print publication date 31 Jul 2024
Received 16 May 2024 Revised 03 Jul 2024 Accepted 03 Jul 2024
DOI: https://doi.org/10.32431/kace.2024.27.4.013

무전공 신입생을 위한 자기 주도적 프로그래밍 집중 캠프에 관한 연구

장소연 ; 김광†† ; 김경미†††
정 회 원: 한동대학교 전산전자공학부 산학협력중점교수
††정 회 원: 한동대학교 전산전자공학부 부교수
†††정 회 원: 한동대학교 글로벌리더십학부 교수 (교신저자)
Study of self-paced programming intensive camp for non-major freshmen
So-yeon Jang ; Kwang Kim†† ; Kyung-mi Kim†††

초록

A대학에서 진행한 <자바집중캠프>는 무전공 신입생이 컴퓨터공학 전공 진입 전에 자기 결정과 자율성을 바탕으로 학습할 수 있는 자기주도적 학습 능력을 키우는 데 초점을 맞추어 운영되었다. 이론 부분은 제공된 온라인 동영상을 활용하는 플립러닝 방식으로 학습하며, 실습 부분은 교수와 조교, 수강생으로 구성된 학습공동체를 통한 격려와 지지 속에 진행되었다. 그 결과, 수강생들의 성취감과 자신감을 키우는 데 도움이 되었으며, 다음과 같은 결론을 얻었다. 첫째, 캠프 이수자들은 90% 이상의 높은 만족도를 보였으며, 코딩 습관의 필요성과 자기주도적인 학습법에 대해 도움을 받았다는 것을 확인하였다. 둘째, 캠프 이수자 중 83.3%가 컴퓨터공학을 선택했을 정도로 전공선택 결정에 긍정적인 영향을 주었다. 셋째, 캠프 이수자들은 이후 전공수업인 <자바프로그래밍>에서 높은 성취도를 보였다. 이를 통해 본 연구를 통해 진행한 <자바집중캠프>가 수강생들의 컴퓨터공학 전공 학생으로서의 학습성취도 향상에 긍정적인 영향을 미쳤음을 알 수 있다.

Abstract

The <Java Intensive Camp> conducted by A University was focused on developing the self-directed learning abilities of non-major freshmen, based on self-determination and autonomy, before they declared the computer science major. The grammar part was learned using a flipped learning approach with online videos, while the practical part was conducted through encouragement and support within a learning community consisting of professors, teaching assistants, and students. As a result, this helped increase students' sense of achievement and confidence, and the following conclusions were drawn: First, the camp students who completed showed a high satisfaction rate of over 90%, confirming that they found the camp helpful for understanding the necessity of coding habits and self-directed learning methods. Second, 83.3% of the camp students who completed choose computer engineering as their major, indicating a positive influence on their major selection decisions. Third, the camp students who completed showed high achievement in subsequent major courses, such as Java Programming. This indicates that the Java Intensive Camp positively impacted the academic achievement of students as computer engineering majors.

Keywords:

Computer Education, Camp Programs, Learning Communities, Self-Directed Learning, Non-Major Freshmen

키워드:

컴퓨터교육, 비교과 프로그램, 학습공동체, 자기주도적학습, 무전공신입생

1. 서론

현대 사회에서 소프트웨어(SW)의 중요성은 점점 더 증가하여, 일상 생활뿐만 아니라 교육, 산업, 경제 등 다양한 분야에 직접적인 영향을 미치고 있다. 특히 교육 부문에서 변화가 가장 두드러진다. 국내에서는 SW중심대학 사업을 통해 대학 교육을 소프트웨어 중심으로 혁신하고, 학생, 기업, 사회의 소프트웨어 경쟁력을 강화하려고 노력하고 있다. 이 사업은 2015년부터 시작되어 산업 수요 기반의 전공 교육 강화, 비전공자를 위한 소프트웨어 융합 교육 정착과 소프트웨어 가치의 사회적 확산을 도모하고 있다[1]. 차세대 학생들이 디지털 리터러시와 이를 활용한 문제 해결 능력을 갖출 수 있도록 교육부는 2024년 인공지능 디지털 교과서 추진방안을 발표하였다[2]. 이는 국가적 차원에서 미래 인재를 양성하고 AI, SW 분야에서의 경쟁력을 확보하려는 노력의 일환이다. 이러한 교육 정책과 사업은 기술적 발전뿐만 아니라 사회적, 경제적 발전에도 기여할 것이다[3].

SW 교육은 복잡한 문제를 파악하고 해결할 수 있는 문제 해결 능력, 창의력, 논리력을 향상시키는 데 효과적이다[4-6]. SW 인재양성은 교육을 통해 이루어지며, SW 교육의 목표는 컴퓨팅의 기본 개념과 원리를 이해하고 이를 바탕으로 문제를 효율적으로 해결할 수 있는 사고 능력을 개발하는 것이다[7]. SW 교육은 프로그래밍 교육으로 시작하여, 주로 대학에서 시작하여 이루어지다가 이제는 초중등학교 교육과정까지 확대되고 있다. 이러한 변화는 기술의 중요성이 증가하고, 프로그래밍 능력이 다양한 분야에서 필수적인 기술로 인식되기 시작하였기 때문이다. SW 교육을 효과적으로 진행하기 위한 다양한 연구가 이루어지고 있다[9-10].

A대학은 2017년에 SW중심대학으로 선정되어, SW전공 교육 및 비전공자를 위한 SW 교육 안정화를 목표로 교과과정의 교육과정을 개선하고, 정규 교육과정에서 다루기 어려운 주제들은 비교과 프로그램으로 운영하고 있다. 이를 통해 학생들에게 실질적인 프로그래밍 경험을 제공하여 SW 역량을 강화해가고 있다. 비교과 프로그램의 일환으로 프로그래밍에 몰입할 수 있도록 방학 기간 중에 제공하는 프로그래밍 집중 캠프가 운영되고 있다. 특히 A대학은 전체 신입생이 무전공으로 입학하여 1년 간의 전공탐색을 거쳐 2학년 진입 시에 자신이 원하는 전공을 선택하는 제도를 운영하고 있다. 그렇기 때문에 무전공 신입생들 중에 컴퓨터공학으로 전공을 결정하는 데에 이러한 캠프 참여가 매우 중요한 계기를 제공할 수 있다.

전통적인 프로그래밍 교육 방식은 이론을 먼저 배우고 그 이론을 이해하기 적합한 실습문제를 코딩하는 방식으로 진행된다. 이 경우, 학습자는 주로 강의와 교재를 통해 프로그래밍 개념, 알고리즘, 자료구조 등을 배우고 이에 따른 프로그래밍 실습을 진행하게 된다. 하지만, 실습에 있어서 이론 부분을 이해하기 위한 간단한 문제를 주로 제시하고 있어서, 학습자는 수동적인 실습에만 치우치게 되는 경우가 많다. 이러한 프로그래밍 교육 방식의 단점을 보완하고 학습자의 동기부여를 강화하기 위해, 학습자가 주도적으로 실습 문제를 먼저 해결하도록 시도하면서, 스스로 관련한 이론 내용을 탐색하여 학습하는 방식으로 <자바집중캠프>를 기획하였다. 이 캠프에서는 무전공으로 입학한 신입생 또는 컴퓨터공학 전공으로 전과하려는 학생들을 대상으로 프로그래밍을 집중적으로 교육하게 되며, 자기주도적인 학습을 독려하기 위한 학습공동체를 구성하여 운영된다.

<자바집중캠프>는 110여 개의 자바 프로그래밍 문제를 제시하고, 수강생들의 적극적인 참여를 유도하여 스스로 프로그래밍을 시작할 수 있도록 돕는다. 결국 수강생들에게 자기주도적 학습 방법을 훈련할 수 있도록 하고 있다. 이론 교육보다 실습을 먼저 진행하면 수강생은 코드 작성, 디버깅, 프로젝트 제작을 하면서 문법이나 개념을 직접 찾아 학습하게 된다. 이 과정에서 학습자는 단순히 이론을 암기하는 것이 아니라, 문제해결을 위한 내용을 스스로 공부하여 이해하고 적용하는 법을 배우게 된다.

자기주도적 학습은 학습자가 자신의 학습 과정을 스스로 주도하여 자기 결정과 자율성을 바탕으로 학습하는 것을 의미하며[11], 대학생은 스스로 교과목을 선택하여 수강하고 학습과정을 전체적으로 관리해야 한다 [12, 13]. 이 방식은 학습자가 새로운 정보를 스스로 찾아 학습하는 능력을 개발하는 데 도움을 주어, 기술 환경의 빠른 변화에 효과적으로 대응할 수 있게 한다. 이를 기반으로 본 캠프에서는 ‘프로그래밍 자기주도 학습’에 대해 직면한 코딩 문제 해결에 필요한 이론을 스스로 찾아 공부하고, 이를 통해 얻은 지식을 실전 문제를 해결하는데 응용하면서 자신감을 고취시키는 것을 목적으로 하였다. 4주간의 집중 캠프는 이러한 자기주도적 학습 능력을 키우는 데 중점을 두어, 이후 컴퓨터공학으로 전공을 결정하고 전공 교과목을 수강할 때에도 크게 도움이 될 것으로 기대하였다.

<자바집중캠프>를 진행하면서 도출된 연구 주제는 다음과 같은 3가지이다. 첫째, 캠프 이수자들의 만족도는 어떠한가? 둘째, 캠프 이수자들의 컴퓨터공학 전공결정에 어떠한 영향을 미치는가? 셋째, 전공선택 이후 캠프 이수자들은 다른 학생들에 비해 전공수업에서의 성취도 차이를 보이는가? 본 연구에서는 캠프 이수자들의 전공 선택과 학업 성취에 미치는 영향을 분석하였다. 1장에서는 연구의 배경, 목적, 필요성을 설명하고, 프로그래밍 캠프 중요성을 제시한다. 2장에서는 비교과 프로그램과 프로그래밍 교육, 학습공동체, 그리고 학생들의 전공 선택에 미치는 영향에 대한 기존 연구들을 검토한다. 3장에서는 <자바집중캠프>의 운영, 목표, 과정에 대한 설명한다. 4장에서는 캠프 이수자들의 만족도, 전공선택 결정 경향에 대한 분석 및 2학년 전공 수업인 <자바프로그래밍> 교과목의 성취도를 비교한다. 5장에서는 본 연구 결과의 의미를 요약하고, 연구의 한계점 및 향후 연구에 대하여 제안한다.


2. 관련 연구

본 논문과 관련된 기존의 연구로는 비교과과정 대상 교육 분야로는 [14], 무전공 입학자 대상의 프로그래밍 교육과 관련해서는 [15]과 유사하다. 그러나, 본 연구는 [14]에 비해서 프로그래밍 교육 분야라는 점에서 차별성이 있으며, [15]에 비해서는 교과교육이 아닌 비전공자 교육을 분석했다는 점에서 차별성이 있다. 비교과 프로그램은 정규 교육과정 외에 학생들의 자기 계발과 핵심 역량 개발을 지원하기 위해 학점은 부여되지 않지만, 학생들의 교육 만족도와 학업 성취도, 그리고 개인의 역량 강화에 긍정적인 영향을 미칠 수 있다. 연구에 따르면, 비교과 프로그램에 참여하는 학생들은 그렇지 않은 학생들에 비해 학업성취도와 교육 만족도가 더 높은 경향이 있으며, 특히 학년이 낮은 학생들이 더 큰 영향을 받는 것으로 나타났다[16]. 이는 저학년 학생들이 비교과 프로그램을 통해 학교생활에 더 빨리 적응하고, 학습 및 사회적 기술을 개발하는 데 도움을 받기 때문일 것이다. 또한, 비교과 프로그램의 참여동기와 참여 프로그램의 수가 학생들의 학업성취도와 교육 만족도에 영향을 미치는 것으로 나타났다[17].

또한 [18] 저자들은 컴퓨팅 사고력 교과목 연계 학습지원 비교과 프로그램 만족도는 여학생의 만족도가 남학생과 비교해 높았고, 단과대학에 따라 차이가 나타난다고 하였고, 핵심역량 향상에 긍정적인 영향을 미친다는 사실을 밝혔다[18]. 비교과 프로그램이 학생들에게 다양한 학습 경험과 사회적 상호작용 기회를 제공하여, 학생들의 교과과정 경험을 준비하거나 확장하는데 도움이 된다는 것을 알 수 있다.

프로그래밍 교육에 관한 연구 결과들은 특정 교육 방법이 학생들의 학업성취도와 문제해결 능력에 영향을 미치고 있으며, 프로그래밍 교육 방식을 구성하거나, 개선하는데 중요한 통찰을 제공한다. 2014년의 연구에 따르면, 팀 프로젝트 방식의 프로그래밍 학습이 상위권 학생들보다 중하위권 학생들에게 더 긍정적인 효과를 보여주며, 팀 기반 학습이 협력적인 환경을 조성하여 다양한 학습자에게 동기를 부여하기 때문이다[19]. 2018년 연구에서는 효과적인 프로그래밍 교수전략으로 복습한 내용을 확인하고 피드백을 제공하는 질문이나 퀴즈를 제시하여, 학습한 내용을 간단하게 응용하는 예제가 학습 참여도를 강화하고 성취도를 높일 수 있다고 하였다[20]. 연구에 따르면 문제 중심의 프로그래밍 교육이 특히 비전공자 대상 소프트웨어 기초교육에서 학생들의 프로그래밍 학습에 긍정적인 영향을 준다. 학생 전공 친화형 문제를 제시하면 학생들의 관심과 학습 효과를 증대시킬 수 있으며, 학생들의 컴퓨팅 사고력 및 문제 해결 능력 향상에 효과가 있다[21]. 이 연구들은 교강사에게 학생들의 다양한 필요와 능력에 맞춰 프로그래밍 교육을 설계하고 실행하는 데 도움이 된다.

캠프와 같은 비교과 활동에 참여한 학생들의 전공에 대한 흥미와 관심은 대학생들의 교육 만족도와 학업 성취에 영향을 미칠 수 있으며, 학생들이 자신의 전공을 더욱 깊이 이해하고, 학업에 더욱 몰입하도록 돕는다. 2022년 연구에 따르면, 학생들의 전공 선택 동기가 학업 만족과 진로 결정에 영향을 미치는 것으로 나타났다[22]. 전공에 대한 흥미, 적성, 성취감 및 전공몰입과 같은 요인들이 학업 만족도에 긍정적으로 영향을 준다. 2024년 연구는 협력학습, 탐구학습, 교수-학생 상호작용이 학년에 관계없이 전공 만족도와 지각된 역량에 유의미한 영향을 미친다고 보고한다[23]. 학습 이탈 방지 요인과 관련하여 학습자와 운영자 모두 동료학습자와의 관계를 가장 중요하게 꼽았다. 이는 수강생 입장에서 물리적으로 많은 양의 학습을 짧은 기간 내 진행하여 일정한 성과를 달성해야 한다는 압박감 가운데 동료 학습자간에 심적으로 의지하기 때문이다[24]. 다양한 교육적 상호작용은 학생들이 전공에 대해 더 깊이 이해하여 그 다음 학습에 대한 동기부여가 일어나게 한다. 캠프를 진행하면서 학생들의 자기주도 학습 능력을 향상하고 학습동기를 강화하는 방안으로 교수, 조교, 참여 학생들로 학습공동체를 구성하는 것이 필요하다. 연구에 따르면 교과연계형 학습공동체는 기초 프로그램 유형과 심화 프로그램 유형으로 나누어 분석했을 때 두 유형 모두에서 학생들의 자기주도 학습 능력이 향상되었으며, 특히 전공심화 프로그램에 참여한 학생들이 더 높게 향상되었다[25]. 일반 교과목 수업에서 교수, 조교, 학습 참여 학생들로 이루어진 학습공동체와 비교해볼 때 캠프 학습 공동체는 소규모로 구성하여 개별 학생들이 스스로 학습 목표를 설정하고, 학습 자원을 탐색하며, 학습 결과를 평가하는 기회를 제공함으로 학습 과정에서 적극적이며 주도적인 역할을 하게 돕는다. 또한 학습공동체 활동은 전공 지식을 심화하거나 기초 지식을 확장하는 데 도움 되는 학습 방향성을 잡아가게 하고, 학생들이 보다 목표 지향적으로 학습할 수 있도록 서로 서로를 돕는다. 마지막으로, 학습공동체에서 동료들과의 정보 공유 및 협력이 학생들의 학습 동기를 촉진하여, 서로를 격려하고 함께 문제를 해결해 나가는 과정에서 자신감이 생기고 학습에 대한 긍정적인 태도가 형성될 수 있다.


3. <자바집중캠프> 운영 내용

3.1 캠프 프로그램 구성

<자바집중캠프>의 모든 학습도구는 비대면 운영을 염두에 두고 준비되었기 때문에, 자기주도적 학습 능력과 자발적인 참여가 매우 필수적인 캠프이다. 따라서, 이를 위해 수행계획표 공유 및 자동채점 온라인 코딩 플랫폼을 비롯하여, 참여하는 모든 수강생의 진행상황 공유 등을 통해 각 수강생들은 자율적으로 성취도에 따라 학습 진도를 유연하게 적용할 수 있게 하였다. 이를 통해 개인별 학습 습관을 만들고, 꾸준한 문제 해결을 통한 코딩 능력 향상 및 자기주도적 학습 방법을 습득하는데 목표를 두었다.

캠프는 4주 동안 진행되며, 미리 개발된 110개 이상의 코딩 문제를 온라인 코딩 자동 채점 플랫폼에서 교수가 미리 제시한 계획에 따라 학습자가 자발적으로 문제 해결에 필요한 이론들을 검색하여 이해하고, 코딩 문제를 해결하면서 꾸준한 코딩 습관과 반복되는 성취감을 통해 자기주도적인 학습 방법을 훈련하고 실천하도록 돕는다. 학습자들이 문제를 코딩하면서 겪는 이론에 대한 이해 부족과 오류 해결을 위해 매일 1시간동안 정기적으로 온라인 Q&A Session을 통해 조교나 우수한 참여 학생이 도와줄 수 있도록 지원하고, 자발적인 학습 루틴이 잘 만들어지지 않는 학생들도 함께 참여할 수 있도록 운영하였다. 이와 같이 교수, 조교, 학생으로 구성된 학습공동체로서 캠프가 운영될 수 있도록 하였다.

효과적인 학습공동체 운영을 위해 매주 1회 교수, 수강생, 조교가 함께 하는 전체 모임을 온라인으로 진행하였다. 1주차는 수강생들의 자기소개 및 캠프 참여 목적, 진행 기간동안의 계획을 나누고, 캠프 진행 방법, 이전 우수 이수자들의 사례와 당부의 말을 전한다. 2~4주차 모임에서는 한 주 동안 각 수강생이 계획 대비 수행 결과와 소감 등을 나누면서 수강생들간에 자연스러운 정보 공유와 동기 부여를 받으면서 교수의 피드백을 받게 된다. 계획 대비 학습량이 적은 수강생들은 다시 계획을 세워 공개하면서 스스로 다짐할 수 있는 시간을 갖게 된다.

캠프 과정은 [Table 1]과 같이 구성되어 있으며, 대부분 온라인 비대면 방식으로 운영되며, 캠프 수료요건은 전체모임 참석 및 전체 문제 중 80%이상을 해결하여 제출하는 것으로 총 5회 진행하였다. 초기 1~2회차 운영 시에는 이론 내용에 대해서 별도의 교육 없이 필요한 내용을 인터넷 등을 검색하여 스스로 공부하는 방법으로 진행하였으나, 여러 수강생들이 기초적인 이론에 대한 공통 강의 콘텐츠를 요청하면서, 3회차 부터는 각 교육 단계 도입에 필요한 강의 콘텐츠를 16개의 동영상으로 제작하여 Youtube를 통해 사전 학습에 활용하는 플립러닝으로 진행하였다.

Structure of the Camp Program

캠프의 진행 과정은 총 5개의 항목으로 구성된다. 첫째, 캠프 시작 시, 매일 수행해야 하는 개인별 계획 및 전체 학습자 계획표를 교수자가 수강생에게 제공한다. 둘째, 실전적인 문제 해결을 위해 개발된 110개 이상의 단계별 코딩 문제와 테스트 케이스를 온라인 플랫폼 상에서 제공하여 자동 채점기능을 통한 자기주도적 반복 학습이 진행된다. 셋째, 플립러닝 방식을 사용하여 각 단계별로 필요한 16개의 이론 강의 동영상을 제공하여 수강생들의 자발적인 학습을 돕는다.

넷째, 매일 1시간 동안 조교와 수강생들의 온라인 Q&A Session을 운영하여 수강생들의 학습 속도를 점검하고, 다양한 도움을 제공한다. 다섯째, 주 1회씩 캠프에 참여하는 학습공동체 전체가 온라인으로 모여 개인별 진행 상황에 대한 교수의 피드백을 받게 된다.

대부분의 수강생들은 프로그래밍을 배우는 데에 열의가 있지만, 스스로 계획을 세워 규칙적으로 학습하는 코딩 습관을 만들려는 의지가 부족하여 어려워한다. 그러므로, 사전에 매일 실천해야 하는 표준 계획을 제시하고, 스스로 시간과 일정을 맞추도록 유도하여 자기주도적인 학습 루틴을 만들도록 하였다. 또한 전체 수강생의 수행 현황을 공유하고, 교수와 조교, 모든 수강생들이 참여하는 전체 모임을 통해 각자의 진행 상황과 계획을 발표하고, 교수가 피드백하면서 학습에 대한 자발적인 동기 부여 및 전공에 대한 관심, 다른 수강생의 학습 루틴 등의 정보를 얻을 수 있도록 하였다. 모든 수강생들은 스스로 자신의 학습 습관을 객관적으로 체크하고, 자기만의 학습 루틴을 만들어가면서, 캠프에 참여하는 모든 사람들이 학습공동체로서 4주 간 함께 할 수 있는 시간이 되었다.

3.2 캠프 운영 현황

<자바집중캠프>는 2021년 동계 방학에 실전적 프로그래밍 집중 교육을 위한 비대면 비교과 프로그램으로 개발되어 시작되었으며, 최근까지 매 방학마다 동일한 방식으로 5회 진행되었다. 이 캠프는 무전공으로 입학한 신입생들이 컴퓨터공학에 대한 전공 적합성을 확인하고 싶거나, 프로그래밍에 대한 실전능력을 필요로 하여 타 전공에서 컴퓨터공학으로 전과하려는 학생들이 주로 참여하였다. 3년 동안 총 5회 진행된 <자바집중캠프>에 참여한 전체 수강생은 234명이고, 이 중 63.7%인 149명이 수료하였다.

캠프에서 실습을 위해 제공된 문제는 총 110개의 문제로, Step A에서 Step N까지 14개 단계로 구성되었고, 각 단계를 마칠 때마다 테스트를 위한 문제로 15개가 제시되었다. 캠프 참여자들 대부분이 컴퓨터공학으로의 전공 선택을 고민하는 신입생 또는 C프로그래밍 수업을 수강한 정도의 입문자 수준이므로, 자바 기초 문법에서 객체지향 프로그래밍의 기초 수준까지 다루는 문제가 개발되었다. 각 문제들은 간단한 문법과 이론을 이해하면 충분히 해결할 수 있도록 하였다. [Table 2]는 단계별로 제공되는 110개의 문제 구성을 보여주며, 각 문제마다 문제설명, 웹기반 에디터 및 해결 여부를 확인할 수 있는 자동 채점용 테스트 케이스가 제공된다. 수강생들은 회수에 상관없이 문제 해결을 위한 코드를 제출하고 테스트할 수 있다.

Practice problem sets

총 14단계로 구성된 110개의 실전적인 문제를 해결하면서 자바의 다양한 문법 및 프로그래밍 요소들을 활용하도록 개발되었다. 4주간에 걸쳐 1~2주차에는 Java 프로그래밍 언어의 기초적인 제작 방법을 학습하도록 진행되며, 3~4주차에는 객체지향 프로그래밍 개념 및 여러 클래스를 활용하는 문제를 풀도록 진행하였다. 캠프에서 참여자에게 제공되는 문제는 실생활에서 쉽게 접할 수 있는 실전적인 문제로, 오랜 프로그래밍 교육을 통해 시도되었던 단계별 학습 문제를 체계적으로 개발하였으며, 단계별 문제 예시는 다음과 같다.

3.2.1 Step A 문제 예시

문법의 기초를 다루는 Step A의 문제들은 데이터 타입, 연산식, 출력, 입력 등을 연습하게 된다.

A04 - 아파트 평수 계산

아파트의 분양 면적을 제곱미터(㎡) 단위로 입력받아 이 값을 평형 단위의 값으로 변환하여 출력하라. 단, 평형 수 = 제곱미터 / 3.305 로 계산한다. 제공된 기본 소스를 사용하여 a04() 메소드 내에 코드를 완성하라. 변수는 다음과 같이 사용하라.

double m2_area; // 면적 (제곱미터)
double pyung_area; // 면적 (평수)
3.2.2 Step J 문제 예시

객체지향 프로그래밍의 클래스 제작 연습을 위한 Step J의 문제들은 클래스 설계와 제작, 객체 생성 및 멤버를 다루는 연습을 위해 개발되었다.

J02 - 심사점수 계산

심사점수를 10개를 입력받아 리스트에 저장한 후, 이 리스트를 파라미터로 하여 가장 큰 점수를 구하는 Max()와 가장 작은 점수를 구하는 Min()을 사용하여 10개의 점수 중 최대점수와 최소점수를 제외한 8개 의 점수에 대한 평균을 계산하여 출력하라. 클래스를 생성한 후, 멤버 메소드로 두 함수를 구현하라. 메소드의 선언부는 다음과 같다.

double Max(double num[]); num - 숫자 리스트 , 리턴값 - 숫자 리스트에서 가장 큰 값
double Min(double num[]); num : 숫자 리스트 , 리턴값 - 숫자 리스트에서 가장 작은 값

4. <자바집중캠프> 운영 결과

4.1 캠프 수강생 만족도 분석

3년간 5회 캠프에 참여한 참여자 총 234명 중 149명이 수료요건을 만족하여 캠프를 수료하였다. 이 중, 캠프 종료 후에 실시한 설문조사에 139명이 응답하였으며 그 결과는 다음과 같다. 캠프에서 운영된 프로그램에 대한 만족도는 매우 만족 36.1%, 만족 55.3%으로 90%가 넘는 수강생들이 캠프에 대해 만족한다고 평가하였다. 또한 캠프에서 제공된 실습문제의 난이도에 대해 보통(57%), 다소 어렵다(27%), 다소 쉽다(29%)의 결과를 보였으며, 전반적으로 수강생들에게 적절한 수준의 문제가 제시된 것으로 분석되었다.

설문 중 캠프를 이수한 소감에 대해 묻는 주관식 문항의 답변을 살펴보면 <자바집중캠프>의 운영 목적에 부합하는 ‘자신감(6명)’, ‘꾸준한 습관(7명)’, ‘스스로(9명)’ 라는 키워드가 다수 발견되었다. 이를 통해, 캠프에 참여한 수강생들이 코딩 습관의 필요성을 느끼고, 자기주도적인 학습 방식을 만들어 가는 데에 도움을 받은 것으로 분석되었다.

Figure 1.

Program satisfaction

Figure 2.

Problem difficulty

주관식 문항의 답변을 일부 소개하면 다음과 같다.

  • • 100여개의 문제를 풀면서 코딩에 대한 자신감을 향상시킬 수 있었고, 인터넷 검색에 대한 실력도 좋아진 것 같다.
  • • 실력있는 것만큼 혹 그 이상으로 중요한 꾸준함의 힘을 깨달을 수 있는 구조였다.
  • • 온라인이라 너무 좋았다.
  • • Q&A 세션과 구글시트를 통한 다른 학우들의 진도율 확인을 통한 자극이 도움이 되었다.
  • • 방학을 뿌듯하게 보냈다는 자신감과 꾸준한 습관을 들일 수 있는 캠프여서 좋았다.
  • • 매일 매일 주는 과제를 통해서 성실하게 임할 수 있어서 좋았다.
  • • 수업을 듣고 배워서 코드를 짜는 것보단 스스로 공부하고 몰랐던 걸 적용해보는 방식이라 만족했다.
  • • 다음 학기에 있을 자바 수업에 큰 도움이 될 것이라고 생각된다. 많은 문제를 풀 수 있어서 좋았고, 자바 실습을 하는 기분이어서 더 행복했다. 풀었던 문제들을 나중에도 또 풀고 싶다고 생각하였다.

4-2 캠프 수료자의 전공 선택 결정 경향

A대학은 전체 신입생이 무전공으로 입학하여 1년 간의 전공탐색을 거쳐 2학년 진입 시에 자신이 원하는 전공을 선택하게 된다. 캠프를 시작할 때 진행하는 사전 설문에서 예습과 복습 여부를 파악하였고, 예습을 선택한 학생은 전공을 선택하지 않은 경우이며, 복습의 경우에는 이미 컴퓨터공학 전공을 선택하고 유지하고 있는 학생들이다.

<자바집중캠프>에 참여하는 수강생들은 대부분 무전공으로 입학한 신입생들로서 4주간의 캠프를 통해 반복적인 코딩 연습과 프로그래밍 학습 활동을 통해 컴퓨터 공학 전공의 적합성 여부, 프로그래밍 역량 등을 스스로 확인할 수 있다. 따라서 이 캠프 수료자들의 전공 선택 결과를 분석하여, <자바집중캠프>와 컴퓨터공학 전공선택 간의 결정 경향을 분석해 보았다.

Figure 3.

Analysis of Major Selection among Camp students who completed

5회 캠프의 총 참여자 234명 중 수료자는 149명이었으며, 이 중 중복 참여 학생을 제외한 120명 중에 컴퓨터공학을 주전공으로 선택한 학생은 100명(83.3%)이었다. 반면에 캠프에 참여했지만 중도 포기하여 수료하지 못한 학생은 중복 참여 학생을 제외하고 83명이었으며, 이 중 컴퓨터공학을 주전공으로 선택한 학생은 49명(59%)에 불과하였다.

이는 <자바집중캠프>에 참여한 수강생들은 대부분 컴퓨터공학 전공에 관심이 있었으며, 캠프를 성공적으로 이수한 수료자들에게는 캠프를 통해 프로그래밍 학습에 대한 성취도를 경험해 본 것이 전공선택을 결정하는 데에 영향을 줄 수 있다는 것을 보여준다.

4-3 캠프 수료자의 전공과목 성취도 비교

<자바집중캠프>를 수료하고 컴퓨터공학을 주전공으로 선택한 학생들은 2학년 1학기에 <자바프로그래밍> 과목을 필수로 수강해야 한다. 따라서, <자바프로그래밍> 수업을 수강한 학생들의 학업 성취도를 분석하여 캠프 수료자들과 다른 학생들을 비교해 보았다.

3년 간 <자바프로그래밍> 과목을 수강한 학생은 총 448명이며, 이 중 <자바집중캠프>를 수료한 학생은 79명이었다. 이 중, A0학점 이상을 받은 학생이 49명(61.3%), B0~B+학점을 받은 학생이 23명(29.9%)으로, 전체 수료자 79명 중 72명(91.2%)이 B0 이상의 학점을 받았다. 이에 비해 <자바프로그래밍> 과목의 전체 수강생 448명 중 A0학점 이상은 169명(37.7%), B0~B+ 학점은 118명(26.3%)으로 287명(64%)이 B0 이상의 학점을 받았다.

Figure 4.

Analysis of Course Achievement –1

Figure 5.

Analysis of Course Achievement - 2

이를 통해 <자바집중캠프>를 수료한 학생들이 정규 전공수업에서도 높은 학업 성취도를 보이고 있어, 캠프에 참여하는 것이 매우 효과적이라는 것을 확인할 수 있었다. 또한 <자바집중캠프> 뿐만 아니라 컴퓨터공학 전공을 고려하고 있는 신입생들에게 방학 기간을 활용하여 다양한 비교과 프로그램이 제공된다면 전공 진입 후에 높은 학업성취도를 기대할 수 있을 것으로 보인다.

캠프 수료 여부와 자바 프로그래밍 고학점(A,B학점)과 저학점(C,D,F 학점)의 분포 사이에 유의미한 연관성이 있는지 확인하기 위해 독립성 검정을 위한 카이 제곱 검정을 실시하였다. 관찰된 빈도(Obs. Freq.)와 기대빈도(Exp. Freq.)는 Table 3에 제시되어 있다.

Observed-Expected Frequencies

카이 제곱 검정 결과, 캠프 수료 여부와 고학점/저학점 분포 사이에 유의미한 연관성이 있음이 확인되었다,

χ2(1, N=1153) = 23.90, p-value < 0.001.

Table 3에 나타난 바와 같이, 귀무가설 하의 기대 빈도(즉, 캠프 수료 여부와 고학점/저학점 분포 사이에 연관성이 없다는 가정)는 관찰된 빈도와 상당히 다르다. 이 유의미한 결과는 캠프 수료 여부가 고학점과 저학점의 분포에 실제로 영향을 미친다는 것을 시사한다.


5. 결론

A대학에서 진행한 <자바집중캠프>의 주요 대상은 무전공 신입생 또는 실전 프로그래밍 능력이 필요하여 컴퓨터공학으로 전과하려는 학생들이다. 이 캠프는 학생들의 코딩 능력 향상과 함께 계획적인 공부 습관, 자기주도적인 학습 능력을 키우는 데 초점을 맞춰 운영되었다. 캠프에서 이론적인 내용은 온라인 동영상 콘텐츠를 제공하여 플립러닝으로 학습하고, 교수와 조교, 수강생들이 학습공동체를 형성하여 학습자들이 서로 격려하고 지지할 수 있는 다양한 방법들이 적용되었다. 결과적으로 이러한 방식은 학생들의 성취감을 높이고 자신감을 키우는데 도움이 되었으며, 제안한 세 가지 연구 문제에 대해 분석한 결과는 다음과 같다.

첫째, 캠프 참여자의 만족도는 매우만족 36.1%, 만족 55.2%, 보통 8.6%으로 높은 만족도를 보인 것으로 나타났다. 주관식 설문 응답을 살펴보면 본 프로그램의 기획 의도에 맞는 ‘자신감’, ‘꾸준한 습관’, ‘스스로’ 라는 키워드가 다수 발견되었으며, 참여 학생들은 코딩 습관의 필요성, 자기주도적인 공부 방식에 대해 도움을 받은 것으로 분석되었다.

둘째, 캠프 수료자 120명 중 컴퓨터공학을 주전공으로 선택한 학생은 100명(83.3%)이었다. 이 결과는 캠프 미수료자의 전공 선택 결과에 비해 캠프를 성공적으로 수료한 학생들이 전공 선택 또는 변경 시 컴퓨터공학에 대한 호기심과 자신감을 얻게 되었으며, 이것은 전공 결정에 중요한 요인이 되었다는 것을 보여준다. 캠프는 학생들에게 컴퓨터공학에 대한 이해와 자신감을 키우는 데 효과적이었고, 이는 학생들이 전공 선택 영향을 미친 것으로 보인다.

셋째, 컴퓨터공학 전공 교과목인 <자바프로그래밍> 수업을 수강한 학생들의 성취도를 분석하였다. <자바집중캠프> 수료자 120명 중 자바프로그래밍 교과목을 수강한 학생은 79명이었다. 이 중에서 A0와 A+학점을 받은 학생은 49명(61.3%)이었고, B0와 B+학점을 받은 학생은 각각 23명(29.1%)이었다. 반면, 같은 기간 동안 <자바프로그래밍> 교과목을 수강한 전체 학생 448명 중 A0와 A+학점 이상을 받은 학생은 169명(37.7%)이며, B0와 B+학점을 받은 학생은 각각 118명(26.3%)이었다. 결과적으로 <자바집중캠프>를 수료 학생들이 정규 교과목인 <자바프로그래밍> 수업에서 더 높은 성취도를 보이며, 이것은 캠프 수료 여부와 고학점/저학점 분포 사이에 유의수준 5%에서 차이가 있는 것으로 나타났다(χ2(1, N=1153) = 23.90, p-value < 0.001). 이 결과는 <자바집중캠프>가 학생들에게 전공수업에서의 학업 성취도 향상에 긍정적인 영향을 미쳤음을 시사한다.

A대학의 신입생들이 무전공으로 입학하여 1학년 때 전공 탐색을 한다는 점에서, 본 연구의 결과를 타 대학과 비교하거나 직접적인 영향을 주기는 어렵다. 하지만 이 결과는 교육부의 발표에 따라[26] 무전공 입학을 추진하는 대학들에게 중요한 통찰을 제공할 수 있다. A대학의 <자바집중캠프>는 무전공 입학자나 전공 탐색 중인 학생들에게 프로그래밍 및 컴퓨터공학 분야에 대한 이해와 자신감을 높이는데 도움이 되었기 때문에, 이와 유사한 비교과 프로그램을 통해 학생들이 자발적으로 전공 탐색과 학습 활동에 참여할 수 있도록 유도할 수 있을 것이다.

본 연구는 일부 한계점이 있지만 향후에 다음과 같은 주제로 연구하거나, 다른 주제의 집중 캠프를 기획할 수 있을 것이다. 캠프 참여자 중 전공 결정을 하지 않은 신입생 뿐 아니라, 이미 컴퓨터공학 전공을 선택한 학생들이나 다른 전공에서 전공 변경을 하려는 학생들이 포함되어 있어 이들의 캠프 참여와 후속적인 학습 성과 간의 관계에 대한 상세한 분석이 필요하다. 이러한 분석을 통해 이미 컴퓨터공학 전공을 선택한 학생들의 캠프 참여 동기와 성취도 변화, 타 전공에서 전공 변경을 하려는 학생들의 캠프 참여와 전공 선택에 대한 영향, 다양한 학생 그룹 간의 차이점과 유사점 등을 분석하는 연구가 필요하다.

학생들은 팀 기반 학습을 통해 학습 태도가 좋아지 고 소프트웨어에 대한 흥미가 높아졌다[27]. 학습공동체를 세분화 하여 운영하는 방안을 고려하고 있다. 지금까지 전체 캠프 참석자를 하나의 학습공동체로 놓고 운영하였는데, 7명 내외의 소그룹으로 나누어 학습공동체를 운영하였을 때 어떤 차이점이 있는지 확인해 보려고 한다.

또한, 중고등학교 때부터 코딩을 경험한 학생들과 대학에 입학하여 코딩을 배우는 학생들 간에는 실력 차이가 발생할 수 있다. <자바집중캠프>와 같은 프로그램은 이러한 두 개 그룹의 차이를 줄이는 데 효과적일 것이다. 이 차이를 줄이는 방안을 고안하고 분석한다면, 코딩 경험이 있는 학생들과 그렇지 않은 학생들의 학습 경험에서 학생들에게 실제적으로 도움되는 프로그래밍 교육 방안을 도출할 수 있을 것이다.

Acknowledgments

본 논문은 과학기술정보통신부 및 정보통신기획평가원의 SW중심대학사업 지원을 받아 수행되었음 (2023-0-00055)

본 논문은 한국콘텐츠학회 2024 종합학술대회에서 “비교과과정 실전적 프로그래밍 집중 교육 사례 연구”의 제목으로 발표된 논문을 확장한 것임.

References

  • Association of SW-centered university wehsite, http://www.swuniv.kr/
  • (2023-06-08) “Opening the era of 1:1 personalized education with artificial intelligence (AI)”. digital textbook, Ministry of Education. https://www.moe.go.kr/boardCnts/viewRenew.do?boardID=294&lev=0&statusYN=W&s=moe&m=020402&opType=N&boardSeq=95261
  • Hyunjong Choe (2021). Study of AI Thinking Education based on Computational Thinking. The Journal of Korean Association of Computer Education, 24(3), 57-65. [https://doi.org/10.32431/kace.2021.24.3.006]
  • Hak Jin Bae, Eun Kyoung Lee, & Young Jun Lee (2009). A Problem Based Teaching and Learning Model for Scratch Programming Education. The Journal of Korean Association of Computer Education, 12(3), 11-22. [https://doi.org/10.32431/KACE.2009.12.3.002]
  • Yang Chang Mo (2014). Meta-Analysis on the Effects of Programming Education using Educational Programming Languages. The Journal of Korean Association of information Education, 18(2), 317-324. [https://doi.org/10.14352/jkaie.2014.18.2.317]
  • Jeongsu Yu, & Minhee Lee (2009). Effects of a Programming Class Using Dolittle on Enhancing Creativity, Problem Solving Ability, and Interest in Programming. The Journal of Korean Association of information Education, 13(4), 443-450.
  • Ministry of Education (2015). Guidelines for Software Education. Seoul: Ministry of Education.
  • Kyung Mi Kim, & Kang Yi (2016, 08). Flipped Class Model with Pre Questions and Its Application to Programming class for Novice Learners. Proceedings of the Korean Society of Computer Information Conference, (4), 11-14
  • Kyung-mi Kim, & Hyunsook Kim (2017). A Study on Customized Software Education method using Flipped Learning in the Digital Age. Journal of Digital Convergence, 15(7), 55-64. [https://doi.org/10.14400/JDC.2017.15.7.55]
  • Choong-Kyo Jeong (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]
  • Eunhee Lee, & Chunsik Lee (2008). The Effect of Project Method on the Capability of Students' Self-directed Learning in 'Woodworking' Unit. Practical Arts Education Research, 14(3), 29-48. [https://doi.org/10.17055/JPAER.2008.14.3.29]
  • Lee Jung Mi, & Lee Gil-Jae (2017). A Study on the Factors Associated with Self-Directed Learning Ability of College Students. The Korean Educational Administration Society, 35(3), 133-153.
  • Lee Seung-chul. (2019). The structural relationships between college students’ perceived family strengths, growth mindset, emotional intelligence, grit, and self-directed learning ability. Doctoral Dissertation, Graduate School, Soongsil University
  • Seon-Joo Park. (2024). A Study on The Improvement Plans of Extracurricular Programs by Typology of University Students. Journal of the Korea Academia-Industrial cooperation Society, 25(5), 432-444. [https://doi.org/10.5762/KAIS.2024.25.5.432]
  • Heon Joo Kim, & Kyungmi Kim (2018, 08). Effect Analysis of the SW Curriculum Reorganization for Non-CS Students on the Class Satisfaction. Proceedings of the Korean Society of Computer Information Conference, (4), 45-48. Seoul
  • Hajeong Yoon. (2022). Impact of Extracurricular Program Participant&s Charactesristics and Motivation to participate on University Students& Core Competencies [Master's Thesis, PSU]. http://www.riss.kr/link?id=T16166444
  • Youngmin Kim. (2021). A study on the effects of the extracurricular programs on the university students'' educational performances, satisfaction with education, and key competency : Focusing on the case of ACE+ program in a university [Doctoral Dissertation, SKKU]. http://www.riss.kr/link?id=T15921237
  • KyungHee Lee, & Hye-Young Park (2021). Effects of Learning Support Extracurricular Program on Core Competencies Linked Computational Thinking Course. The Journal of Korean Association of Computer Education, 24(5), 37-46. [https://doi.org/10.32431/KACE.2021.24.5.004]
  • Byeong Geon Yu, Ja Mee Kim, & Won Gyu Lee (2014). Analysis of the impact of Learner characteristics on the achievement of programming. The Journal of Korean Association of Computer Education, 17(5), 15-24. [https://doi.org/10.32431/KACE.2014.17.5.002]
  • Ji-Sim Kim, Kyoung Ah Kim, You Jung Ahn, Suk Oh, & Myung Sook Jin (2018-07-16). Analysis of the Effect of Learning Participation on Achievement in Programming Courses. Proceedings of the Korean Society of Computer Information Conference. (2), 496-497.
  • Joo-Young Seo, & Seung-Hun Shin (2020). Case Study on Problem-based Programming Classes in Software Education for Non-Computer Science Majors. Journal of the Korea Society of Computer and Information, 25(4), 213-222. [https://doi.org/10.9708/JKSCI.2020.25.04.213]
  • Heeran KIM (2024). Influence of Learning Experience by Academic Year on College Students& Major Satisfaction and Perceived Competencies: A Study Focused on I University. The Journal Of Fisheries And Marine Sciences Education, 36(1), 110-125. [https://doi.org/10.13000/JFMSE.2024.2.36.1.110]
  • Kyung-Hee KIM (2022). A Study on the Effectiveness of Self-Directed Learning Ability According to Learning Community Participation and Learning Community Type. The Journal Of Fisheries And Marine Sciences Education, 34(6), 1077-1087. [https://doi.org/10.13000/JFMSE.2022.12.34.6.1077]
  • Jinah Park, & Jieun Kim (2024). A qualitative study of bootcamp perceptions and dropout prevention factors: focus on stakeholders. The Journal of Korean Association of Computer Education, 27(1), 1-23. [https://doi.org/10.32431/KACE.2024.27.1.001]
  • Park, Young-Ki, & Kim, Min-Jun (2022). The Influence of University Student& Motivation for Major Choice on Study Satisfaction and Career Decision: Focusing on Students Majoring in Tourism and Hotel. Journal of Tourism and Leisure Research, 34(2), 333-349. [https://doi.org/10.31336/JTLR.2022.2.34.2.333]
  • Hooyeon Lee & Minji Choi (2024-01-03) Push for 25% Undeclared Admissions: "Humanities Colleges Will Disappear, "Good for Students", Korea JoongAng Daily Article. https://www.joongang.co.kr/article/25219328
  • KyungHee Lim . (2023). Development of a Team-based Software Instruction Model for Improving Cooperative Problem-solving Ability . The Journal of Korean Association of Computer Education, 26(4), 65-76. [https://doi.org/10.32431/kace.2023.26.4.007]
장 소 연

1996년 한양대학교 전자계산학과 (공학사)

2022년 한국방송통신대학교 대학원 정보과학전공 (이학석사)

2018년 ~ 현재 한동대학교 전산전자공학부 산학협력중점교수

관심분야: 프로그래밍교육, 모바일응용, 오픈소스소프트웨어

E-Mail: jerry1004@handong.edu

김 광

1994년 한양대학교 전자계산학과 (공학사)

1996년 한양대학교 전자계산학과 (공학석사)

2006년 한양대학교 컴퓨터공학과 (공학박사)

2017년 ~ 현재 한동대학교 전산전자공학부 부교수

관심분야: 컴퓨터교육, 운영체제, 오픈소스소프트웨어

E-Mail: kkim@handong.edu

김 경 미

1987년 고려대학교 수학교육학과(이학사)

1992년 한국외국어대학교 무역정보학과(경영학석사)

2007년 경북대학교 컴퓨터공학과(공학박사)

1997년 ~ 현재 한동대학교 글로벌리더십학부 교수

관심분야: 프로그래밍교육, 무선센서네트워크, 정보보호

E-Mail: kmkim@handong.edu

Figure 1.

Figure 1.
Program satisfaction

Figure 2.

Figure 2.
Problem difficulty

Figure 3.

Figure 3.
Analysis of Major Selection among Camp students who completed

Figure 4.

Figure 4.
Analysis of Course Achievement –1

Figure 5.

Figure 5.
Analysis of Course Achievement - 2

Table 1.

Structure of the Camp Program

Topics Time Role
Study Planning First time only Professor
Solving Practical Coding Problems Entire period Student
Pre-learning Contents Entire period Student
Online Q&A Session Daily TA, Student
Group Meeting Weekly Professor, TA, Student

Table 2.

Practice problem sets

Week Step Contents
1st week Basic • Basics of Java(7)
• conditions(10)
• multiple conditions(11)
• loop(10)
2nd week Intermediate • nested loop(6)
• arrays(8)
• simple application(7)
3rd week Classes • Math class(9)
• create class(7)
• class member(10)
• class array(7)
4th week OOP • CRUD application(4)
• File I/O(7)
• Collections(7)

Table 3.

Observed-Expected Frequencies

High-grades Low-grades
Obs.Freq.. Exp.Freq. Obs.Freq. Exp.Freq.
Camp Completers 72 51.52 7 27.48
Non-Completers 680 700.48 394 373.52
Total 752 401