Skip to content

Latest commit

 

History

History
248 lines (185 loc) · 14.6 KB

README.md

File metadata and controls

248 lines (185 loc) · 14.6 KB

마인크래프트로 미니 게임 코딩하기

  • 대표자 : 디미고 박성민
  • 연락처 : +82 1030398089

ToC

1. Summary : 개요

1) Teach : 교육 개요

  • 주제 : 마인크래프트 자바스크립트 코딩으로 미니 게임 제작하기
  • 테마 : 게임으로 시작하는 코딩
  • 학습목표 : 친숙한 게임을 통해서 코딩에 대한 장벽을 허물기 → 코딩 = 내가 만들고 싶은 것을 만들 수 있는 것이라는 인식 심기

2) Course : 수업 개요

  • 강의자 : 강인영, 박성민, 안다해, 유승서, 이유진
  • 지역 : 수원, 화성
  • 총 수업 차시 : 10차시
  • 각 차시별 수업시간 : 3시간
  • 강의 대상 : 예비 중학교 1학년부터 예비 고등학교 1학년까지
  • 최대 수강생 수: 10명

2. Method : 진행 방식

  • 마인크래프트 에듀케이션 버전을 이용하여 학생들이 코딩에 흥미를 느껴 자발적인 프로그래밍 학습을 할 수 있도록 유도.
  • 수업 초기에는 블럭 코딩을 이용하여 수업을 진행한 후 어느 정도 이해가 블럭 코딩으로 만든 내용을 JavaScript로 다시 작성하며 교육.
  • 5명의 설리번 중 한 명이 앞에서 수업을 진행하고 나머지 설리번들은 뒤에서 학생들을 직접 도와주는 보조 교사 방식으로 진행.
  • 수업 시작하고 5-10분은 영타 연습을 합니다.

3. Plan : 차시별 기획

1차시 : Hello, Minecraft!

  1. 오리엔테이션 및 아이스브레이킹
    1. 설리번 선생님 & 학생들 자기소개하기
    2. 마인크래프트로 스케치 퀴즈하기!
    3. 마인크래프트 상에서 블록을 이용해 그림을 그리고 무엇인지 맞추기(* 참조: link)
  2. 마인크래프트 에듀케이션 에디션 환경 설정하기
    1. 마인크래프트 에듀케이션 에디션 설치하기
    2. 클래스룸 모드 프로그램을 이용하여 설리번 선생님 서버에 접속하기
    3. 코드를 짤 수 있도록 도와주는 코드커넥션 프로그램을 실행시키기
  3. 마인크래프트 에듀케이션 에디션과 친해지기
    1. 웹사이트에 올라와 있는 레슨을 통해 에듀케이션 에디션 및 블럭 코딩 경험해보기(codegame)
  4. 환경(에이전트, 플레이어, 세계)에 대한 간략한 설명
  5. 블럭코딩을 통해 에이전트 움직여보기
    1. 상, 하, 좌, 우
    2. 전지적 관찰자 시점에서 에이전트를 미로에서 탈출시키기! (노가다 ㅠㅠ)

2차시 : 블럭 코딩, 어렵지 않아요!

  1. 지난 시간에 배운 블럭코딩을 통해 에이전트 움직이기 복습
    1. 미로 각자 스스로 만들고, 탈출하는 코드 제작 및 복습하기
  2. 조건문에 대해 알아보자
    1. 에이전트 앞에 블럭이 있는 경우 그 블럭을 부수고 계속 나아가려면?
  3. 반복문에 대해 알아보자
    1. 치킨 100마리를 허공에 소환시켜보자
    2. 치킨 10마리부터 시켜보고 100마리, 1000마리 시켜서 반복문 필요성 강조(블록코딩)
    3. 두더지 땅 파기, 탑 쌓기
  4. 응용해보자
    1. 반복문과 조건문을 섞어 써야하는 문제를 해결해보자! (ex: 탈출맵 탈출하기!)

3차시 : 변수, 그리고 자바스크립트

  1. 지난 시간 복습하기
    1. 에이전트 움직이기
    2. 조건문과 반복문
  2. 자바스크립트, 넌 무엇-_-
    1. 프로그램이란? 프로그래밍이란? -> 우리가 하던 것도 프로그래밍!
    2. 엄청 노가다 시키기, 블록코딩으로 안되는 것 짜보기 -> 직접 코드를 짜는 것에 대한 필요성 인식시키기
    3. 진짜 프로그램을 만들기 위해 거쳐야 하는 과정
  3. 자바스크립트 기본 익히기
    1. 문제: 1, 2, 3, … 칸씩 에이전트가 이동하게 만들어보자!
    2. 어떻게 해결할 수 있을까? -> 변수요!
  4. 변수에 대해 설명
    1. 연산자( +, -, *, /, % )

4차시 : 자바스크립트로 조건문 사용하기

  1. JS에서의 조건문
    1. if 문
    2. 비교연산자 ( ==, >, <, <=, >= 등 )
    3. and, or, not 논리 연산자까지!
  2. 블럭 코딩으로 만들었던 조건문을 자바스크립트로 만들어보자.
    1. 에이전트 앞에 블럭이 있는 경우 그 블록을 부수고 계속 나아가려면?

