터북이 및 콘텐츠진흥원 게임코딩 == 다운받기

 

저희 연구팀에 의해 2018년에 문화체육관광부 산하의 한국콘텐츠 진흥원을 통해 공개된 게임코딩 등의 교재와 교사용지도서 그리고 코드크래프트 (codecraft) 등을 소개합니다. 아래의 설명을 읽은 후, 맨 마지막에 쓰여진 링크를 눌러 코드크래프트와 pdf 교재 등을 down 받으세요 !!  코드크래프트는 블록코딩이 가능한 2022년도 버젼인 터틀크래프트로 발전하였습니다.

 

=========================================

 

== 문화체육관광부 산하 한국콘텐츠진흥원 ==

==== 코드크래프트 게임코딩 교재받기  ====

 

[Ctrl 키를 누른 상태에서 클릭]   pdf  교재

 

아래 링크로 터북이코딩수학.pdf 설명을 보자 !!

(클릭) 터북이 코딩수학 pdf 설명서

 

=========================================

 

터틀크래프트는 크롬 등에서 작동하며, 특히 Forefox 에서 빠르게 실행되고 터틀말 사용도 가능합니다. 아래 링크를 통해 파이어폭스 zip 파일을 다운받아 풀고 사용하세요 (설치가 아니고 간단하게 풀면 됩니다). 코딩수학.com 주소에는 학생들이 익숙한 블록코딩을 사용할 수 있는 업그레이드 버젼인 터틀크래프트가 있습니다.

 

(블록코딩 버젼) snucode.pythonanywhere.com

 (  짧게, 코딩수학.com 주소로도 연결됩니다  )

 

     클릭하세요 : SNU 코딩수학 (블록코딩)

SNU 코딩수학 밴드  : https://band.us/@snucode

 

아래 링크를 통해 Firefox52down.zip 받으세요 

(클릭) Firefox52down.zip 다운받아 풀고 사용하기

 

=========================================

 

다음은 저 아래의 링크를 통해 코드크래프트를 PC에 다운받은 후, 실행 화면에 나타난 왼쪽 편집기에 명령을 쓰고 실행한 화면의 모습입니다. 화면 맨 아래의 [시작] 버튼은 beginxyz 아래의 코드를 실행시키며, [실행] 버튼은 beginxyz 위에 쓰인 코드를 실행시킵니다. 아래의 VR 단추를 누르면, 실행 화면의 모습이 3차원 VR 화면으로 바뀝니다.

위의 화면에서, [시작] 단추를 누르면 beginxyz 아래에 쓰인 조건제시법 명령이 실행되며 주어진 조건에 맞는 좌표들을 찾아 블럭을 만듭니다. [실행] 단추를 누르면 beginxyz 위에 쓰인 명령이 실행되는데, beginxyz 위에 쓰인 명령문의 시작은 문자 변수에 A = ' s[u] s[uu] '  와 같이 거북 행동문자를 기억시켜 저장시키는 것입니다. 이렇게 기억을 시키면 doit( AA) 또는 doit( 2A )명령은 doit( s[u]s[uu] s[u]s[uu] ) 명령이 됩니다. 여기서 소문자 s, u, 그리고 [ 와 ] 기호의 설명은 다음과 같습니다.

예를 들어, 아래의 명령문 편집기에서  item=16 밑에 쓰여있는 doit( L su su s ) 명령을 위의 표로 해석을 해봅니다. 소문자 s와 t는 각각 앞으로 (step) 및 뒤로 가며 블럭을 만듭니다.  u 와 d는 각각 위로 (up) 아래로 (down) 가며 블럭을 만들고, 대문자 L과 R은 각각 왼쪽 (Left) 오른쪽 (Right) 방향으로 90도 돕니다. 마지막으로, [ 은 현재의 위치와 방향을 기억시키고, ] 기호는 기억된 위치와 방향으로 되돌아갑니다. 헨젤과 그레텔 동화에 나오는 돌멩이나 음악의 도돌이표를 생각하면 이해하기 쉽습니다. 여기서 item=16 명령은 doit 명령이 만드는 블럭을 16번 블럭으로 만들라는 것입니다.

