첫째 앱 인벤터를 활용한 프로그래밍 학습을 정규 교과 교육과정이 아닌 동아리, 활동과 온라인 학습을 통해 적용하였다 이에 정규 교과 교육과정에서 적용한 연구. 가 필요하다.
둘째 프로그래밍 학습 초기 앱 인벤터를 활용한 집단과 다른 프로그래밍 언어를, 활용한 집단과의 프로그래밍 기본 학습 요소 이해도 차이에 대한 비교 연구가 필 요하다.
셋째 본 연구에서 적용한 프로그래밍 학습 요소는 변수 연산자 조건 반복에, , , , 한정하였다 리스트 데이터베이스 분야 등의 학습 효과에 대한 연구로 확대할 필. , 요가 있다.
넷째 프로그래밍 교육에 앱 인벤터가 적극 활용될 수 있도록 교사 및 전문가들, 의 교수 학습 설계 관련 연구가 필요하다- .
참고 문헌
이영준 (2014). 초중등 단계 Computational Thinking 도입을 위한 기초 연구 한국, 과학창의재단.
김경훈 (2015). 2015 정보과 교육과정 시안 공개토론회 자료집 한국교육과정평가원, . 김병호 (2013). 안드로이드 앱 인벤터를 활용한 컴퓨터 프로그래밍 교육 한국정보통,
신학회 논문지, 17(2), 467-472.
안상진 이영준, (2014). 앱 인벤터를 활용한 초ᆞ중등 프로그래밍 교육 방안 컴퓨터, 교육학회 논문지, 17(5), 79-88.
설문규 손창익, (2013). 워터폴 모델을 적용한 앱 인벤터 프로그래밍 교재개발 연구, 한국정보교육학회 논문지, 17(4), 409-419.
송태옥 안성훈 김태영, , (1999). 객체지향개발기법을 이용한 교육용 한글 로고 언어의 설계 및 구현 한국컴퓨터교육학회 논문지, , 2(4), 149-156.
황진욱 (2006). 컴퓨터 프로그래밍 교육의 중요성 및 효과적인 교육방법 연구 아주대, 학교 교육대학원 석사학위 논문.
김영국 (2010). 정보영재의 프로그래밍 개념 학습을 위한 스크래치 활용 교육 수업 설계 충남대학교 교육대학원 석사학위 논문, .
교육부 고시 제1992-11 ,호 중학교 교육과정. 130.
교육인적자원부 고시 제 2007-79호 별책[ 10], 실과 기술 가정 교육과정( ᆞ ) , 67.
교육과학기술부 고시 제 2011-361호 [별책 10], 실과 기술 가정( ᆞ ) 교육과정, 79-80.
이홍규 (2015). STEAM 기반 로봇 프로그래밍 교육이 중등정보영재 학생의 창의적 문제해결력 향상에 미치는 영향 한국교원대학교 대학원 석사학위 논문, .
최숙영 (2011). 21st Century Skills와 Computational Thinking 관점에서의 정보' ' 교육과정 분석 한국컴퓨터교육학회 논문지, , 14(6), 19-30.
길혜민 (2004). 중등교육에 있어서 객체지향형 EPL ‘두리틀 의 적용 고려대학교’ ,
정영민 (2009). 중학교 알고리즘 학습을 위한 프로그래밍 수업 설계 및 적용 연구 충, 남대학교 교육대학원 석사학위 논문.
진영학 허민 김영식, , (2010). 중학교 정보 교과서 비교 분석 및 개선방안 한국컴퓨터, 교육학회 논문지, 15(1), 25-34.
현태익 (2012). 일반계 고등학교 정보 교육과정의 문제 해결 방법과 절차 수업 모형, 신라대학교 대학원 박사학위 논문.
위키피디아 홈페이지. (2015. 9. 25.) https://ko.wikipedia.org
유진아 (2008). 공개소프트웨어 Python을 이용한 프로그래밍 교육에 관한 연구 단국, 대학교 교육대학원 석사학위 논문.
김종훈 김종진 정원희 정은영, , , (2005). 초등 컴퓨터 창의성 교재 개발 연구 한국연, 구재단.
황진욱 (2006). 컴퓨터 프로그래밍 교육의 중요성 및 효과적인 교육방법 연구 아주대, 학교 교육대학원 석사학위 논문.
권나영 (2014). 프로그래밍 교육이 정보영재학생의 문제해결력에 미치는 영향 서울교, 육대학교 교육전문대학원 석사학위 논문.
황성진 (2015). 앱 인벤터 활용이 초등정보영재의 창의적 문제해결력과 학습몰입에 미치는 영향 한국교원대학교 대학원 석사학위 논문, .
윤영주 (2009), 주제통합형 수업이 프로그래밍 학습에 미치는 영향 한국교원대학교, 교육대학원 석사학위 논문.
채지희 (2010), 정보영재의 프로그래밍 개념 학습을 위한 스크래치 활용 교육 수업 설계 충남대학교 교육대학원 석사학위 논문, .
D. Wolber (2011). App inventor and realworld motivation. SIGCSE'11 -42nd ACM Technical Symposium on Computer Science Education, 601-606.
Morelli, R., de Lanerolle, T., Lake, P., Limardo, N., Tamotsu, E., & Uche, C.
(2011). Can android app inventor bring computational thinking to k-12.
In Proc. 42nd ACM technical symposium on Computer science education (SIGCSE'11).
부록 1. 사전 설문지
다음의 문항을 읽고 어떤 경우에 해당하는지 해당번호를 ‘V'표 해주시기 바랍니다. 이 설문의 내용은 순수 연구 목적으로만 사용됩니다.
학년 반 성별 남 여
1 ( ) ( , )
1. 입학하기 전에 프로그래밍에 대해 공부해 본 적이 있습니까?
있다
① ② 없다
있다고 답한 학생만 언제 처음 프로그래밍에 대해 공부하였습니까
1-1. (① ) ?
초등학교 입학 전부터
① ② 초등학교 1~3학년
초등학교 4~6학년
③ ④ 중학교 1~3학년
있다고 답한 학생만 처음 공부한 프로그래밍 언어는 무엇입니까
1-2. (① ) ?
스크래치
① ② C / C++ ③ JAVA
App Inventor 2
④ ⑤ 기타 ( )
없다고 답한 학생만 프로그래밍에 대해 공부해보고 싶은 생각이
1-3. (② )
있었나요?
그렇다
① ② 그렇지 않다
2. 프로그래밍 교과 내용 중 가장 이해하기 어려운 학습요소는 무엇이었나요I ?
변수 선언과 사용 연산자 사용 조건문 반복문
① ② ③ ④
기타 ( )
⑤
부록 2. 프로그래밍 학습요소 이해도 사후 검사지
다음의 문항을 읽고 어떤 경우에 해당하는지 해당번호를 ‘V'표 해주시기 바랍니다. 이 설문의 내용은 순수 연구 목적으로만 사용됩니다.
학년 반 성별 남 여
1 ( ) ( , )
1. 다음 중 변수의 선언과 사용이 바르지 못한 것을 모두 고르시오.
int i = 100;
① ② int i = 'c'; ③ char c = 100;
char c = "a";
④ ⑤ float f = 3.14;
2. 다음은 1부터 10까지의 합을 구하는 프로그램이다. 10진수 형태로 출력하려고 할 때 ㉠과 ㉡에 들어갈 내용이 바르게 짝지어진 것을 고르시오.
#include <stdio.h>
int main()
{ int i, sum = 0;
for(i = 1; i <= 10; i++)
;
㉠
printf( ㉡ );
return 0;
}
㉠ ㉡
① i = i + 1 "%d", i
② sum = sum + 1 "%d", sum
③ sum = sum + i "%d", sum
④ i = i + 1 "%x", i
⑤ sum = sum + i "%x", sum
3. 다음 프로그램 코드를 실행할 때 ㉠과 ㉡에 출력되는 내용으로 바르게 짝지어 진 것을 고르시오.
int main() { int a, b, c;
a = 1; b = 1; c = 1;
a = b++ * c++;
printf("%d", a); ㉠ a = ++b * ++c;
printf("%d", a); ㉡ return 0;
㉠ ㉡
① 1 1
② 4 4
③ 1 4
④ 9 9
⑤ 1 9
4. 다음 프로그램 코드를 실행할 때 ㉠과 ㉡에 출력되는 내용으로 바르게 짝지어 진 것을 고르시오.
int main() { int x, y;
x = 1; y = 10;
printf("%d ", x > 0 && y < 10); ㉠ printt("%d ", x || y && !x); ㉡ return 0;
}
㉠ ㉡
① 1 1
② 0 0
③ 1 0
④ 0 1
⑤ 10 10
5. 다음 코드에서 ㉠과 ㉡에 들어갈 내용으로 가장 바른 것을 고르시오.
int main()
{ int a, b, c, max, min;
a = 10; b = 20; c = 30;
if( ㉠ && ㉡ ) max = c; min = a;
printf("%d %d", max, min);
return 0;
}
㉠ ㉡
① a > b b > c
② a > c c > b
③ b > a a > c
④ c > b b > a
⑤ b > c c > a
6. 다음 프로그램의 실행 결과로 가장 바른 것을 고르시오.
int main() { int x, y;
x = 1; y = 10;
if (x % 2 == 1) printf("%d", x + y);
else
printf("%d", x - y);
if (y % 2 == 1) printf("%d", y * y);
else
printf("%d", y + y) return 0;
}
① 1 100
② 11 20
③ -9 20
④ 1 20
⑤ 11 100
7. 다음 코드에서 ㉠과 ㉡에 들어갈 내용으로 가장 바른 것을 고르시오.
int main() { int x, y;
x = 2; y = 3, z = 4;
if (x % 2 == 0) { if (y % 2 == 0) {
if ( ㉠ ) printf("all even");
else
printf("x y even, z odd");
} else {
if ( ㉡ )
printf("x z even, y odd");
else
printf("x even, y z odd);
}
return 0;
}
㉠ ㉡
① z % 2 == 0 z % 2 == 0
② z % 2 == 0 z % 2 == 1
③ z % 2 == 1 z % 2 == 0
④ z % 2 == 1 z % 2 == 1
⑤ z / 2 == 0 z / 2 == 0
8. 다음 코드에서 ㉠과 ㉡에 들어갈 내용으로 가장 바른 것을 고르시오.
int main() { int x;
x = 365;
if ( ㉠ ) printf("clap ");
if (x % 100 / 10 % 3 == 0) printf("clap ");
if ( ㉡ ) printf("clap ") return 0;
}
㉠ ㉡
① x / 100 % 3 == 0 x / 10 % 3 == 0
② x / 100 % 3 == 0 x % 10 % 3 == 0
③ x % 100 % 3 == 0 x % 10 % 3 == 0
④ x / 100 / 3 == 0 x % 10 / 3 == 0
⑤ x / 100 / 3 == 0 x / 10 % 3 == 0
9. 다음 프로그램의 실행 결과로 가장 바른 것을 고르시오.
int main()
{ int i = 2, sum = 0;
while (i <= 10) { sum += i;
i += 2;
}
printf(“%d”, sum);
return 0;
}
① 10
② 15
③ 30
④ 55
⑤ 100
10. 다음 프로그램의 실행 결과로 가장 바른 것을 고르시오.
int main()
{ int i, sum = 0;
for(i = 1; i <= 10; i += 2) sum += i;
printf(“%d”, sum);
return 0;
}
① 5
② 15
③ 25
④ 35
⑤ 55
11. 다음 프로그램의 실행 결과로 가장 바른 것을 고르시오.
int main()
{ int n, n1, n2, n3, i;
n1 = 1; n2 = 1; n3 = 2;
for(i = 4; i <= 8; i ++) { n = n1 + n2 + n3;
printf(“%d ”, n);
n1 = n2; n2 = n3; n3 = n;
}
printf(“\n”);
return 0;
}
① 4 5 6 7 8
② 4 6 8 10 12
③ 4 7 10 13 16
④ 4 7 13 24 44
⑤ 4 8 12 16 18
12. 다음 프로그램의 실행 결과로 가장 바른 것을 고르시오.
int main()
{ int i, j, sum, dsum = 0;
for(i = 1; i <= 5; i++) { sum = 0;
for(j = 1; j <= i; j++) sum += j;
dsum += sum;
}
printf("%d",dsum);
return 0;
}
① 15
② 25
③ 35
④ 45
⑤ 55