5차시 : 자바스크립트로 반복문 사용하기

  1. JS에서의 반복
    1. while 문
    2. for 문
  2. 치킨 100마리를 허공에 소환시켜보자
    1. 치킨 10마리부터 시켜보고 100마리, 1000마리 시켜서 반복문 필요성 강조(2차시의 내용)
  3. 블럭 코딩으로 만들었던 반복문을 자바스크립트로 만들어보자.
    1. 두더지, 탑쌓기

6차시 : 함수가 뭐예요?

  1. JS에서의 함수 (함수는 처음 나오는 개념이므로 자세히 설명할 것)
    1. 함수란? 반복할 코드를 호출하는 것!
    2. 함수는 왜 필요할까요?
    3. 똑같은 코드를 여러 곳에서 반복해서 쓰지 않기 위해(같은 내용의 코드를 여러 군데 적용시킬 때와 같은 상황에서 설명)
  2. 여러가지 함수 만들어보기
    1. 앞으로 몇 칸 이동하는 코드, 블럭 몇 개 쌓기 코드 등을 함수로 구현하여 활용해보기

7차시 : 나만의 미니게임 만들기

  1. 미니게임 따라 만들기
    1. 하늘에서 떨어지는 닭 받기 게임
    2. 팩맨(PACMAN) 게임
  2. 프로젝트 기획 ( 코딩 뿐만 아니라 기획에 대한 것도 가르쳐 줄 예정, 방법론 등)
    1. 설리번 선생님이 작성한 기획서 예시 제공
    2. 각자 기획 후 발표 및 피드백

8차시 : 미니게임 프로젝트 1차

  1. 프로젝트 진행 (1차)
    1. 자신이 작성한 기획서에 맞추어 프로젝트의 전반적인 세팅을 제작(ex: 맵, 함수, 변수 등등)
  2. 피드백 시간
    1. 자신의 진행 상황을 발표하고 서로 의견을 공유하며 피드백 받는 시간.
    2. 기획서 피드백란에 작성 후 프로젝트 시간 2차 때 수정하도록 함.

9차시 : 미니게임 프로젝트 2차

  1. 프로젝트 진행 (2차)
    1. 저번 차시에서 적어놓은 피드백들을 수정하거나 보완.
    2. 기획서에 맞추어 프로젝트의 코딩 관련 기능을 완성하고 프로젝트를 마무리(ex: 게임 기능 등)
  2. 피드백 시간
    1. 자신의 진행 상황을 발표하고 서로 의견을 공유하며 피드백 받는 시간.
    2. 남은 시간동안 피드백 받은 것 위주로 프로젝트 마무리

10차시 : 그래서 우리는 함께했다

  1. 프로젝트 마무리 및 발표
  2. 마인크래프트 에듀케이션 에디션 홈페이지에서 Lessons에 업로드(많은 이들에게 자신의 창작물을 평가받고 오픈 소스를 공유하는 것에 대한 의식을 심어주고자함.)
  3. 지금까지 배운 자바스크립트로 어떤 것들을 할 수 있는지 보여주기

4. Feedback : 문답 & 수정사항

1차 피드백 - 7월 10일

Question 1

수업의 최종적 목표가 무엇? 학생들이 마지막에는 어떻게 변하게 될까요?

  • 재미없고 지루하고, 막상 하려고 하면 어디서부터 해야 될지 그저 막막한 코딩에 관한 학생들의 기존의 인식을 학생들에게 친숙한 게임을 통해 바꾸는 것이 저희의 목표입니다.
  • 최종적으로 교육을 수료한 학생들이 코딩은 본인의 상상력을 실체화 할 수 있는 도구라는 인식을 심어주고 싶습니다.

Question 2

강의 대상에 맞는 교육요소는 어떤것이 있을지?

  • 교육요소가 무엇인지 잘 모르겠습니다 ㅠㅠ

Question 3

7차시즈음부터 시간관리가 필요할 것. 6차시까지 마무리를 완벽히 할 수 있나요?

  • SW 교육 페스티벌에서 초등학교 저학년 학생들을 대상으로 본 커리큘럼과 비슷하게 마인크래프트 에듀케이션 에디션으로 교육을 하는 것을 보조했었는데, 자바스크립트 문법만 계획한대로 따라와준다면 진행에 큰 차질은 없을 것이라고 예상됩니다.

Question 4

프로젝트를 2~3차시만에 할 수 있나요?

  • 여름방학을 이용하여 저희끼리 커리큘럼대로 사전 실습을 진행해보겠습니다. 교육 대상인 초, 중학생들에게 무리가 있다는 생각이 들면 전체 차시를 늘리는 방향으로 변경해야 할 것 같습니다.

Question 5