A = ' s[u] s[uu] ' doit( s[u]s[uu] s[u]s[uu] ) doit( AAA L 5A L 5A ) item = 16 doit( L su su s ) beginxyz if( y==x && z==1 ) return 4

위 명령문 편집기에 있는 [beginxyz] 단추는 [시작] 단추와 같은 것으로, 이 것을 누르면 beginxyz 아래에 쓰인 명령문이 작동하면서 마인크래프트 환경과 비슷한 3차원 공간이 나옵니다. 이어서 [실행] 단추를 누르면 beginxyz 위에 쓰인 거북코드가 작동을 하여 블럭들이 추가로 만들어집니다. 실행되어 나타난 왼쪽의 화면을 마우스로 클릭하여 화면의 3차원 세계로 들어갈 수 있습니다. 이제 아래와 같은 키보드 명령표를 키보드 조작을 통해 완성시켜보세요. WASD 키보드 명령은 마인크래프트에서의 명령과 똑같습니다. Shift키를 누르면 중력으로 공중에서 떨어집니다.

 

===== 미로게임을 만들자 (cube 와 for 반복명령) =====

콘텐츠진흥원을 통해 배포되는 게임코딩 교재와 코드크래프트 (codecraft) 환경은 좌표에 cube 를 만드는 명령과 for 반복 알고리즘을 기반으로 코딩학습을 합니다. 코드크래프트의 코딩 문법은 javascript 코딩 문법과 같으며, 피라미드와 미로게임 등을 만드는 게임코딩 교육용입니다. 이제 코드크래프트로 아래 모양의 미로게임을 만들고 또한 3차원 VR로 놀아봅니다.

doit( sT 3s L 4s )
doit( LsT ss )
doit( Lss [Lss] s )
beginxyz ; 

참고로, 코드크래프트에서는 위와 같은 거북명령으로 미로 게임을 만들 수 있습니다 (코드크래프트 doit 에서, 거북문자 n 은 블럭을 만들지 않고 앞으로 가라는 것입니다. 터틀크래프트에서는 대문자 T를 씁니다). 콘진원 게임코딩 교재에서는 doit 거북명령을 다루지 않기에, 대신에 for 반복문 알고리즘 방법으로 만듭니다. 아래에서 미로 게임을 배열(행렬 array) 데이터에 저장하는 것이 소개됩니다. 초등의 엔트리나 스크래치 코딩을 넘어, 중등학교 코딩에서는 미래의 진로와 진학을 위해 (어렵지만 수학과 함께 !!) 이중 for 알고리즘이나 행렬과 배열 데이터 등으로 코딩역량을 키워야합니다.  

 

아래 코드는 위의 자바스크립트 코드크래프트를 터틀크래프트에서 하는 것입니다. 먼저 [beginxyz] 누른 후,  [실행] 단추를 누르세요. 

maze = [ '11011' , '10001' , '11101' , '10001' , '10111' ] for( i=0; i<=4; i++ ){ for( j=0; j<=4; j++){ if(maze[ i ][ j ]==1){ cube( j+1, 5-i, 1) } } } beginxyz ;

위의 자바스크립트 기반 미로게임 코드는 이중 for 반복문을 익히는 코딩교육에 적합하지만, 초등학교 학생이나 자유학년제 코딩수학에 너무 어렵습니다. 그래서 MIT 거북수학의 정신과 컴퓨팅 사고력 역량을 위한 수학과 코딩을 융합한 코딩수학 교육을 위해 터틀크래프트  (TurtleCRAFT)  환경이 개발되었습니다. 현재 서울대와 시흥영재교육원과 서울대-시흥시 교육사업인 초중등 창의코딩 그리고 자유학년제 코딩수학 교육용으로 snucode.org  및 codingmath.org 주소에서 사용되고 있습니다. 다음은 초등학생을 위한 미로게임 거북코드입니다.

