Blockly팀은 교육 애플리케이션을 설계한 다년간의 경험을 갖추고 있습니다. 다음은 자체 교육 애플리케이션을 설계하는 데 도움이 될 수 있는 몇 가지 사항입니다.
빈칸 채우기보다 자유 형식 연습을 선호합니다.
특정 개념을 가르치기 위해 고안된 연습은 종종 학생이 원하는 효과를 얻기 위해 수정해야 하는 부분적인 해결책을 제공합니다. 이를 지원하기 위해 수정, 이동, 삭제할 수 없는 블록 클래스가 Blockly에 만들어졌습니다. 하지만 학생들은 이러한 빈칸 채우기 연습을 싫어했습니다. 솔루션에 대한 소유 의식이 없습니다.
동일한 개념을 가르치는 자유 형식의 연습을 설계하는 것은 더 어렵습니다. 한 가지 효과적인 기법은 한 연습문제에 대한 학생의 자체 솔루션을 다음 연습문제의 시작점으로 사용하는 것입니다.
권장사항: 사용자를 위해 코드를 작성하지 마세요.
영구 안내 사용
Blockly Games는 교사나 수업 계획이 필요 없는 자기 주도 학습을 위해 특별히 설계되었습니다. 이를 위해 Blockly Games의 첫 번째 버전에는 각 레벨에 관한 안내가 있었습니다. 대부분의 학생은 읽지 않습니다. 한 문장으로 줄이고 글꼴 크기를 늘린 후 노란색 풍선으로 강조 표시했습니다. 대부분의 학생은 읽지 않습니다. 안내가 포함된 모달 팝업을 만들었습니다. 대부분의 학생은 팝업을 읽지 않고 본능적으로 닫은 후 길을 잃었습니다.
마지막으로 닫을 수 없는 팝업을 만들었습니다. 이러한 팝업은 학생의 작업을 모니터링하고 학생이 필요한 작업을 수행한 경우에만 닫히도록 프로그래밍되어 있습니다. 이러한 문맥 인식 팝업은 프로그래밍하기 어렵지만 매우 효과적입니다. 또한 작업 공간을 방해하지 않고 시야에 들어오는 것이 중요했습니다.
권장사항: 안내는 짧고 지속적이어야 하지만 불쾌감을 주어서는 안 됩니다.
도움말에 실시간 차단 이미지 사용
블록 문서에는 참조하는 블록의 이미지가 포함되어야 합니다. 스크린샷을 찍는 방법은 간단합니다. 하지만 이러한 이미지가 50개 있고 애플리케이션이 50개 언어로 번역되면 갑자기 2,500개의 정적 이미지를 유지하게 됩니다. 그러면 색 구성표가 변경되어 2,500개의 이미지를 다시 업데이트해야 합니다.
이 유지보수 문제를 해결하기 위해 Blockly Games는 모든 스크린샷을 읽기 전용 모드로 실행되는 Blockly 인스턴스로 대체했습니다. 결과는 사진과 동일하게 보이지만 최신 상태를 보장합니다. 읽기 전용 모드를 통해 국제화가 가능해졌습니다.
권장사항: 두 개 이상의 언어를 지원하는 경우 읽기 전용 모드를 사용하세요.
학생을 위한 종료 전략 마련
블록 기반 프로그래밍은 프로그래밍의 시작점인 경우가 많습니다. 컴퓨터 프로그래밍을 가르치는 맥락에서 보면, 학생들이 더 어려운 과목으로 넘어가기 전에 중독되게 하는 관문 약물과 같습니다. 블록 기반 프로그래밍 기간이 얼마나 지속되어야 하는지에 관해서는 논쟁이 많지만, 프로그래밍을 가르치는 것이 목표라면 일시적인 것이 좋습니다.
따라서 프로그래밍을 가르치는 데 사용되는 블록 기반 프로그래밍 환경에는 학생에게 적합한 오프램프가 있어야 합니다. Blockly Games에는 4가지 전략이 있습니다.
- 블록의 모든 텍스트 (예: 'if', 'while')는 텍스트 기반 프로그래밍 언어와 일치하도록 소문자로 표시됩니다.
- 익숙해질 수 있도록 각 수준 후에 항상 학생 코드의 JavaScript 버전이 표시됩니다.
- 마지막 게임에서는 블록 텍스트가 실제 JavaScript로 대체됩니다(오른쪽 참고). 이 시점에서 학생은 JavaScript로 프로그래밍하고 있습니다.
- 최종 게임에서는 블록 편집기가 텍스트 편집기로 대체됩니다.
프로그래밍을 가르치는 데 사용되는 블록 기반 프로그래밍 환경에는 학생들의 졸업을 위한 구체적인 계획이 있어야 합니다. 또한 확실한 종료 전략은 블록 기반 프로그래밍이 '진짜 프로그래밍'이 아니라고 주장하는 사람들을 달래는 데 큰 도움이 됩니다.
권장사항: 사용자의 최종 목표를 고려하여 적절하게 디자인합니다.