학생들의 코딩 지속 가능성에 대한 요소가 필요합니다. 이번 수업에서 끝나는 것이 아니라, 앞으로 계속 프로그래밍을 공부하기 위해서는 어떻게 해야할지 알려주는 요소들을 고민해보면 좋을 것 같습니다.

  • 저희가 직접 자바스크립트로 개발한 것들을 보여줌으로써 자바스크립트로 할 수 있는 작업들이 매우 다양함을 깨닫게 해주고, 그 중 자신이 해보고 싶은 것은 무엇인지 생각해 보도록 하겠습니다.

Question 6

지루하지 않게 수업하는 방법은 무엇이 있을까요?

  • 제시해주신 2번의 방법(게임을 통한 보상)에 대해 긍정적으로 생각하고 있습니다. 해당 내용을 구체화하겠습니다.
  • 그 외에 수업을 재미있게 진행하는 방법에 대해서는 팀원들과 함께 지속적으로 고민해보겠습니다.

2차 피드백 - 9월 3일

Question

기존에 있던 조이스틱 만들기 교육, 또는 비슷한 컨샙의 교육은 어느것이 있는지 찾아보고, 똑같거나 가장 비슷한거 하나 고르기

이름 설명 비고
Hour of Code 1시간 동안 코딩을 배우는 온라인 교육 플랫폼. 마인크래프트 등 아이들에게 익숙한 테마를 배경으로 코딩을 배울 수 있음. 이미 만들어진 틀 내에서만 진행할 수 있음. 오프라인 교육도 간간히 진행하지만 대부분 수도권 중심이다.
Code Combat 쯔꾸르 게임으로 자바스크립트와 파이썬을 배움. 쯔꾸르 게임. 아기자기하고 귀엽지만 요즘 아이들에겐 호불호가 갈릴 것 같다.
Tynker 퍼즐을 풀면서 진행하고, 자신만의 게임도 제작할 수 있음. 블록코딩과 스위프트를 배울 수 있음. 부제는 Coding for Kids
CodinGame 게임으로 코딩을 배우기만 하는게 아니라, 멀티플레이 코딩배틀(!)도 하고 좀 남다르다. 화려한 그래픽이 특징인 것 같은데 아직 안 해봐서 잘 모르겠다. 코딩을 처음 배우는 사람을 주 타겟으로 잡지는 않은 것 같다. 코딩으로 실시간 배틀이라니 참신하다.
CODE.GAME 3D로 아기자기한 그래픽을 보며 힐링할 수 있다. 주는 과제도 힐링이 될지는 잘 모르겠다. 일종의 코딩 플랫폼을 제공하는 것 같다. 활용 가능성이 높아보인다. 다양한 플랫폼을 지원한다.
김왼손의 코딩교실(YouTube) 게임을 통해 파이썬을 공부할 수 있는 영상을 제작하는 크리에이터 마인컴뱃과 마인크래프트, 그리고 CheckiO, Khim Academy 등으로 파이썬 강좌를 입맛대로 고를 수 있도록 다양하게 제작했다. 또한 최근에는 파이썬이 아닌 게임으로(...) vim을 공부하는 영상도 제작했다. 유튜브 외에 wikidocs 등에서 책도 쓰는 것 같다.
  • 목록 중 저희 커리큘럼과 가장 유사하다고 생각되는 것은 아무래도 '김왼손의 코딩교실' 이라고 생각합니다.
  • 게임을 통해 코딩을 배운다는 점이 위 항목들과 저희 수업의 공통점이지만, 김왼손의 코딩 교실을 제외한 나머지는 플랫폼이고 김왼손의 코딩 교실은 수업이라는 차이점이 있습니다.
  • '팝콘 에듀' 라는 교육 관련 기업도 알아봤습니다. 코딩 교구가 굉장히 다양하고 체계적입니다.

3차 피드백 - 9월 11일

Question 1

‘김왼손의 코딩교실’은 어려분의 교육 목적을 달성하기에 어떤 부분이 문제일까요?

  • 김왼손은 영상 시청자의 타겟을 고등학생 혹은 성인으로 설정하여 컨텐츠를 제작하는 것으로 보입니다. 따라서 저희 커리큘럼의 타겟인 중학생들에게는 내용의 이해가 어려울 수 있습니다.
  • 예시를 들어주신대로 김왼손은 프로그래밍 언어(파이썬)을 가르치는데 게임을 사용하지 않습니다. 따라서 단조로운 주입식 교육을 진행할 수 밖에 없고, 코딩을 왜 해야 하는지에 대한 근본적인 의문점을 해소해주지 않습니다.

Question 2

‘김왼손의 코딩교실’과 우리 커리큘럼을 비교했을때 장점과 단점 비교.

  • 장점
    1. 오프라인 교육의 장점 - 즉각적인 피드백, 질답 등 소통
    2. No Student Left Behind - 학생 개개인의 역량에 맞추는 유연한 커리큘럼 진행
  • 단점
    1. 준비를 제대로 안 해온다면 말아먹을 수 있음 - 잘 해가야죠
    2. 마인크래프트라는 플랫폼에 제한된 교육 - 자바스크립트의 활용 방향을 제시함으로써 극복 가능