maze = [ '11011' , '10001' , '11102' , '10001' , '10111' ] goto(0,10,1) // 좌표 (0,10,1) 위치로 maze = matrix( maze,2 ) // 확대 행렬 dovt( maze ) // do vector 거북명령 beginxyz ; // 좌표축을 그리게 함

[beginxyz] 단추를 눌러서 좌표 공간을 만들고, 이어서 [실행] 단추를 눌러서 화면의 (닌자) 거북에게 maze 배열에 쓰인 숫자를 보며 그대로 미로게임을 만들라고 명령을 합니다. 배열은 행렬 (matrix) 기반의 데이터입니다. 위의 코드에는 maze = matrix( maze, 2 ) 명령은 지금의 maze 행렬을 가로 세로 그리고 값들을 각각 2배로 확장시키는 것입니다. 이렇게 확장시킨 후, dovt( maze ) 하면 위의 실행 결과와 같이 확장된 미로가 나타나며, 특히 미로의 오른쪽에 방향에 대한 힌트를 주려고 세운 블록도 커집니다. 예전에는 행렬과 그래프 내용이 수학교과서에 있었으나 지금은 삭제되었습니다. 또한 예전에 고등학교 수학이었던 알고리즘과 순서도도 삭제되었고, 집합과 논리는 중학교 1학년 수학에서 고1 수학으로 올라갔습니다. 집합과 논리, 알고리즘과 순서도, 그리고 벡터와 행렬수학은 인공지능 코딩에 중요한 학교수학의 내용입니다.

인공지능을 전공하시는 서울대 교수님들 중에는 프로그래밍은 대학교에 와서도 할 수 있으니, 그 전에 수학과 문제해결력을 확실히 익히라고 충고합니다. 즉 인공지능 시대의 바람직한 코딩교육은 수학+코딩으로 문제를 표현하고 기계와 함께 문제를 해결하는 컴퓨팅 사고력 역량을 익히고 향상시키는 것입니다. 콘진원 게임코딩 교재는 코딩을 위한 코딩교재입니다. 코딩에 수학을 첨가한 코딩수학은 터틀크래프트로 접근할 수 있습니다. 이제 만들어진 성벽에 초등 6학년 수학인 기등과 각뿔 등으로 지붕이 있는 탑을 만드는 코드를 소개합니다 (시흥 창의코딩의 주제). 여기에도 레고 블럭과 같은 아래의 정직구원 (고등학교 집합과 and (&&) or 논리 기반) 명령문이 있습니다.

 

어프라인용 코드크래프트와 교재는 [다운로드] 해서 사용할 수 있습니다.  터틀크래프트는 온라인으로 접속해야만 사용할 수 있습니다.  바로 왼쪽 화면에 보이는 [beginxyz] 버튼과 [실행] 버튼은 터틀크래프트용 버튼입니다. 여기 공지사항에서 코딩수학 : MIT 거북수학 및 중등 자유학년제 코딩수학 등으로 크래프트 교육환경을 익히세요 ! 

 

아래의 유뷰트 주소에 있는 서울대 코딩수학 교육용 동영상 참고 !! 

Ctrl키를 누른 상태에서 아래의 그림을 클릭하여 SNU 코딩수학 유튜브 주소로 이동하세요 !

============================================

 

     

 

((주의)) Ctrl키를 누른 상태에서 위와 아래의

Download  그림을 클릭하여 다운받으세요 !

 

    

 

(( 게임 코딩 중학교 자유학년제 pdf 교재 다운받기 ))

 

아래의 그림을 클릭하세요  ==  (피라미드 미로게임 교재)

Ctrl키를 누른 상태에서 아래의 그림을 클릭하여 피라미드 미로게임 교재 pdf를 다운받으세요 !

위 그림을 클릭하면 피라미드 미로게임으로 배우는 pdf 코딩교재를 다운받을 수 있습니다. 다른 교재들도 콘텐츠진흥원 사이트 등을 통해 다운받을 수 있으며, 종이에 인쇄된 교재는 구입할 수 있습니다.