- 대표자 : 디미고 박성민
- 연락처 : +82 1030398089
- 주제 : 마인크래프트 자바스크립트 코딩으로 미니 게임 제작하기
- 테마 : 게임으로 시작하는 코딩
- 학습목표 : 친숙한 게임을 통해서 코딩에 대한 장벽을 허물기 → 코딩 = 내가 만들고 싶은 것을 만들 수 있는 것이라는 인식 심기
- 강의자 : 강인영, 박성민, 안다해, 유승서, 이유진
- 지역 : 수원, 화성
- 총 수업 차시 : 10차시
- 각 차시별 수업시간 : 3시간
- 강의 대상 : 예비 중학교 1학년부터 예비 고등학교 1학년까지
- 최대 수강생 수: 10명
- 마인크래프트 에듀케이션 버전을 이용하여 학생들이 코딩에 흥미를 느껴 자발적인 프로그래밍 학습을 할 수 있도록 유도.
- 수업 초기에는 블럭 코딩을 이용하여 수업을 진행한 후 어느 정도 이해가 블럭 코딩으로 만든 내용을 JavaScript로 다시 작성하며 교육.
- 5명의 설리번 중 한 명이 앞에서 수업을 진행하고 나머지 설리번들은 뒤에서 학생들을 직접 도와주는 보조 교사 방식으로 진행.
- 수업 시작하고 5-10분은 영타 연습을 합니다.
- 오리엔테이션 및 아이스브레이킹
- 설리번 선생님 & 학생들 자기소개하기
- 마인크래프트로 스케치 퀴즈하기!
- 마인크래프트 상에서 블록을 이용해 그림을 그리고 무엇인지 맞추기(* 참조: link)
- 마인크래프트 에듀케이션 에디션 환경 설정하기
- 마인크래프트 에듀케이션 에디션 설치하기
- 클래스룸 모드 프로그램을 이용하여 설리번 선생님 서버에 접속하기
- 코드를 짤 수 있도록 도와주는 코드커넥션 프로그램을 실행시키기
- 마인크래프트 에듀케이션 에디션과 친해지기
- 웹사이트에 올라와 있는 레슨을 통해 에듀케이션 에디션 및 블럭 코딩 경험해보기(codegame)
- 환경(에이전트, 플레이어, 세계)에 대한 간략한 설명
- 블럭코딩을 통해 에이전트 움직여보기
- 상, 하, 좌, 우
- 전지적 관찰자 시점에서 에이전트를 미로에서 탈출시키기! (노가다 ㅠㅠ)
- 지난 시간에 배운 블럭코딩을 통해 에이전트 움직이기 복습
- 미로 각자 스스로 만들고, 탈출하는 코드 제작 및 복습하기
- 조건문에 대해 알아보자
- 에이전트 앞에 블럭이 있는 경우 그 블럭을 부수고 계속 나아가려면?
- 반복문에 대해 알아보자
- 치킨 100마리를 허공에 소환시켜보자
- 치킨 10마리부터 시켜보고 100마리, 1000마리 시켜서 반복문 필요성 강조(블록코딩)
- 두더지 땅 파기, 탑 쌓기
- 응용해보자
- 반복문과 조건문을 섞어 써야하는 문제를 해결해보자! (ex: 탈출맵 탈출하기!)
- 지난 시간 복습하기
- 에이전트 움직이기
- 조건문과 반복문
- 자바스크립트, 넌 무엇-_-
- 프로그램이란? 프로그래밍이란? -> 우리가 하던 것도 프로그래밍!
- 엄청 노가다 시키기, 블록코딩으로 안되는 것 짜보기 -> 직접 코드를 짜는 것에 대한 필요성 인식시키기
- 진짜 프로그램을 만들기 위해 거쳐야 하는 과정
- 자바스크립트 기본 익히기
- 문제: 1, 2, 3, … 칸씩 에이전트가 이동하게 만들어보자!
- 어떻게 해결할 수 있을까? -> 변수요!
- 변수에 대해 설명
- 연산자( +, -, *, /, % )
- JS에서의 조건문
- if 문
- 비교연산자 ( ==, >, <, <=, >= 등 )
- and, or, not 논리 연산자까지!
- 블럭 코딩으로 만들었던 조건문을 자바스크립트로 만들어보자.
- 에이전트 앞에 블럭이 있는 경우 그 블록을 부수고 계속 나아가려면?
- JS에서의 반복
- while 문
- for 문
- 치킨 100마리를 허공에 소환시켜보자
- 치킨 10마리부터 시켜보고 100마리, 1000마리 시켜서 반복문 필요성 강조(2차시의 내용)
- 블럭 코딩으로 만들었던 반복문을 자바스크립트로 만들어보자.
- 두더지, 탑쌓기
- JS에서의 함수 (함수는 처음 나오는 개념이므로 자세히 설명할 것)
- 함수란? 반복할 코드를 호출하는 것!
- 함수는 왜 필요할까요?
- 똑같은 코드를 여러 곳에서 반복해서 쓰지 않기 위해(같은 내용의 코드를 여러 군데 적용시킬 때와 같은 상황에서 설명)
- 여러가지 함수 만들어보기
- 앞으로 몇 칸 이동하는 코드, 블럭 몇 개 쌓기 코드 등을 함수로 구현하여 활용해보기
- 미니게임 따라 만들기
- 하늘에서 떨어지는 닭 받기 게임
- 팩맨(PACMAN) 게임
- 프로젝트 기획 ( 코딩 뿐만 아니라 기획에 대한 것도 가르쳐 줄 예정, 방법론 등)
- 설리번 선생님이 작성한 기획서 예시 제공
- 각자 기획 후 발표 및 피드백
- 프로젝트 진행 (1차)
- 자신이 작성한 기획서에 맞추어 프로젝트의 전반적인 세팅을 제작(ex: 맵, 함수, 변수 등등)
- 피드백 시간
- 자신의 진행 상황을 발표하고 서로 의견을 공유하며 피드백 받는 시간.
- 기획서 피드백란에 작성 후 프로젝트 시간 2차 때 수정하도록 함.
- 프로젝트 진행 (2차)
- 저번 차시에서 적어놓은 피드백들을 수정하거나 보완.
- 기획서에 맞추어 프로젝트의 코딩 관련 기능을 완성하고 프로젝트를 마무리(ex: 게임 기능 등)
- 피드백 시간
- 자신의 진행 상황을 발표하고 서로 의견을 공유하며 피드백 받는 시간.
- 남은 시간동안 피드백 받은 것 위주로 프로젝트 마무리
- 프로젝트 마무리 및 발표
- 마인크래프트 에듀케이션 에디션 홈페이지에서 Lessons에 업로드(많은 이들에게 자신의 창작물을 평가받고 오픈 소스를 공유하는 것에 대한 의식을 심어주고자함.)
- 지금까지 배운 자바스크립트로 어떤 것들을 할 수 있는지 보여주기
수업의 최종적 목표가 무엇? 학생들이 마지막에는 어떻게 변하게 될까요?
- 재미없고 지루하고, 막상 하려고 하면 어디서부터 해야 될지 그저 막막한 코딩에 관한 학생들의 기존의 인식을 학생들에게 친숙한 게임을 통해 바꾸는 것이 저희의 목표입니다.
- 최종적으로 교육을 수료한 학생들이 코딩은 본인의 상상력을 실체화 할 수 있는 도구라는 인식을 심어주고 싶습니다.
강의 대상에 맞는 교육요소는 어떤것이 있을지?
교육요소
가 무엇인지 잘 모르겠습니다 ㅠㅠ
7차시즈음부터 시간관리가 필요할 것. 6차시까지 마무리를 완벽히 할 수 있나요?
- SW 교육 페스티벌에서 초등학교 저학년 학생들을 대상으로 본 커리큘럼과 비슷하게 마인크래프트 에듀케이션 에디션으로 교육을 하는 것을 보조했었는데, 자바스크립트 문법만 계획한대로 따라와준다면 진행에 큰 차질은 없을 것이라고 예상됩니다.
프로젝트를 2~3차시만에 할 수 있나요?
- 여름방학을 이용하여 저희끼리 커리큘럼대로 사전 실습을 진행해보겠습니다. 교육 대상인 초, 중학생들에게 무리가 있다는 생각이 들면 전체 차시를 늘리는 방향으로 변경해야 할 것 같습니다.
학생들의 코딩 지속 가능성에 대한 요소가 필요합니다. 이번 수업에서 끝나는 것이 아니라, 앞으로 계속 프로그래밍을 공부하기 위해서는 어떻게 해야할지 알려주는 요소들을 고민해보면 좋을 것 같습니다.
- 저희가 직접 자바스크립트로 개발한 것들을 보여줌으로써 자바스크립트로 할 수 있는 작업들이 매우 다양함을 깨닫게 해주고, 그 중 자신이 해보고 싶은 것은 무엇인지 생각해 보도록 하겠습니다.
지루하지 않게 수업하는 방법은 무엇이 있을까요?
- 제시해주신 2번의 방법(게임을 통한 보상)에 대해 긍정적으로 생각하고 있습니다. 해당 내용을 구체화하겠습니다.
- 그 외에 수업을 재미있게 진행하는 방법에 대해서는 팀원들과 함께 지속적으로 고민해보겠습니다.
기존에 있던 조이스틱 만들기 교육, 또는 비슷한 컨샙의 교육은 어느것이 있는지 찾아보고, 똑같거나 가장 비슷한거 하나 고르기
이름 | 설명 | 비고 |
---|---|---|
Hour of Code | 1시간 동안 코딩을 배우는 온라인 교육 플랫폼. 마인크래프트 등 아이들에게 익숙한 테마를 배경으로 코딩을 배울 수 있음. | 이미 만들어진 틀 내에서만 진행할 수 있음. 오프라인 교육도 간간히 진행하지만 대부분 수도권 중심이다. |
Code Combat | 쯔꾸르 게임으로 자바스크립트와 파이썬을 배움. | 쯔꾸르 게임. 아기자기하고 귀엽지만 요즘 아이들에겐 호불호가 갈릴 것 같다. |
Tynker | 퍼즐을 풀면서 진행하고, 자신만의 게임도 제작할 수 있음. 블록코딩과 스위프트를 배울 수 있음. | 부제는 Coding for Kids |
CodinGame | 게임으로 코딩을 배우기만 하는게 아니라, 멀티플레이 코딩배틀(!)도 하고 좀 남다르다. 화려한 그래픽이 특징인 것 같은데 아직 안 해봐서 잘 모르겠다. | 코딩을 처음 배우는 사람을 주 타겟으로 잡지는 않은 것 같다. 코딩으로 실시간 배틀이라니 참신하다. |
CODE.GAME | 3D로 아기자기한 그래픽을 보며 힐링할 수 있다. 주는 과제도 힐링이 될지는 잘 모르겠다. | 일종의 코딩 플랫폼을 제공하는 것 같다. 활용 가능성이 높아보인다. 다양한 플랫폼을 지원한다. |
김왼손의 코딩교실(YouTube) | 게임을 통해 파이썬을 공부할 수 있는 영상을 제작하는 크리에이터 | 마인컴뱃과 마인크래프트, 그리고 CheckiO, Khim Academy 등으로 파이썬 강좌를 입맛대로 고를 수 있도록 다양하게 제작했다. 또한 최근에는 파이썬이 아닌 게임으로(...) vim을 공부하는 영상도 제작했다. 유튜브 외에 wikidocs 등에서 책도 쓰는 것 같다. |
- 목록 중 저희 커리큘럼과 가장 유사하다고 생각되는 것은 아무래도 '김왼손의 코딩교실' 이라고 생각합니다.
- 게임을 통해 코딩을 배운다는 점이 위 항목들과 저희 수업의 공통점이지만, 김왼손의 코딩 교실을 제외한 나머지는 플랫폼이고 김왼손의 코딩 교실은 수업이라는 차이점이 있습니다.
- '팝콘 에듀' 라는 교육 관련 기업도 알아봤습니다. 코딩 교구가 굉장히 다양하고 체계적입니다.
‘김왼손의 코딩교실’은 어려분의 교육 목적을 달성하기에 어떤 부분이 문제일까요?
- 김왼손은 영상 시청자의 타겟을 고등학생 혹은 성인으로 설정하여 컨텐츠를 제작하는 것으로 보입니다. 따라서 저희 커리큘럼의 타겟인 중학생들에게는 내용의 이해가 어려울 수 있습니다.
- 예시를 들어주신대로 김왼손은 프로그래밍 언어(파이썬)을 가르치는데 게임을 사용하지 않습니다. 따라서 단조로운 주입식 교육을 진행할 수 밖에 없고, 코딩을 왜 해야 하는지에 대한 근본적인 의문점을 해소해주지 않습니다.
‘김왼손의 코딩교실’과 우리 커리큘럼을 비교했을때 장점과 단점 비교.
- 장점
- 오프라인 교육의 장점 - 즉각적인 피드백, 질답 등 소통
No Student Left Behind
- 학생 개개인의 역량에 맞추는 유연한 커리큘럼 진행
- 단점
- 준비를 제대로 안 해온다면 말아먹을 수 있음 - 잘 해가야죠
- 마인크래프트라는 플랫폼에 제한된 교육 - 자바스크립트의 활용 방향을 제시함으로써 극복 가능